.landing-hero{min-height:580px;padding:110px clamp(22px,7vw,120px) 80px;display:grid;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center;background:#fff}.landing-kicker{font-size:11px;font-weight:900;letter-spacing:.2em;color:var(--red)}.landing-hero h1{font-size:clamp(58px,8vw,124px);line-height:.82;letter-spacing:-.07em;text-transform:uppercase;margin:24px 0}.landing-hero h1 em{display:block;font:italic 400 .72em/1 var(--serif);text-transform:none;color:var(--red)}.landing-hero p{max-width:650px;color:#505a53;font-size:19px;line-height:1.7}.landing-visual{position:relative;min-height:430px}.landing-visual img{height:100%;position:absolute;inset:0;object-fit:cover;object-position:center top;filter:saturate(.75)}.landing-visual:after{content:'';position:absolute;inset:18px -18px -18px 18px;border:3px solid var(--yellow);z-index:-1}.route-grid{padding:90px clamp(22px,7vw,120px);display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.route-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.route-head h2{font-size:clamp(45px,6vw,84px);letter-spacing:-.06em;line-height:.9;margin:0}.route-head p{max-width:480px;color:var(--muted);line-height:1.6}.route-card{min-height:310px;background:#fff;border:1px solid var(--line);padding:34px;display:flex;flex-direction:column;transition:.25s}.route-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.route-card .num{color:var(--red);font:italic 24px var(--serif)}.route-card h2,.route-card h3{font-size:clamp(29px,3vw,43px);line-height:1;margin:55px 0 15px;letter-spacing:-.04em}.route-card p{color:var(--muted);line-height:1.65;max-width:52ch}.route-card a{margin-top:auto;font-weight:900;border-bottom:2px solid var(--yellow);padding-bottom:8px;align-self:flex-start}.detail-band{background:var(--ink);color:#fff;padding:90px clamp(22px,7vw,120px);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.detail-band h2{font-size:clamp(46px,6vw,80px);line-height:.9;letter-spacing:-.06em;margin:0}.detail-band p,.detail-band li{color:#c5ccc7;line-height:1.7}.detail-band li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14)}.landing-cta{padding:90px 22px;text-align:center;background:var(--yellow)}.landing-cta h2{font-size:clamp(44px,6vw,78px);margin:0 0 20px;letter-spacing:-.055em}.landing-cta p{font-size:18px}.landing-cta .button{margin-top:18px;background:var(--ink);color:#fff}.simple-nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:850}.simple-nav a:hover{color:var(--red)}@media(max-width:850px){.simple-nav{display:none}.landing-hero{grid-template-columns:1fr;padding-top:72px}.landing-visual{min-height:330px}.route-grid{grid-template-columns:1fr}.route-head{display:block}.route-head p{margin-top:22px}.detail-band{grid-template-columns:1fr}.site-header .menu-button{display:none}}@media(max-width:600px){.landing-hero{padding:62px 20px 55px}.landing-hero h1{font-size:52px}.landing-hero p{font-size:16px}.landing-visual{min-height:430px}.route-grid{padding:65px 20px}.route-card{min-height:275px;padding:26px}.route-card h2,.route-card h3{margin-top:38px}.detail-band{padding:65px 20px}.site-header{gap:12px}.basket-button{display:none}}

/* Courses as a high-impact directory, not a list. */
body:has(.course-directory){background:#0a0d0b}.course-directory+.landing-cta{position:relative;overflow:hidden}
body:has(.course-directory) .landing-hero{min-height:calc(100svh - 84px);background:#080b09;color:#fff;position:relative;overflow:hidden}
body:has(.course-directory) .landing-hero:before{content:'16';position:absolute;left:-.05em;bottom:-.32em;font-size:clamp(300px,45vw,720px);font-weight:950;line-height:1;color:rgba(255,255,255,.025)}
body:has(.course-directory) .landing-hero>div:first-child{position:relative;z-index:3}
body:has(.course-directory) .landing-hero h1{color:#fff;text-shadow:0 20px 70px #000}body:has(.course-directory) .landing-hero h1 em{color:var(--yellow)}body:has(.course-directory) .landing-hero p{color:#c8d0cb}
body:has(.course-directory) .landing-visual{min-height:70vh;transform:rotate(1.5deg)}body:has(.course-directory) .landing-visual img{filter:saturate(.8) contrast(1.15) brightness(.72);box-shadow:0 35px 90px rgba(0,0,0,.5)}body:has(.course-directory) .landing-visual:before{content:'';position:absolute;z-index:2;inset:0;background:linear-gradient(0deg,rgba(6,9,7,.6),transparent 55%)}
.course-directory{background:#f5f4ef;padding-block:clamp(80px,10vw,145px)}.directory-intro{padding-bottom:clamp(60px,8vw,110px)}.directory-intro h2{font-size:clamp(62px,9vw,145px);letter-spacing:-.075em;line-height:.82}
.course-family{position:relative;border-top:1px solid rgba(17,21,18,.22);padding-block:clamp(38px,5vw,72px);transition:background .35s,color .35s,padding .35s}.course-family:last-child{border-bottom:1px solid rgba(17,21,18,.22)}.course-family:hover{background:#111512;color:#fff;padding-inline:clamp(20px,3vw,48px)}
.course-family>div span{font-size:13px;font-weight:900;color:var(--red);letter-spacing:.18em}.course-family>div h2{font-size:clamp(38px,5.5vw,82px);letter-spacing:-.06em;line-height:.92}.course-family nav a{position:relative;padding-right:42px}.course-family nav a:after{content:'↗';position:absolute;right:4px;opacity:0;transform:translate(-10px,10px);transition:.25s;color:var(--yellow)}.course-family nav a:hover:after{opacity:1;transform:none}.course-family:hover nav a{color:#fff;border-color:rgba(255,255,255,.18)}
@media(max-width:850px){body:has(.course-directory) .landing-hero{min-height:auto;padding-top:95px}body:has(.course-directory) .landing-visual{min-height:52vw;transform:none}.course-family:hover{padding-inline:20px}}
