/* Layout idea: an Apple-style product page for a podcast. Centered hero, one dark cinematic act, a pinned story, a bento of tiles, a swipeable gallery. Logo maroon and gold on MedCast cream. */
:root{
  --cream:#f7f4f0;        /* page */
  --tile:#ffffff;         /* tiles */
  --ink:#1d1a1b;          /* text */
  --mute:#6e6a6b;         /* secondary text */
  --maroon:#72012d;       /* logo maroon */
  --gold:#f5c057;         /* logo gold */
  --night:#0c0608;        /* dark act, maroon-tinted black */
  --font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter Tight", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --logo:url("assets/medcast-logo.webp");
  --max:1080px;
  --gut:max(22px, 4vw);
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--cream);scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.47;letter-spacing:-.022em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:700;letter-spacing:-.035em;line-height:1.05;text-wrap:balance}
:focus-visible{outline:2px solid var(--maroon);outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.center{text-align:center}
.logo{display:block;background:var(--logo) center/contain no-repeat;border-radius:50%}
.eyebrow{font-size:clamp(19px,2vw,24px);font-weight:600;letter-spacing:-.01em}
.grad{background:linear-gradient(90deg,#c9861a,#b8323f 55%,var(--maroon));-webkit-background-clip:text;background-clip:text;color:transparent}
.link{color:#a0153e;font-weight:500;display:inline-flex;align-items:center;gap:4px}
.link:hover{text-decoration:underline}
.link::after{content:"›";font-size:1.2em;line-height:1}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:980px;background:var(--maroon);color:#fff;font-weight:500;font-size:17px;border:0;cursor:pointer;font-family:inherit;letter-spacing:-.01em;transition:background .2s, transform .2s}
.btn:hover{background:#8c0538}
.btn.sm{padding:7px 15px;font-size:13px}
.btn.gold{background:var(--gold);color:var(--ink)}
.btn.gold:hover{background:#f8cc72}
.btn.light{background:#fff;color:var(--ink)}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(247,244,240,.72);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06)}
.nav .wrap{height:52px;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1180px}
.brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:19px;letter-spacing:-.02em}
.brand .logo{width:30px;height:30px}
.nav ul{display:flex;gap:30px;list-style:none;font-size:13px;color:#3d3a3b}
.nav ul a:hover{color:var(--maroon)}
.menu-btn{display:none;background:none;border:0;padding:6px;cursor:pointer;color:var(--ink)}

/* Hero */
.hero{padding:clamp(56px,8vw,96px) 0 0;overflow:hidden}
.hero h1{font-size:clamp(52px,9vw,112px);letter-spacing:-.05em;margin:12px auto 0;max-width:12ch;line-height:1}
.hero .sub{font-size:clamp(20px,2.3vw,28px);font-weight:500;color:var(--mute);max-width:30ch;margin:20px auto 0;letter-spacing:-.02em;line-height:1.2}
.hero .ctas{display:flex;gap:28px;justify-content:center;align-items:center;margin-top:30px;flex-wrap:wrap}
.stage{position:relative;height:clamp(380px,52vw,620px);margin-top:20px;display:grid;place-items:center}
.halo{position:absolute;width:min(78vw,760px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(245,192,87,.55),rgba(245,192,87,.18) 40%,transparent 68%);transform:scale(calc(.85 + var(--p,0) * .4))}
.hero-logo{position:relative;width:clamp(260px,38vw,440px);aspect-ratio:1;filter:drop-shadow(0 40px 60px rgba(114,1,45,.28));transform:translateY(calc(var(--p,0) * -60px)) scale(calc(1 + var(--p,0) * .18)) rotate(calc(var(--p,0) * -6deg));will-change:transform}
.chip{position:absolute;padding:10px 16px;border-radius:980px;background:rgba(255,255,255,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(60,20,30,.12);font-size:15px;font-weight:600;white-space:nowrap;animation:bob 6s ease-in-out infinite}
.chip i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:1px}
.chip.c1{left:6%;top:24%}.chip.c2{right:5%;top:40%;animation-delay:-2s}.chip.c3{left:12%;bottom:14%;animation-delay:-4s}
@keyframes bob{50%{transform:translateY(-10px)}}

/* Dark act */
.night{background:var(--night);color:#f5f5f7;padding:clamp(110px,14vw,180px) 0 0;position:relative;overflow:hidden}
.say{font-size:clamp(32px,5.2vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1.08;max-width:20ch;text-wrap:balance}
.say .w{color:#4a3f43;transition:color .4s}
.say .w.on{color:#f5f5f7}
.say .w.hot.on{color:var(--gold)}
.big-date{margin-top:clamp(100px,14vw,180px);text-align:center}
.big-date .eyebrow{color:#a1999c}
.big-date h2{font-size:clamp(64px,13vw,190px);letter-spacing:-.06em;line-height:.9;margin-top:10px;background:linear-gradient(90deg,var(--gold),#ff8a5c calc(var(--p,0)*100%),#3a2a30 calc(var(--p,0)*100% + 12%));-webkit-background-clip:text;background-clip:text;color:transparent}
.big-date p{color:#a1999c;font-size:clamp(17px,1.8vw,21px);max-width:44ch;margin:22px auto 0}
#wave{display:block;width:100%;height:clamp(180px,24vw,300px);margin-top:60px}
.wave-cap{display:flex;justify-content:space-between;padding:12px var(--gut) 40px;font-size:12px;color:#6a6064;letter-spacing:.02em}

/* Story */
.story-head{padding:clamp(110px,13vw,170px) 0 40px}
.story-head h2{font-size:clamp(44px,7vw,80px)}
.story-head p{font-size:clamp(19px,2vw,24px);color:var(--mute);max-width:36ch;margin:18px auto 0;font-weight:500;line-height:1.25}
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}
.steps{display:flex;flex-direction:column}
.step{min-height:78vh;display:flex;flex-direction:column;justify-content:center;gap:14px;opacity:.35;transition:opacity .5s}
.step.active{opacity:1}
.step .n{font-size:15px;font-weight:600;color:var(--maroon)}
.step h3{font-size:clamp(34px,4.4vw,52px)}
.step p{font-size:clamp(18px,1.6vw,21px);color:var(--mute);max-width:30ch;line-height:1.35}
.viz{position:sticky;top:calc(50vh - min(42vw,480px)/2 + 20px);height:min(42vw,480px);border-radius:32px;background:var(--night);overflow:hidden;display:grid;place-items:center}
.viz .glow{position:absolute;inset:-20%;background:radial-gradient(circle at 50% 55%,var(--g,rgba(245,192,87,.55)),transparent 55%);transition:background .8s}
.viz .num{position:absolute;font-size:min(30vw,340px);font-weight:800;letter-spacing:-.08em;color:rgba(255,255,255,.06);line-height:1;transition:opacity .5s}
.viz .logo{position:relative;width:52%;aspect-ratio:1;transition:transform .8s cubic-bezier(.2,.8,.2,1);transform:var(--t,none);filter:drop-shadow(0 30px 40px rgba(0,0,0,.4))}
.viz .tags{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 16px}
.viz .tags span{font-size:12px;font-weight:600;padding:6px 12px;border-radius:980px;color:#8f868a;background:rgba(255,255,255,.06);transition:.4s}
.viz .tags span.on{color:var(--night);background:var(--gold)}

/* Bento */
.sec{padding:clamp(110px,13vw,170px) 0 0}
.sec-title{font-size:clamp(40px,6vw,72px);margin-bottom:clamp(36px,5vw,56px)}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.t{background:var(--tile);border-radius:28px;padding:clamp(26px,3vw,40px);overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:300px}
.t.s4{grid-column:span 4}.t.s2{grid-column:span 2}.t.s3{grid-column:span 3}
.t .k{font-size:15px;font-weight:600;color:var(--mute)}
.t .stat{font-size:clamp(64px,8vw,104px);font-weight:800;letter-spacing:-.06em;line-height:1;margin-top:auto}
.t .cap{font-size:19px;font-weight:600;margin-top:8px;line-height:1.2}
.t.ep{background:var(--maroon);color:#fff;min-height:440px}
.t.ep .rings{position:absolute;right:-8%;top:50%;width:62%;aspect-ratio:1;transform:translateY(-50%);display:grid;place-items:center}
.t.ep .rings span{position:absolute;border:1.5px solid rgba(245,192,87,.5);border-radius:50%;animation:ring 5s linear infinite}
.t.ep .rings span:nth-child(2){animation-delay:1.25s}.t.ep .rings span:nth-child(3){animation-delay:2.5s}.t.ep .rings span:nth-child(4){animation-delay:3.75s}
@keyframes ring{from{width:20%;height:20%;opacity:1}to{width:150%;height:150%;opacity:0}}
.t.ep .rings .logo{width:58%;aspect-ratio:1;position:relative;filter:drop-shadow(0 20px 40px rgba(0,0,0,.35))}
.t.ep .body{position:relative;max-width:52%;display:flex;flex-direction:column;gap:14px;height:100%}
.t.ep .live{font-size:13px;font-weight:600;color:var(--gold);display:flex;align-items:center;gap:8px}
.t.ep .live i{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(245,192,87,.7)}70%{box-shadow:0 0 0 10px rgba(245,192,87,0)}100%{box-shadow:none}}
.t.ep h3{font-size:clamp(32px,3.6vw,46px)}
.t.ep p{color:rgba(255,255,255,.75)}
.player{margin-top:auto;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:980px;background:rgba(0,0,0,.22)}
.player b{width:36px;height:36px;flex:none;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center}
.bars{flex:1;display:flex;gap:3px;align-items:center;height:26px}
.bars i{flex:1;border-radius:2px;background:rgba(255,255,255,.3)}
.player small{font-size:12px;opacity:.7;font-variant-numeric:tabular-nums}
.t.gold{background:var(--gold)}
.t.gold .k{color:rgba(29,26,27,.6)}
.t.dark{background:var(--night);color:#fff}
.t.dark .k{color:#8f868a}
.t.dark .cap{font-size:clamp(24px,2.4vw,30px)}
.t.dark .link{color:var(--gold);margin-top:10px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:18px;font-size:11px;color:var(--mute);text-align:center;font-variant-numeric:tabular-nums}
.cal span{padding:4px 0;border-radius:6px}
.cal .hd{font-weight:600;color:var(--ink)}
.cal .now{background:var(--maroon);color:#fff;font-weight:600}

/* About */
.about{padding:clamp(120px,14vw,190px) 0 0}
.about p.lead{font-size:clamp(28px,4vw,48px);font-weight:700;letter-spacing:-.035em;line-height:1.12;max-width:24ch;margin:16px auto 0;text-wrap:balance}
.about p.body{font-size:clamp(18px,1.6vw,21px);color:var(--mute);max-width:52ch;margin:26px auto 0}
.vals{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:36px}
.vals span{padding:10px 18px;border-radius:980px;background:var(--tile);font-weight:600;font-size:15px}

/* Team gallery */
.gal-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.gal-head .sec-title{margin:0}
.gal-head p{color:var(--mute);max-width:34ch}
.gallery{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px max(var(--gut),calc((100vw - var(--max))/2 + var(--gut))) 30px;scrollbar-width:none}
.gallery::-webkit-scrollbar{display:none}
.card{flex:0 0 clamp(250px,26vw,310px);height:clamp(380px,38vw,460px);border-radius:28px;scroll-snap-align:center;padding:30px 26px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;color:#fff;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.card:hover{transform:scale(1.02)}
.card .role{font-size:13px;font-weight:600;opacity:.75}
.card h3{font-size:30px;line-height:1.05}
.card p{font-size:15px;opacity:.8;margin-top:8px}
.card .face{width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;margin:auto 0}
.card .face svg{width:44px;height:44px;opacity:.7}
.card.c-a{background:linear-gradient(160deg,#8c0538,#4a0019)}
.card.c-b{background:linear-gradient(160deg,#b8323f,#72012d)}
.card.c-g{background:linear-gradient(160deg,#f8cf74,#e7a43a);color:var(--ink)}
.card.c-n{background:linear-gradient(160deg,#2a1a20,#0c0608)}
.card.c-d{background:linear-gradient(160deg,#7a5a2e,#4b3417)}
.gal-ctrl{display:flex;justify-content:flex-end;gap:12px}
.gal-ctrl button{width:44px;height:44px;border-radius:50%;border:0;background:#e8e2da;color:var(--ink);font-size:20px;cursor:pointer;transition:background .2s}
.gal-ctrl button:hover{background:#ddd5ca}

/* Join */
.join{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.j{border-radius:32px;padding:clamp(34px,4vw,56px) clamp(26px,3.4vw,48px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;min-height:520px}
.j.a{background:var(--tile)}
.j.b{background:var(--night);color:#fff}
.j .k{font-size:15px;font-weight:600;color:var(--maroon)}
.j.b .k{color:var(--gold)}
.j h3{font-size:clamp(40px,4.8vw,60px)}
.j p{font-size:18px;color:var(--mute);max-width:36ch}
.j.b p{color:#a1999c}
.roles{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:400px}
.roles span{font-size:13px;padding:5px 11px;border-radius:980px;background:var(--cream);font-weight:500}
.subj{margin-top:auto;width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px;align-items:center}
.subj small{font-size:13px;color:var(--mute)}
.j.b .subj small{color:#8f868a}
.subj code{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 18px;border-radius:14px;background:var(--cream);font-family:inherit;font-size:16px;font-weight:600}
.j.b .subj code{background:rgba(255,255,255,.08)}
.copy{font:inherit;font-size:13px;font-weight:600;border:0;border-radius:980px;padding:6px 14px;cursor:pointer;background:var(--ink);color:#fff}
.j.b .copy{background:#fff;color:var(--ink)}
.subj .addr{font-size:14px;color:var(--mute)}
.j.b .subj .addr{color:#8f868a}

/* Close */
.close{padding:clamp(130px,15vw,200px) 0 clamp(110px,12vw,160px)}
.close .logo{width:120px;height:120px;margin:0 auto 26px}
.close h2{font-size:clamp(56px,10vw,128px);letter-spacing:-.055em;line-height:.95}
.close .row{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:34px;font-size:clamp(17px,1.6vw,21px)}

footer{background:#efeae3;color:#6e6a6b;font-size:12px;padding:20px 0 30px}
footer .wrap{max-width:1000px}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:16px 0 20px;border-bottom:1px solid #ddd5ca}
.fcols h4{color:var(--ink);font-weight:600;font-size:12px;margin-bottom:8px}
.fcols a{display:block;padding:3px 0}
.fcols a:hover{text-decoration:underline}
.fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:14px}

.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,16px);background:var(--ink);color:#fff;padding:10px 18px;border-radius:980px;font-size:14px;font-weight:500;opacity:0;pointer-events:none;transition:.3s;z-index:70}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Lift-in: content is visible at rest, it only rises into place */
.rise{transform:translateY(40px);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.rise.in{transform:none}

@media (max-width:900px){
  .story{grid-template-columns:1fr}
  .viz{position:relative;top:auto;height:340px;order:-1}
  .step{min-height:auto;padding:40px 0;opacity:1}
  .bento{grid-template-columns:1fr 1fr}
  .t.s4,.t.s3{grid-column:span 2}.t.s2{grid-column:span 1}
  .t.ep .body{max-width:100%}
  .t.ep .rings{position:relative;right:auto;top:auto;transform:none;width:70%;margin:0 auto 10px;order:-1}
  .t.ep{display:flex;flex-direction:column}
  .join{grid-template-columns:1fr}
  .fcols{grid-template-columns:1fr 1fr}
}
@media (max-width:740px){
  .nav ul{display:none;position:absolute;top:52px;left:0;right:0;flex-direction:column;gap:0;background:rgba(247,244,240,.98);padding:8px var(--gut) 18px;font-size:22px;font-weight:600}
  .nav ul.open{display:flex}
  .nav ul a{display:block;padding:10px 0}
  .nav .btn{display:none}
  .menu-btn{display:block}
  .chip{font-size:13px;padding:8px 12px}
  .chip.c1{left:2%;top:10%}.chip.c2{right:2%;top:46%}.chip.c3{left:4%;bottom:6%}
}
@media (max-width:480px){
  .bento{grid-template-columns:1fr}
  .t.s2,.t.s4,.t.s3{grid-column:span 1}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rise{transform:none}
}

/* Page heroes and link tiles (multi-page) */
.nav ul a[aria-current="page"]{color:var(--maroon);font-weight:600}
.phero{padding:clamp(70px,10vw,120px) 0 clamp(20px,4vw,40px);text-align:center}
.phero h1{font-size:clamp(52px,9vw,104px);letter-spacing:-.05em;line-height:1;margin-top:10px}
.phero .sub{font-size:clamp(20px,2.3vw,28px);font-weight:500;color:var(--mute);max-width:32ch;margin:18px auto 0;letter-spacing:-.02em;line-height:1.2}
.phero .logo{width:96px;height:96px;margin:0 auto 18px}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.lt{position:relative;border-radius:28px;padding:clamp(28px,3.4vw,44px);min-height:clamp(300px,30vw,380px);display:flex;flex-direction:column;gap:10px;overflow:hidden;background:var(--tile);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.lt:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(114,1,45,.35)}
.lt .k{font-size:15px;font-weight:600;color:var(--maroon)}
.lt h3{font-size:clamp(32px,3.6vw,44px)}
.lt p{color:var(--mute);max-width:30ch;font-size:18px}
.lt .go{margin-top:auto;font-weight:500;color:#a0153e}
.lt .go::after{content:" ›"}
.lt .art{position:absolute;right:-30px;bottom:-30px;font-size:200px;font-weight:800;letter-spacing:-.08em;line-height:.8;color:rgba(114,1,45,.06)}
.lt.dk{background:var(--night);color:#fff}.lt.dk .k,.lt.dk .go{color:var(--gold)}.lt.dk p{color:#a1999c}.lt.dk .art{color:rgba(245,192,87,.08)}
.lt.mr{background:var(--maroon);color:#fff}.lt.mr .k,.lt.mr .go{color:var(--gold)}.lt.mr p{color:rgba(255,255,255,.75)}.lt.mr .art{color:rgba(255,255,255,.07)}
.lt.gd{background:var(--gold)}.lt.gd .k,.lt.gd .go{color:var(--maroon)}.lt.gd p{color:rgba(29,26,27,.7)}
.ccards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:clamp(50px,7vw,80px);text-align:left}
.cc{background:var(--tile);border-radius:28px;padding:32px;display:flex;flex-direction:column;gap:10px;min-height:220px}
.cc .k{font-size:15px;font-weight:600;color:var(--mute)}
.cc b{font-size:clamp(20px,1.9vw,24px);letter-spacing:-.02em;margin-top:auto;word-break:break-word}
.cc.mr{background:var(--maroon);color:#fff}.cc.mr .k{color:var(--gold)}.cc.mr .link{color:var(--gold)}
.cta-band{margin-top:clamp(110px,13vw,170px);text-align:center}
.cta-band h2{font-size:clamp(40px,6vw,72px)}
.cta-band p{color:var(--mute);font-size:clamp(18px,1.8vw,21px);margin:14px auto 26px;max-width:40ch}
.spacer{height:clamp(110px,13vw,170px)}
@media (max-width:900px){.tiles,.ccards{grid-template-columns:1fr}}

/* ---- Polish pass ---- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .35s ease both}
::view-transition-new(root){animation:vt-in .45s cubic-bezier(.2,.8,.2,1) both}
@keyframes vt-out{to{opacity:0;transform:scale(.985)}}
@keyframes vt-in{from{opacity:0;transform:translateY(14px)}}
::selection{background:var(--gold);color:var(--ink)}

.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:linear-gradient(90deg,var(--gold),#ff8a5c,var(--maroon));transform-origin:0 50%;transform:scaleX(var(--sp,0))}

.nav ul a{position:relative;padding:4px 0}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--maroon);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.nav ul a:hover::after,.nav ul a[aria-current="page"]::after{transform:scaleX(1)}

/* Hero intro: lines slide up on load */
.intro .ln{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}
.intro .ln>span{display:inline-block;animation:lineup 1.1s cubic-bezier(.2,.8,.2,1) both}
.intro .ln:nth-child(2)>span{animation-delay:.12s}
@keyframes lineup{from{transform:translateY(105%)}}
.hero .eyebrow,.hero .sub,.hero .ctas,.phero .eyebrow,.phero h1,.phero .sub,.phero .logo{animation:fadeup 1s cubic-bezier(.2,.8,.2,1) both}
.hero .sub,.phero h1{animation-delay:.15s}.hero .ctas,.phero .sub{animation-delay:.28s}
@keyframes fadeup{from{transform:translateY(18px)}}
.hero-logo{animation:pop 1.3s cubic-bezier(.2,.9,.25,1.15) .2s both}
@keyframes pop{from{scale:.82}}

/* Buttons: soft shine */
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s}
.btn:hover::after{transform:translateX(120%)}

/* Home: team faces */
.faces{display:flex;margin-top:10px}
.faces span{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:15px;background:var(--maroon);color:#fff;border:3px solid var(--gold);margin-left:-10px;transition:transform .3s}
.faces span:first-child{margin-left:0}
.faces span:nth-child(2n){background:var(--night)}
.lt:hover .faces span{transform:translateY(-4px)}
.lt:hover .faces span:nth-child(2){transition-delay:.04s}.lt:hover .faces span:nth-child(3){transition-delay:.08s}.lt:hover .faces span:nth-child(4){transition-delay:.12s}.lt:hover .faces span:nth-child(5){transition-delay:.16s}.lt:hover .faces span:nth-child(6){transition-delay:.2s}

/* Team page */
.tilt{transform-style:preserve-3d;will-change:transform}
.lead-card{position:relative;overflow:hidden;border-radius:36px;background:radial-gradient(80% 120% at 85% 20%,rgba(245,192,87,.35),transparent 60%),linear-gradient(150deg,#8c0538,#3e0018);color:#fff;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(28px,5vw,64px);padding:clamp(34px,6vw,80px);margin-top:20px}
.lead-card .wm{position:absolute;right:-6%;bottom:-30%;width:min(46vw,520px);aspect-ratio:1;opacity:.12;filter:grayscale(.2)}
.lead-av{width:clamp(150px,20vw,230px);aspect-ratio:1;border-radius:50%;padding:6px;background:conic-gradient(var(--gold),#ff8a5c,var(--gold));position:relative;z-index:1;animation:spin 12s linear infinite}
.lead-av span{width:100%;height:100%;border-radius:50%;background:#2a0010;display:grid;place-items:center;font-size:clamp(52px,7vw,84px);font-weight:800;letter-spacing:-.04em;color:var(--gold);animation:spin 12s linear infinite reverse}
@keyframes spin{to{rotate:360deg}}
.lead-txt{position:relative;z-index:1}
.lead-txt .role{display:inline-block;font-size:14px;font-weight:600;padding:6px 14px;border-radius:980px;background:var(--gold);color:var(--ink)}
.lead-txt h2{font-size:clamp(48px,8vw,104px);letter-spacing:-.055em;line-height:.95;margin-top:16px}
.lead-txt p{font-size:clamp(18px,1.8vw,22px);color:rgba(255,255,255,.78);margin-top:16px;max-width:34ch}
.group{margin:clamp(80px,10vw,120px) 0 28px;display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.group h2{font-size:clamp(36px,5vw,56px)}
.group p{color:var(--mute);font-size:19px}
.pgrid{display:grid;gap:20px}
.pgrid.three{grid-template-columns:repeat(3,1fr)}
.pgrid.two{grid-template-columns:repeat(2,1fr)}
.pcard{border-radius:28px;padding:30px;min-height:clamp(320px,30vw,400px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden;transition:box-shadow .4s}
.pcard:hover{box-shadow:0 40px 70px -35px rgba(60,0,20,.55)}
.pcard::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(255,255,255,.18),transparent 45%);opacity:0;transition:opacity .3s;pointer-events:none}
.pcard:hover::before{opacity:1}
.pcard .role{font-size:14px;font-weight:600;opacity:.75}
.pcard h3{font-size:clamp(40px,4.4vw,56px);letter-spacing:-.05em;margin-top:6px}
.pcard p{opacity:.8;margin-top:8px;font-size:16px;max-width:30ch}
.pgrid.two .pcard{min-height:300px}
.mono-av{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:36px;font-weight:800;background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.35);backdrop-filter:blur(6px)}
.pcard.c-g .mono-av{background:rgba(114,1,45,.1);border-color:rgba(114,1,45,.3);color:var(--maroon)}
.pcard.c-a{background:linear-gradient(160deg,#8c0538,#4a0019)}
.pcard.c-b{background:linear-gradient(160deg,#c43c4b,#72012d)}
.pcard.c-g{background:linear-gradient(160deg,#f8cf74,#e7a43a);color:var(--ink)}
.pcard.c-n{background:linear-gradient(160deg,#2a1a20,#0c0608)}
.pcard.c-d{background:linear-gradient(160deg,#7a5a2e,#4b3417)}
@media (max-width:900px){
  .lead-card{grid-template-columns:1fr;text-align:center;justify-items:center}
  .lead-txt p{margin-left:auto;margin-right:auto}
  .pgrid.three,.pgrid.two{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.progress{display:none}}

/* ---- Upgrade pass ---- */
/* Intro on first visit */
.loader{position:fixed;inset:0;z-index:100;background:var(--night);display:grid;place-content:center;justify-items:center;gap:26px;animation:loaderOut .7s cubic-bezier(.7,0,.2,1) 1.7s forwards}
.loader .logo{width:110px;height:110px;animation:loaderLogo 1s cubic-bezier(.2,.9,.25,1.2) both}
.loader svg{width:260px;height:52px}
.loader path{stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.2s cubic-bezier(.6,0,.2,1) .25s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes loaderLogo{from{scale:.6;opacity:0}}
@keyframes loaderOut{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
.seen .loader{display:none}

/* Custom cursor ring (mouse only) */
.cursor{position:fixed;left:0;top:0;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid var(--maroon);pointer-events:none;z-index:90;opacity:0;transition:width .25s,height .25s,margin .25s,background .25s,border-color .25s,opacity .3s}
.cursor.on{opacity:1}
.cursor.big{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(245,192,87,.25);border-color:transparent}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* Hero follows the mouse */
.hero-logo{translate:calc(var(--mx,0) * 26px) calc(var(--my,0) * 20px);transition:translate .4s cubic-bezier(.2,.8,.2,1)}
.chip{translate:calc(var(--mx,0) * -22px) calc(var(--my,0) * -16px);transition:translate .5s cubic-bezier(.2,.8,.2,1)}
.halo{translate:calc(var(--mx,0) * 10px) calc(var(--my,0) * 10px)}

/* Topic banner */
.marquee{overflow:hidden;background:var(--gold);padding:22px 0;border-block:1px solid rgba(114,1,45,.15)}
.marquee .track{display:flex;align-items:center;gap:34px;width:max-content;animation:marq 38s linear infinite}
.marquee span{font-size:clamp(28px,4vw,52px);font-weight:800;letter-spacing:-.04em;white-space:nowrap;color:var(--maroon)}
.marquee span:nth-of-type(2n){color:transparent;-webkit-text-stroke:1.5px var(--maroon)}
.marquee i{font-style:normal;font-size:clamp(18px,2vw,26px);color:var(--maroon)}
.marquee:hover .track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-50%)}}

/* Giant footer wordmark */
footer{overflow:hidden;padding-bottom:0}
.wordmark{font-size:clamp(90px,23vw,330px);font-weight:800;letter-spacing:-.07em;line-height:.78;text-align:center;margin-top:30px;background:linear-gradient(180deg,rgba(114,1,45,.22),rgba(114,1,45,.02));-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;translate:0 8%}

/* About: values as a bold list */
.vals{gap:12px}
.vals span{padding:14px 24px;font-size:clamp(16px,1.6vw,19px);border:1.5px solid transparent;transition:background .3s,color .3s,transform .3s}
.vals span:hover{background:var(--maroon);color:#fff;transform:translateY(-3px)}

/* FAQ */
.faq{max-width:860px}
.qas{border-top:1px solid #e0d8cd}
.qa{border-bottom:1px solid #e0d8cd}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font-size:clamp(20px,2.2vw,26px);font-weight:600;letter-spacing:-.03em}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--maroon)}
.pm{position:relative;width:34px;height:34px;flex:none;border-radius:50%;background:var(--tile);transition:background .3s,rotate .4s}
.pm::before,.pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:currentColor;border-radius:2px}
.pm::after{rotate:90deg;transition:rotate .3s}
.qa[open] .pm{background:var(--maroon);color:#fff;rotate:180deg}
.qa[open] .pm::after{rotate:0deg}
.qa p{padding:0 50px 28px 0;color:var(--mute);font-size:18px;max-width:60ch}
.qa p b{color:var(--ink);font-weight:600}
.qa[open] p{animation:fadeup .5s cubic-bezier(.2,.8,.2,1)}

/* Full-screen mobile menu */
@media (max-width:740px){
  .nav ul{position:fixed;top:52px;left:0;right:0;bottom:0;height:calc(100dvh - 52px);display:flex;visibility:hidden;opacity:0;padding:30px var(--gut);gap:4px;background:var(--cream);transition:opacity .3s,visibility .3s}
  .nav ul.open{visibility:visible;opacity:1}
  .nav ul a{font-size:40px;font-weight:700;letter-spacing:-.04em;padding:6px 0}
  .nav ul li{transform:translateY(16px);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
  .nav ul.open li{transform:none}
  .nav ul.open li:nth-child(2){transition-delay:.04s}.nav ul.open li:nth-child(3){transition-delay:.08s}.nav ul.open li:nth-child(4){transition-delay:.12s}
  .nav ul a::after{display:none}
  .qa p{padding-right:0}
}
@media (prefers-reduced-motion:reduce){.loader{display:none}.marquee .track{animation:none}}

/* Four interviewers */
.pgrid.four{grid-template-columns:repeat(4,1fr)}
.pgrid.four .pcard h3{font-size:clamp(30px,2.8vw,40px);line-height:1}
.pgrid.four .mono-av{font-size:30px}
@media (max-width:1000px){.pgrid.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.pgrid.four{grid-template-columns:1fr}}

/* Interviewers: auto-scrolling row */
.slider{overflow:hidden;padding:10px 0 30px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.slide-track{display:flex;gap:20px;width:max-content;animation:slide-right 32s linear infinite}
.slide-track .pcard{flex:0 0 clamp(250px,24vw,310px);min-height:clamp(320px,30vw,380px)}
.slide-track .pcard h3{font-size:clamp(32px,3vw,42px);line-height:1}
.slider:hover .slide-track{animation-play-state:paused}
@keyframes slide-right{from{transform:translateX(calc(-50% - 10px))}to{transform:translateX(0)}}
@media (prefers-reduced-motion:reduce){
  .slider{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .slide-track{animation:none}
  .slide-track [aria-hidden="true"]{display:none}
}
