.has-tool-guide { padding-bottom: 3rem !important; }
.has-tool-guide > .progress-check { right: 42px; }
.tool-guide-toggle {
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 20;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid #b91c1c;
    border-radius: 50%;
    background: #fff;
    color: #b91c1c;
    cursor: pointer;
    font-size: 10px;
}
.tool-guide-toggle:hover, .tool-guide-toggle:focus-visible { background: #b91c1c; color: #fff; }
.tool-guide-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
.tool-guide { position: relative; z-index: 1; margin-top: 1rem; padding-top: .8rem; border-top: 1px solid #cbd5e1; color: #334155; font-size: .78rem; line-height: 1.5; }
.tool-guide[hidden] { display: none; }
.tool-guide p + p { margin-top: .5rem; }
.tool-guide strong { color: #991b1b; }
.bg-black .tool-guide { color: #e2e8f0; border-color: #475569; }
.bg-black .tool-guide strong { color: #fca5a5; }

.home-intro-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.home-intro-grid > section { align-items:flex-start; }
.home-profile-portrait { width:112px; height:140px; flex-shrink:0; object-fit:cover; border-radius:12px; border:1px solid #e2e8f0; }
.home-bootcamp { display:flex; align-items:center; gap:32px; }
.home-bootcamp-qr { flex-shrink:0; text-align:center; }
.home-bootcamp-facts { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:16px 0 0; }
.home-bootcamp-facts li { background:#fef2f2; color:#991b1b; border-radius:8px; padding:6px 10px; font-size:12px; font-weight:800; }
@media (max-width:767px) {
    .home-intro-grid { grid-template-columns:1fr; }
    .home-bootcamp { align-items:flex-start; gap:20px; }
}
@media (max-width:479px) {
    .home-profile-portrait { width:80px; height:100px; }
    .home-bootcamp { flex-direction:column; }
}

#site-content main h2 { max-width:100%; overflow-wrap:anywhere; }

.home-intro-grid > section > .flex-1 { display:flex; flex-direction:column; align-self:stretch; }
.home-intro-grid > section > .flex-1 > a { margin-top:auto; padding-top:16px; }

.home-profile-media { display:flex; flex-direction:column; align-items:center; gap:12px; flex-shrink:0; }
.home-profile-qr { width:100px; height:100px; padding:4px; border:1px solid #e2e8f0; border-radius:6px; background:#fff; }
@media (max-width:479px) { .home-profile-qr { width:80px; height:80px; } }
