/* v4 landing: scope-first, denser */
.hero.hero4{min-height:auto;padding:7.5rem var(--gutter) 2.2rem;align-content:start}
.hero4 .h-hero{font-size:clamp(2.4rem,6.4vw,5.4rem)}
.ask4{display:flex;align-items:baseline;gap:.8rem;margin-top:2rem;max-width:44rem;border-bottom:1px solid var(--rule-2);padding-bottom:.55rem;position:relative}
.ask4::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:38%;background:linear-gradient(90deg,var(--tq),var(--em),transparent)}
.ask4 input{all:unset;flex:1;font:300 clamp(1.15rem,2.4vw,1.6rem)/1.3 var(--sans);color:var(--fg);caret-color:var(--tq)}
.ask4 input::placeholder{color:var(--fg-3)}
.ask4 button{all:unset;cursor:pointer;color:var(--fg-2)}.ask4 kbd{font:inherit;color:var(--fg-4);margin-left:.3em}
.nums4{display:flex;flex-wrap:wrap;gap:.4rem 1.9rem;margin-top:1.6rem;color:var(--fg-3)}
.nums4 span{display:flex;flex-direction:column;gap:.05rem;letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}
.nums4 b{font:300 1.55rem/1 var(--sans);color:var(--fg);letter-spacing:-.01em;text-transform:none;font-variant-numeric:tabular-nums}
.nums4 span:nth-child(3n+1) b{text-shadow:0 0 18px color-mix(in srgb,var(--tq) 35%,transparent)}
.scope4,.gate4{max-width:1280px;margin:0 auto;padding:var(--s5) var(--gutter) var(--s6)}
.scope4 .sec-h{grid-template-columns:auto auto 1fr auto}
.scope-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17.5rem,1fr));gap:2.2rem 2.4rem}
.sc{border-top:1px solid var(--rule);padding-top:.8rem;position:relative;opacity:0;transform:translateY(10px);transition:opacity .7s var(--ease) var(--d,0s),transform .7s var(--ease) var(--d,0s)}
.sc.in{opacity:1;transform:none}
.sc::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:2.2rem;background:var(--c);transition:width .6s var(--ease)}
.sc:hover::before{width:100%;background:linear-gradient(90deg,var(--c),var(--tq) 60%,transparent)}
.sc h3{font-weight:400;font-size:1.3rem;letter-spacing:-.01em}.sc h3 a{display:flex;gap:.6rem;align-items:baseline}.sc h3 .n{color:var(--fg-4)}
.sc h3 a:hover .s{color:var(--c)}
.sc .st{color:var(--fg-2);font-style:italic;font-size:.95rem;margin-top:.1rem}
.sc .mt{color:var(--fg-3);margin:.35rem 0 .55rem;font-size:.66rem}
.ers{list-style:none;padding:0;columns:1;font-size:.84rem;line-height:1.5}
.ers a{display:grid;grid-template-columns:1.6rem 1fr;color:var(--fg-3);padding:.08rem 0;transition:color .2s,transform .3s var(--ease)}
.ers a span{color:var(--fg-4);font-size:.64rem;line-height:1.95}
.ers a:hover{color:var(--fg);transform:translateX(3px)}.ers a:hover span{color:var(--c)}
.sc .more{margin-top:.6rem;display:flex;gap:1rem;color:var(--fg-3);font-size:.68rem}
.course{padding-block:clamp(2.5rem,7vh,4.5rem)!important;min-height:auto!important}
.atlas{padding-block:var(--s5)!important}
/* gateway */
.gate{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:1.8rem 2.6rem;counter-reset:g}
.gate li{border-left:1px solid var(--rule);padding:.1rem 0 .2rem 1.1rem;position:relative;opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease),border-color .4s}
.gate li.in{opacity:1;transform:none}
.gate li.done{border-left-color:var(--em)}
.gate .gn{color:var(--fg-4)}.gate li.done .gn{color:var(--em)}
.gate h3{font-weight:400;font-size:1.15rem;margin:.15rem 0 .25rem;display:flex;gap:.5rem;align-items:baseline}
.gate .ok{color:var(--em);opacity:0;transform:scale(.6);transition:opacity .3s,transform .4s var(--ease)}.gate li.done .ok{opacity:1;transform:none}
.gate p{color:var(--fg-2);font-size:.92rem}.gate kbd{font:.8em var(--mono);border-bottom:1px solid var(--rule-2);padding:0 .2em}
.gate .ga{margin-top:.55rem;font-size:.92rem}
.gate .g-act{all:unset;cursor:pointer;font-family:var(--mono);font-size:.78rem;color:var(--tq)}
.g-q{display:flex;flex-direction:column;gap:.25rem}.g-q .qq{color:var(--fg);margin-bottom:.2rem}
.g-q button{all:unset;cursor:pointer;color:var(--fg-2);font-size:.88rem;width:fit-content}
.g-q button.right{color:var(--em)}.g-q button.wrong{color:var(--fg-4);text-decoration:line-through}.g-q button:disabled{cursor:default}
.g-q .fb{color:var(--fg-3);font-size:.72rem;line-height:1.5;margin-top:.3rem}.g-q .fb a{color:var(--tq)}
.gate4 .pledge{margin-top:var(--s5);color:var(--fg-3);font-size:.9rem}
@media (max-width:640px){.hero.hero4{padding-top:5.5rem}.nums4{gap:.6rem 1.2rem}.nums4 b{font-size:1.2rem}.scope-grid{gap:1.6rem}.ers{font-size:.8rem}}
@media (prefers-reduced-motion:reduce){.sc,.gate li{opacity:1;transform:none}}
@media (max-width:640px){.ask4 kbd{display:none}.ask4 button{white-space:nowrap}.scope4 .sec-h{grid-template-columns:auto 1fr}.scope4 .sec-h .rule,#scopeTot{display:none}}
/* v6.1 whole-card links: one pointer, one focus ring, existing hover feel */
section.course.card-link{cursor:pointer;position:relative}
section.course.card-link .c-go:focus-visible{outline:none}
section.course.card-link:has(.c-go:focus-visible){outline:1px solid var(--tq);outline-offset:6px}
article.sc.card-link{position:relative;cursor:pointer}
article.sc.card-link h3 a::after{content:"";position:absolute;inset:0;z-index:0}
article.sc.card-link h3 a:focus-visible{outline:none}
article.sc.card-link:has(h3 a:focus-visible){outline:1px solid var(--tq);outline-offset:6px}
article.sc.card-link .ers a,article.sc.card-link .more a{position:relative;z-index:1}
section.course.card-link:hover .c-go .ul{background-size:100% 1px}
/* v7.1 home atmosphere */
.field .atmos{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;image-rendering:auto;filter:blur(10px);transform:scale(1.06)}
.field .atmos-grain{position:absolute;inset:0;pointer-events:none;opacity:.055;mix-blend-mode:overlay}
@media (prefers-reduced-motion:reduce){.field .atmos-grain{opacity:.04}}
.field .atmos-m{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:blur(.6px)}
