/* ============================================================
   NAIBA Healthcare AI Summit
   Executive Leadership Briefing, July 23, 2026

   Palette: silver gray, soft white, charcoal.
   Electric blue is an accent only: buttons, links, icons, markers.

   1.  Tokens
   2.  Base and reset
   3.  Layout helpers
   4.  Typography
   5.  Buttons and links
   6.  Navigation
   7.  Hero, treated as a magazine cover
   8.  Participant strip
   9.  Video
   10. Editorial, cards, icons
   11. Speakers and partners
   12. Agenda
   13. Who should attend
   14. Signals and FAQ
   15. Register, footer, sticky bar
   16. Motion and responsive
   ============================================================ */

/* ---------- 0. Fonts, self-hosted. No third-party request ---------- */
@font-face{
  font-family:"Archivo"; font-style:normal; font-weight:400 700; font-display:swap;
  src:url("./assets/fonts/archivo-var.woff2") format("woff2");
}
@font-face{
  font-family:"Public Sans"; font-style:normal; font-weight:400 600; font-display:swap;
  src:url("./assets/fonts/public-sans-var.woff2") format("woff2");
}
@font-face{
  font-family:"IBM Plex Mono"; font-style:normal; font-weight:400; font-display:swap;
  src:url("./assets/fonts/ibm-plex-mono-400.woff2") format("woff2");
}
@font-face{
  font-family:"IBM Plex Mono"; font-style:normal; font-weight:500; font-display:swap;
  src:url("./assets/fonts/ibm-plex-mono-500.woff2") format("woff2");
}

/* ---------- 1. Tokens ---------- */
:root{
  /* Executive palette */
  --white:        #FFFFFF;
  --card:         #FFFFFF;   /* cards sit on tinted fields */
  --soft-white:   #FAFCFE;

  /* Palette sampled from the official NAIBA logo:
     brand blue #024E82, shadow navy #043863, highlight #236598,
     tagline slate #525D66, silver #A0A0A0.
     Field tiers are pale-to-mid tints of the brand blue, leading with a
     deeper tone and alternating against lighter shades. Every tier clears
     WCAG AA for body text. */
  --tint-0:       #BFD4E6;   /* deep lead blue (participant strip, first section) */
  --tint-1:       #E9F1F7;   /* pale */
  --tint-2:       #D3E1EE;   /* mid */
  --tint-3:       #B3CCE1;   /* deep */
  --tint-4:       #C7D9E9;   /* register close */

  --mist:         #E9F1F7;   /* legacy alias, maps to tint-1 */
  --silver:       #B2C7DA;   /* hairlines on the blue fields */
  --silver-deep:  #8FAECB;   /* stronger borders */
  --aluminum:     #C6D8EA;
  --slate:        #024E82;   /* footer field, the NAIBA brand blue */
  --slate-deep:   #043863;   /* footer gradient base, shadow navy */
  --charcoal:     #0C2338;   /* headlines, near the shadow navy */
  --ink:          #14293C;   /* body text */
  --muted:        #495259;   /* secondary text, the logo tagline slate */
  --blue:         #024E82;   /* accent, the true brand blue */
  --blue-deep:    #043863;   /* accent hover, shadow navy */
  --blue-wash:    rgba(2,78,130,.09);

  /* Type */
  --display: "Archivo", system-ui, sans-serif;
  --body:    "Public Sans", system-ui, sans-serif;
  --mono:    "IBM Plex Mono", ui-monospace, monospace;

  /* Space */
  --wrap: 1180px;
  --gap: 24px;
  --pad-section: 112px;
  --radius: 14px;

  /* Elevation, kept soft */
  --lift-1: 0 1px 2px rgba(22,40,62,.05), 0 8px 24px -12px rgba(22,40,62,.18);
  --lift-2: 0 2px 4px rgba(22,40,62,.05), 0 24px 60px -28px rgba(22,40,62,.32);
}

/* ---------- 2. Base and reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:92px; }
body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:var(--body);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3{ margin:0; font-family:var(--display); font-weight:600; letter-spacing:-.022em; line-height:1.1; color:var(--charcoal); }
p{ margin:0 0 1em; }
ul,ol{ margin:0; padding:0; list-style:none; }
dl,dd,dt{ margin:0; }
button{ font:inherit; color:inherit; }
svg{ display:block; }

:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; border-radius:4px; }

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--blue); color:#fff; padding:12px 18px; border-radius:0 0 8px 0; text-decoration:none;
}
.skip-link:focus{ left:0; }

/* ---------- 3. Layout helpers ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:24px; }
.wrap--narrow{ max-width:780px; }
.section{ padding-block:var(--pad-section); position:relative; }
.section--alt{ background:var(--tint-1); border-block:1px solid var(--silver); }

/* ============================================================
   Section field rhythm.
   Odd sections carry the deep NAIBA navy (sect-dark), even sections
   a pale brand tint (sect-light). The dark field is dominant.
   Dark sections flip text, cards, borders, and controls to read on navy.
   ============================================================ */
.sect-dark{
  background-color:var(--slate);
  background-image:linear-gradient(180deg, #045189 0%, var(--slate) 46%, var(--slate-deep) 100%);
  border-top:1px solid rgba(255,255,255,.10);
  color:#E4EEF6;
}
.sect-light{
  background:var(--tint-1);
  border-top:1px solid var(--silver);
}
.sect-light + .sect-dark, .sect-dark + .sect-light{ border-top-color:rgba(255,255,255,.14); }

/* Dark-section typography and accents */
.sect-dark .eyebrow{ color:#A6CDEC; }
.sect-dark .h2,
.sect-dark .card__h,
.sect-dark .agenda__h,
.sect-dark .matrix__h,
.sect-dark .speaker__name,
.sect-dark .slot__h,
.sect-dark .strip__name,
.sect-dark .faq summary{ color:#FFFFFF; }
.sect-dark .lede,
.sect-dark .prose,
.sect-dark p,
.sect-dark .agenda__len,
.sect-dark .agenda__note,
.sect-dark .agenda__time,
.sect-dark .matrix li,
.sect-dark .speaker__bio,
.sect-dark .speaker__role,
.sect-dark .strip__role,
.sect-dark .strip__label,
.sect-dark .strip__foot,
.sect-dark .note,
.sect-dark .microcopy,
.sect-dark .faq details p{ color:#CFE0F1; }
.sect-dark .namecheck{ color:#FFFFFF; }
.sect-dark .editorial p,
.sect-dark .editorial .lead-p{ color:#E4EEF6; }
.sect-dark .pullquote{ color:#FFFFFF; border-left-color:#7FB0DB; }
.sect-dark .card__icon,
.sect-dark .matrix__icon,
.sect-dark .card__icon svg,
.sect-dark .matrix__icon svg{ color:#8FBEE4; }
.sect-dark .link{ color:#A6CDEC; border-bottom-color:rgba(166,205,236,.4); }
.sect-dark .tag{ color:#BFE0FF; background:rgba(255,255,255,.12); }

/* Cards, panels, and rules on dark sections */
.sect-dark .card,
.sect-dark .speaker,
.sect-dark .partner,
.sect-dark .slot{
  background:rgba(255,255,255,.07);
  border-color:rgba(255,255,255,.16);
  box-shadow:0 18px 40px -26px rgba(0,0,0,.6);
}
.sect-dark .card p,
.sect-dark .slot p:last-child,
.sect-dark .speaker__bio{ color:#C6DAEC; }
.sect-dark .card--tight,
.sect-dark .matrix{ border-top-color:#7FB0DB; }
.sect-dark .speaker__body{ background:transparent; }
.sect-dark .speaker__img{ border-bottom-color:rgba(255,255,255,.16); }
.sect-dark .speaker__org{ color:#8FBEE4; }
.sect-dark .speaker__role,
.sect-dark .card--tight,
.sect-dark .faq details,
.sect-dark .faq summary::after{ border-color:rgba(255,255,255,.18); }
.sect-dark .faq summary::after{ border-right-color:#A6CDEC; border-bottom-color:#A6CDEC; }
.sect-dark .faq details{ border-bottom-color:rgba(255,255,255,.16); }
.sect-dark .speaker__role{ border-top-color:rgba(255,255,255,.16); }
.sect-dark .partner__facts,
.sect-dark .partner__facts dt{ border-color:rgba(255,255,255,.16); }
.sect-dark .factbar{ border-color:rgba(255,255,255,.2); }
.sect-dark .factbar > div{ border-right-color:rgba(255,255,255,.2); }
.sect-dark .factbar dt{ color:#A6CDEC; }
.sect-dark .factbar dd{ color:#FFFFFF; }
.sect-dark .strip__person img,
.sect-dark .agenda::before{ border-color:rgba(255,255,255,.2); }
.sect-dark .agenda::before{ background:linear-gradient(180deg, transparent, rgba(255,255,255,.28) 8%, rgba(255,255,255,.28) 92%, transparent); }
.sect-dark .agenda__row::after{ background:var(--slate); border-color:#7FB0DB; }
.sect-dark .agenda__row--mark::after{ background:#8FBEE4; border-color:#8FBEE4; box-shadow:0 0 0 4px rgba(143,190,228,.2); }
.sect-dark .strip__list, .sect-dark .strip__foot{ border-color:rgba(255,255,255,.2); }

/* Primary button on dark: white plate, navy label, so it pops off the field */
.sect-dark .btn--primary{
  background:#FFFFFF; color:var(--slate);
  box-shadow:0 1px 2px rgba(0,0,0,.2), 0 14px 30px -16px rgba(0,0,0,.5);
}
.sect-dark .btn--primary:hover{ background:#EAF2FA; color:var(--slate-deep); }
.sect-dark .btn--ghost{
  background:transparent; color:#FFFFFF; border-color:rgba(255,255,255,.5);
}
.sect-dark .btn--ghost:hover{ border-color:#FFFFFF; background:rgba(255,255,255,.08); color:#FFFFFF; }
.center{ text-align:center; }

.cols-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.cols-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--gap); }

/* ---------- 4. Typography ---------- */
.eyebrow{
  font-family:var(--mono); font-size:11.5px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase; color:var(--blue);
  margin:0 0 18px;
}
.section .eyebrow{ text-align:center; }
.section .wrap--narrow .eyebrow{ text-align:left; }

.h2{
  font-size:clamp(30px, 3.5vw, 44px);
  max-width:20ch; margin:0 auto 22px; text-align:center; text-wrap:balance;
}
.h2--left{ text-align:left; margin-inline:0; }

.lede{ color:var(--muted); font-size:17.5px; }
.lede--center{ max-width:64ch; margin:0 auto 52px; text-align:center; }
.prose{ color:var(--ink); }
.note{ margin:36px auto 0; max-width:72ch; text-align:center; color:var(--muted); font-size:14px; line-height:1.7; }
.microcopy{ color:var(--muted); font-size:13.5px; margin:14px 0 0; }
.consent{ max-width:62ch; margin:20px auto 0; font-size:12.5px; line-height:1.6; color:var(--muted); text-align:center; }
.consent a{ color:var(--blue); text-decoration:none; border-bottom:1px solid rgba(2,78,130,.32); }
.consent a:hover{ border-color:var(--blue); }
.sect-dark .consent{ color:#B9CEE1; }
.sect-dark .consent a{ color:#A6CDEC; border-bottom-color:rgba(166,205,236,.4); }
.tag{
  display:inline-block; font-family:var(--mono); font-size:10px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--blue); background:var(--blue-wash);
  border-radius:100px; padding:3px 9px; margin-right:8px;
}

/* ---------- 5. Buttons and links ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:54px; padding:0 28px; border-radius:10px;
  font-family:var(--body); font-weight:600; font-size:16px;
  text-decoration:none; border:1px solid transparent; cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.btn--primary{
  background:var(--blue); color:#fff;
  box-shadow:0 1px 2px rgba(4,56,99,.24), 0 12px 28px -14px rgba(2,78,130,.6);
}
.btn--primary:hover{ background:var(--blue-deep); transform:translateY(-1px); }
.btn--ghost{
  border-color:var(--silver-deep); color:var(--charcoal); background:var(--white);
  box-shadow:var(--lift-1);
}
.btn--ghost:hover{ border-color:var(--blue); color:var(--blue); }
.btn--sm{ min-height:44px; padding:0 16px; font-size:14.5px; border-radius:8px; }
.btn--lg{ min-height:60px; padding:0 34px; font-size:17px; }
.link{ color:var(--blue); text-decoration:none; border-bottom:1px solid rgba(2,78,130,.32); }
.link:hover{ border-color:var(--blue); }


/* ---------- Official NAIBA logo ----------
   One file, used exactly as supplied. Sized by height so the
   3.13:1 lockup and its tagline stay proportional everywhere. */
.logo{ width:auto; }
.logo--nav{ height:44px; }
.logo--footer{ height:52px; }
.video__logo{ height:40px; }

/* ---------- 6. Navigation ---------- */
.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.86); backdrop-filter:blur(16px) saturate(1.4);
  border-bottom:1px solid var(--silver);
}
.nav__inner{ max-width:var(--wrap); margin-inline:auto; padding:10px 24px; display:flex; align-items:center; gap:18px; }
.nav__brand{ display:flex; align-items:center; }
.nav__links{ display:flex; gap:24px; margin-left:auto; }
.nav__links a{
  font-size:14.5px; color:var(--ink); text-decoration:none; padding:6px 0;
  border-bottom:1.5px solid transparent;
}
.nav__links a:hover{ color:var(--charcoal); border-color:var(--blue); }
.nav__cta{ flex:none; }
.nav__toggle{
  display:none; width:44px; height:44px; margin-left:auto;
  background:var(--white); border:1px solid var(--silver-deep); border-radius:8px; padding:12px 10px; cursor:pointer;
}
.nav__toggle span{ display:block; height:1.5px; background:var(--charcoal); margin:4px 0; transition:.2s ease; }
.nav.is-open .nav__toggle span:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
.nav.is-open .nav__toggle span:nth-child(2){ opacity:0; }
.nav.is-open .nav__toggle span:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }

/* ---------- 7. Hero, treated as a magazine cover ---------- */
.hero{
  position:relative; overflow:hidden;
  padding-block:104px 96px;
  background:
    radial-gradient(120% 90% at 78% 4%, rgba(2,78,130,.12), transparent 58%),
    radial-gradient(90% 74% at 4% 98%, rgba(51,96,143,.10), transparent 62%),
    linear-gradient(178deg, var(--white) 0%, #CFDEEC 52%, #7FA6C8 84%, #2F6B9C 100%);
  border-bottom:1px solid var(--silver);
}
/* Brushed aluminum grain and a faint architectural grid */
.hero__grid-bg{
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(96deg, rgba(51,96,143,.030) 0 1px, transparent 1px 3px),
    linear-gradient(rgba(51,96,143,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(51,96,143,.055) 1px, transparent 1px);
  background-size:auto, 88px 88px, 88px 88px;
  -webkit-mask-image:radial-gradient(88% 78% at 50% 32%, #000 12%, transparent 78%);
          mask-image:radial-gradient(88% 78% at 50% 32%, #000 12%, transparent 78%);
  pointer-events:none;
}
.hero__inner{ position:relative; max-width:900px; text-align:center; }
.hero__rule{ width:52px; height:2px; background:var(--blue); margin:0 auto 22px; border:0; }
.hero__title{
  font-size:clamp(46px, 7vw, 88px); font-weight:700; letter-spacing:-.038em;
  line-height:.98; margin:0 0 26px; color:var(--charcoal);
}
.hero__question{
  font-family:var(--display); font-weight:500;
  font-size:clamp(19px, 2.05vw, 26px); line-height:1.4; letter-spacing:-.015em;
  color:var(--ink); max-width:30ch; margin:0 auto 24px;
}
.hero__lede{ color:var(--muted); font-size:16.5px; max-width:66ch; margin:0 auto 34px; }

.factbar{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  border-block:1px solid var(--silver); padding-block:16px; margin:0 auto 34px; width:fit-content;
}
.factbar > div{ padding-inline:26px; border-right:1px solid var(--silver); text-align:center; }
.factbar > div:last-child{ border-right:0; }
.factbar dt{
  font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); margin-bottom:5px;
}
.factbar dd{ font-family:var(--display); font-weight:600; font-size:15.5px; letter-spacing:-.01em; color:var(--charcoal); }

.hero__actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }

/* ---------- 8. Participant strip, directly under the cover ---------- */
.strip{ border-bottom:1px solid var(--silver); padding-block:34px; }
.strip.sect-dark{ border-bottom-color:rgba(255,255,255,.16); }
.strip__inner{ display:flex; align-items:center; gap:32px; }
.strip__label{
  font-family:var(--mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); margin:0; flex:none; max-width:118px; line-height:1.6;
}
.strip__list{ display:flex; gap:30px; flex:1; flex-wrap:nowrap; justify-content:space-between; }
.strip__person{ display:flex; gap:13px; align-items:center; }
.strip__person img{
  width:54px; height:72px; object-fit:cover; object-position:center;
  border-radius:7px; flex:none; border:1px solid var(--silver); background:var(--tint-2);
}
.strip__name{ font-family:var(--display); font-weight:600; font-size:14.5px; margin:0 0 2px; color:var(--charcoal); }
.strip__role{ color:var(--muted); font-size:12px; line-height:1.4; margin:0; }
.strip__person > div{ min-width:0; }
.strip__foot{
  flex:none; font-size:12.5px; color:var(--muted); text-align:right;
  border-left:1px solid var(--silver); padding-left:26px; max-width:150px; margin:0;
}

/* ---------- 9. Video ---------- */
.video{
  position:relative; aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--silver-deep); background:var(--aluminum);
  margin-bottom:34px; box-shadow:var(--lift-2);
}
.video__facade{
  position:absolute; inset:0; width:100%; height:100%; cursor:pointer; border:0; padding:34px;
  text-align:left; display:flex; flex-direction:column; justify-content:space-between;
  background:
    repeating-linear-gradient(97deg, rgba(255,255,255,.5) 0 1px, transparent 1px 4px),
    radial-gradient(80% 100% at 82% 8%, rgba(2,78,130,.16), transparent 60%),
    linear-gradient(160deg, #FFFFFF 0%, #E6EFF6 52%, #CDDDEA 100%);
}
.video__meta{ position:relative; z-index:2; }
.video__logo{ margin-bottom:16px; }
.video__title{ font-family:var(--display); font-weight:700; font-size:clamp(22px,3vw,36px); letter-spacing:-.03em; margin:0; color:var(--charcoal); }
.video__sub{ font-family:var(--mono); font-size:11px; letter-spacing:.17em; text-transform:uppercase; color:var(--blue); margin:9px 0 0; }
.video__date{ color:var(--muted); font-size:14px; margin:6px 0 0; }
.video__faces{ display:flex; gap:10px; position:relative; z-index:2; }
.video__faces img{ width:54px; height:72px; object-fit:cover; object-position:center; border-radius:6px; border:1px solid var(--white); box-shadow:var(--lift-1); }
.video__play{
  position:absolute; right:34px; top:50%; transform:translateY(-50%);
  width:78px; height:78px; border-radius:50%; background:var(--blue);
  box-shadow:0 18px 40px -14px rgba(2,78,130,.8); transition:transform .2s ease;
}
.video__play::after{
  content:""; position:absolute; left:53%; top:50%; transform:translate(-50%,-50%);
  border-left:18px solid #fff; border-block:11px solid transparent;
}
.video__facade:hover .video__play{ transform:translateY(-50%) scale(1.06); }
.video__frame{ position:absolute; inset:0; background:#000; }
.video__frame iframe, .video__frame video{ width:100%; height:100%; border:0; display:block; object-fit:contain; background:#000; }
.video__cta .microcopy{ margin-top:16px; }

/* ---------- 10. Editorial, cards, icons ---------- */
.editorial{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
.editorial p{ color:var(--ink); font-size:16.5px; }
.editorial .lead-p{ font-size:19px; color:var(--charcoal); line-height:1.55; }
.pullquote{
  border-left:2px solid var(--blue); padding:2px 0 2px 20px; margin:0;
  font-family:var(--display); font-weight:500; font-size:20px; line-height:1.45;
  letter-spacing:-.015em; color:var(--charcoal);
}
.namecheck{ font-weight:600; color:var(--charcoal); }

.card{
  background:var(--white); border:1px solid var(--silver); border-radius:var(--radius);
  padding:28px; box-shadow:var(--lift-1);
}
.card--tight{ padding:24px; }
.card__h{ font-size:18px; margin:0 0 10px; }
.card p{ color:var(--muted); font-size:15px; margin:0; }
.card__icon{ width:32px; height:32px; margin-bottom:16px; color:var(--blue); }

/* ---------- 11. Speakers and partners ---------- */
.speaker{
  background:var(--white); border:1px solid var(--silver); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column; box-shadow:var(--lift-1);
}
.speaker__img{ width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; object-position:center; border-bottom:1px solid var(--silver); background:var(--tint-2); }
.speaker__body{ padding:24px; }
.speaker__name{ font-size:22px; margin:0 0 6px; }
.speaker__title{ font-size:14.5px; margin:0 0 2px; color:var(--ink); }
.speaker__org{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); margin:0 0 14px; }
.speaker__bio{ color:var(--muted); font-size:14.5px; margin:0 0 14px; }
.speaker__role{ color:var(--muted); font-size:13.5px; margin:0; padding-top:14px; border-top:1px solid var(--silver); }

.partner{
  background:var(--white); border:1px solid var(--silver); border-radius:var(--radius);
  padding:28px; display:flex; flex-direction:column; position:relative; box-shadow:var(--lift-1);
}
.partner::before{
  content:""; position:absolute; inset:0 0 auto 0; height:2px;
  background:linear-gradient(90deg, var(--blue), rgba(2,78,130,0));
  border-radius:var(--radius) var(--radius) 0 0;
}
.partner__logo{
  height:60px; display:flex; align-items:center; justify-content:flex-start;
  border-bottom:1px solid var(--silver); margin-bottom:20px;
}
.partner__logo img{ max-height:34px; width:auto; }
.partner__wordmark{
  font-family:var(--display); font-weight:700; font-size:23px; letter-spacing:-.03em;
  color:var(--slate);
}
.partner__name{ font-size:21px; margin:0 0 10px; }
.partner__summary{ color:var(--muted); font-size:14.5px; margin:0 0 18px; }
.partner__facts{ border-top:1px solid var(--silver); padding-top:14px; margin-bottom:20px; }
.partner__facts dt{ font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); margin-bottom:4px; }
.partner__facts dd{ color:var(--muted); font-size:13.5px; margin-bottom:12px; }
.partner__facts dd:last-child{ margin-bottom:0; }
.partner__actions{ margin-top:auto; display:flex; flex-direction:column; gap:12px; align-items:flex-start; }

/* ---------- 12. Agenda ---------- */
.agenda{ position:relative; max-width:880px; margin-inline:auto; }
.agenda::before{
  content:""; position:absolute; left:120px; top:12px; bottom:12px; width:1px;
  background:linear-gradient(180deg, transparent, var(--silver-deep) 8%, var(--silver-deep) 92%, transparent);
}
.agenda__row{ display:grid; grid-template-columns:104px 1fr; gap:44px; padding:22px 0; position:relative; }
.agenda__row::after{
  content:""; position:absolute; left:117px; top:32px; width:7px; height:7px; border-radius:50%;
  background:var(--white); border:1.5px solid var(--silver-deep);
}
.agenda__row--mark::after{ background:var(--blue); border-color:var(--blue); box-shadow:0 0 0 4px var(--blue-wash); }
.agenda__time{ font-family:var(--mono); font-size:13px; color:var(--charcoal); margin:0; padding-top:2px; text-align:right; letter-spacing:-.02em; }
.agenda__h{ font-size:19px; margin:0 0 5px; }
.agenda__len{ font-size:14px; color:var(--muted); margin:0; }
.agenda__note{ font-size:13.5px; color:var(--muted); margin:8px 0 0; }

/* ---------- 13. Who should attend ---------- */
.matrix{ border-top:2px solid var(--blue); padding-top:20px; }
.matrix__icon{ width:26px; height:26px; color:var(--blue); margin-bottom:12px; }
.matrix__h{ font-size:17px; margin:0 0 14px; }
.matrix ul{ display:grid; gap:9px; }
.matrix li{ color:var(--muted); font-size:14.5px; padding-left:16px; position:relative; line-height:1.5; }
.matrix li::before{ content:""; position:absolute; left:0; top:10px; width:6px; height:1.5px; background:var(--blue); }

/* ---------- 14. Signals and FAQ ---------- */
.slot{ border:1px dashed var(--silver-deep); border-radius:var(--radius); padding:24px; background:var(--white); }
.slot__tag{
  display:inline-block; font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); border:1px solid var(--silver-deep); border-radius:100px; padding:2px 8px; margin:0 0 12px;
}
.slot__h{ font-family:var(--display); font-weight:600; font-size:16px; margin:0 0 6px; color:var(--charcoal); }
.slot p:last-child{ color:var(--muted); font-size:14px; margin:0; }

.faq details{ border-bottom:1px solid var(--silver); }
.faq summary{
  cursor:pointer; list-style:none; padding:20px 40px 20px 0; position:relative;
  font-family:var(--display); font-weight:600; font-size:17.5px; letter-spacing:-.015em; color:var(--charcoal);
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:""; position:absolute; right:6px; top:27px; width:9px; height:9px;
  border-right:1.5px solid var(--blue); border-bottom:1.5px solid var(--blue);
  transform:rotate(45deg); transition:transform .2s ease;
}
.faq details[open] summary::after{ transform:rotate(-135deg); top:31px; }
.faq details div{ padding:0 40px 20px 0; }
.faq details p{ color:var(--muted); font-size:15px; margin:0; }

/* ---------- 15. Register, footer, sticky bar ---------- */
.section--register{
  background:
    radial-gradient(70% 120% at 50% 0%, rgba(2,78,130,.10), transparent 60%),
    linear-gradient(180deg, var(--tint-2), var(--tint-1));
  border-top:1px solid var(--silver);
}
.section--register .h2{ font-size:clamp(32px,3.9vw,48px); }

.footer{ background-color:var(--slate); background-image:linear-gradient(180deg, var(--slate), var(--slate-deep)); color:#EAF2FA; padding-block:60px 0; }
.footer__brand .logo--footer{
  background:var(--white); border-radius:10px; padding:14px 18px;
  box-shadow:0 1px 2px rgba(0,0,0,.3); box-sizing:content-box;
}
.footer__inner{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:32px; }
.footer__site{ margin-top:18px; }
.footer__site{ margin:0; font-size:14px; }
.footer__site .link{ color:#FFFFFF; border-color:rgba(255,255,255,.4); }
.footer__h{ font-family:var(--mono); font-size:10px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:#CFE0F2; margin:0 0 14px; }
.footer__col{ display:flex; flex-direction:column; gap:10px; }
.footer__col a{ font-size:14.5px; color:#DCE8F4; text-decoration:none; }
.footer__col a:hover{ color:#fff; }
.footer__base{ margin-top:48px; padding-block:22px; border-top:1px solid rgba(255,255,255,.16); }
.footer__base p{ margin:0; font-size:13px; color:#CFE0F2; }

.stickybar{
  position:fixed; left:0; right:0; bottom:0; z-index:90;
  display:none; align-items:center; gap:14px;
  padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96); backdrop-filter:blur(14px);
  border-top:1px solid var(--silver-deep); box-shadow:0 -8px 30px -16px rgba(22,40,62,.4);
  transform:translateY(110%); transition:transform .28s ease;
}
.stickybar.is-visible{ transform:translateY(0); }
.stickybar__meta{ flex:1; min-width:0; }
.stickybar__date{ font-family:var(--display); font-weight:600; font-size:14px; margin:0; color:var(--charcoal); }
.stickybar__note{ font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:2px 0 0; }
.stickybar .btn{ flex:none; }

/* ---------- 16. Motion and responsive ---------- */
.reveal{ opacity:0; transform:translateY(14px); }
.reveal.is-in{ opacity:1; transform:none; transition:opacity .6s ease, transform .6s ease; }

@media (max-width:1024px){
  :root{ --pad-section:84px; }
  .cols-4{ grid-template-columns:repeat(2,1fr); }
  .editorial{ grid-template-columns:1fr; gap:28px; }
  .nav__links{ gap:16px; }
  .nav__links a{ font-size:13.5px; }
  .strip__inner{ flex-wrap:wrap; gap:20px; }
  .strip__list{ flex-wrap:wrap; justify-content:flex-start; gap:26px; }
  .strip__foot{ border-left:0; padding-left:0; text-align:left; max-width:none; }
}

@media (max-width:860px){
  .nav__cta{ display:none; }
  .nav__toggle{ display:block; }
  .nav__links{
    position:absolute; left:0; right:0; top:100%; flex-direction:column; gap:0; margin:0;
    background:var(--white); border-bottom:1px solid var(--silver);
    box-shadow:var(--lift-1); padding:8px 24px 18px; display:none;
  }
  .nav.is-open .nav__links{ display:flex; }
  .nav__links a{ padding:14px 0; border-bottom:1px solid var(--silver); font-size:15.5px; }
  .cols-3, .cols-4{ grid-template-columns:1fr; }
  .stickybar{ display:flex; }
  .footer__base{ padding-bottom:86px; }
}

@media (max-width:640px){
  :root{ --pad-section:66px; }
  body{ font-size:16px; }
  .logo--nav{ height:36px; }
  .logo--footer{ height:44px; }
  .hero{ padding-block:44px 52px; }
  .hero__title{ font-size:clamp(40px,12vw,56px); }
  .hero__question{ font-size:18px; margin-bottom:18px; }
  .hero__lede{ display:none; }              /* the cover stays minimal on phones */
  .hero__actions{ flex-direction:column; }
  .hero__actions .btn{ width:100%; }
  .factbar{ width:100%; justify-content:space-between; }
  .factbar > div{ padding-inline:0; border-right:0; text-align:left; flex:1 1 40%; }
  .h2{ max-width:none; }
  .strip{ padding-block:26px; }
  .strip__list{ gap:16px; flex-direction:column; flex-wrap:wrap; }
  .strip__foot{ max-width:100%; word-break:normal; }
  .strip__inner{ max-width:100%; }
  .agenda::before{ left:5px; }
  .agenda__row{ grid-template-columns:1fr; gap:6px; padding-left:26px; }
  .agenda__row::after{ left:2px; top:26px; }
  .agenda__time{ text-align:left; }
  .video__facade{ padding:20px; }
  .video__meta{ padding-right:74px; }
  .video__play{ right:20px; width:56px; height:56px; }
  .video__play::after{ border-left-width:14px; border-block-width:9px; }
  .video__faces img{ width:42px; height:56px; }
  .footer__inner{ grid-template-columns:1fr 1fr; gap:28px; }
  .footer__brand{ grid-column:1 / -1; }
  .section--register .btn--lg{ width:100%; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
  .stickybar{ transform:translateY(0); }
}
