
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
/* Grid/flex children default to min-width:auto and refuse to shrink below their
   content, which is the usual cause of mobile horizontal overflow. */
main *,footer *,header *{min-width:0}
h1,h2,h3,h4,p,li,blockquote,figcaption,dd,dt,summary{overflow-wrap:break-word}
.skip{position:absolute;left:-9999px;top:0;z-index:100;padding:.75rem 1.25rem;background:#000;color:#fff;text-decoration:none}
.skip:focus{left:0}
:focus-visible{outline:3px solid currentColor;outline-offset:2px}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
details>summary::-webkit-details-marker{display:none}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

:root{
  --sil:#EEF1F4;--navy:#192E49;--cy:#2A9AB0;
  --or:#E77838;--wht:#FFFFFF;
  --cytext:#207687;--ortext:#B24F16;--bandink:#15263D;
}
body{background:var(--wht);color:#1b232c;
  font-family:Rubik,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;line-height:1.6}
h1,h2,h3{font-weight:600;line-height:1.14;margin:0 0 .5em;letter-spacing:-.015em}
p{margin:0 0 1em}
.mb-in{max-width:1240px;margin:0 auto;padding:0 30px}

/* ---------- narrow independent header ---------- */
.mb-head{background:var(--wht);border-bottom:1px solid rgba(25,46,73,.16)}
.mb-head-in{max-width:1240px;margin:0 auto;padding:9px 30px;display:flex;
  align-items:center;gap:22px;flex-wrap:wrap}
.mb-id{margin:0;font-weight:600;font-size:15px;color:var(--navy)}
.mb-nav{margin-left:auto}
.mb-nav ul{list-style:none;display:flex;gap:24px;margin:0;padding:0;flex-wrap:wrap}
.mb-nav a{color:#1b232c;text-decoration:none;font-size:14.5px;display:inline-flex;
  align-items:center;min-height:42px}
.mb-nav a:hover{color:var(--cytext)}

/* ---------- three bands ---------- */
.mb-band{width:100%;animation:mb-expand .5s ease-out both}
@keyframes mb-expand{from{padding-top:0;padding-bottom:0}}
@media (prefers-reduced-motion:reduce){.mb-band{animation:none}}
.mb-band--pale{background:var(--sil);padding:78px 0 84px}
.mb-band--dark{background:var(--navy);color:var(--wht);padding:34px 0;
  position:relative;animation-delay:.1s}
/* Stated as background-color + background-image, NOT the `background` shorthand:
   the shorthand leaves background-color transparent, so nothing in this band's
   ancestor chain reported a painted background and the heading plus the three
   theme cells measured as #fff on #fff (1.00:1) -- white text over a gradient
   nobody could resolve. Rendering is identical; the band is now introspectable,
   and the text uses the one ink that clears 4.5:1 on BOTH stops. */
.mb-band--split{background-color:var(--cy);
  background-image:linear-gradient(90deg,var(--cy) 0 68%,var(--or) 68% 100%);
  color:var(--bandink);padding:28px 0;animation-delay:.2s}
.mb-band--split .mb-in{padding-right:326px}
.mb-kick{margin:0 0 14px;color:var(--cytext);font-weight:600;font-size:15px}
.mb-band--pale h1{font-size:clamp(36px,5.1vw,74px);margin:0 0 20px;max-width:16ch;
  color:var(--navy)}
.mb-lede{margin:0;font-size:19px;color:#48535f;max-width:52ch}
.mb-dark-in{display:flex;gap:30px;align-items:center;justify-content:space-between;
  flex-wrap:wrap;padding-right:340px}
.mb-dates{margin:0 0 3px;font-size:clamp(22px,2.4vw,32px);font-weight:600}
.mb-loc{margin:0;font-size:15.5px;color:#b9c6d6}
.mb-acts{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.mb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:0 22px;border:2px solid currentColor;text-decoration:none;font-weight:600;
  font-size:15px;color:inherit}
.mb-btn--f{background:var(--or);border-color:var(--or);color:var(--bandink)}
.mb-btn:hover{background:var(--wht);color:var(--navy);border-color:var(--wht)}
.mb-bridge{position:absolute;right:max(30px,calc((100% - 1240px)/2 + 30px));
  top:24px;width:268px;margin:0;z-index:3;background:var(--navy);padding:6px 6px 8px}
.mb-bridge img{width:256px;height:168px;object-fit:cover;border:4px solid var(--wht)}
.mb-bridge figcaption{font-size:11.5px;color:#c4d1de;padding:7px 2px 0;
  line-height:1.4;max-width:256px}
.mb-th-h{font-size:13px;font-weight:600;margin:0 0 14px;color:var(--bandink);
  letter-spacing:.05em}
.mb-themes3{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:26px}
.mb-themes3 li{font-size:15px;font-weight:500;line-height:1.45}
.mb-tn{display:block;font-size:13px;opacity:.75;margin-bottom:4px}

/* ---------- in-page day links ---------- */
.mb-days{background:var(--wht);border-bottom:2px solid var(--sil)}
.mb-days ul{max-width:1240px;margin:0 auto;padding:0 30px;list-style:none;display:flex;
  flex-wrap:wrap;gap:0 34px}
.mb-days a{display:inline-flex;align-items:center;min-height:52px;color:var(--navy);
  text-decoration:none;font-weight:500;font-size:15.5px;border-bottom:3px solid transparent}
.mb-days a:hover{border-bottom-color:var(--or)}

/* ---------- sections ---------- */
.mb-sec{padding:62px 0}
.mb-sec h2{font-size:clamp(26px,3vw,42px);color:var(--navy)}
.mb-sub{color:#5b6672;max-width:76ch}
.mb-big{font-size:18.5px;color:#414c58;max-width:62ch}
.mb-lnk{color:var(--cytext);font-weight:600}
.mb-th{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px}
.mb-themes{margin:0;padding-left:22px;font-size:15.5px}
.mb-themes li{padding:9px 0;border-bottom:1px solid rgba(25,46,73,.14)}

/* ---------- agenda bands ---------- */
.mb-sec--ag{padding-bottom:30px;background:var(--sil)}
.mb-aband{background:var(--wht);padding:34px 0;margin-top:46px;
  border-top:6px solid var(--navy)}
.mb-aband:nth-of-type(2){border-top-color:var(--cy)}
.mb-aband:nth-of-type(3){border-top-color:var(--or)}
.mb-aband-h{display:flex;gap:22px;align-items:baseline;flex-wrap:wrap;
  padding-bottom:16px;border-bottom:1px solid rgba(25,46,73,.16)}
.mb-aband-h h3{margin:0;font-size:26px;color:var(--navy)}
.mb-aband-d{margin:0;font-size:18px;font-weight:500}
.mb-aband-n{margin:0 0 0 auto;font-size:14px;color:#5b6672}
.mb-slist{list-style:none;margin:18px 0 0;padding:0;columns:2;column-gap:52px}
.mb-slist li{break-inside:avoid;padding:12px 0;border-bottom:1px solid rgba(25,46,73,.1)}
.mb-s-t{margin:0;font-size:13.5px;font-weight:600;color:var(--ortext)}
.mb-s-h{margin:2px 0 3px;font-size:16.5px;font-weight:500;color:var(--navy)}
.mb-s-w{margin:0;font-size:13.5px;color:#5b6672}

/* ---------- speakers breaking a navy band ---------- */
.mb-sec--sp{background:linear-gradient(180deg,var(--wht) 0 176px,
  var(--navy) 176px calc(100% - 132px),var(--wht) calc(100% - 132px) 100%);
  padding-bottom:0}
.mb-sec--sp h2{color:var(--navy)}
.mb-sub--pale{color:#5b6672}
.mb-pairs{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin:40px 0 34px}
.mb-pair{background:var(--wht);border-top:5px solid var(--cy);padding:0 0 16px}
.mb-pair img{width:100%;aspect-ratio:1/1;object-fit:cover;margin-bottom:12px}
.mb-pair h3{font-size:16.5px;margin:0 14px 3px;color:var(--navy)}
.mb-pair-r{margin:0 14px 8px;font-size:12.5px;color:#5b6672}
.mb-pair-s{margin:0 14px;font-size:13px;color:#1b232c}
.mb-lnk--pale{color:var(--navy)}
.mb-sec--sp>.mb-in:last-child{padding-bottom:40px}

/* ---------- participation / proof / sponsors ---------- */
.mb-part{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:46px;
  align-items:start}
.mb-part-acts{display:grid;gap:12px;margin:0}
.mb-part .mb-btn{border-color:var(--navy);color:var(--navy)}
.mb-part .mb-btn--f{background:var(--navy);color:var(--wht)}
.mb-part .mb-btn:hover{background:var(--cy);border-color:var(--cy);
  color:var(--bandink)}
.mb-sec--proof{background:var(--sil)}
.mb-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.mb-pf{margin:0}
.mb-pf img{width:100%;aspect-ratio:3/2;object-fit:cover}
.mb-pf figcaption{font-size:12.5px;color:#5b6672;margin-top:8px}
.mb-quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:34px}
.mb-q{margin:0;background:var(--wht);padding:24px;border-left:5px solid var(--cy)}
.mb-q blockquote{margin:0}
.mb-q p{margin:0 0 12px;font-size:16px}
.mb-q figcaption{font-size:13.5px;font-weight:600;color:var(--navy)}
.mb-spon{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:44px;
  align-items:center}
.mb-spon-acts{display:grid;gap:12px;margin:0}
.mb-spon .mb-btn{border-color:var(--navy);color:var(--navy)}
.mb-spon .mb-btn:hover{background:var(--navy);color:var(--wht)}

/* ---------- venue + questions / legal ---------- */
.mb-sec--venue{background:var(--navy);color:#dbe4ee}
.mb-sec--venue h2{color:var(--wht)}
.mb-sec--venue .mb-big{color:#c4d1de}
.mb-sec--venue .mb-lnk{color:var(--or)}
.mb-venue{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:46px;
  align-items:start}
.mb-faq details{border-bottom:1px solid rgba(219,228,238,.24)}
.mb-faq summary{font-weight:500;font-size:16.5px;padding:15px 0;color:var(--wht)}
.mb-faq summary:hover{color:var(--ortext)}
.mb-faq p{margin:0 0 16px;color:#c4d1de;max-width:64ch}
.mb-legal{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;
  gap:0 36px}
.mb-legal a{display:inline-flex;align-items:center;min-height:48px}

/* ---------- footer ---------- */
.ft{background:var(--navy);color:#c9d5e2;padding:50px 0 32px}
.ft-in{max-width:1240px;margin:0 auto;padding:0 30px}
.ft-org strong{color:var(--wht)}
.ft-links{list-style:none;display:flex;flex-wrap:wrap;gap:2px 26px;padding:0;margin:0 0 18px}
.ft-links a{color:var(--wht);font-size:14.5px;min-height:44px;display:inline-flex;
  align-items:center}
.ft-links a:hover{color:var(--or)}
.ft-note{font-size:13px;color:#93a4b6;max-width:78ch;margin:0 0 10px}
.ft-c{font-size:12.5px;color:#8798a9;margin:22px 0 0;
  border-top:1px solid rgba(238,241,244,.16);padding-top:18px}

/* ---------- tablet ---------- */
@media (max-width:1100px){
  .mb-dark-in{padding-right:0}
  .mb-bridge{position:static;width:auto;margin:22px 0 0;padding:0}
  .mb-bridge img{width:100%;height:220px}
  .mb-bridge figcaption{max-width:none;padding-left:0}
  .mb-band--split .mb-in{padding-right:30px}
  .mb-themes3{grid-template-columns:1fr;gap:16px}
  .mb-band--split{background-image:
    linear-gradient(180deg,var(--cy) 0 62%,var(--or) 62% 100%)}
  .mb-th,.mb-part,.mb-spon,.mb-venue{grid-template-columns:1fr;gap:30px}
  .mb-pairs{grid-template-columns:repeat(2,1fr)}
  .mb-sec--sp{background:var(--wht)}
  .mb-slist{columns:1}
  .mb-proof{grid-template-columns:1fr}
  .mb-quotes{grid-template-columns:1fr}
}
/* ---------- mobile: bands become ordinary stacked sections ---------- */
@media (max-width:640px){
  body{font-size:16px}
  .mb-in,.mb-head-in,.mb-days ul{padding-left:20px;padding-right:20px}
  .mb-nav ul{gap:16px}
  .mb-band{animation:none}
  .mb-band--pale{padding:38px 0 40px}
  .mb-band--pale h1{font-size:clamp(36px,9.6vw,44px)}
  .mb-lede{font-size:17px}
  .mb-band--dark{padding:26px 0}
  .mb-dark-in{display:block}
  .mb-acts{margin-top:18px;display:grid;gap:10px}
  .mb-band--split{padding:24px 0}
  .mb-days ul{flex-direction:column;gap:0}
  .mb-days a{width:100%;border-bottom:1px solid rgba(25,46,73,.12)}
  .mb-sec{padding:44px 0}
  .mb-aband{padding:24px 0;margin-top:30px}
  .mb-aband-n{margin-left:0}
  .mb-pairs{grid-template-columns:1fr;gap:24px}
  .mb-legal{flex-direction:column;gap:0}
  .ft-links{flex-direction:column;gap:0}
}
