/* =====================================================================
   GERACI LIVE event page — Agenda · Speakers · Sponsors (the T-016 Elevate / Activate
   page shell, one event since 2026-10-06). Accent: the site gold.
   ===================================================================== */
.ev-live{--acc:#e8c877;--acc-2:#c49a3a;--acc-glow:rgba(232,200,119,.16)}
.ev-acc{color:var(--acc)}
.ev-center{text-align:center;margin-top:34px}
@media (prefers-reduced-motion:no-preference){html:has(body.ev){scroll-behavior:smooth}}

/* ------------------------------------------------------------- hero ---- */
.ev-hero{position:relative;isolation:isolate;overflow:hidden;padding:calc(var(--hdr) + 64px) 0 64px;min-height:min(92vh,860px);display:flex;align-items:center}
.ev-media{position:absolute;inset:0;z-index:-2;background:#101018}
.ev-photo{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.6) brightness(.75)}
.ev-shade{position:absolute;inset:0;z-index:-1;background:
  linear-gradient(90deg,rgba(11,11,17,.95) 0%,rgba(11,11,17,.84) 42%,rgba(11,11,17,.6) 100%),
  radial-gradient(60% 70% at 80% 50%,var(--acc-glow),transparent 70%),
  linear-gradient(180deg,rgba(11,11,17,.6) 0%,transparent 25%,transparent 70%,var(--night) 100%)}
/* Geraci LIVE: a shorter hero — the tabs are the page, so they sit near the fold. */
.ev-hero-sm{min-height:min(62vh,560px);padding:calc(var(--hdr) + 56px) 0 56px}
/* The Wynn panorama (2026-10-07, as on home): the media is a <picture> now; the tower sits
   right (x 60–97%), so the photo keeps its gold (no desaturation) under a navy veil and a
   copy-side gradient, and the title stays over the sky. Phones: the tower crop. */
.ev-live .ev-media{display:block;background:#031a4b}
.ev-live .ev-photo{object-position:80% 42%;filter:saturate(1.08)}
.ev-live .ev-shade{background:
  linear-gradient(90deg,rgba(2,12,36,.92) 0%,rgba(2,12,36,.82) 34%,rgba(2,12,36,.3) 62%,rgba(2,12,36,.22) 100%),
  linear-gradient(180deg,rgba(2,10,32,.55) 0%,transparent 26%,transparent 72%,rgba(11,11,17,.9) 100%)}
@media (max-width:699px){
  .ev-live .ev-photo{object-position:76% 30%}
  .ev-live .ev-shade{background:linear-gradient(180deg,rgba(2,10,32,.6) 0%,rgba(2,12,36,.55) 40%,rgba(2,12,36,.88) 100%)}
}
.ev-hero-grid{display:grid;gap:30px;align-items:center;width:100%}
.ev-eyebrow{color:var(--acc)}
.ev-title{font-size:var(--fs-hero);line-height:1;margin:6px 0 20px;max-width:12ch;
  background:linear-gradient(180deg,#f8e9b8,#e8c877 45%,#c49a3a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.ev-when{margin-bottom:30px}
.ev-when span{display:inline}
.ev-sep{margin:0 .45em;color:var(--gold)}
@media (max-width:559px){.ev-when span{display:block}.ev-when .ev-sep{display:none}}  /* as the home date line */
.ev-actions{display:flex;flex-wrap:wrap;gap:12px}
.ev-actions .btn{flex:1 1 220px}
@media (min-width:900px){
  .ev-actions .btn{flex:0 0 auto}
}

/* --------------------------------------------------------- tab band ---- */
/* CJ 2026-10-02: tabs under the hero, NOT sticky. Three columns on a desktop; on a phone
   a sideways-scrolling chip row (the pass button moves to the fixed bottom bar).
   The active tab is aria-current="page" without JS and aria-selected="true" with it. */
.ev-tabs-band{background:var(--band);border-top:1px solid rgba(232,200,119,.18);border-bottom:1px solid rgba(232,200,119,.18)}
.ev-tabs-in{display:flex;align-items:stretch;gap:20px}
.ev-tablist{display:flex;gap:8px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding:12px 2px;scroll-margin-top:calc(var(--hdr) + 1px)}
.ev-tablist::-webkit-scrollbar{display:none}
.ev-tab{flex:0 0 auto;display:grid;gap:2px;padding:10px 16px;border-radius:var(--radius);text-decoration:none;
  box-shadow:inset 0 0 0 1px var(--line);transition:color .2s,box-shadow .2s,background-color .2s}
.ev-tab-k{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--ivory)}
.ev-tab-m{font-size:11.5px;color:var(--muted);white-space:nowrap}
.ev-tab:hover .ev-tab-k{color:var(--acc)}
.ev-tab[aria-current="page"],.ev-tab[aria-selected="true"]{box-shadow:inset 0 0 0 1.5px var(--acc);background:linear-gradient(180deg,var(--acc-glow),transparent)}
.ev-tab[aria-current="page"] .ev-tab-k,.ev-tab[aria-selected="true"] .ev-tab-k{color:var(--acc)}
.ev-tabs-pass{display:none;align-self:center;flex:0 0 auto}
/* Phones: three tabs fit side by side (no sideways scroll, nothing cut off); the meta line
   ("To be announced") is left to the panel itself at this width. */
@media (max-width:559px){
  .ev-tablist{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;overflow:visible}
  .ev-tab{justify-items:center;padding:12px 6px;text-align:center}
  .ev-tab-k{font-size:11px;letter-spacing:.12em}
  .ev-tab-m{display:none}
}
@media (min-width:860px){
  .ev-tablist{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;overflow:visible}
  .ev-tab{border-radius:0;box-shadow:none;padding:20px 22px 18px;position:relative}
  .ev-tab + .ev-tab{border-left:1px solid var(--line-soft)}
  .ev-tab::after{content:"";position:absolute;left:22px;right:22px;bottom:-1px;height:2px;background:transparent;transition:background-color .2s}
  .ev-tab[aria-current="page"],.ev-tab[aria-selected="true"]{box-shadow:none;background:linear-gradient(180deg,transparent,var(--acc-glow))}
  .ev-tab[aria-current="page"]::after,.ev-tab[aria-selected="true"]::after{background:var(--acc)}
  .ev-tabs-pass{display:inline-flex}
}
@media (prefers-reduced-motion:no-preference){
  .ev-tabbed [role="tabpanel"]:not([hidden]){animation:panel-in .45s var(--ease-out)}
}
@keyframes panel-in{from{opacity:0;transform:translateY(10px)}}
.ev-sec{scroll-margin-top:calc(var(--hdr) + 12px);padding:80px 0}
.ev-sec[data-panel]{padding-top:56px}  /* a tab panel sits right under the band, with or without JS */
.ev-tabbed .ev-sec:focus{outline:none}
@media (min-width:1040px){.ev-sec{padding:120px 0}}
.ev-sec-head{max-width:760px;margin-bottom:38px}
.ev-sec-head h2{margin-bottom:12px}

/* ---------------------------------------------------------- overview ---- */
.ev-ov-grid{display:grid;gap:34px}
.ev-ov-copy h2{max-width:18ch}
.ev-ov-copy .lead{max-width:58ch}
.ev-pills{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 22px}
.ev-pills li{padding:10px 16px;border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--acc);color:var(--acc);
  font-size:11.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.ev-check{padding:30px 26px;border-radius:var(--radius)}
.ev-check-title{font-size:clamp(21px,1.8vw,25px);margin-bottom:18px}
.ev-check-list{list-style:none;display:grid;gap:14px}
.ev-check-list li{display:flex;gap:12px;align-items:flex-start;color:var(--lead);line-height:1.5}
.ck{flex:0 0 auto;width:22px;height:22px;padding:3px;border-radius:50%;color:var(--on-acc);background:var(--acc);margin-top:1px}
@media (min-width:1040px){.ev-ov-grid{grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}}

/* ---------------------------------------------------------- speakers ---- */
.ev-speakers{background:var(--night-2);border-top:1px solid var(--line-soft)}
.sp-grid{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.sp-card{display:flex;flex-direction:column;height:100%;padding:12px 12px 16px;border-radius:var(--radius);text-decoration:none;color:var(--body);
  background:linear-gradient(180deg,var(--panel-2),var(--panel));box-shadow:0 0 0 1px var(--line);
  transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.sp-card:hover,.sp-card:focus-visible{transform:translateY(-4px);box-shadow:0 0 0 1px var(--acc),0 24px 50px -28px var(--acc)}
.sp-photo{display:block;border-radius:var(--radius);overflow:hidden;background:#fff;margin-bottom:14px}
.sp-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.sp-name{font-family:var(--display);font-weight:600;font-size:20px;line-height:1.15;color:var(--ivory);margin-bottom:6px}
.sp-role{display:grid;font-size:12.5px;line-height:1.45;color:var(--body)}
.sp-co{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);margin-top:4px;line-height:1.4}
.sp-more{margin-top:auto;padding-top:12px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.sp-card:hover .sp-more{color:var(--acc)}
@media (min-width:700px){.sp-grid{grid-template-columns:repeat(3,1fr);gap:18px}}
.ev-cta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:40px;padding:22px 24px;border-radius:var(--radius);
  box-shadow:inset 0 0 0 1px var(--line)}
.ev-cta-row p{margin:0}

/* ------------------------------------------------------------ agenda ---- */
.ev-venue{color:var(--muted);font-size:14px}
.ag-tabs{display:flex;gap:10px;overflow-x:auto;margin-bottom:24px;scrollbar-width:none}
.ag-tabs[hidden]{display:none}
.ag-tabs button{flex:0 0 auto;display:grid;gap:2px;text-align:left;padding:12px 18px;border-radius:var(--radius);border:0;cursor:pointer;
  background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--line);color:var(--body);transition:box-shadow .2s,background-color .2s}
.ag-tabs button:hover{box-shadow:inset 0 0 0 1px var(--acc)}
.ag-tabs button[aria-selected="true"]{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));box-shadow:inset 0 0 0 1.5px var(--acc)}
.ag-tab-k{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.ag-tab-d{font-size:14px;color:var(--ivory)}
.ag-day + .ag-day{margin-top:40px}
.ag.is-tabs .ag-day + .ag-day{margin-top:0}
.ag-day[hidden]{display:none}
.ag-day-h{font-family:var(--ui);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);margin:0 0 14px}
.ag-day-h span{color:var(--acc);margin-right:8px}
.ag.is-tabs .ag-day-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ag-rows{list-style:none;border-radius:var(--radius);overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.ag-row{display:grid;gap:8px 20px;padding:18px 18px;background:var(--panel);border-top:1px solid var(--line-soft)}
.ag-row:first-child{border-top:0}
.ag-time{margin:0;font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--ivory);font-variant-numeric:tabular-nums;white-space:nowrap}
.ag-end{color:var(--muted);margin-left:4px}
.ag-title{font-family:var(--display);font-size:clamp(19px,1.5vw,21px);font-weight:600;line-height:1.25;color:var(--ivory);margin:0}
.ag-row.is-break{background:var(--night-2)}
.ag-row.is-break .ag-title{font-family:var(--ui);font-size:14px;font-weight:600;letter-spacing:.04em;color:var(--muted)}
.ag-row.is-feature{background:linear-gradient(90deg,var(--acc-glow),var(--panel) 70%);box-shadow:inset 3px 0 0 var(--acc)}
.ag-badge{display:inline-block;margin:0 0 6px;padding:3px 10px;border-radius:var(--radius);font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--on-acc);background:var(--acc)}
.ag-note{margin:6px 0 0;font-size:14px;color:var(--body);max-width:70ch}
.ag-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ag-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border-radius:var(--radius);text-decoration:none;
  font-size:12.5px;font-weight:600;color:var(--ivory);background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s}
.ag-chip:hover,.ag-chip:focus-visible{box-shadow:inset 0 0 0 1px var(--acc)}
.ag-chip img{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#fff}
.ag-side{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ag-room{display:inline-block;padding:5px 12px;border-radius:var(--radius);font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--body);box-shadow:inset 0 0 0 1px var(--line);white-space:nowrap}
.ag-spons{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ag-spons img{height:26px;width:auto;padding:3px 6px;border-radius:var(--radius);background:#f4f1ea}
@media (min-width:860px){
  .ag-row{grid-template-columns:150px 1fr auto;align-items:start;padding:20px 24px}
  .ag-time{padding-top:4px}
  .ag-end{display:block;margin:2px 0 0}
  .ag-side{justify-content:flex-end;max-width:240px}
}

/* ---------------------------------------------------------- sponsors ---- */
.spn-partner{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:28px}
.spn-partner-k{margin:0;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}
.spn-wall{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.spn-tile{display:grid;place-items:center;height:100%;aspect-ratio:3/2;padding:16px;border-radius:var(--radius);background:#f4f1ea;
  box-shadow:0 0 0 1px rgba(255,255,255,.08);transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}
a.spn-tile:hover,a.spn-tile:focus-visible{transform:translateY(-3px);box-shadow:0 0 0 2px var(--acc)}
.spn-tile img{max-width:100%;max-height:72px;width:auto;height:auto;object-fit:contain}
.spn-tile-lg{aspect-ratio:auto;padding:16px 26px}
.spn-tile-lg img{max-height:56px}
@media (min-width:700px){.spn-wall{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1040px){.spn-wall{grid-template-columns:repeat(6,1fr);gap:14px}}


/* --------------------------------------------- TBD (agenda, speakers) ---- */
/* CJ 2026-10-06: "TBD". One large word in the display face, a hairline, one neutral line. */
.ev-tbd{display:grid;justify-items:center;gap:20px;padding:64px 24px 60px;border-radius:var(--radius);text-align:center;
  background:radial-gradient(60% 80% at 50% 0%,var(--acc-glow),transparent 70%),linear-gradient(180deg,var(--panel-2),var(--panel));box-shadow:0 0 0 1px var(--line)}
.ev-tbd-k{margin:0;padding-left:.08em;font-family:var(--display);font-weight:600;font-size:clamp(64px,8.4vw,116px);line-height:.9;letter-spacing:.08em;color:var(--gold-lt)}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  .ev-tbd-k{background:var(--foil);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
}
.ev-tbd-line{margin:0;padding-top:18px;border-top:1px solid rgba(232,200,119,.35);font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--body)}
@media (min-width:1040px){.ev-tbd{padding:84px 24px 80px}}

/* ------------------------------------------------- sponsor cards ---- */
/* NAMB and Forecasa (2026-10-06): the logo on the ivory tile, the name, "Visit website". */
.spn-cards{list-style:none;display:grid;gap:16px;max-width:880px}
.spn-card{display:flex;flex-direction:column;height:100%;padding:12px 12px 20px;border-radius:var(--radius);text-decoration:none;color:var(--body);
  background:linear-gradient(180deg,var(--panel-2),var(--panel));box-shadow:0 0 0 1px var(--line);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.spn-card:hover,.spn-card:focus-visible{transform:translateY(-4px);box-shadow:0 0 0 1px var(--acc),0 24px 50px -28px var(--acc)}
.spn-card .spn-tile{height:auto;aspect-ratio:16/7;padding:24px 32px;background:#fff}  /* the logo files carry a white ground */
.spn-card .spn-tile img{max-height:64px}
.spn-card-name{margin:18px 8px 0;font-family:var(--display);font-weight:600;font-size:clamp(21px,1.8vw,24px);line-height:1.1;color:var(--ivory)}
.spn-card-go{display:inline-flex;align-items:center;gap:8px;margin:8px 8px 0;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.spn-card-go .icon{width:16px;height:16px;transition:transform .3s var(--ease-out)}
.spn-card:hover .spn-card-go .icon{transform:translateX(4px)}
.ev-sponsors .ev-cta-row{max-width:880px}
@media (min-width:700px){.spn-cards{grid-template-columns:1fr 1fr;gap:20px}}

/* ----------------------------------------------------------- closing ---- */
.ev-close{padding:84px 0 96px;text-align:center;background:linear-gradient(180deg,rgba(196,154,58,.13),rgba(196,154,58,.03)),var(--night);border-top:1px solid rgba(196,154,58,.28)}
.ev-close-title{font-size:var(--fs-close);margin-bottom:16px}
.ev-close .whenwhere{margin-bottom:18px}
.ev-close-lines{max-width:44ch;margin:0 auto 28px}

/* -------------------------------------------------------- bio sheets ---- */
.sheet{border:0;padding:0;margin:auto;width:min(680px,calc(100vw - 24px));max-height:calc(100dvh - 40px);border-radius:var(--radius);
  background:linear-gradient(180deg,var(--panel-2),var(--panel));color:var(--body);box-shadow:0 0 0 1px rgba(232,200,119,.3),0 50px 100px -30px rgba(0,0,0,.95)}
.sheet::backdrop{background:rgba(5,5,9,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.sheet[open]{animation:sheet-in .35s var(--ease-out)}
@keyframes sheet-in{from{opacity:0;transform:translateY(16px) scale(.98)}}
/* No JS: the sheet opens as the :target. */
.sheet:target{display:block;position:fixed;inset:0;z-index:300;overflow:auto}
.sheet-in{position:relative;padding:26px 22px 28px;overflow:auto;max-height:inherit}
.sheet-x{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius);
  font-size:26px;line-height:1;color:var(--ivory);text-decoration:none;box-shadow:inset 0 0 0 1px var(--line);background:rgba(11,11,17,.6)}
.sheet-x:hover{box-shadow:inset 0 0 0 1px var(--acc)}
.sheet-head{display:flex;gap:18px;align-items:center;margin:0 50px 20px 0}
.sheet-photo{width:96px;height:96px;border-radius:var(--radius);object-fit:cover;background:#fff;flex:0 0 auto}
.sheet-name{font-size:clamp(24px,3vw,32px);margin:0 0 6px}
.sheet-role{margin:0;font-size:13px;color:var(--acc);font-weight:600;line-height:1.45}
.sheet-bio p{font-size:15.5px;line-height:1.65}
.sheet-h{font-family:var(--ui);font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:22px 0 10px}
.sheet-sessions{list-style:none;display:grid;gap:10px}
.sheet-sessions li{display:grid;gap:3px;padding:12px 14px;border-radius:var(--radius);box-shadow:inset 0 0 0 1px var(--line)}
.ss-when{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ss-title{font-family:var(--display);font-weight:600;font-size:19px;color:var(--ivory);line-height:1.3}
@media (min-width:700px){.sheet-in{padding:34px 34px 36px}.sheet-photo{width:120px;height:120px}}

/* ---------------------------------------------------------- pass bar ---- */
.ev-passbar{position:fixed;left:0;right:0;bottom:0;z-index:95;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:var(--float-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.ev .site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
@media (min-width:860px){.ev-passbar{display:none}.ev .site-footer{padding-bottom:calc(32px + env(safe-area-inset-bottom))}}
.ev-agenda .ev-sec-head h2{max-width:24ch}

/* ------------------------------------------------------- light theme ---- */
/* Gold text on ivory: #7d5a14, 5.6:1 (base.css). */
:root[data-theme="light"] .ev-live{--acc:#7d5a14;--acc-glow:rgba(196,154,58,.12)}
/* The hero stays dark: its accents go back to the dark-theme values. */
:root[data-theme="light"] .ev-live .theme-dark{--acc:#e8c877;--acc-glow:rgba(232,200,119,.16)}
:root[data-theme="light"] .ev-tbd{background:radial-gradient(60% 80% at 50% 0%,rgba(232,200,119,.18),transparent 70%),#fff;box-shadow:var(--panel-shadow)}
:root[data-theme="light"] .ev-tbd-k{background:linear-gradient(180deg,#b88a2c,#7d5a14);-webkit-background-clip:text;background-clip:text}
:root[data-theme="light"] .ev-tbd-line{border-top-color:rgba(125,90,20,.3)}
:root[data-theme="light"] .spn-card{background:#fff;box-shadow:var(--panel-shadow)}
:root[data-theme="light"] .sp-card,:root[data-theme="light"] .ag-rows,:root[data-theme="light"] .ev-cta-row,
:root[data-theme="light"] .ag-tabs button,:root[data-theme="light"] .sheet-sessions li{box-shadow:var(--panel-shadow)}
:root[data-theme="light"] .ag-row.is-break{background:#faf8f3}
:root[data-theme="light"] .spn-tile{box-shadow:0 0 0 1px var(--line)}
:root[data-theme="light"] .ag-chip{background:#faf8f3}
