@font-face{font-family:"Fraunces";src:url(../fonts/fraunces.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(../fonts/fraunces-i.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/jakarta.woff2) format("woff2");font-weight:400 800;font-display:swap}

/* TEDx palette: one accent (TED red) on red-tinted near-black, warm cream for light bands. */
:root{
  --bg:#120C0E; --bg-2:#1A1113; --bg-3:#23171A;
  --ink:#F7F1EC; --body:#CDC2BD; --muted:#968A86;
  --red:#EB0028; --red-hi:#FF2D4F; --red-deep:#9E001B;
  --cream:#F6F0E9; --cream-2:#EDE4DA; --c-ink:#1C1214; --c-body:#4E4245; --c-muted:#85787A;
  --line:rgba(255,236,230,.1); --line-2:rgba(255,236,230,.18); --c-line:rgba(28,18,20,.12);
  --glass:rgba(32,20,23,.52);
  --sh-1:0 1px 2px rgba(18,6,9,.4),0 8px 24px rgba(18,6,9,.35),0 24px 64px rgba(18,6,9,.3);
  --sh-c:0 1px 2px rgba(60,30,30,.06),0 8px 24px rgba(60,30,30,.08);
  --sh-red:0 1px 2px rgba(158,0,27,.4),0 8px 24px rgba(235,0,40,.28),0 0 0 1px rgba(255,80,100,.25) inset;
  --r:16px; --r-lg:24px;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Fraunces",Georgia,serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --hdr:72px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--bg);color:var(--body);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3{margin:0;color:var(--ink);font-weight:800;letter-spacing:-.025em;line-height:1.05}
p{margin:0}
em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.red{color:var(--red)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-64px;z-index:200;background:var(--red);color:#fff;padding:8px 16px;border-radius:8px}
.skip:focus{top:16px}
:focus-visible{outline:2px solid var(--red-hi);outline-offset:3px;border-radius:6px}
.wrap{width:min(1240px,100% - 48px);margin-inline:auto}
section{position:relative}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:700;font-size:15px;letter-spacing:.005em;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn:active{transform:scale(.98)}
.btn:disabled{opacity:.45;pointer-events:none}
.btn--sm{min-height:40px;padding:0 16px;font-size:14px}
.btn--lg{min-height:56px;padding:0 32px;font-size:16px}
.btn--block{width:100%}
.btn--red{background:linear-gradient(180deg,var(--red-hi),var(--red) 55%,#D10024);color:#fff;box-shadow:var(--sh-red)}
.btn--red:hover{background:linear-gradient(180deg,#FF4563,var(--red-hi) 55%,var(--red));box-shadow:0 1px 2px rgba(158,0,27,.4),0 12px 32px rgba(235,0,40,.4),0 0 0 1px rgba(255,120,140,.35) inset}
.btn--red::before,.btn--glass::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.35) 48%,transparent 62%);transform:translateX(-120%);transition:transform .7s var(--ease)}
.btn--red:hover::before,.btn--glass:hover::before{transform:translateX(120%)}
.btn--glass{background:rgba(255,240,236,.08);color:var(--ink);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%)}
.btn--glass:hover{background:rgba(255,240,236,.14);border-color:rgba(255,236,230,.3)}
.btn--ghost{border:1px solid var(--line-2);color:var(--ink)}
.btn--ghost:hover{border-color:var(--red);color:#fff;background:rgba(235,0,40,.12)}
.btn--dark{background:var(--c-ink);color:var(--cream)}
.btn--dark:hover{background:#2E1E21}

.glass{background:var(--glass);border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);box-shadow:var(--sh-1),inset 0 1px 0 rgba(255,255,255,.08)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass{background:rgba(30,19,22,.94)}}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.8px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.eyebrow--red{color:var(--red-hi)}
.h2{font-size:clamp(31px,4.6vw,61px);line-height:1.02}
.h2 em{color:var(--red-hi)}
.sec--cream .h2 em{color:var(--red)}
.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:48px;flex-wrap:wrap}
.sechead__p{max-width:420px;color:var(--muted);font-size:16px}
.sechead--c{flex-direction:column;align-items:center;text-align:center}
.sechead--c .sechead__p{max-width:560px}
.link{display:inline-flex;margin-top:16px;font-weight:700;font-size:14px;color:var(--red);border-bottom:1px solid currentColor;padding-bottom:2px}
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(235,0,40,.6);animation:livep 1.6s ease-out infinite}
@keyframes livep{0%{box-shadow:0 0 0 0 rgba(235,0,40,.55);opacity:1}70%{box-shadow:0 0 0 10px rgba(235,0,40,0);opacity:.6}100%{box-shadow:0 0 0 0 rgba(235,0,40,0);opacity:1}}

/* ---------- topbar ---------- */
.topbar{background:var(--red);color:#fff;font-size:13px;font-weight:600;height:36px;overflow:hidden;position:relative;z-index:61}
.marquee{height:100%;display:flex;align-items:center}
.marquee__track{display:flex;align-items:center;gap:24px;white-space:nowrap;animation:mq 48s linear infinite;padding-left:24px}
.marquee__track i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.7);flex:none}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:60;height:var(--hdr);transition:background-color .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);border-bottom:1px solid transparent}
.hdr.is-solid{background:rgba(18,12,14,.72);-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);border-color:var(--line);box-shadow:0 8px 32px rgba(10,4,6,.35)}
.hdr__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-grid;grid-template-columns:auto auto;align-items:baseline;column-gap:2px;line-height:1;color:#fff}
.brand__ted{font-weight:800;font-size:24px;letter-spacing:-.04em;color:var(--red)}
.brand__ted sup{font-size:.62em;margin-left:1px;vertical-align:.55em;font-weight:800}
.brand__name{font-weight:400;font-size:21px;letter-spacing:-.02em}
.brand__sub{grid-column:1/-1;font-size:10px;color:var(--muted);letter-spacing:.02em;margin-top:4px}
.nav{display:flex;gap:4px}
.nav a{padding:8px 16px;border-radius:999px;font-size:14px;font-weight:600;color:var(--body);transition:color .18s var(--ease),background-color .18s var(--ease)}
.nav a:hover,.nav a.is-on{color:#fff;background:rgba(255,240,236,.08)}
.hdr__cta{display:flex;align-items:center;gap:8px}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line-2);flex-direction:column;align-items:center;justify-content:center;gap:6px}
.burger span{width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .2s var(--ease)}
.burger[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.drawer{position:fixed;inset:var(--hdr) 0 0 0;z-index:59;background:rgba(18,12,14,.96);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:24px;display:flex;flex-direction:column;justify-content:space-between;animation:fade .25s var(--ease)}
.drawer__nav{display:flex;flex-direction:column}
.drawer__nav a{display:flex;align-items:baseline;gap:16px;padding:12px 0;font-size:31px;font-weight:800;color:var(--ink);border-bottom:1px solid var(--line);letter-spacing:-.02em}
.drawer__nav em{font-size:13px;color:var(--red-hi);font-family:var(--sans);font-style:normal;font-weight:700}
.drawer__foot{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;padding-bottom:env(safe-area-inset-bottom)}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* ---------- hero ---------- */
.hero{min-height:calc(100svh - var(--hdr) - 36px);min-height:max(720px,calc(100svh - 108px));margin-top:calc(var(--hdr) * -1);padding:calc(var(--hdr) + 64px) 0 96px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero__media,.hero__shade{position:absolute;inset:0;z-index:-2}
.hero__vid{width:100%;height:100%;object-fit:cover;object-position:60% 40%}
.hero__shade{z-index:-1;background:
  radial-gradient(60% 50% at 78% 38%,rgba(235,0,40,.16),transparent 70%),
  linear-gradient(90deg,rgba(18,12,14,.94) 0%,rgba(18,12,14,.72) 42%,rgba(18,12,14,.2) 75%,rgba(18,12,14,.45) 100%),
  linear-gradient(0deg,var(--bg) 0%,rgba(18,12,14,0) 32%),
  linear-gradient(180deg,rgba(18,12,14,.7) 0%,rgba(18,12,14,0) 22%)}
.hero__in{position:relative;z-index:2}
.kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,240,236,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:13px;font-weight:600;color:var(--ink);margin-bottom:24px}
.kicker .dot{width:8px;height:8px;border-radius:50%;background:var(--red)}
.hero__title{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.hero__l1{font-size:clamp(61px,11.5vw,168px);line-height:.88;letter-spacing:-.055em;font-weight:800;color:#fff}
.hero__l2{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(31px,4.4vw,61px);letter-spacing:-.02em;color:var(--ink);line-height:1.05}
.hero__lede{max-width:560px;font-size:clamp(16px,1.5vw,20px);color:var(--body);margin-bottom:24px}
.hero__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:rgba(255,240,236,.07);border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--ink)}
.chip svg{width:16px;height:16px;fill:none;stroke:var(--red-hi);stroke-width:2;stroke-linecap:round}
.hero__ctas{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:40px}
.count{display:inline-grid;grid-template-columns:auto auto auto;align-items:center;gap:24px;padding:16px 24px;border-radius:var(--r-lg)}
.count__lbl{display:flex;align-items:center;gap:8px;font-size:12.8px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);max-width:96px;line-height:1.3}
.count__grid{display:flex;gap:16px}
.count__grid div{display:flex;flex-direction:column;align-items:center;min-width:56px}
.count__grid b{font-size:39px;font-weight:800;color:#fff;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}
.count__grid span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.count__grid div+div{border-left:1px solid var(--line);padding-left:16px}
.count__cal{font-size:13px;font-weight:700;color:var(--red-hi);padding:8px 0;min-height:44px;transition:color .18s}
.count__cal:hover{color:#fff}

/* ripple — the theme as a mark */
.ripple{position:absolute;right:8%;top:42%;width:min(42vw,560px);aspect-ratio:1;transform:translate(0,-50%);z-index:0;pointer-events:none}
.ripple b{position:absolute;inset:44%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FF4A66,var(--red) 55%,var(--red-deep));box-shadow:0 0 48px rgba(235,0,40,.7),0 0 120px rgba(235,0,40,.35)}
.ripple i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,60,90,.5);opacity:0;animation:rpo 4.8s ease-out infinite}
.ripple i:nth-child(1){inset:36%;animation-delay:0s}
.ripple i:nth-child(2){inset:26%;animation-delay:1.2s}
.ripple i:nth-child(3){inset:13%;animation-delay:2.4s}
.ripple i:nth-child(4){inset:0;animation-delay:3.6s}
@keyframes rpo{0%{opacity:0}15%{opacity:.9}100%{opacity:0}}
@media (prefers-reduced-motion:no-preference){
  .ripple i{inset:44%!important;animation:rp 4.8s cubic-bezier(.1,.6,.3,1) infinite}
  .ripple i:nth-child(2){animation-delay:1.2s}.ripple i:nth-child(3){animation-delay:2.4s}.ripple i:nth-child(4){animation-delay:3.6s}
  @keyframes rp{0%{transform:scale(1);opacity:.95}100%{transform:scale(4.4);opacity:0}}
}
.seal{position:absolute;right:48px;bottom:64px;width:136px;height:136px;z-index:2;display:grid;place-items:center}
.seal svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--ink);font:700 14.5px var(--sans);letter-spacing:.2em}
.seal span{font-weight:800;font-size:31px;color:#fff;letter-spacing:-.04em;line-height:1;text-align:center;display:flex;flex-direction:column}
.seal small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--red-hi);margin-top:4px}
@media (prefers-reduced-motion:no-preference){.seal svg{animation:spin 22s linear infinite}}
@keyframes spin{to{transform:rotate(360deg)}}
.seats{position:absolute;right:48px;top:calc(var(--hdr) + 48px);z-index:2;width:256px;padding:16px;border-radius:var(--r)}
.seats__top{font-size:13px;color:var(--body);margin-bottom:8px}
.seats__top b{color:#fff;font-size:20px;font-weight:800;margin-right:4px}
.seats__bar{height:6px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden;margin-bottom:8px}
.seats__bar i{display:block;height:100%;width:var(--p);border-radius:inherit;background:linear-gradient(90deg,var(--red-deep),var(--red-hi))}
.seats small{font-size:12px;color:var(--red-hi);font-weight:600}
.vidtoggle{position:absolute;left:24px;bottom:24px;z-index:3;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:rgba(18,12,14,.4);display:grid;place-items:center;transition:background-color .18s}
.vidtoggle:hover{background:rgba(18,12,14,.7)}
.vidtoggle svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.vidtoggle .i-play{display:none}
.vidtoggle.is-paused .i-play{display:block;fill:#fff}
.vidtoggle.is-paused .i-pause{display:none}

/* ---------- stats ---------- */
.stats{border-block:1px solid var(--line);background:linear-gradient(180deg,var(--bg),var(--bg-2))}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:40px 24px;display:flex;flex-direction:column;gap:4px}
.stat+.stat{border-left:1px solid var(--line)}
.stat b{font-size:clamp(48px,5.4vw,76px);font-weight:800;color:#fff;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.stat b::after{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--red);margin-left:4px;vertical-align:top;margin-top:8px}
.stat span{font-weight:700;color:var(--ink);font-size:16px;margin-top:8px}
.stat small{color:var(--muted);font-size:13px}

/* ---------- cream sections ---------- */
.sec--cream{background:var(--cream);color:var(--c-body)}
.sec--cream h2,.sec--cream h3{color:var(--c-ink)}
.sec--cream .eyebrow{color:var(--c-muted)}
.theme{padding:128px 0}
.theme__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}
.theme__left{position:sticky;top:calc(var(--hdr) + 40px)}
.theme__body{font-size:20px;line-height:1.6;margin:32px 0;max-width:560px}
.theme__body strong{color:var(--c-ink)}
.rules{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:520px}
.rule{display:flex;gap:8px;align-items:baseline;padding:16px;border-radius:12px;background:#fff;box-shadow:var(--sh-c);font-size:14px}
.rule b{color:var(--red);font-weight:800}
.rule--yes{background:var(--c-ink);color:var(--cream)}
.rule--yes b{color:var(--red-hi)}
.theme__right{display:grid;gap:16px}
.tcard{border-radius:var(--r-lg);padding:32px;background:#fff;box-shadow:var(--sh-c)}
.tcard p{font-size:16px}
.tcard--img{padding:0;overflow:hidden;position:relative;margin:0;aspect-ratio:4/4.4;background:var(--bg)}
.tcard--img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.tcard--img:hover img{transform:scale(1.04)}
.tcard--img figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:16px;border-radius:12px;background:rgba(18,12,14,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--ink);font-size:14px;font-weight:600;border:1px solid rgba(255,255,255,.12)}
.tcard--x{background:var(--c-ink);color:var(--body)}
.tcard--x .eyebrow{color:var(--muted)}
.tcard--x strong{color:#fff}
.tcard--x .link{color:var(--red-hi)}

/* ---------- speakers ---------- */
.speakers{padding:128px 0}
.spk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.spk{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-3);aspect-ratio:4/5.2;text-align:left;isolation:isolate;box-shadow:var(--sh-1);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.spk img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1) contrast(1.15) brightness(.78);transition:filter .5s var(--ease),transform .8s var(--ease)}
.spk::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(18,12,14,.25) 0%,rgba(18,12,14,0) 30%,rgba(60,0,12,.55) 62%,rgba(18,12,14,.97) 100%)}
.spk::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;z-index:3;background:var(--red);transform-origin:left;opacity:1;transition:opacity .5s var(--ease)}
.spk:hover img,.spk:focus-visible img{filter:grayscale(0) contrast(1.02) brightness(1)}
.spk:hover::after,.spk:focus-visible::after{opacity:1}
.spk:active{transform:scale(.98)}
.spk__n{position:absolute;top:16px;left:16px;z-index:2;font-size:12px;font-weight:800;color:#fff;letter-spacing:.1em;padding:4px 8px;border-radius:999px;background:rgba(18,12,14,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14)}
.spk__body{position:absolute;inset:auto 0 0 0;z-index:2;padding:24px}
.spk__topic{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red-hi);margin-bottom:8px}
.spk__talk{display:block;font-family:var(--serif);font-style:italic;font-size:17px;line-height:1.3;color:var(--ink);margin-bottom:16px}
.spk__name{display:block;font-size:20px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.15}
.spk__role{display:block;font-size:13px;color:var(--body);margin-top:4px}
.spk__more{position:absolute;top:16px;right:16px;z-index:2;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:20px;line-height:1;opacity:0;transition:opacity .25s var(--ease)}
.spk:hover .spk__more,.spk:focus-visible .spk__more{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .spk:hover{transform:translateY(-6px);box-shadow:0 2px 4px rgba(18,6,9,.4),0 24px 56px rgba(120,0,20,.35)}
  .spk:hover img{transform:scale(1.05)}
}

/* ---------- band ---------- */
.band{min-height:560px;display:flex;align-items:center;overflow:hidden;isolation:isolate}
.band__vid,.band__shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.band__shade{z-index:-1;background:linear-gradient(180deg,var(--bg) 0%,rgba(18,12,14,.5) 30%,rgba(18,12,14,.5) 70%,var(--cream) 100%),rgba(18,12,14,.25)}
.band__in{text-align:center;padding:96px 0}
.band__q{font-size:clamp(31px,5vw,68px);font-weight:800;color:#fff;letter-spacing:-.035em;line-height:1.05;max-width:1000px;margin:0 auto 24px}
.band__q em{color:var(--red-hi)}
.band__by{color:var(--ink);font-size:14px;font-weight:600;opacity:.8}

/* ---------- program ---------- */
.program{padding:128px 0}
.program__grid{display:grid;grid-template-columns:380px 1fr;gap:64px;align-items:start}
.program__side{position:sticky;top:calc(var(--hdr) + 40px)}
.dayc{display:flex;align-items:center;gap:16px;margin:32px 0;padding:16px 24px;border-radius:var(--r);background:#fff;box-shadow:var(--sh-c)}
.dayc b{font-size:61px;font-weight:800;color:var(--red);letter-spacing:-.05em;line-height:1}
.dayc span{display:block;font-weight:800;color:var(--c-ink);font-size:18px}
.dayc small{color:var(--c-muted);font-size:13px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--c-line);font-size:14px;font-weight:700;color:var(--c-body);background:#fff;transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),transform .18s var(--ease)}
.tabs button:hover{border-color:var(--c-ink)}
.tabs button:active{transform:scale(.98)}
.tabs button[aria-selected="true"]{background:var(--c-ink);color:var(--cream);border-color:var(--c-ink)}
.tl{list-style:none;margin:0;padding:0;position:relative}
.tl::before{content:"";position:absolute;left:111px;top:8px;bottom:8px;width:1px;background:var(--c-line)}
.ti{display:grid;grid-template-columns:96px 1fr;gap:32px;padding:0 0 16px;transition:opacity .3s var(--ease)}
.ti.is-dim{opacity:.28}
.ti__time{text-align:right;padding-top:24px;font-size:14px;font-weight:800;color:var(--c-ink);font-variant-numeric:tabular-nums;line-height:1.3}
.ti__time small{display:block;font-weight:500;color:var(--c-muted);font-size:12px}
.ti__card{position:relative;padding:24px;border-radius:var(--r);background:#fff;box-shadow:var(--sh-c);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
.ti__card::before{content:"";position:absolute;left:-21px;top:28px;width:11px;height:11px;border-radius:50%;background:var(--cream);border:2px solid var(--c-muted)}
.ti--talk .ti__card::before{background:var(--red);border-color:var(--red);box-shadow:0 0 0 4px rgba(235,0,40,.15)}
.ti__card:hover{box-shadow:0 1px 2px rgba(60,30,30,.06),0 16px 40px rgba(60,30,30,.12)}
.ti__tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--cream-2);color:var(--c-body);margin-bottom:8px}
.ti--talk .ti__tag{background:rgba(235,0,40,.1);color:var(--red)}
.ti--perf .ti__tag{background:#1C1214;color:var(--cream)}
.ti__card h3{font-size:20px;letter-spacing:-.02em;line-height:1.25;margin-bottom:8px}
.ti__card p{font-size:15px}
.ti__where{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:13px;color:var(--c-muted);font-weight:600}
.ti__where::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red)}
.ti__faces{display:flex;margin-top:16px}
.ti__faces img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #fff;margin-right:-8px;filter:grayscale(1)}

/* ---------- passes ---------- */
.passes{padding:128px 0;overflow:hidden;isolation:isolate}
.passes__glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 40% at 50% 55%,rgba(235,0,40,.22),transparent 70%),radial-gradient(30% 30% at 15% 20%,rgba(235,0,40,.08),transparent 70%)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;padding:32px;border-radius:var(--r-lg);transition:transform .25s var(--ease),border-color .25s var(--ease)}
.plan:hover{border-color:rgba(255,80,100,.35)}
.plan header h3{font-size:25px;letter-spacing:-.02em}
.plan header p{color:var(--muted);font-size:14px;margin-top:4px}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:24px 0;padding-bottom:24px;border-bottom:1px solid var(--line)}
.price b{font-size:49px;font-weight:800;color:#fff;letter-spacing:-.04em;line-height:1}
.price s{color:var(--muted);font-size:16px}
.price small{width:100%;color:var(--muted);font-size:13px}
.plan ul{list-style:none;margin:0 0 32px;padding:0;display:grid;gap:12px;flex:1}
.plan li{display:flex;gap:12px;font-size:15px;color:var(--body)}
.plan li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:rgba(235,0,40,.15) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF2D4F' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.plan--pop{background:linear-gradient(180deg,rgba(235,0,40,.2),rgba(32,20,23,.6) 45%);border-color:rgba(255,60,90,.45);box-shadow:var(--sh-1),0 0 0 1px rgba(235,0,40,.25),0 24px 80px rgba(235,0,40,.22)}
@media (min-width:1025px){.plan--pop{transform:translateY(-16px)}}
.plan__tag{position:absolute;top:-14px;left:32px;padding:4px 12px;border-radius:999px;background:var(--red);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;box-shadow:var(--sh-red)}
.plan__tag--dim{background:var(--bg-3);box-shadow:none;border:1px solid var(--line-2);color:var(--red-hi)}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 32px;margin-top:48px;color:var(--body);font-size:14px;font-weight:600}
.trust span{display:inline-flex;align-items:center;gap:8px}
.trust svg{width:20px;height:20px;fill:none;stroke:var(--red-hi);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- experience bento ---------- */
.exp{padding:128px 0 64px}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:16px}
.b{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-3);box-shadow:var(--sh-1)}
.b img,.b video{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.b:hover img,.b:hover video{transform:scale(1.04)}
.b::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(18,12,14,.85))}
.b figcaption{position:absolute;left:24px;bottom:16px;z-index:1;color:#fff;font-weight:700;font-size:16px}
.b figcaption span{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red-hi);margin-bottom:4px}
.b--v1{grid-column:span 2;grid-row:span 2}
.b--v2{grid-row:span 2}
.b--w{grid-column:span 2}

/* ---------- pre-event ---------- */
.pre{padding:64px 0 128px}
.pre__card{position:relative;border-radius:32px;overflow:hidden;min-height:520px;display:flex;align-items:center;isolation:isolate;box-shadow:var(--sh-1);border:1px solid var(--line)}
.pre__vid,.pre__shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.pre__shade{z-index:-1;background:linear-gradient(90deg,rgba(18,12,14,.95) 0%,rgba(18,12,14,.75) 50%,rgba(18,12,14,.2) 100%)}
.pre__in{padding:64px;max-width:640px}
.pre__in>p{font-size:18px;margin:24px 0}
.pre__list{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pre__list li{padding:16px;border-radius:12px;border:1px solid var(--line-2);background:rgba(255,240,236,.05)}
.pre__list b{display:block;color:#fff;font-size:15px}
.pre__list span{font-size:13px;color:var(--muted)}
.pre__ctas{display:flex;flex-wrap:wrap;gap:16px}

/* ---------- venue ---------- */
.venue{padding:128px 0}
.venue__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.venue__addr{font-style:normal;font-size:18px;margin:24px 0 32px;color:var(--c-body)}
.reach{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}
.rc{padding:16px;border-radius:12px;background:#fff;box-shadow:var(--sh-c)}
.rc b{display:block;color:var(--c-ink);font-size:15px;margin-bottom:4px}
.rc p{font-size:14px;line-height:1.5}
.map{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1/1;box-shadow:0 1px 2px rgba(60,30,30,.08),0 24px 64px rgba(60,30,30,.18);background:var(--cream-2)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.05)}
.map__pin{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;color:#fff;font-size:13px;font-weight:700}

/* ---------- partners ---------- */
.partners{padding:128px 0 64px}
.ptiers{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:16px}
.pt{padding:32px 24px;border-radius:var(--r-lg);display:flex;flex-direction:column;gap:8px;min-height:208px}
.pt small{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red-hi)}
.pt b{font-size:25px;font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.15;margin-top:auto}
.pt p{font-size:14px;color:var(--muted)}
.pt--title{background:linear-gradient(135deg,rgba(235,0,40,.25),rgba(32,20,23,.55) 60%)}
.pt--title b{font-size:31px}
.pt--open{border:1px dashed var(--line-2);border-radius:var(--r-lg);transition:border-color .2s,background-color .2s}
.pt--open:hover{border-color:var(--red);background:rgba(235,0,40,.06)}
.pt--open b{color:var(--ink)}

/* ---------- team ---------- */
.team{padding:64px 0 128px}
.team__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tm{display:flex;gap:16px;align-items:center;padding:16px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,240,236,.04),rgba(255,240,236,.01));transition:border-color .2s,background-color .2s}
.tm:hover{border-color:var(--line-2);background:rgba(255,240,236,.06)}
.tm__av{flex:none;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:18px;color:#fff;background:radial-gradient(circle at 30% 25%,#3A2428,#1E1316);border:1px solid var(--line-2);position:relative}
.tm__av::after{content:"";position:absolute;right:0;bottom:2px;width:12px;height:12px;border-radius:50%;background:var(--red);border:2px solid var(--bg)}
.tm b{display:block;color:#fff;font-size:15px;line-height:1.25}
.tm span{display:block;font-size:13px;color:var(--red-hi);font-weight:600;margin-top:2px}
.tm small{display:block;font-size:12px;color:var(--muted);line-height:1.4;margin-top:2px}

/* ---------- editions ---------- */
.eds{padding:128px 0}
.tabs--dark button{background:transparent}
.ed{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;animation:fade .4s var(--ease)}
.ed__year{font-size:clamp(76px,12vw,168px);font-weight:800;letter-spacing:-.06em;line-height:.85;color:var(--c-ink)}
.ed__year span{color:var(--red)}
.ed__theme{font-family:var(--serif);font-style:italic;font-size:31px;color:var(--c-ink);margin:16px 0}
.ed__meta{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;font-weight:700;color:var(--c-muted);margin-bottom:24px}
.ed__meta span{padding:4px 12px;border-radius:999px;background:#fff;box-shadow:var(--sh-c)}
.ed p{font-size:17px}
.ed__hl{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:8px}
.ed__hl li{padding:16px;border-left:3px solid var(--red);background:#fff;border-radius:0 12px 12px 0;font-size:15px;color:var(--c-ink);font-weight:600}
.ed__talks{display:grid;gap:16px}
.talk{display:flex;gap:16px;align-items:center;padding:16px;border-radius:var(--r);background:var(--c-ink);color:var(--body);transition:transform .2s var(--ease)}
.talk:active{transform:scale(.98)}
.talk__play{flex:none;width:56px;height:56px;border-radius:50%;background:var(--red);display:grid;place-items:center;box-shadow:var(--sh-red);transition:transform .2s var(--ease)}
.talk:hover .talk__play{transform:scale(1.08)}
.talk__play svg{width:18px;height:18px;fill:#fff;margin-left:3px}
.talk b{display:block;font-family:var(--serif);font-style:italic;font-weight:400;color:#fff;font-size:18px;line-height:1.3}
.talk small{font-size:13px;color:var(--muted)}

/* ---------- faq ---------- */
.faq{padding:128px 0}
.faq__grid{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}
.faq__grid>div:first-child{position:sticky;top:calc(var(--hdr) + 40px)}
.faq__grid .sechead__p{margin:16px 0 32px}
.acc{display:grid;gap:8px}
.acc details{border-radius:var(--r);border:1px solid var(--line);background:rgba(255,240,236,.03);transition:border-color .2s,background-color .2s}
.acc details[open]{border-color:rgba(255,60,90,.35);background:rgba(235,0,40,.05)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px;font-weight:700;color:var(--ink);font-size:17px;min-height:44px}
.acc summary::-webkit-details-marker{display:none}
.acc summary small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red-hi);margin-bottom:4px;font-weight:800}
.acc summary i{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);position:relative;transition:transform .25s var(--ease),background-color .2s}
.acc summary i::before,.acc summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:#fff;transform:translate(-50%,-50%)}
.acc summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .2s}
.acc details[open] summary i{background:var(--red);border-color:var(--red)}
.acc details[open] summary i::after{opacity:0}
.acc details p{padding:0 24px 24px;font-size:15px;max-width:640px}

/* ---------- contact ---------- */
.contact{padding:64px 0 128px}
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.cinfo{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:24px}
.cinfo small{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:4px}
.cinfo a{color:#fff;font-size:20px;font-weight:700;border-bottom:1px solid var(--line-2);transition:border-color .2s}
.cinfo a:hover{border-color:var(--red)}
.cinfo span{color:var(--body)}
.cform{padding:40px;border-radius:var(--r-lg)}
.cform h3{font-size:25px}
.cform__sub{color:var(--muted);font-size:14px;margin:4px 0 24px}
.cform__ok{margin-top:16px;text-align:center;color:var(--red-hi);font-weight:700}
.fld{display:block;margin-bottom:16px}
.fld>span{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:8px}
.fld input,.fld select,.fld textarea{width:100%;min-height:48px;padding:12px 16px;border-radius:12px;border:1px solid var(--line-2);background:rgba(10,6,8,.45);color:#fff;font-size:16px;transition:border-color .18s,box-shadow .18s}
.fld textarea{resize:vertical;min-height:96px}
.fld select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CDC2BD' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:16px;padding-right:48px}
.fld select option{background:var(--bg-2)}
.fld input::placeholder,.fld textarea::placeholder{color:var(--muted)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:var(--red-hi);box-shadow:0 0 0 4px rgba(235,0,40,.18)}
.fld .err{display:none;font-style:normal;font-size:12.8px;color:var(--red-hi);margin-top:4px}
.fld.is-bad input{border-color:var(--red-hi)}
.fld.is-bad .err{display:block}

/* ---------- footer ---------- */
.ftr{border-top:1px solid var(--line);padding:64px 0 calc(32px + env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--bg),#0D0809);overflow:hidden}
.ftr__top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}
.brand--lg .brand__ted{font-size:39px}.brand--lg .brand__name{font-size:31px}.brand--lg .brand__sub{font-size:12px}
.ftr__nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.ftr__nav a{color:var(--body);font-weight:600;font-size:14px;padding:8px 0;transition:color .18s}
.ftr__nav a:hover{color:#fff}
.ftr__big{font-size:clamp(76px,17vw,260px);font-weight:800;letter-spacing:-.06em;line-height:.85;margin:64px 0 32px;color:transparent;-webkit-text-stroke:1px rgba(255,236,230,.16);text-align:center;user-select:none}
.ftr__bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 32px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:24px}

/* ---------- mobile bar ---------- */
.mbar{display:none}

/* ---------- modals ---------- */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}
.modal__scrim{position:absolute;inset:0;background:rgba(10,5,7,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade .25s var(--ease)}
.modal__card{position:relative;width:min(920px,100%);max-height:calc(100svh - 32px);overflow:auto;border-radius:var(--r-lg);background:var(--bg-2);border:1px solid var(--line-2);box-shadow:0 2px 4px rgba(0,0,0,.3),0 32px 96px rgba(10,4,6,.6);animation:fade .3s var(--ease)}
@media (prefers-reduced-motion:no-preference){.modal__card{animation:pop .35s var(--ease)}@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}}
.modal__x{position:absolute;top:16px;right:16px;z-index:3;width:44px;height:44px;border-radius:50%;background:rgba(18,12,14,.6);border:1px solid var(--line-2);color:#fff;font-size:24px;line-height:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .18s}
.modal__x:hover{background:var(--red)}
.modal__card--spk{display:grid;grid-template-columns:.9fr 1.1fr}
.sm__img{position:relative;min-height:100%}
.sm__img img{width:100%;height:100%;object-fit:cover}
.sm__body{padding:48px 40px}
.sm__talk{font-family:var(--serif);font-style:italic;font-weight:400;font-size:31px;line-height:1.15;letter-spacing:-.01em;margin-bottom:24px}
.sm__name{font-size:20px;font-weight:800;color:#fff}
.sm__role{color:var(--red-hi);font-size:14px;font-weight:600;margin:4px 0 16px}
.sm__bio{font-size:15px;margin-bottom:16px}
.sm__slot{font-size:13px;color:var(--muted);padding:12px 16px;border-radius:12px;border:1px solid var(--line);margin-bottom:24px}
.modal__card--book{width:min(480px,100%);padding:40px 32px 32px}
.modal__card--book h3{font-size:31px;margin-bottom:24px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.tiers label{cursor:pointer}
.tiers input{position:absolute;opacity:0;pointer-events:none}
.tiers span{display:flex;flex-direction:column;align-items:center;padding:16px 8px;border-radius:12px;border:1px solid var(--line-2);transition:border-color .18s,background-color .18s}
.tiers b{color:#fff;font-size:15px}
.tiers small{color:var(--muted);font-size:13px}
.tiers input:checked+span{border-color:var(--red);background:rgba(235,0,40,.14)}
.tiers input:checked+span small{color:var(--red-hi)}
.tiers input:focus-visible+span{outline:2px solid var(--red-hi);outline-offset:2px}
.qty{display:flex;align-items:center;gap:8px;margin-bottom:24px;padding:8px 8px 8px 16px;border-radius:12px;background:rgba(10,6,8,.4);border:1px solid var(--line)}
.qty span{font-size:14px;font-weight:700;color:var(--ink);margin-right:auto}
.qty button{width:44px;height:44px;border-radius:10px;border:1px solid var(--line-2);font-size:20px;color:#fff;transition:background-color .18s}
.qty button:hover{background:rgba(255,240,236,.08)}
.qty output{min-width:24px;text-align:center;font-weight:800;color:#fff}
.qty b{min-width:88px;text-align:right;font-size:20px;color:#fff;font-weight:800;padding-right:8px}
.bk__note{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:12.8px;color:var(--muted);text-align:center}
.bk__note svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--red-hi);stroke-width:2}

/* ---------- reveal (tier 1: opacity for all; tier 2 adds movement) ---------- */
.js .rv{opacity:0;transition:opacity .9s var(--ease)}
.js .rv.in{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .js .rv{transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .js .rv.in{transform:none}
}
@media (prefers-reduced-motion:reduce){.marquee__track{animation-duration:90s}}

/* ---------- responsive ---------- */
@media (max-width:1180px){.seats{display:none}.nav a{padding:8px 12px}}
@media (max-width:1024px){
  .nav{display:none}.burger{display:flex}
  .theme__grid,.program__grid,.venue__grid,.faq__grid,.contact__grid{grid-template-columns:1fr;gap:48px}
  .theme__left,.program__side,.faq__grid>div:first-child{position:static}
  .spk-grid{grid-template-columns:repeat(2,1fr)}
  .plans{grid-template-columns:1fr;max-width:520px;margin-inline:auto;gap:32px}
  .ptiers{grid-template-columns:1fr 1fr}
  .team__grid{grid-template-columns:repeat(2,1fr)}
  .bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}
  .b--v2{grid-row:span 2}
  .ed{grid-template-columns:1fr}
  .modal__card--spk{grid-template-columns:1fr}
  .sm__img{aspect-ratio:16/11;min-height:0}
  .sm__img img{object-position:50% 25%}
  .ripple{right:-12%;width:70vw;top:32%;opacity:.75}
}
@media (max-width:720px){
  :root{--hdr:64px}
  .wrap{width:calc(100% - 32px)}
  .topbar{font-size:12px;height:32px}
  .brand__ted{font-size:20px}.brand__name{font-size:17px}.brand__sub{font-size:9px}
  .hdr__cta .btn{display:none}
  .hero{padding:calc(var(--hdr) + 40px) 0 48px;min-height:auto}
  .hero__shade{background:linear-gradient(0deg,var(--bg) 0%,rgba(18,12,14,.82) 40%,rgba(18,12,14,.55) 70%,rgba(18,12,14,.75) 100%)}
  .hero__l1{font-size:clamp(56px,17vw,76px)}
  .hero__l2{font-size:28px}
  .hero__lede{font-size:16px}
  .chip{font-size:13px;padding:8px 12px}
  .hero__ctas .btn{width:100%}
  .hero__ctas{gap:8px;margin-bottom:32px}
  .count{grid-template-columns:1fr;gap:16px;width:100%;padding:16px}
  .count__lbl{max-width:none}
  .count__grid{justify-content:space-between}
  .count__grid div{min-width:0;flex:1}
  .count__grid b{font-size:31px}
  .count__cal{justify-self:start;padding:0}
  .seal{display:none}
  .seal svg{font-size:13px}
  .seal span{font-size:22px}
  .ripple{right:-30%;width:110vw;top:28%;opacity:.55}
  .vidtoggle{left:auto;right:16px;bottom:16px}
  .stats__grid{grid-template-columns:1fr 1fr}
  .stat{padding:24px 16px}
  .stat:nth-child(3){border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .theme,.speakers,.program,.passes,.venue,.eds,.faq{padding:80px 0}
  .exp{padding:80px 0 40px}.pre{padding:40px 0 80px}.partners{padding:80px 0 40px}.team{padding:40px 0 80px}.contact{padding:40px 0 96px}
  .sechead{margin-bottom:32px;gap:16px}
  .theme__body{font-size:17px}
  .rules{grid-template-columns:1fr 1fr}
  .tcard{padding:24px}
  .spk-grid{gap:8px}
  .spk__body{padding:16px}
  .spk__talk{display:none}
  .spk__name{font-size:16px}
  .spk__role{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .spk__topic{font-size:10px;letter-spacing:.1em}
  .spk__more{opacity:1;width:32px;height:32px;font-size:16px}
  .band{min-height:440px}
  .tl::before{left:7px}
  .ti{grid-template-columns:1fr;gap:8px;padding-left:32px}
  .ti__time{text-align:left;padding-top:0;display:flex;gap:8px;align-items:baseline}
  .ti__card::before{left:-30px;top:-22px}
  .ti__card{padding:16px}
  .ti__card h3{font-size:18px}
  .plan{padding:24px}
  .price b{font-size:39px}
  .bento{grid-template-columns:1fr 1fr;grid-auto-rows:160px;gap:8px}
  .b--v1{grid-column:span 2;grid-row:span 2}
  .b figcaption{left:12px;bottom:12px;font-size:13px}
  .pre__card{min-height:0;border-radius:24px}
  .pre__shade{background:linear-gradient(0deg,rgba(18,12,14,.97) 30%,rgba(18,12,14,.55))}
  .pre__in{padding:32px 24px}
  .pre__list{grid-template-columns:1fr}
  .pre__ctas .btn{flex:1}
  .reach{grid-template-columns:1fr 1fr;gap:8px}
  .map{aspect-ratio:4/3.4}
  .ptiers{grid-template-columns:1fr}
  .team__grid{grid-template-columns:1fr 1fr;gap:8px}
  .tm{flex-direction:column;align-items:flex-start;gap:8px}
  .tm__av{width:44px;height:44px;font-size:15px}
  .pt{min-height:0}
  .ed__theme{font-size:25px}
  .acc summary{padding:16px;font-size:16px}
  .acc details p{padding:0 16px 16px}
  .cform{padding:24px}
  .cinfo a{font-size:17px;word-break:break-word}
  .mbar{display:flex;position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:55;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 8px 16px;border-radius:999px;background:rgba(26,17,19,.82);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--line-2);box-shadow:var(--sh-1);transition:opacity .3s var(--ease),visibility .3s}
  .mbar b{display:block;color:#fff;font-size:15px;line-height:1.2}
  .mbar small{font-size:12px;color:var(--red-hi)}
  .mbar.is-hidden{opacity:0;visibility:hidden}
  .ftr{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .modal{padding:0;place-items:end center}
  .modal__card{border-radius:24px 24px 0 0;max-height:92svh}
  .sm__body{padding:24px 24px calc(24px + env(safe-area-inset-bottom))}
  .sm__talk{font-size:25px}
  .modal__card--book{padding:32px 16px calc(24px + env(safe-area-inset-bottom))}
}
