
*,*::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{
  --porcelain:#F8F9F7;--blue:#173A63;--green:#357565;
  --vermilion:#C9513D;--graphite:#252B33;
}
body{background:var(--porcelain);color:var(--graphite);
  font-family:"Rethink Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:400;line-height:1.55;font-size:17px}
h1,h2,h3,h4{font-weight:800;line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em}
p{margin:0 0 1em}

/* ---- thin top row ---- */
.top{border-bottom:1px solid rgba(37,43,51,.14);background:var(--porcelain)}
.top-in{max-width:1240px;margin:0 auto;padding:14px 24px;display:flex;
  align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ident{margin:0;display:flex;align-items:baseline;gap:10px}
.ident-m{font-weight:800;letter-spacing:.14em;color:var(--blue);font-size:15px}
.ident-t{font-size:14px;color:#5b636d}
.top nav ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;flex-wrap:wrap}
.top nav a{text-decoration:none;font-size:14.5px;font-weight:600;color:var(--graphite);
  padding:11px 0;display:inline-block;min-height:44px}
.top nav a:hover{color:var(--vermilion)}

/* ---- monogram hero ---- */
.hero{position:relative;max-width:1240px;margin:0 auto;padding:64px 24px 76px;
  display:grid;grid-template-columns:1.05fr .95fr;grid-template-areas:"e b" "d b";
  gap:38px 46px;align-items:start}
.mono-field{position:absolute;inset:40px 24px auto;display:grid;
  grid-template-columns:repeat(3,1fr);pointer-events:none;z-index:0}
.mono{width:100%;height:auto;overflow:visible}
.mono text{font-family:"Rethink Sans",sans-serif;font-weight:800;font-size:118px;
  fill:none;stroke:var(--blue);stroke-width:1.15;opacity:.13;
  stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.5s ease forwards}
.mono--d text{stroke:var(--green);animation-delay:.18s}
.mono--b text{stroke:var(--vermilion);animation-delay:.36s}
@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.mono text{stroke-dashoffset:0;animation:none}}
.hero-e{grid-area:e;position:relative;z-index:1}
.hero-d{grid-area:d;position:relative;z-index:1}
.hero-b{grid-area:b;position:relative;z-index:1}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12.5px;
  font-weight:700;color:var(--green);margin:0 0 14px}
.hero h1{font-size:clamp(36px,4.6vw,72px);max-width:13ch}
.lede{font-size:19px;max-width:46ch;color:#434b55}
.hero-b img{width:100%;border-radius:2px}
.cap{font-size:12.5px;color:#6b737d;margin:10px 0 0}
.facts{margin:0;border-top:2px solid var(--blue)}
.fr{display:grid;grid-template-columns:132px 1fr;gap:16px;
  padding:13px 0;border-bottom:1px solid rgba(37,43,51,.13)}
.fr dt{font-size:12.5px;text-transform:uppercase;letter-spacing:.09em;
  font-weight:700;color:var(--green)}
.fr dd{margin:0;font-weight:600}
.acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 26px;
  border:1.5px solid var(--blue);color:var(--blue);text-decoration:none;
  font-weight:700;font-size:15px;border-radius:2px}
.btn--p{background:var(--vermilion);border-color:var(--vermilion);color:#fff}
.btn:hover{background:var(--blue);color:#fff}
.btn--p:hover{background:var(--graphite);border-color:var(--graphite)}

/* ---- sections ---- */
.sec{position:relative;padding:62px 0;border-top:1px solid rgba(37,43,51,.12)}
.sec-in{max-width:1240px;margin:0 auto;padding:0 24px}
.sec h2{font-size:clamp(26px,2.9vw,40px)}
.mk{position:absolute;top:22px;right:28px;font-size:104px;font-weight:800;
  color:var(--blue);opacity:.07;margin:0;line-height:1;pointer-events:none}
.big{font-size:19.5px;max-width:64ch;color:#434b55}
.sub{color:#5b636d}
.theme-list{columns:2;column-gap:40px;list-style:none;padding:0;margin:14px 0 0}
.theme-list li{break-inside:avoid;padding:9px 0 9px 20px;position:relative;
  border-bottom:1px solid rgba(37,43,51,.1)}
.theme-list li::before{content:"";position:absolute;left:0;top:17px;width:9px;height:2px;
  background:var(--vermilion)}
.themes h3{font-size:15px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--green);margin-top:32px}

/* ---- day chapters: long horizontal bands ---- */
.chap{margin-top:34px;border-top:3px solid var(--blue);background:#fff}
.chap-h{display:grid;grid-template-columns:96px 1fr;align-items:center;
  gap:20px;padding:20px 26px;background:var(--blue);color:#fff}
.chap-n{font-size:54px;font-weight:800;line-height:1;margin:0;opacity:.5}
.chap-h h3{margin:0;font-size:22px;color:#fff}
.chap-t{grid-column:2;margin:4px 0 0;font-size:14.5px;opacity:.86}
.chap-body{display:grid;grid-template-columns:1fr 268px;gap:34px;padding:26px}
.sessions{list-style:none;margin:0;padding:0;counter-reset:s}
.ses{display:grid;grid-template-columns:78px 1fr;gap:4px 18px;padding:16px 0;
  border-bottom:1px solid rgba(37,43,51,.12)}
/* Explicit placement: without it the five children auto-flow into the 2-column
   grid, which dropped the speaker line and the bullet list into the 78px time
   gutter and stretched every session row to ~900px. */
.ses .t{grid-column:1;grid-row:1/span 4;font-weight:800;color:var(--vermilion);
  margin:0;font-size:15px}
.ses h4,.ses .sp,.ses .role,.ses .pts{grid-column:2}
.ses h4{margin:0 0 4px;font-size:17.5px;font-weight:700}
.ses .sp{margin:0;font-weight:600;font-size:14.5px}
.ses .role{margin:0;font-size:13px;color:#6b737d}
.pts{margin:9px 0 0;padding-left:18px;font-size:14px;color:#525a64}
.pts li{margin:3px 0}
.chap-sp h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--green);margin:0 0 12px}
.heads{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.heads li{display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:600}
.heads img{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none}

/* ---- wide speaker feature ---- */
.feat{display:grid;grid-template-columns:260px 1fr;gap:34px;align-items:center;
  background:#fff;padding:28px;border-left:5px solid var(--green);margin-top:10px}
.feat img{width:100%;border-radius:2px}
.feat h3{font-size:27px;margin-bottom:6px}
.feat-r{color:var(--green);font-weight:700;margin-bottom:10px}
.feat-s{color:#525a64}
.lnk{color:var(--blue);font-weight:700}

/* ---- evidence ---- */
.sec--part{background:var(--blue);color:#fff;border-top:none}
.sec--part h2,.sec--part .big{color:#fff}
.sec--part .btn{border-color:#fff;color:#fff}
.sec--part .btn--p{background:#fff;color:var(--blue);border-color:#fff}
.sec--part .btn:hover{background:var(--vermilion);border-color:var(--vermilion);color:#fff}
.fine{font-size:13.5px;opacity:.8;margin-top:18px}
.ev-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:8px}
.ev-fig{margin:0}
.ev-fig img{width:100%;border-radius:2px}
.ev-fig figcaption{font-size:12.5px;color:#6b737d;margin-top:8px}
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:34px}
.q{margin:0;background:#fff;padding:22px;border-top:3px solid var(--vermilion)}
.q blockquote{margin:0}
.q p{font-size:16.5px;font-style:italic;margin-bottom:12px}
.q figcaption{font-size:13.5px;font-weight:700;color:var(--green)}
details{border-bottom:1px solid rgba(37,43,51,.14);padding:6px 0}
summary{font-weight:700;font-size:16.5px;padding:10px 0}
details p{margin:0 0 14px;color:#525a64;max-width:70ch}

/* ---- footer ---- */
.ft{background:var(--graphite);color:#e6e9ec;padding:48px 0 34px;margin-top:0}
.ft-in{max-width:1240px;margin:0 auto;padding:0 24px}
.ft-org strong{color:#fff}
.ft-links{list-style:none;display:flex;flex-wrap:wrap;gap:8px 26px;padding:0;margin:0 0 22px}
.ft-links a{color:#e6e9ec;font-size:14.5px;min-height:44px;display:inline-flex;
  align-items:center}
.ft-links a:hover{color:#fff}
.ft-note{font-size:13px;color:#a7aeb6;max-width:78ch;margin:0 0 10px}
.ft-c{font-size:12.5px;color:#8b939c;margin:20px 0 0;
  border-top:1px solid rgba(255,255,255,.12);padding-top:18px}

/* ---- tablet ---- */
@media (max-width:1000px){
  .hero{grid-template-columns:1fr;grid-template-areas:"e" "b" "d";padding-top:44px}
  .mono-field{inset:28px 24px auto}
  .chap-body{grid-template-columns:1fr}
  .feat{grid-template-columns:1fr}
  .ev-grid,.quotes{grid-template-columns:1fr}
}
/* ---- mobile: single outlined E behind no text; E/D/B markers remain ---- */
@media (max-width:640px){
  body{font-size:16px}
  .mono-field{grid-template-columns:1fr;inset:18px 24px auto;opacity:.9}
  .mono--d,.mono--b{display:none}
  .mono text{font-size:150px;opacity:.1}
  .hero{padding:34px 20px 48px;gap:28px}
  .hero h1{font-size:clamp(30px,8.6vw,42px)}
  .lede{font-size:17px}
  .sec{padding:44px 0}
  .sec-in,.top-in{padding-left:20px;padding-right:20px}
  .mk{font-size:64px;top:14px;right:18px}
  .theme-list{columns:1}
  .chap-h{grid-template-columns:62px 1fr;padding:16px 18px}
  .chap-n{font-size:38px}
  .chap-body{padding:18px}
  .ses{grid-template-columns:62px 1fr;gap:12px}
  .btn{width:100%;justify-content:center}
  .ft-links{flex-direction:column;gap:0}
}
