/* ---------- homepage (29 Sep) ---------- */
.phero{position:relative;background:#000;color:#f5f5f7;min-height:min(92vh,860px);display:flex;align-items:flex-end;overflow:hidden}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.4s ease}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;opacity:.82;transform:scale(1.06);transition:transform 7s linear}
.slide.on img{transform:scale(1)}
.slide figcaption{position:absolute;right:var(--pad);bottom:22px;z-index:2;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.dots{display:flex;gap:8px;margin-top:30px}
.dots button{width:8px;height:8px;border-radius:8px;border:0;padding:0;background:rgba(255,255,255,.35);cursor:pointer;transition:width .4s var(--ease),background .4s}
.dots button.on{width:26px;background:#fff}
@media (prefers-reduced-motion:reduce){.slide img{transition:none;transform:none}}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.55) 62%,#000 100%)}
.phero-txt{position:relative;z-index:1;width:100%;max-width:var(--w);margin:0 auto;padding:0 var(--pad) 64px;text-align:center;display:flex;flex-direction:column;align-items:center}
.phero .eyebrow{color:#d2d2d7;font-size:12px;letter-spacing:.14em}
.phero h1{font-size:clamp(40px,8vw,84px);max-width:none}
.phero .sub{color:#d2d2d7;font-weight:500;max-width:30ch}
.phero .ctas{margin-top:28px}
.lead{max-width:40ch;margin-top:26px;font-size:clamp(19px,2.6vw,24px);line-height:1.45;font-weight:500;color:var(--tx2)}
.tile>.rail{max-width:none}
.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:44px calc(var(--pad) * -1) 0;padding:4px var(--pad) 18px;text-align:left;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.rail>*{scroll-snap-align:start;flex:0 0 auto}
.art{width:210px;position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:var(--card);margin:0}
.art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.art:hover img{transform:scale(1.04)}
.art::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.82))}
.art figcaption{position:absolute;left:16px;right:16px;bottom:14px;z-index:1;display:flex;flex-direction:column;gap:3px;color:#fff}
.art b{font-size:17px;font-weight:700;line-height:1.2}
.art small{font-size:11px;color:rgba(255,255,255,.7);letter-spacing:.1em;font-weight:600}
.art.txt{background:linear-gradient(160deg,#26262a,#0e0e10);border:1px solid var(--line)}
.art.txt::after{display:none}
.art.txt figcaption{top:18px;bottom:18px;justify-content:flex-end}
.art.txt b{font-size:26px;line-height:1.1;letter-spacing:-.01em}
.railwrap{max-width:none;margin-top:0}
.rail-nav{display:flex;justify-content:flex-end;gap:10px;max-width:1200px;margin:6px auto 0;padding:0 var(--pad)}
.rail-nav button{width:40px;height:40px;border-radius:50%;border:0;background:var(--card);color:var(--tx);font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center;padding-bottom:3px;transition:opacity .2s,transform .2s}
.rail-nav button:hover{transform:scale(1.06)}
.rail-nav button:disabled{opacity:.3;cursor:default;transform:none}
.stage-rail{scrollbar-width:none}.stage-rail::-webkit-scrollbar{display:none}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:40px;max-width:1040px}
.gal figure{border-radius:14px;overflow:hidden;aspect-ratio:1;background:var(--card)}
.gal figure.big{grid-column:span 2;aspect-ratio:2/1.2}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gal figure:hover img{transform:scale(1.04)}
.quotes{display:grid;gap:14px;margin-top:44px;max-width:1040px;text-align:left}
.quotes blockquote{margin:0;background:var(--card);border-radius:18px;padding:26px 24px;display:flex;flex-direction:column;gap:16px}
.quotes p{font-size:17px;line-height:1.5}
.quotes cite{font-style:normal;color:var(--tx2);font-size:14px;margin-top:auto}
.quotes cite b{color:var(--tx);font-weight:600}
.post{width:280px;text-decoration:none;display:flex;flex-direction:column;gap:8px}
.post img{width:280px;height:158px;object-fit:cover;border-radius:14px;background:var(--card);transition:transform .5s var(--ease)}
.post:hover img{transform:scale(1.02)}
.ptag{font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--tx2);margin-top:6px}
.post b{font-size:16px;font-weight:600;line-height:1.3}
.acad-logo{width:64px;height:64px;border-radius:16px;margin-bottom:18px}
.atopics{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px;max-width:760px}
.atopics li{padding:8px 14px;border-radius:980px;border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--tx2)}
#academy .key{max-width:620px;margin-top:40px}
.aform{justify-content:flex-start;text-align:left}
.aform input[type=text]{flex:1 1 160px}
.aform input[type=email]{flex:1 1 100%}
.seg{border:0;padding:0;margin:6px 0 0;flex:1 1 100%;display:flex;flex-wrap:wrap;gap:8px}
.seg legend{font-size:13px;font-weight:600;color:var(--tx2);margin-bottom:8px;padding:0}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:inline-block;padding:9px 14px;border-radius:10px;border:1px solid var(--line);font-size:14px;font-weight:500;background:var(--bg);transition:all .2s}
.seg input:checked+span{border-color:var(--acc);background:var(--acc);color:var(--acc-ink)}
.seg input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
.consent{flex:1 1 100%;display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--tx2);margin:6px 0 4px;cursor:pointer}
.consent input{margin-top:2px;accent-color:var(--acc)}
.aform .btn{flex:1 1 100%}
.mail{display:inline-block;margin-top:30px;font-size:clamp(22px,4.4vw,40px);font-weight:700;letter-spacing:-.01em;color:var(--lnk);text-decoration:none;word-break:break-word}
.mail:hover{text-decoration:underline}
@media (min-width:760px){
  .art{width:260px}
  .gal{grid-template-columns:repeat(3,1fr);gap:12px}
  .gal figure.big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
  .quotes{grid-template-columns:repeat(2,1fr)}
  .post{width:320px}.post img{width:320px;height:180px}
  .phero-txt{padding-bottom:88px}
  .aform .btn{flex:0 0 auto}
}
@media (min-width:1000px){
  .quotes{grid-template-columns:repeat(3,1fr)}
  .quotes blockquote:nth-child(4),.quotes blockquote:nth-child(5){grid-column:span 1}
  .rail{margin-left:auto;margin-right:auto;max-width:1200px;padding-left:var(--pad);padding-right:var(--pad)}
}
[data-tone] .hero-shot img{box-shadow:none}
.stext .ctas{justify-content:flex-start}
.names{max-width:860px;margin-top:34px;font-size:clamp(17px,2.2vw,21px);line-height:1.7;color:var(--tx2)}
.names b{color:var(--tx);font-weight:600;white-space:nowrap}
.names i{font-style:normal;color:var(--tx2);margin:0 4px}
.bio-shot img{border-radius:20px;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:30% 50%}
.split.bio{max-width:1080px}
.split.bio .lead{margin-top:18px;font-size:clamp(17px,2vw,20px)}
@media (min-width:900px){.split.bio{grid-template-columns:1fr 1fr;gap:56px}}
.story{margin-top:110px;max-width:1080px}
.sgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:40px}
.sgrid .art{width:auto}
.sgrid .art:nth-child(-n+3) img{filter:saturate(.9) contrast(1.02)}
@media (min-width:900px){.sgrid{grid-template-columns:repeat(4,1fr);gap:16px}}
.story>*{margin-left:auto;margin-right:auto}
