/* Homepage. Scoped with hm- so shared workspace styles stay untouched.
   Palette: paper var(--page), surface var(--surface-alt), ink var(--ink), muted var(--subtle), action/cue var(--brand). */
.hm,.hm-top{font-family:Jakarta,system-ui,sans-serif;color:var(--ink)}
.hm-wrap{max-width:1240px}
.hm :is(h1,h2,h3,h4,p,ol,figure){margin:0}
.hm :is(h1,h2,h3){font-family:Display,Jakarta,sans-serif;font-weight:800;color:inherit;letter-spacing:-.02em}
.hm h2{font-size:clamp(30px,3.6vw,48px);line-height:1.05;text-wrap:balance}
.hm p{font-size:17px;line-height:1.6;color:var(--subtle);max-width:62ch}
.hm-fine{font-size:14.5px!important}
.hm :is(a,button,summary):focus-visible,.hm-top :is(a,button):focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}

/* Actions */
.hm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:10px;font:600 16px/1 Jakarta,sans-serif;text-decoration:none;background:var(--brand);color:var(--brand-ink);transition:background-color .2s}
.hm-btn:hover{background:color-mix(in srgb,var(--brand) 86%,var(--ink))}
.hm-btn-small{min-height:40px;padding:0 16px;font-size:14.5px}
.hm-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;text-decoration-color:color-mix(in srgb,var(--ink) 40%,transparent);transition:text-decoration-color .2s,color .2s}
.hm-link:hover{color:var(--brand);text-decoration-color:currentColor}

/* Header */
.hm-top{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px;border-bottom:1px solid var(--line)}
.hm-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:17px;letter-spacing:-.01em;color:var(--ink)}
.hm-brand-mark{width:34px;height:34px;border-radius:9px;overflow:hidden;display:block;flex:none}
.hm-brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.hm-nav{display:flex;gap:28px}
.hm-nav a{font-size:15px;font-weight:600;color:var(--ink)}
.hm-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.hm-top-actions{display:flex;align-items:center;gap:16px}
.hm-top-link{font-size:15px;font-weight:600;color:var(--ink)}
.hm-top-link:hover{text-decoration:underline;text-underline-offset:5px}

/* Hero */
.hm-hero{padding:clamp(36px,4.5vw,64px) 0 clamp(64px,7vw,104px)}
.hm-hero-text{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,4vw,64px);align-items:end}
.hm-hero h1{font-size:clamp(46px,7.6vw,108px);line-height:.94;letter-spacing:-.04em;text-wrap:balance;max-width:9ch}
.hm-hero-side{display:grid;gap:22px;justify-items:start;padding-bottom:14px}
.hm-lede{font-size:clamp(17px,1.4vw,19px)!important;color:var(--ink)!important;max-width:40ch!important}
.hm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}

.hm .hm-board{margin-top:clamp(40px,4.5vw,64px)}
.hm-board-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px}
.hm-scene{display:grid;grid-template-rows:auto 34px auto;align-items:center}
.hm-scene img{display:block;width:min(100%,204px);aspect-ratio:9/16;height:auto;object-fit:contain;border-radius:12px;background:#0b0912;box-shadow:0 1px 0 var(--line),0 20px 40px -28px #1d261a99}
.hm-seg{grid-row:2;grid-column:1;height:2px;background:var(--brand);margin-right:-32px;transform-origin:left}
.hm-scene:last-child .hm-seg{margin-right:0}
.hm-cue-dot{grid-row:2;grid-column:1;justify-self:start;width:14px;height:14px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--page)}
.hm-scene p{font:700 clamp(17px,1.5vw,20px)/1.35 Jakarta,sans-serif;color:var(--ink);max-width:24ch;letter-spacing:-.01em}
.hm-board figcaption{margin-top:28px;font-size:14px;line-height:1.55;color:var(--subtle);max-width:70ch}

/* Section heads */
.hm-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px clamp(28px,4vw,64px);align-items:end;margin-bottom:clamp(36px,4vw,56px)}
.hm-section-head h2{max-width:16ch}

/* Flow */
.hm-flow{padding:clamp(64px,7vw,112px) 0;border-top:1px solid var(--line)}
.hm-phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3.5vw,48px);margin-bottom:40px}
.hm-phase{border-top:2px solid var(--ink);padding-top:20px}
.hm-phase h3{font-size:22px;line-height:1.2;margin-bottom:24px}
.hm-phase ol{list-style:none;padding:0;display:grid;gap:26px}
.hm-phase li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;align-items:start}
.hm-step-n{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;font:700 13px/1 Jakarta,sans-serif;font-variant-numeric:tabular-nums}
.hm-phase h4{font:700 17px/1.3 Jakarta,sans-serif;margin:4px 0 6px}
.hm-phase li p{font-size:15.5px}

/* Results */
.hm-results{padding:clamp(64px,7vw,112px) 0;border-top:1px solid var(--line);scroll-margin-top:16px}
.hm-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:999px;background:var(--surface-alt);margin-bottom:32px}
.hm-tab{border:0;background:none;color:var(--ink);font:600 15px/1 Jakarta,sans-serif;padding:0 18px;min-height:42px;border-radius:999px;cursor:pointer;transition:background-color .2s,color .2s}
.hm-tab:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.hm-tab[aria-selected=true]{background:var(--ink);color:var(--page)}
.hm-stage{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.hm-video{aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#0b0912;color:#edf1e8}
.hm-video video{display:block;width:100%;height:100%;object-fit:contain}
.hm-stage-copy{display:grid;gap:16px;justify-items:start}
.hm-stage-copy h3{font-size:clamp(28px,3vw,40px);line-height:1.05}
.hm-note{font-size:14px!important}
.hm-script{border:0!important;padding:0}
.hm-script summary{cursor:pointer;font-weight:600;font-size:15px;min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px;list-style:none}
.hm-script summary::-webkit-details-marker{display:none}
.hm-script summary::after{content:none!important}
.hm-script p{font-size:16px;padding:4px 0 6px;color:var(--ink)}

/* Access and FAQ */
.hm-faq{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);padding:clamp(64px,7vw,112px) 0;border-top:1px solid var(--line);scroll-margin-top:16px}
.hm-access{display:grid;gap:18px;align-content:start}
.hm-faq-list details{border:0;border-bottom:1px solid var(--line)}
.hm-faq-list details:first-child{border-top:1px solid var(--line)}
.hm-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:16px 0;font-weight:600;font-size:17px;line-height:1.4;color:var(--ink)}
.hm-faq-list summary::-webkit-details-marker{display:none}
.hm-faq-list summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s}
.hm-faq-list details[open] summary::after{content:"";transform:translateY(2px) rotate(-135deg)}
.hm-faq-list details p{font-size:16px;line-height:1.65;padding:0 40px 22px 0;max-width:62ch;color:var(--subtle)}

/* Closing */
.hm-close{display:grid;gap:20px;justify-items:start;padding:clamp(64px,8vw,120px) 0;border-top:1px solid var(--line)}
.hm-close h2{font-size:clamp(36px,5.6vw,76px);line-height:1;letter-spacing:-.035em;max-width:14ch}
.hm-close .hm-btn{margin-top:8px}

/* Tablet */
@media(max-width:960px){
 .hm-hero-text,.hm-section-head,.hm-faq{grid-template-columns:1fr}
 .hm-hero-text{align-items:start}
 .hm-phases{grid-template-columns:1fr}
 .hm-stage{grid-template-columns:minmax(0,280px) minmax(0,1fr)}
}
@media(max-width:820px){.hm-nav{display:none}}
/* Phone: storyboard becomes a vertical script with thumbnails */
@media(max-width:640px){
 .hm-top{height:68px}
 .hm-top-actions{gap:10px}
 .hm-top .theme-toggle{width:60px;height:34px}
 .hm-top .theme-toggle-thumb{width:26px;height:26px}
 .hm-board-list{grid-template-columns:1fr;row-gap:18px}
 .hm-scene{grid-template-columns:96px minmax(0,1fr);grid-template-rows:auto;column-gap:18px}
 .hm-scene img{grid-row:1;grid-column:1;width:96px}
 .hm-seg,.hm-cue-dot{display:none}
 .hm-scene p{grid-row:1;grid-column:2;font-size:17px}
 .hm-stage{grid-template-columns:1fr}
 .hm-video{max-width:280px}
 .hm-actions .hm-btn{width:100%}
 .hm-tabs{border-radius:14px}
 .hm-tab{padding:0 14px;font-size:14.5px}
 .hm-faq-list details p{padding-right:0}
}
@media(max-width:400px){.hm-top-link{display:none}.hm-brand{font-size:0;gap:0}}
@media(prefers-reduced-motion:reduce){.hm *{transition:none!important}}
