/* SVAS'26 ------------------------------------------------------------------
   The base rules are a complete, readable page. Everything that pins, hides or
   moves lives under .motion, which is only present when main.js can drive it.
   Palette and typefaces are sampled from the brochure's first page.            */

@font-face{font-family:"Archivo Black";src:url(assets/fonts/ArchivoBlack-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(assets/fonts/CormorantGaramond-700.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(assets/fonts/CormorantGaramond-600i.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Poppins";src:url(assets/fonts/Poppins-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Poppins";src:url(assets/fonts/Poppins-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Poppins";src:url(assets/fonts/Poppins-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Poppins";src:url(assets/fonts/Poppins-700.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  color-scheme:light;
  --ink:#0d0d33; --navy:#14145a; --royal:#004aad; --indigo:#3333cc; --ultra:#1408a6;
  --muted:#565c78; --line:#e1e3ee; --paper:#f5f5f7;
  --dark:#05061f; --dark-card:rgba(255,255,255,.065); --dark-line:rgba(255,255,255,.14); --on-dark:#fff; --on-dark-2:#b9bee0;
  --orange-a:#e9452f; --orange-b:#f28a4f; --purple:#9a5fd9; --sky:#8fb0ff;
  --display:"Archivo Black","Arial Black",system-ui,sans-serif;
  --serif:"Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --body:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --gut:clamp(20px,5vw,72px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#fff}
html,body{overflow-x:clip}
body{margin:0;font-family:var(--body);font-size:17px;line-height:1.55;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
:focus-visible{outline:3px solid var(--indigo);outline-offset:3px;border-radius:4px}
.speakers :focus-visible,.also :focus-visible,.panelists :focus-visible,.register :focus-visible{outline-color:#fff}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px}
.skip:focus{top:12px}

.nb{white-space:nowrap}
/* background-clip:text paints only inside the box, so a tight line-height cuts descenders off. */
.t-theme-q,.sp-title h2,.pn-a,.pn-b,.day-n{padding-bottom:.14em;margin-bottom:-.14em}

.wrap{width:min(1180px,100%);margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{font-weight:600;font-size:clamp(13px,1.1vw,15px);letter-spacing:.08em;text-transform:uppercase;color:var(--royal)}
.h-big{font-weight:700;font-size:clamp(40px,7.4vw,104px);line-height:1.02;letter-spacing:-.035em;margin-top:.18em}
.h-mid{font-weight:700;font-size:clamp(32px,5vw,68px);line-height:1.05;letter-spacing:-.03em;margin-top:.2em}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 26px;border-radius:999px;border:1.5px solid transparent;font-weight:600;font-size:16px;line-height:1.2;text-align:center;text-decoration:none;transition:transform .25s var(--ease),background-color .25s,color .25s,border-color .25s}
.btn:hover{transform:scale(1.03)}
.btn:active{transform:scale(.98)}
.btn-solid{background:var(--royal);color:#fff}
.btn-solid:hover{background:#003c8f}
.btn-line{border-color:var(--royal);color:var(--royal);background:rgba(255,255,255,.55)}
.btn-line:hover{background:#fff}
.btn-white{background:#fff;color:var(--navy)}
.btn-glass{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.4)}
.btn-glass:hover{background:rgba(255,255,255,.24)}

/* Navigation --------------------------------------------------------------- */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:clamp(14px,2.4vw,30px);height:52px;padding:0 var(--gut);color:var(--ink);background:rgba(255,255,255,.78);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(13,13,51,.08);transition:transform .5s var(--ease),background-color .6s,color .6s,border-color .6s}
.nav-brand{font-family:var(--display);font-size:19px;letter-spacing:.01em;text-decoration:none;margin-right:auto;white-space:nowrap}
.nav-links{display:flex;gap:clamp(14px,2.2vw,28px)}
.nav-links a{font-size:14px;font-weight:500;text-decoration:none;opacity:.8;transition:opacity .2s}
.nav-links a:hover{opacity:1}
.nav-cta{display:inline-flex;align-items:center;min-height:32px;padding:0 15px;border-radius:999px;background:var(--royal);color:#fff;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.nav-menu{display:none;position:relative}
.nav-menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-content:center;gap:6px}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu summary span{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease)}
.nav-menu[open] summary span:first-child{transform:translateY(4px) rotate(45deg)}
.nav-menu[open] summary span:last-child{transform:translateY(-4px) rotate(-45deg)}
.nav-menu nav{position:fixed;left:12px;right:12px;top:58px;padding:8px;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 18px 50px rgba(5,6,31,.25)}
.nav-menu nav a{display:flex;align-items:center;min-height:46px;padding:0 14px;border-radius:12px;font-weight:500;text-decoration:none}
.nav-menu nav a:active{background:var(--paper)}
.nav-trace{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:9px;overflow:visible;pointer-events:none;clip-path:inset(-4px calc(100% - var(--page,0)*100%) -4px 0)}
.nav-trace path{fill:none;stroke:var(--royal);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
html[data-nav=dark] .nav{color:#fff;background:rgba(8,10,40,.68);border-bottom-color:rgba(255,255,255,.14)}
html[data-nav=dark] .nav-cta{background:#fff;color:var(--navy)}
html[data-nav=dark] .nav-trace path{stroke:var(--sky)}
@media (max-width:760px){
  .nav-links{display:none}
  .nav-menu{display:block;order:3;margin-right:-10px}
  .nav{gap:6px}
}

/* Welcome: the brochure's first page ---------------------------------------- */
.welcome .stage{--u:min(1.11vw,1.78vh);position:relative;overflow:hidden;background:#fff}
@supports (height:1svh){.welcome .stage{--u:min(1.11vw,1.78svh)}}
.fit{position:relative}
.welcome .fit{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:calc(var(--u)*2) 0}
.w-photo{position:absolute;inset:0;transform-origin:50% 60%}
.w-photo img{width:100%;height:100%;object-fit:cover}
.w-photo::after{content:"";position:absolute;inset:0;background:radial-gradient(58% 66% at 50% 50%,rgba(240,244,249,.72),rgba(240,244,249,0)),linear-gradient(180deg,rgba(224,231,240,.82),rgba(214,223,233,.74))}

.w-corner{position:absolute}
.w-disc{position:absolute;display:block;pointer-events:none}
.w-tl{left:0;top:0;width:calc(var(--u)*24);height:calc(var(--u)*23);transform-origin:0 0}
.w-tl .w-disc{inset:0}
.w-tl .w-disc::before,.w-tl .w-disc::after{content:"";position:absolute;border-radius:50%}
.w-tl .w-disc::before{width:calc(var(--u)*62.2);height:calc(var(--u)*62.2);left:calc(var(--u)*-34.2);top:calc(var(--u)*-37.3);background:var(--royal)}
.w-tl .w-disc::after{width:calc(var(--u)*60.6);height:calc(var(--u)*60.6);left:calc(var(--u)*-36.5);top:calc(var(--u)*-36.5);background:#fff}
.w-logo{position:absolute;left:calc(var(--u)*2.4);top:calc(var(--u)*2.2);width:calc(var(--u)*13.5)}
.w-tr{right:calc(var(--u)*4);top:calc(var(--u)*2);width:calc(var(--u)*20);text-align:center}
.w-assoc{font-family:var(--serif);font-weight:700;font-size:calc(var(--u)*1.05);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.w-iarc{width:calc(var(--u)*17);margin:calc(var(--u)*.7) auto 0}
.w-credit{position:relative;margin:calc(var(--u)*1.6) auto 0;padding:calc(var(--u)*1.25) calc(var(--u)*1.5);width:calc(var(--u)*17);font-family:var(--display);font-size:calc(var(--u)*1.32);line-height:1.3;letter-spacing:.03em;text-transform:uppercase;color:var(--navy);background:url(assets/img/brush.webp) center/100% 100% no-repeat}

.w-title{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(var(--u)*1.05)}
.w-school{font-family:var(--display);font-size:calc(var(--u)*2.28);line-height:1.2;letter-spacing:.03em;text-transform:uppercase;background:linear-gradient(90deg,var(--orange-a),var(--orange-b));-webkit-background-clip:text;background-clip:text;color:var(--orange-a);-webkit-text-fill-color:transparent}
.w-mark{position:relative;font-family:var(--display);font-weight:400;font-size:calc(var(--u)*7.9);line-height:1;letter-spacing:.005em;white-space:nowrap;margin:0}
.w-mark .l,.w-mark .l26,.acro .ph{display:inline-block;line-height:1;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.w-mark .l{transform-origin:0 0}
.l1,.p1{background-image:linear-gradient(90deg,#04041a,#0b0b35)}
.l2,.p2{background-image:linear-gradient(90deg,#0b0b35,#121251)}
.l3,.p3{background-image:linear-gradient(90deg,#121251,#191a71)}
.l4,.p4{background-image:linear-gradient(90deg,#191a71,#20208c)}
.l26{background-image:linear-gradient(90deg,#20208c,#3636d2)}
.w-dots{position:absolute;left:calc(var(--u)*-.2);top:calc(var(--u)*-1.4);width:calc(var(--u)*3);height:calc(var(--u)*4.4);background:radial-gradient(circle,#4472b8 1.15px,transparent 1.6px) 0 0/calc(var(--u)*.84) calc(var(--u)*.84)}
.w-series{font-family:var(--serif);font-weight:700;font-size:calc(var(--u)*3.25);line-height:1.2;letter-spacing:.015em;text-transform:uppercase;color:var(--ultra)}
.w-note{font-weight:600;font-size:max(12px,calc(var(--u)*1.26));line-height:1.45;color:#101036}
.w-note b{font-weight:600;color:#23238f}
.w-theme span{display:block;font-weight:600;font-size:max(12px,calc(var(--u)*1.32));color:var(--purple)}
.w-theme strong{display:block;font-weight:600;font-size:max(14px,calc(var(--u)*1.72));line-height:1.3;background:linear-gradient(90deg,#3f6cf5,#9a5fd9 55%,#e24fae);-webkit-background-clip:text;background-clip:text;color:var(--purple);-webkit-text-fill-color:transparent}
.w-when{display:none;font-size:max(13px,calc(var(--u)*.9));line-height:1.4;color:var(--navy)}
.w-when b{font-weight:600}
.w-when a{color:var(--royal);font-weight:500;text-underline-offset:2px}
.w-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--u)*.7);margin-top:calc(var(--u)*.4)}
.w-cta .btn{min-height:max(44px,calc(var(--u)*3));padding-inline:calc(var(--u)*1.6);font-size:max(14px,calc(var(--u)*.98))}

.w-br{right:0;bottom:0;width:calc(var(--u)*29);height:calc(var(--u)*25);transform-origin:100% 100%}
.w-br .w-disc{inset:0}
.w-br .w-disc::before,.w-br .w-disc::after{content:"";position:absolute;border-radius:50%}
.w-br .w-disc::before{width:calc(var(--u)*58);height:calc(var(--u)*58);left:0;top:0;background:linear-gradient(200deg,#0c579f,var(--royal))}
.w-br .w-disc::after{width:calc(var(--u)*56);height:calc(var(--u)*56);left:calc(var(--u)*.7);top:calc(var(--u)*3);background:#fff}
.w-br-lungs{position:absolute;left:calc(var(--u)*7);bottom:calc(var(--u)*-1);width:calc(var(--u)*18);opacity:.1}
.w-br-body{position:absolute;right:calc(var(--u)*1.7);bottom:calc(var(--u)*1.2);width:calc(var(--u)*20);text-align:right;line-height:1.3}
.w-br h2{font-weight:700;font-size:max(12px,calc(var(--u)*1.2));color:var(--royal)}
.w-br h3{font-weight:700;font-size:max(12px,calc(var(--u)*1.1));color:var(--royal);margin-top:calc(var(--u)*.6)}
.w-br p{font-size:max(12px,calc(var(--u)*1.02))}
.w-qr{display:block;width:calc(var(--u)*7.6);margin:calc(var(--u)*.45) 0 0 auto}
.w-qr img{width:100%}

.w-cue{position:absolute;z-index:3;left:calc(var(--u)*3);bottom:calc(var(--u)*2.2);display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--navy)}
.w-cue i{position:relative;width:1px;height:34px;background:rgba(20,20,90,.25);overflow:hidden}
.w-cue i::after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--navy)}

/* Acronym: a scroll flourish only, because the plain page already says it in the title */
.acro{display:none}
.acro-rows{position:relative;z-index:1}
.acro .r{font-family:var(--display);line-height:1;white-space:nowrap;color:#7f85b0}
.acro .rest{display:inline-block;line-height:1}
.acro-line{font-weight:600;font-size:clamp(18px,2.1vw,30px);margin-top:.9em;background:linear-gradient(90deg,#3f6cf5,#9a5fd9 55%,#e24fae);-webkit-background-clip:text;background-clip:text;color:var(--purple);-webkit-text-fill-color:transparent;width:fit-content}
.acro-lungs{display:none}

/* About -------------------------------------------------------------------- */
.about .fit{padding:clamp(72px,12vh,140px) var(--gut)}
.about-copy{width:min(1040px,100%);margin-inline:auto}
.about-text{margin-top:.55em;font-weight:600;font-size:clamp(24px,min(4.05vw,6.4svh),60px);line-height:1.24;letter-spacing:-.022em}
.about-text .w{display:inline-block}
.about-text .em{color:var(--royal)}

/* Facts -------------------------------------------------------------------- */
.facts{padding:clamp(24px,4vh,48px) 0 clamp(64px,11vh,130px)}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.5vw,20px)}
.tile{position:relative;overflow:hidden;background:var(--paper);border-radius:clamp(22px,2.4vw,32px);padding:clamp(22px,3vw,40px)}
.tile-k{font-size:14px;font-weight:600;color:var(--muted)}
.tile-big{font-family:var(--display);font-size:clamp(84px,13vw,176px);line-height:1;margin-top:.1em;width:fit-content;white-space:nowrap;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.grad-royal{background-image:linear-gradient(90deg,#0d0d33,#3636d2);color:var(--navy)}
.grad-warm{background-image:linear-gradient(135deg,var(--orange-a),var(--orange-b));color:var(--orange-a)}
.tile-v{font-weight:600;font-size:clamp(20px,2.2vw,30px);line-height:1.2;letter-spacing:-.015em;margin-top:.25em}
.t-dates{grid-column:span 7}
.t-credit{grid-column:span 5}
.t-venue{grid-column:span 6;padding:0;min-height:clamp(300px,34vw,430px);display:flex;align-items:flex-end;background:var(--dark);color:#fff}
.t-venue img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.t-venue::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,31,0) 32%,rgba(5,6,31,.82))}
.t-venue-body{position:relative;z-index:1;padding:clamp(22px,3vw,40px)}
.t-venue .tile-k{color:rgba(255,255,255,.8)}
.tile-link{display:inline-block;margin-top:.5em;font-weight:600;font-size:15px;text-underline-offset:3px}
.t-theme{grid-column:span 6;display:flex;flex-direction:column;justify-content:space-between;gap:2em;background:var(--dark);color:#fff}
.t-theme .tile-k{color:var(--on-dark-2)}
.t-theme-q{font-family:var(--serif);font-weight:700;font-size:clamp(44px,6vw,84px);line-height:1.02;background:linear-gradient(95deg,#8fb0ff,#c690f2 55%,#f47fc6);-webkit-background-clip:text;background-clip:text;color:#c690f2;-webkit-text-fill-color:transparent}
.t-day{grid-column:span 6}
.t-day h3{font-weight:700;font-size:clamp(28px,3.4vw,44px);line-height:1.1;letter-spacing:-.025em;margin:.15em 0 .4em}
.t-day p:last-child{color:var(--muted);font-size:clamp(16px,1.35vw,18px)}
@media (max-width:760px){
  .t-dates{grid-column:span 7;}.t-credit{grid-column:span 5}
  .t-dates,.t-credit{padding:20px}
  .t-dates .tile-big,.t-credit .tile-big{font-size:min(11.6vw,84px)}
  .t-dates .tile-v,.t-credit .tile-v{font-size:16px}
  .t-venue,.t-theme,.t-day{grid-column:span 12}
}

/* People ------------------------------------------------------------------- */
.people{background:var(--paper);padding:clamp(72px,12vh,140px) 0}
.chief{display:flex;align-items:center;gap:clamp(18px,3vw,36px);margin-top:clamp(32px,5vh,56px);padding:clamp(20px,3vw,36px);background:#fff;border-radius:clamp(22px,2.4vw,32px)}
.chief img{width:clamp(92px,12vw,140px);aspect-ratio:1;object-fit:cover;object-position:50% 12%;border-radius:50%;flex:none}
.chief-name{font-weight:700;font-size:clamp(24px,3.4vw,44px);line-height:1.12;letter-spacing:-.025em;margin-top:.1em}
.role{color:var(--muted);font-size:clamp(15px,1.3vw,18px);margin-top:.3em}
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.5vw,20px);margin-top:clamp(12px,1.5vw,20px)}
.people-col{background:#fff;border-radius:clamp(22px,2.4vw,32px);padding:clamp(22px,2.6vw,34px)}
.people-col h3{font-size:14px;font-weight:600;color:var(--royal);margin-top:1.7em}
.people-col h3:first-child{margin-top:0}
.people-col li{margin-top:.85em;line-height:1.35}
.people-col b{display:block;font-weight:600;font-size:17px}
.people-col li span{display:block;color:var(--muted);font-size:14.5px;margin-top:.15em}
@media (max-width:900px){.people-grid{grid-template-columns:1fr}}

/* Speakers ------------------------------------------------------------------ */
.speakers,.also,.panel,.panelists{background:var(--dark);color:var(--on-dark)}
.speakers .eyebrow,.also .eyebrow,.panel .eyebrow,.panelists .eyebrow{color:var(--sky)}
.speakers .fit{padding:clamp(72px,10vh,120px) var(--gut);display:grid;gap:clamp(56px,10vh,100px);justify-items:center}
.sp-title{text-align:center}
.sp-title p{font-family:var(--serif);font-style:italic;font-weight:600;font-size:clamp(26px,3.6vw,56px);line-height:1.1;color:var(--on-dark-2)}
.sp-title h2{font-weight:700;font-size:clamp(64px,14vw,210px);line-height:1;letter-spacing:-.045em;background:linear-gradient(95deg,#8fb0ff,#c690f2 55%,#f47fc6);-webkit-background-clip:text;background-clip:text;color:#c690f2;-webkit-text-fill-color:transparent}
.sp-frame{width:min(1080px,100%);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);align-items:center;gap:clamp(24px,5vw,72px)}
.sp-photo{position:relative;justify-self:center;width:clamp(170px,min(25vw,44svh),320px);aspect-ratio:4/5;border-radius:50%;padding:4px;background:linear-gradient(160deg,#4f7bff,#9a5fd9 55%,#f269c0)}
.sp-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;border-radius:50%;border:4px solid var(--dark)}
.sp-text{min-width:0}
.sp-talk{font-family:var(--serif);font-weight:700;font-size:clamp(30px,min(4.5vw,7.4svh),66px);line-height:1.06;margin-top:.3em}
.sp-name{font-weight:600;font-size:clamp(19px,2vw,27px);margin-top:.85em}
.sp-role{color:var(--on-dark-2);font-size:clamp(14.5px,1.25vw,17px);line-height:1.5;margin-top:.3em;max-width:40em}
@media (max-width:760px) and (max-aspect-ratio:1/1){
  .sp-frame{grid-template-columns:1fr;justify-items:center;text-align:center;gap:clamp(14px,3svh,26px)}
  .sp-photo{width:clamp(120px,min(44vw,27svh),190px)}
  .sp-talk{font-size:clamp(25px,min(7.2vw,4.3svh),38px)}
  .sp-name{margin-top:.6em}
  .sp-role{font-size:clamp(13.5px,3.5vw,15px)}
}

.also{padding:clamp(40px,8vh,90px) 0 clamp(64px,10vh,120px)}
.also-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.5vw,20px);margin-top:clamp(28px,5vh,52px)}
.also-card{background:var(--dark-card);border:1px solid var(--dark-line);border-radius:clamp(22px,2.4vw,32px);padding:clamp(22px,2.6vw,34px)}
.also-card .eyebrow{margin-top:1.3em;font-size:12.5px}
.also-card h3{font-family:var(--serif);font-weight:700;font-size:clamp(23px,2.2vw,30px);line-height:1.14;margin-top:.45em}
.also-who{font-weight:600;margin-top:.8em;font-size:16px}
.mono,.round{width:clamp(76px,7.6vw,96px);height:clamp(76px,7.6vw,96px);border-radius:50%}
.round{object-fit:cover;object-position:50% 24%}
.mono{display:grid;place-items:center;font-family:var(--display);font-size:clamp(24px,2.4vw,30px);color:#fff;background:linear-gradient(145deg,#2c49c6,#7d4fd0 60%,#d6559f)}
@media (max-width:900px){.also-grid{grid-template-columns:1fr}}

/* Panel --------------------------------------------------------------------- */
.panel .fit{padding:clamp(64px,10vh,120px) var(--gut);display:grid;place-items:center;text-align:center}
.pn-copy{width:100%}
.pn-q{font-family:var(--display);font-weight:400;font-size:clamp(40px,min(11.4vw,17svh),170px);line-height:1.04;margin-top:.22em}
.pn-q span{display:block}
.pn-a,.pn-b{width:fit-content;margin-inline:auto;background:linear-gradient(95deg,#8fb0ff,#c690f2 55%,#f47fc6);-webkit-background-clip:text;background-clip:text;color:#c690f2;-webkit-text-fill-color:transparent}
.pn-q .pn-o{font-family:var(--serif);font-style:italic;font-weight:600;font-size:.62em;line-height:1.1;color:var(--on-dark-2)}
.pn-sub{font-size:clamp(17px,2.1vw,30px);font-weight:500;line-height:1.3;letter-spacing:-.01em;margin:1.1em auto 0;max-width:30em}

.panelists{padding:clamp(24px,5vh,60px) 0 clamp(72px,12vh,140px)}
.pn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.5vw,20px);margin-top:clamp(28px,5vh,52px)}
.pn-card{background:var(--dark-card);border:1px solid var(--dark-line);border-radius:clamp(22px,2.4vw,32px);padding:clamp(18px,2.6vw,34px)}
.pn-card h3{font-weight:600;font-size:clamp(16px,1.6vw,21px);line-height:1.2;margin-top:.8em}
.pn-card p{color:var(--on-dark-2);font-size:clamp(13.5px,1.1vw,15px);line-height:1.45;margin-top:.45em}
@media (max-width:760px){.pn-grid{grid-template-columns:repeat(2,1fr)}}

/* Schedule ------------------------------------------------------------------ */
.schedule{padding:clamp(72px,12vh,150px) 0 clamp(72px,12vh,140px);background:#fff}
.day{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(20px,4vw,64px);margin-top:clamp(44px,8vh,92px);align-items:start}
.day-head{position:sticky;top:76px}
.day-n{font-family:var(--display);font-size:clamp(46px,6vw,84px);line-height:1;width:fit-content;background:linear-gradient(90deg,#0d0d33,#3636d2);-webkit-background-clip:text;background-clip:text;color:var(--navy);-webkit-text-fill-color:transparent}
.day-t{font-weight:600;font-size:clamp(20px,2vw,26px);margin-top:.35em;letter-spacing:-.015em}
.day-d{color:var(--muted);font-size:15px}
.tl{position:relative;padding-left:clamp(18px,2vw,28px)}
.tl::before,.tl::after{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--line)}
.tl::after{background:linear-gradient(180deg,var(--royal),#9a5fd9 70%,#e24fae);transform-origin:0 0;transform:scaleY(var(--fill,1))}
.row{display:grid;grid-template-columns:clamp(84px,9vw,118px) minmax(0,1fr);gap:clamp(8px,1.4vw,20px);padding:clamp(16px,2.2vh,24px) 0;border-bottom:1px solid var(--line)}
.row time{font-weight:600;font-size:15px;color:#c8401f;line-height:1.5;padding-top:.08em;white-space:nowrap}
.row h3{font-weight:600;font-size:clamp(17px,1.75vw,23px);line-height:1.28;letter-spacing:-.012em}
.kind{font-size:13px;font-weight:600;letter-spacing:.03em;color:var(--muted);margin-bottom:.25em}
.kind-2{margin-top:1.3em}
.who{color:var(--royal);font-weight:500;font-size:15px;line-height:1.5;margin-top:.4em}
.brk{padding:clamp(12px,1.8vh,18px) 0;border-bottom:1px solid var(--line);text-align:center}
.brk span{display:inline-block;padding:5px 15px;border-radius:999px;background:#fff1ea;color:#b23a16;font-weight:600;font-size:14px}
@media (max-width:760px){
  .day{grid-template-columns:1fr;gap:6px}
  .day-head{top:52px;z-index:5;margin-inline:calc(var(--gut)*-1);padding:9px var(--gut);display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px)}
  .day-n{font-size:26px}
  .day-t{font-size:16px;margin:0}
  .day-d{font-size:13.5px;margin-left:auto}
}

/* Register ------------------------------------------------------------------ */
.register{position:relative;color:#fff;background:#fff}
.reg-bg{position:absolute;inset:0;background:radial-gradient(90% 60% at 85% 0%,rgba(198,100,220,.55),transparent 62%),radial-gradient(80% 70% at 0% 100%,rgba(242,120,70,.35),transparent 60%),linear-gradient(160deg,#0a1a8f,#1d1fa8 52%,#2b1a8a)}
.reg-inner{position:relative;padding-block:clamp(84px,13vh,160px) clamp(64px,10vh,120px)}
.register .eyebrow{color:#ffd9a8}
.lead{font-size:clamp(19px,2.2vw,30px);font-weight:500;line-height:1.3;letter-spacing:-.012em;margin-top:.7em;max-width:30em;color:#e6e8ff}
.comp{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.3vw,18px);margin-top:clamp(32px,6vh,64px)}
.comp a{position:relative;display:flex;flex-direction:column;height:100%;min-height:clamp(170px,17vw,232px);padding:clamp(18px,2.2vw,30px);border-radius:clamp(20px,2.2vw,30px);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);text-decoration:none;transition:transform .35s var(--ease),background-color .25s}
.comp a:hover{transform:translateY(-4px);background:rgba(255,255,255,.17)}
.comp-n{font-family:var(--display);font-size:15px;color:#ffd9a8}
.comp-f{font-weight:700;font-size:clamp(20px,2.3vw,31px);line-height:1.12;letter-spacing:-.022em;margin-top:auto;padding-top:1em}
.comp-o{font-weight:600;font-size:13.5px;margin-top:.5em;color:#ffd9a8}
.comp-t{font-size:15px;line-height:1.4;margin-top:.45em;color:#dfe2ff}
.reg-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(10px,1.3vw,18px);margin-top:clamp(10px,1.3vw,18px)}
.reg-card{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:clamp(22px,2.8vw,38px);border-radius:clamp(20px,2.2vw,30px);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2)}
.reg-main{background:rgba(255,255,255,.17)}
.reg-card h3{font-weight:700;font-size:clamp(24px,2.5vw,34px);line-height:1.12;letter-spacing:-.025em}
.reg-card p{font-size:15.5px;line-height:1.5;margin:.7em 0 1.2em;color:#e6e8ff;max-width:24em}
.reg-qr{flex:none;width:clamp(92px,8.6vw,118px);border-radius:10px;background:#fff;padding:3px}
@media (max-width:900px){
  .comp{grid-template-columns:repeat(2,1fr)}
  .reg-cards{grid-template-columns:1fr}
}
@media (hover:none) and (pointer:coarse){.reg-qr{display:none}}
@media (max-width:760px){.reg-qr{display:none}.reg-card .btn{width:100%}}
@media (max-width:360px){.comp-t{font-size:14px}}

/* Footer -------------------------------------------------------------------- */
.foot{position:relative;background:#fff;padding:clamp(34px,6vh,64px) 0 max(clamp(34px,6vh,64px),env(safe-area-inset-bottom))}
.foot-in{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(22px,4vw,56px)}
.foot-logos{display:flex;align-items:center;gap:clamp(20px,3vw,36px)}
.foot-logos img:first-child{width:84px}
.foot-logos img:last-child{width:150px}
.foot-text{flex:1 1 320px;font-size:14px;color:var(--muted)}
.foot-text p+p{margin-top:.35em}
.foot-name{font-weight:600;color:var(--ink);font-size:15px}

/* Phones and portrait tablets: the same page, restacked ------------------------ */
@media (max-width:820px) and (min-height:481px),(max-aspect-ratio:1/1){
  .welcome .stage{--u:min(4.1vw,1.9vh)}
  @supports (height:1svh){.welcome .stage{--u:min(4.1vw,1.9svh)}}
  .welcome .fit{padding:calc(var(--u)*7.6) calc(var(--u)*1) calc(var(--u)*2.6)}
  .w-tl{width:calc(var(--u)*9);height:calc(var(--u)*7.6)}
  .w-tl .w-disc::before{width:calc(var(--u)*23);height:calc(var(--u)*23);left:calc(var(--u)*-12.6);top:calc(var(--u)*-14.2)}
  .w-tl .w-disc::after{width:calc(var(--u)*22.4);height:calc(var(--u)*22.4);left:calc(var(--u)*-13.4);top:calc(var(--u)*-13.9)}
  .w-logo{left:calc(var(--u)*.7);top:calc(var(--u)*.6);width:calc(var(--u)*5.1)}
  .w-tr{right:calc(var(--u)*.9);top:calc(var(--u)*.9);width:max(calc(var(--u)*10.6),170px)}
  .w-assoc{font-size:max(10px,calc(var(--u)*.56))}
  .w-iarc{width:calc(var(--u)*8.8);margin-top:calc(var(--u)*.2)}
  .w-credit{width:auto;margin-top:calc(var(--u)*.3);padding:calc(var(--u)*.45) calc(var(--u)*.5);font-size:max(10px,calc(var(--u)*.62))}
  .w-credit br{display:none}
  .w-title{gap:calc(var(--u)*.72);width:100%}
  .w-school{font-size:calc(var(--u)*1.16)}
  .w-mark{font-size:calc(var(--u)*4.6)}
  .w-dots{left:calc(var(--u)*-.4);top:calc(var(--u)*-.9);width:calc(var(--u)*1.5);height:calc(var(--u)*2.5);background-size:calc(var(--u)*.44) calc(var(--u)*.44);opacity:.7}
  .w-series{font-size:calc(var(--u)*1.86);line-height:1.18}
  .w-note{font-size:max(12.5px,calc(var(--u)*.84))}
  .w-theme span{font-size:max(12.5px,calc(var(--u)*.84))}
  .w-theme strong{font-size:max(15px,calc(var(--u)*1.14))}
  .w-when{display:block}
  .w-cta{flex-direction:column;align-items:stretch;width:min(100%,max(calc(var(--u)*21),270px));gap:8px;margin-top:calc(var(--u)*.3)}
  .w-cta .btn{font-size:15px;min-height:44px}
  .w-br{display:none}
  .w-cue{display:none}
}

/* Landscape phones: too short for the corner card, so the dates join the title stack. */
@media (max-height:480px) and (min-aspect-ratio:1001/1000){
  .w-br,.w-cue{display:none}
  .w-when{display:block}
  .w-assoc{font-size:max(9px,calc(var(--u)*1.05))}
  .w-series{font-size:calc(var(--u)*2.9)}
  .w-series br{display:none}
  .sp-photo{width:min(25vw,44svh)}
  .sp-talk{font-size:min(4.5vw,7.4svh)}
}

/* ==== Motion ============================================================== */
.motion{scroll-behavior:smooth}
.motion .nav{position:fixed;left:0;right:0}
.motion:not(.nav-on) .nav{transform:translateY(-115%)}
.motion body{transition:background-color .7s linear}
.motion .speakers,.motion .also,.motion .panel,.motion .panelists,.motion .people,.motion .schedule{background:transparent}
.motion .pin{height:calc(var(--len,2)*100vh);height:calc(var(--len,2)*100lvh)}
.motion .pin>.stage{position:sticky;top:0;height:100vh;height:100lvh;overflow:hidden}
.motion .pin .fit{position:absolute;inset:0 0 auto 0;height:100vh;height:100svh;min-height:0}
.motion .about .fit,.motion .panel .fit{display:grid;align-items:center}

/* Welcome load-in */
.motion .welcome .stage{background:transparent}
.motion .w-photo img{animation:w-photo 1.6s var(--ease) backwards}
.motion .w-title>*{animation:w-rise 1s var(--ease) backwards}
.motion .w-school{animation-delay:.1s}
.motion .w-mark{animation-delay:.2s}
.motion .w-series{animation-delay:.34s}
.motion .w-note{animation-delay:.46s}
.motion .w-theme{animation-delay:.56s}
.motion .w-when,.motion .w-cta{animation-delay:.66s}
.motion .w-tl{animation:w-tl 1.2s var(--ease) .1s backwards}
.motion .w-tr{animation:w-fade 1.2s var(--ease) .5s backwards}
.motion .w-br{animation:w-br 1.2s var(--ease) .3s backwards}
.motion .w-cue i::after{animation:w-cue 2.5s ease-in-out infinite}
@keyframes w-photo{from{opacity:0;transform:scale(1.06)}}
@keyframes w-rise{from{opacity:0;transform:translateY(26px)}}
@keyframes w-fade{from{opacity:0}}
@keyframes w-tl{from{transform:translate(-22%,-22%)}}
@keyframes w-br{from{transform:translate(22%,22%)}}
@keyframes w-cue{0%{transform:translateY(0)}100%{transform:translateY(300%)}}

/* Acronym stage */
.motion .acro{position:absolute;inset:0;z-index:4;padding:0 0 0 clamp(20px,8vw,130px);display:flex;align-items:center;pointer-events:none}
.motion .acro .r{font-size:min(14.4svh,12.4vw)}
@media (max-width:820px) and (min-height:481px),(max-aspect-ratio:1/1){
  .motion .acro{padding-left:var(--gut)}
  .motion .acro .r{font-size:min(10svh,13.6vw)}
}
.motion .acro .ph{visibility:hidden}
.motion .acro .rest{clip-path:inset(-12% 100% -12% 0)}
.motion .acro-line{opacity:0}
.motion .acro-lungs{display:block;position:absolute;right:clamp(-120px,-4vw,0px);top:50%;width:min(66vw,82svh);height:auto;max-width:none;margin-top:calc(min(66vw,82svh)*-.47);opacity:0}
.motion .acro-lungs{animation:breathe 5s ease-in-out infinite}
@keyframes breathe{0%,100%{scale:1}42%{scale:1.05}}
@media (max-width:820px) and (min-height:481px),(max-aspect-ratio:1/1){
  .motion .acro-lungs{right:-30vw;width:120vw;margin-top:-52vw}
}

/* About word fill */
.motion .about-text .w{opacity:.14}

/* Speakers crossfade */
.motion .speakers .fit{display:block;padding:0}
.motion .sp-title,.motion .sp-frame{position:absolute;left:50%;top:calc(50% + 26px);translate:-50% -50%;width:min(1080px,calc(100% - var(--gut)*2))}
.motion .sp-frame{opacity:0;visibility:hidden}

/* Panel */
.motion .pn-o,.motion .pn-sub,.motion .pn-eye{opacity:0}

/* Scroll-entrance for ordinary sections */
.motion .rise{opacity:0;transform:translateY(34px) scale(.975);transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
.motion .rise.in{opacity:1;transform:none}
.motion .comp .rise.in a{will-change:auto}

/* Timeline draws itself */
.motion .tl{--fill:0}

/* Register grows out of a card */
.motion .reg-bg{clip-path:inset(0 var(--inset,5vw) 0 var(--inset,5vw) round var(--round,44px) var(--round,44px) 0 0)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
