/* ============================================================
   AUTH0 BY OKTA, CUSTOMER VISIONS ANZ SERIES
   ATMOSPHERIC PATTERN v0.4, WARM CMO TREATMENT (indigo + magenta pop)
   Canvas: #161525 (Cod Gray warmed 10 percent toward brand blue).
   Brand: #635DFF. Derived family, each documented in the briefing:
     #8A86FF small accent text on dark (5.94:1 on canvas)
     #A9A6FF bright gradient stop (8.19:1 on canvas)
     #4541B2 deep gradient end for filled buttons
     #F4F4FF light section surface (white + 7 percent brand blue)
     #514CD1 small accent text on light surfaces (5.82:1)
     #3F3C55 muted body on light surfaces (9.67:1)
   Fonts: Archivo (display + body), JetBrains Mono (labels).
   ============================================================ */

/* Self-hosted fonts */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/archivo-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/archivo-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/archivo-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Archivo';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/archivo-latin-800-normal.woff2) format('woff2');}
@font-face{font-family:'Archivo';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/archivo-latin-900-normal.woff2) format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/jetbrains-mono-latin-700-normal.woff2) format('woff2');}









:root{
  --blue:#635DFF;
  --tint:#8A86FF;
  --bright:#A9A6FF;
  --deep:#4541B2;
  --pink:#FF4FA0;
  --pink-deep:#E8388F;
  --pink-soft:#FFB3D9;
  --grad-pop:linear-gradient(135deg, #635DFF 0%, #A94BD6 48%, #E8388F 100%);
  --canvas:#1A1230;
  --ink:#0D0D0D;
  --paper:#FFFFFF;
  --light:#F4F4FF;
  --blue-on-light:#514CD1;
  --muted:#B8B6C6;
  --muted-light:#3F3C55;
  --card:rgba(99,93,255,0.12);
  --edge:rgba(138,134,255,0.22);
  --gutter:48px;
  --container:1320px;
  --r-lg:24px;
  --r-md:16px;
  --r-pill:999px;
}

*, *::before, *::after{ margin:0; padding:0; box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  background:var(--canvas);
  color:var(--paper);
  font-family:'Archivo', Helvetica, Arial, sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

.mono{ font-family:'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace; }
a{ color:inherit; text-decoration:none; }
img, svg{ display:block; max-width:100%; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }

.wrap{ max-width:var(--container); margin:0 auto; padding-left:var(--gutter); padding-right:var(--gutter); }
@media (max-width:1020px){ .wrap{ padding-left:28px; padding-right:28px; } }

.skip-link{ position:absolute; left:-9999px; top:0; background:var(--blue); color:var(--paper); padding:12px 16px; z-index:1000; border-radius:0 0 var(--r-md) 0; }
.skip-link:focus{ left:0; }

/* ---------- speaker photography (single copy, reused) ---------- */
.ph{ background-size:cover; background-position:center top; }
.ph-gracie{ background-image:url("assets/gracie-otto.webp"); }
.ph-sam{ background-image:url("assets/sam-young.jpeg"); background-position:center 20%; }
.ph-zoe{ background-image:url("assets/zoe-foster-blake.webp"); }

/* ---------- ambient washes ---------- */
.wash{ position:absolute; pointer-events:none; z-index:0; border-radius:50%; }
.wash-hero{
  top:-280px; right:-160px; width:1000px; height:1000px;
  background:radial-gradient(circle, rgba(99,93,255,0.38) 0%, rgba(138,134,255,0.16) 38%, rgba(99,93,255,0) 68%);
}
.wash-hero-b{
  top:380px; left:-340px; width:860px; height:860px;
  background:radial-gradient(circle, rgba(255,79,160,0.17) 0%, rgba(255,79,160,0.06) 45%, rgba(255,79,160,0) 68%);
}
.wash-focus{
  top:50%; left:50%; transform:translate(-50%,-50%); width:1200px; height:800px;
  background:radial-gradient(ellipse, rgba(99,93,255,0.22) 0%, rgba(99,93,255,0.06) 45%, rgba(99,93,255,0) 66%);
}
.wash-cta{
  top:-180px; left:50%; transform:translateX(-50%); width:1000px; height:700px;
  background:radial-gradient(ellipse, rgba(169,75,214,0.26) 0%, rgba(255,79,160,0.07) 48%, rgba(99,93,255,0) 68%);
}

/* ---------- nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(26,18,48,0.82);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--edge);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:76px; gap:24px; }
.nav-mark{ display:flex; align-items:center; gap:14px; color:var(--paper); }
.nav-mark img{ height:20px; width:auto; flex-shrink:0; }
.nav-mark .mono{ font-weight:500; font-size:11px; letter-spacing:0.13em; color:var(--tint); border-left:1px solid var(--edge); padding-left:14px; }
.nav-links{ display:flex; align-items:center; gap:30px; list-style:none; flex-wrap:wrap; }
.nav-links a{ font-size:14px; font-weight:500; color:var(--muted); transition:color 200ms ease; padding:6px 0; }
.nav-links a:hover, .nav-links a:focus{ color:var(--paper); }
.nav-cta{
  background:var(--grad-pop);
  color:var(--paper);
  padding:11px 22px; font-size:14px; font-weight:700;
  border-radius:var(--r-pill);
  box-shadow:0 0 26px rgba(232,56,143,0.5);
  transition:box-shadow 250ms ease, transform 250ms ease;
}
.nav-cta:hover, .nav-cta:focus{ box-shadow:0 0 42px rgba(232,56,143,0.8); transform:translateY(-1px); }
@media (max-width:860px){
  .nav-inner{ height:auto; flex-wrap:wrap; padding-top:14px; padding-bottom:14px; gap:12px; }
  .nav-links{ gap:18px; width:100%; order:3; }
}

/* ---------- eyebrow / section heads ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'JetBrains Mono', monospace;
  font-size:12px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--tint);
  margin-bottom:22px;
}
.eyebrow::before{ content:""; display:inline-block; width:26px; height:1px; background:var(--tint); opacity:0.7; }
.on-light .eyebrow{ color:var(--blue-on-light); }
.on-light .eyebrow::before{ background:var(--blue-on-light); }
.sec-pad{ padding-top:110px; padding-bottom:110px; position:relative; }
@media (max-width:760px){ .sec-pad{ padding-top:72px; padding-bottom:72px; } }
.sec-title{ font-weight:800; letter-spacing:-0.015em; font-size:clamp(1.9rem, 3.6vw, 2.9rem); line-height:1.12; max-width:24ch; }
.sec-lede{ color:var(--muted); font-size:17px; max-width:58ch; margin-top:18px; }
.on-light .sec-lede{ color:var(--muted-light); }

/* ---------- hero ---------- */
.hero{ position:relative; padding-top:calc(76px + 88px); padding-bottom:100px; overflow:hidden; }
@media (max-width:760px){ .hero{ padding-top:calc(76px + 110px); padding-bottom:64px; } }
.hero-grid{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr); align-items:center; gap:56px; }
@media (max-width:960px){ .hero-grid{ grid-template-columns:minmax(0,1fr); } }
.hero-kicker{ margin-bottom:26px; }
.hero-headline{
  font-weight:800; letter-spacing:-0.02em;
  font-size:clamp(2.7rem, 6vw, 5.2rem);
  line-height:1.04;
}
.hero-headline .accent{
  background:linear-gradient(100deg, var(--bright) 0%, var(--blue) 42%, var(--pink) 100%);
  -webkit-background-clip:text; background-clip:text;
  color:var(--blue);
  -webkit-text-fill-color:transparent;
}
.hero-sub{ color:var(--muted); font-size:18px; max-width:46ch; margin-top:26px; }
.hero-actions{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:36px; }
.btn-primary{
  display:inline-flex; align-items:center; gap:12px;
  background:var(--grad-pop);
  color:var(--paper);
  padding:16px 30px; font-size:15px; font-weight:700;
  border-radius:var(--r-pill);
  box-shadow:0 0 34px rgba(232,56,143,0.55), inset 0 1px 0 rgba(255,255,255,0.22);
  transition:box-shadow 250ms ease, transform 250ms ease;
}
.btn-primary:hover, .btn-primary:focus{ box-shadow:0 0 54px rgba(232,56,143,0.85), inset 0 1px 0 rgba(255,255,255,0.22); transform:translateY(-2px); }
.btn-ghost{
  display:inline-flex; align-items:center; gap:10px;
  color:var(--paper); font-size:15px; font-weight:500;
  padding:15px 26px; border:1px solid var(--edge); border-radius:var(--r-pill);
  transition:border-color 200ms ease, background 200ms ease;
}
.btn-ghost:hover, .btn-ghost:focus{ border-color:rgba(169,166,255,0.55); background:rgba(99,93,255,0.12); }

/* hero speaker strip: the series speakers, up front */
.hero-speakers{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  margin-top:34px;
  border-left:2px solid var(--pink);
  padding-left:18px;
}
.avatar-label{ font-size:15px; color:var(--muted); }
.avatar-label .names{ color:var(--paper); font-weight:700; }
.avatar-label .lbl{
  display:block;
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--pink-soft); margin-bottom:4px;
}

.hero-meta{
  display:flex; gap:0; flex-wrap:wrap; margin-top:44px;
  border:1px solid var(--edge); border-radius:var(--r-lg);
  background:var(--card);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  overflow:hidden;
}
.hero-meta div{ flex:1 1 150px; padding:18px 22px; border-right:1px solid var(--edge); min-width:0; }
.hero-meta div:last-child{ border-right:none; }
.hero-meta dt{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--bright); margin-bottom:6px; }
.hero-meta dd{ font-size:14px; font-weight:600; }
@media (max-width:720px){
  .hero-meta div{ flex:1 1 46%; border-bottom:1px solid var(--edge); }
  .hero-meta div:nth-last-child(-n+2){ border-bottom:none; }
}

/* ---------- hero speaker cast (photo-led) ---------- */
.cast-holder{ position:relative; display:flex; justify-content:center; align-items:center; min-height:420px; }
@media (max-width:960px){ .cast-holder{ min-height:0; order:-1; margin-bottom:10px; } }
.cast-holder::before{
  content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,79,160,0.22) 0%, rgba(99,93,255,0.16) 45%, rgba(99,93,255,0) 70%);
  pointer-events:none;
}
.cast{ position:relative; display:flex; align-items:center; justify-content:center; }
.cast-card{
  position:relative; width:186px; border-radius:20px;
  padding:5px;
  background:linear-gradient(160deg, rgba(169,166,255,0.65) 0%, rgba(99,93,255,0.55) 45%, rgba(232,56,143,0.75) 100%);
  box-shadow:0 30px 70px rgba(20,10,40,0.6), 0 0 50px rgba(232,56,143,0.22);
  transition:transform 300ms ease;
}
.cast-photo{
  aspect-ratio:3/4; border-radius:16px; position:relative; overflow:hidden;
}
.cast-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(26,18,48,0) 52%, rgba(26,18,48,0.78) 100%);
}
.cast-card figcaption{
  position:absolute; left:16px; right:16px; bottom:14px; z-index:1;
}
.cast-card .cast-role{
  display:block; font-family:'JetBrains Mono', monospace; font-size:9px; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--pink-soft); margin-bottom:3px;
}
.cast-card .cast-name{ display:block; font-size:15px; font-weight:800; letter-spacing:-0.01em; color:var(--paper); line-height:1.2; }
.cast-a{ transform:rotate(-7deg) translateY(16px); z-index:1; }
.cast-b{ width:212px; margin:0 -12px; z-index:3; transform:translateY(-14px); box-shadow:0 40px 90px rgba(20,10,40,0.7), 0 0 70px rgba(232,56,143,0.3); }
.cast-c{ transform:rotate(7deg) translateY(16px); z-index:2; }
.cast-c figcaption{ text-align:right; }
.cast-card:hover{ transform:translateY(-6px); z-index:5; }
.cast-b:hover{ transform:translateY(-22px); }
@media (max-width:1120px){ .cast-card{ width:160px; } .cast-b{ width:184px; } }
@media (max-width:960px){
  .cast{ padding-top:24px; }
  .cast-card{ width:min(28vw, 150px); }
  .cast-b{ width:min(32vw, 172px); margin:0 -10px; }
  .cast-card .cast-role{ display:none; }
  .cast-card .cast-name{ font-size:12px; }
  .cast-card figcaption{ left:10px; right:10px; bottom:10px; }
}

/* ---------- 01 why now ---------- */
.blind{ position:relative; }
.blind-grid{ position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:start; }
@media (max-width:900px){ .blind-grid{ grid-template-columns:minmax(0,1fr); gap:36px; } }
.blind-copy p{ color:var(--muted); font-size:17px; margin-bottom:18px; max-width:56ch; }
.blind-copy p strong{ color:var(--paper); font-weight:600; }
.blind-quote{
  border:1px solid rgba(169,166,255,0.4); border-radius:var(--r-lg);
  background:linear-gradient(160deg, rgba(99,93,255,0.26) 0%, rgba(169,75,214,0.12) 55%, rgba(255,79,160,0.08) 100%);
  padding:44px 40px;
  position:relative; overflow:hidden;
  box-shadow:0 24px 70px rgba(99,93,255,0.22);
}
.blind-quote::after{
  content:""; position:absolute; top:-70px; right:-70px; width:240px; height:240px; border-radius:50%;
  border:1px solid rgba(169,166,255,0.45); pointer-events:none;
}
.blind-quote::before{
  content:""; position:absolute; top:-40px; right:-40px; width:180px; height:180px; border-radius:50%;
  border:1px solid rgba(169,166,255,0.28); pointer-events:none;
}
.blind-quote .q{ font-size:clamp(1.4rem, 2.4vw, 1.9rem); font-weight:700; line-height:1.3; letter-spacing:-0.01em; }
.blind-quote .q .accent{ color:var(--pink-soft); }
.blind-quote .attr{ margin-top:22px; font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--bright); }

/* ---------- 02 speakers (light, photo-forward) ---------- */
.speakers-light{
  position:relative;
  background:linear-gradient(180deg, #FFF2F8 0%, #FFFFFF 55%, #F4F4FF 100%);
  color:var(--ink);
}
.speakers-light .sec-title{ color:var(--ink); }
.speakers-grid{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px; margin-top:64px; }
@media (max-width:960px){ .speakers-grid{ grid-template-columns:minmax(0,1fr); margin-top:44px; } }
.speaker-card{
  border-radius:var(--r-lg);
  background:#FFFFFF;
  overflow:hidden; display:flex; flex-direction:column;
  min-width:0;
  box-shadow:0 24px 60px rgba(232,56,143,0.16), 0 8px 30px rgba(99,93,255,0.16), 0 2px 8px rgba(69,65,178,0.10);
  transition:transform 250ms ease, box-shadow 250ms ease;
}
.speaker-card:hover{ transform:translateY(-6px); box-shadow:0 34px 80px rgba(232,56,143,0.26), 0 10px 34px rgba(99,93,255,0.22), 0 2px 8px rgba(69,65,178,0.10); }
@media (min-width:961px){
  .speaker-card.raised{ transform:translateY(-22px); }
  .speaker-card.raised:hover{ transform:translateY(-28px); }
}
.speaker-photo{
  aspect-ratio:3/4; position:relative;
}
.speaker-photo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(99,93,255,0) 62%, rgba(69,26,84,0.5) 100%);
}
.speaker-body{ padding:28px 28px 32px; position:relative; }
.speaker-body::before{
  content:""; position:absolute; top:0; left:28px; right:28px; height:3px; border-radius:3px;
  background:var(--grad-pop); transform:translateY(-2px);
}
.speaker-role{
  display:inline-block;
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--paper); background:var(--grad-pop);
  border-radius:var(--r-pill);
  padding:7px 15px; margin-bottom:16px;
  box-shadow:0 6px 18px rgba(232,56,143,0.32);
}
.speaker-name{ font-size:26px; font-weight:800; letter-spacing:-0.015em; margin-bottom:10px; color:var(--ink); }
.speaker-bio{ color:var(--muted-light); font-size:14.5px; line-height:1.6; }

/* ---------- 03 focal path (signature) ---------- */
.focal{ position:relative; overflow:hidden; }
.focal-head{ position:relative; z-index:1; text-align:center; display:flex; flex-direction:column; align-items:center; }
.focal-head .sec-lede{ margin-left:auto; margin-right:auto; }
.lens-diagram{ position:relative; z-index:1; margin-top:64px; }
.lens-diagram svg{ width:100%; height:auto; }
@media (max-width:760px){ .lens-diagram{ display:none; } }
.focal-cards{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; margin-top:56px; }
@media (max-width:900px){ .focal-cards{ grid-template-columns:minmax(0,1fr); } }
.focal-card{
  border:1px solid var(--edge); border-radius:var(--r-lg);
  background:var(--card);
  padding:34px 30px;
  transition:border-color 250ms ease, transform 250ms ease, background 250ms ease;
  min-width:0;
  position:relative;
}
.focal-card::before{
  content:""; position:absolute; top:0; left:24px; right:24px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, var(--pink), rgba(169,166,255,0));
}
.focal-card:hover{ border-color:rgba(169,166,255,0.6); transform:translateY(-4px); background:rgba(99,93,255,0.18); }
.focal-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:50%;
  border:1px solid rgba(169,166,255,0.65);
  font-family:'JetBrains Mono', monospace; font-size:13px; color:var(--bright);
  margin-bottom:24px;
  position:relative;
}
.focal-num::after{ content:""; position:absolute; inset:-7px; border-radius:50%; border:1px dashed rgba(169,166,255,0.3); }
.focal-card h3{ font-size:21px; font-weight:700; letter-spacing:-0.01em; margin-bottom:12px; }
.focal-card p{ color:var(--muted); font-size:15px; }
.focal-point{
  position:relative; z-index:1; margin-top:22px;
  border-radius:var(--r-lg);
  border:1px solid rgba(169,166,255,0.55);
  background:linear-gradient(120deg, rgba(99,93,255,0.38) 0%, rgba(169,75,214,0.18) 60%, rgba(255,79,160,0.10) 100%);
  padding:44px 40px;
  display:flex; align-items:center; gap:30px; flex-wrap:wrap;
  box-shadow:0 0 80px rgba(99,93,255,0.30);
}
.focal-point .dot{
  flex-shrink:0; width:64px; height:64px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(255,179,217,0.9) 30%, rgba(232,56,143,0.4) 62%, rgba(232,56,143,0) 75%);
  box-shadow:0 0 46px rgba(232,56,143,0.75);
}
.focal-point h3{ font-size:clamp(1.35rem, 2.4vw, 1.8rem); font-weight:800; letter-spacing:-0.015em; }
.focal-point p{ color:var(--muted); font-size:15px; margin-top:8px; max-width:62ch; }

/* ---------- 04 cities ---------- */
.cities-grid{ position:relative; z-index:1; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px; margin-top:52px; }
@media (max-width:820px){ .cities-grid{ grid-template-columns:minmax(0,1fr); } }
.city-card{
  border:1px solid var(--edge); border-radius:var(--r-lg);
  background:var(--card);
  padding:38px 34px;
  position:relative; overflow:hidden;
  min-width:0;
  transition:border-color 250ms ease, transform 250ms ease;
}
.city-card:hover{ border-color:rgba(169,166,255,0.6); transform:translateY(-4px); }
.city-card::after{
  content:""; position:absolute; bottom:-90px; right:-90px; width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle, rgba(255,79,160,0.22) 0%, rgba(99,93,255,0.14) 40%, rgba(99,93,255,0) 68%);
  pointer-events:none;
}
.city-top{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.city-aperture{ flex-shrink:0; }
.city-when{
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--paper); background:var(--grad-pop);
  border-radius:var(--r-pill); padding:8px 16px;
  box-shadow:0 6px 18px rgba(232,56,143,0.35);
}
.city-name{ font-size:clamp(1.7rem, 3vw, 2.3rem); font-weight:800; letter-spacing:-0.015em; margin-bottom:22px; }
.city-rows{ list-style:none; }
.city-rows li{
  display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding:12px 0; border-bottom:1px solid var(--edge);
  font-size:14px;
}
.city-rows li:last-child{ border-bottom:none; }
.city-rows .k{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--tint); align-self:center; }
.city-rows .v{ font-weight:600; }

/* ---------- 05 run of show ---------- */
.agenda{ position:relative; z-index:1; margin-top:52px; border:1px solid var(--edge); border-radius:var(--r-lg); background:var(--card); overflow:hidden; }
.agenda-row{ display:grid; grid-template-columns:150px minmax(0,1fr); border-bottom:1px solid var(--edge); }
.agenda-row:last-child{ border-bottom:none; }
@media (max-width:600px){ .agenda-row{ grid-template-columns:100px minmax(0,1fr); } }
.agenda-time{
  padding:24px 24px; border-right:1px solid var(--edge);
  font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.10em; text-transform:uppercase; color:var(--bright);
  display:flex; align-items:center;
}
.agenda-item{ padding:24px 28px; }
.agenda-item h3{ font-size:16px; font-weight:700; margin-bottom:5px; }
.agenda-item p{ color:var(--muted); font-size:14px; }

/* ---------- 06 register ---------- */
.register{ position:relative; overflow:hidden; }
.register-panel{
  position:relative; z-index:1;
  border:1px solid rgba(169,166,255,0.35); border-radius:var(--r-lg);
  background:var(--card);
  display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);
  overflow:hidden;
  box-shadow:0 30px 90px rgba(99,93,255,0.22);
}
@media (max-width:900px){ .register-panel{ grid-template-columns:minmax(0,1fr); } }
.register-intro{
  padding:48px 44px;
  background:linear-gradient(160deg, rgba(99,93,255,0.36) 0%, rgba(169,75,214,0.16) 60%, rgba(255,79,160,0.08) 100%);
  border-right:1px solid var(--edge);
  position:relative; overflow:hidden;
}
@media (max-width:900px){ .register-intro{ border-right:none; border-bottom:1px solid var(--edge); } }
.register-intro::after{
  content:""; position:absolute; bottom:-110px; left:-110px; width:320px; height:320px; border-radius:50%;
  border:1px solid rgba(169,166,255,0.4); pointer-events:none;
}
.register-intro h3{ font-size:clamp(1.5rem, 2.6vw, 2.1rem); font-weight:800; letter-spacing:-0.015em; line-height:1.15; margin-bottom:18px; }
.register-intro p{ color:var(--muted); font-size:15px; max-width:40ch; margin-bottom:16px; }
.access-tag{
  display:inline-block; margin-top:8px;
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--bright); border:1px solid rgba(169,166,255,0.55); border-radius:var(--r-pill); padding:8px 16px;
}
.register-form{ padding:48px 44px; }
@media (max-width:640px){ .register-intro, .register-form{ padding:32px 26px; } }

.field{ margin-bottom:18px; min-width:0; }
.field label{
  display:block; font-family:'JetBrains Mono', monospace; font-size:11px; font-weight:500;
  letter-spacing:0.13em; text-transform:uppercase; color:var(--bright); margin-bottom:8px;
}
.field .req{ color:var(--paper); }
.field input, .field select{
  width:100%; background:rgba(255,255,255,0.06);
  border:1px solid var(--edge); border-radius:var(--r-md);
  padding:13px 16px; font-family:'Archivo', sans-serif; font-size:15px; color:var(--paper);
  transition:border-color 200ms ease;
}
.field select{ appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--tint) 50%), linear-gradient(135deg, var(--tint) 50%, transparent 50%); background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size:6px 6px; background-repeat:no-repeat; }
.field select option{ background:var(--canvas); color:var(--paper); }
.field input:focus, .field select:focus{ outline:none; border-color:var(--bright); box-shadow:0 0 0 3px rgba(99,93,255,0.3); }
.field-row{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; }
@media (max-width:560px){ .field-row{ grid-template-columns:minmax(0,1fr); } }
.checkbox-field{ display:flex; align-items:flex-start; gap:10px; }
.checkbox-field input{ width:18px; height:18px; margin-top:3px; flex-shrink:0; accent-color:var(--blue); }
.checkbox-field label{ margin-bottom:0; text-transform:none; letter-spacing:0; font-family:'Archivo', sans-serif; font-size:13px; color:var(--muted); }

.submit-btn{
  width:100%; margin-top:6px;
  background:var(--grad-pop);
  color:var(--paper);
  padding:16px 28px; font-size:15px; font-weight:700;
  border-radius:var(--r-pill);
  box-shadow:0 0 34px rgba(232,56,143,0.5), inset 0 1px 0 rgba(255,255,255,0.22);
  transition:box-shadow 250ms ease, transform 250ms ease;
}
.submit-btn:hover, .submit-btn:focus{ box-shadow:0 0 54px rgba(232,56,143,0.8), inset 0 1px 0 rgba(255,255,255,0.22); transform:translateY(-2px); }

.form-errors{
  border:1px solid rgba(169,166,255,0.6); border-radius:var(--r-md);
  background:rgba(99,93,255,0.16);
  padding:16px 18px; margin-bottom:20px; font-size:14px;
}
.form-errors[hidden]{ display:none; }
.form-errors ul{ list-style:none; margin-top:8px; color:var(--muted); }
.form-errors li{ padding:2px 0; }

.form-success{
  border:1px solid rgba(169,166,255,0.65); border-radius:var(--r-lg);
  background:linear-gradient(140deg, rgba(99,93,255,0.4) 0%, rgba(232,56,143,0.2) 100%);
  padding:36px 32px;
  box-shadow:0 0 60px rgba(99,93,255,0.32);
}
.form-success[hidden]{ display:none; }
.form-success .ok-title{ font-weight:800; font-size:20px; margin-bottom:8px; }
.form-success p{ color:var(--muted); font-size:15px; }

noscript .noscript-note{
  display:block; border:1px solid var(--edge); border-radius:var(--r-md);
  padding:14px 16px; margin-bottom:18px; font-size:13px; color:var(--muted);
}

/* ---------- footer ---------- */
.footer{ border-top:1px solid var(--edge); padding:56px 0 44px; position:relative; }
.footer-top{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:28px; padding-bottom:30px; border-bottom:1px solid var(--edge); margin-bottom:26px; }
.footer-marks{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; color:var(--paper); }
.footer-marks img{ height:26px; width:auto; }
.footer-innovatus{ font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.13em; text-transform:uppercase; color:var(--tint); border-left:1px solid var(--edge); padding-left:22px; }
.footer-meta{ font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); display:flex; gap:22px; flex-wrap:wrap; }
.footer-legal{ font-size:13px; line-height:1.7; color:var(--muted); max-width:82ch; }

/* ---------- print ---------- */
@media print{
  body{ background:#FFFFFF; color:#0D0D0D; }
  .nav{ position:static; background:#FFFFFF; }
  .nav-links a, .hero-sub, .sec-lede, .blind-copy p, .focal-card p, .focal-point p, .agenda-item p, .register-intro p, .footer-legal, .form-errors ul, .avatar-label{ color:#3A3A3A; }
  .eyebrow, .hero-meta dt, .city-rows .k, .agenda-time, .field label, .footer-innovatus, .blind-quote .attr, .blind-quote .q .accent, .avatar-label .lbl{ color:#4541B2; }
  .hero-headline .accent{ -webkit-text-fill-color:#4541B2; color:#4541B2; background:none; }
  .wash, .cast-holder::before{ display:none !important; }
  .hero-meta, .focal-card, .city-card, .agenda, .register-panel, .blind-quote, .focal-point{ border-color:#CCCCCC; background:#FFFFFF; box-shadow:none; }
  .speaker-card{ box-shadow:none; border:1px solid #CCCCCC; }
  .speakers-light{ background:#FFFFFF; }
  .btn-primary, .nav-cta, .submit-btn, .speaker-role, .city-when{ background:#B03083; color:#FFFFFF; box-shadow:none; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .ph{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  *{ animation:none !important; transition:none !important; }
  .form-success, .form-errors{ display:none !important; }
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition:none !important; }
}

section[id]{ scroll-margin-top:96px; }