
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin:0; background:#FAF5EC; color:#333B58; font-family:Inter,system-ui,sans-serif; font-feature-settings:"ss01","cv11"; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:#E87A16; text-decoration:none; }
a:hover { color:#B4620F; }
::selection { background:#E87A16; color:#FFFFFF; }
html, body { overflow-x:clip; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #E87A16; outline-offset: 2px; }

form input::placeholder, form textarea::placeholder { color:rgba(110,104,87,.6); }
@media (max-width:900px){
  [data-navbar] [data-solbtn]{ display:none !important; }
  [data-navlogo] > img:first-of-type{ display:none !important; }
  [data-logomob]{ display:block !important; }
  [data-ctbody]{ border-radius:0 0 16px 16px !important; } [data-navlinks]{ display:none !important; } [data-kolgrid]{ grid-template-columns:1fr !important; } [data-wprow]{ flex-direction:column !important; align-items:flex-start !important; gap:20px !important; } [data-wpdrop]{ left:0 !important; right:auto !important; } }
@media (max-width:900px){ [data-datagrid]{ grid-template-columns:1fr !important; gap:34px !important; } [data-vgrid3]{ grid-template-columns:1fr !important; } [data-vsec]{ height:auto !important; } [data-vstage]{ position:static !important; min-height:0 !important; padding:72px 0 84px !important; } }
@media (max-width:900px){ [data-evolvegrid]{ grid-template-columns:1fr !important; gap:0 !important; } [data-sticky]{ display:none !important; } [data-step]{ min-height:0 !important; padding:30px 0 !important; } [data-mq]{ display:block !important; } }
@media (max-width:880px){ [data-crow]{ grid-template-columns:1fr !important; gap:20px !important; padding:44px 0 !important; } [data-crow] > *{ order:0 !important; } [data-crow]:last-child{ border-bottom:none !important; } }
html{ scroll-behavior:smooth; }
@media (max-width:880px){ [data-stackcard]{ position:static !important; transform:none !important; opacity:1 !important; } [data-spine]{ display:none !important; } }
@media (max-width:880px){ [data-chapter]{ display:none !important } }
@media (max-width:900px){ #top{ min-height:0 !important; padding-bottom:0 !important; } #problem{ padding-top:0 !important; } [data-datastage]{ min-height:0 !important; align-items:flex-start !important; padding-top:64px !important; } [data-datasec]{ height:110vh !important; } }
html, body{ overflow-x:clip; }
@media (min-width:1080px) and (max-height:1080px){
  #top{ padding-top:132px !important; min-height:0 !important; }
  #top [data-bookstack]{ transform:translate(0,8px) !important; padding-bottom:40px !important; padding-left:0 !important; display:flex; flex-direction:column; align-items:flex-end; }
  #top [data-bookstack] img{ width:auto !important; max-width:100% !important; max-height:58vh !important; margin-left:auto !important; }
  #top [data-qcard]{ bottom:56px !important; width:min(70%,330px) !important; padding:16px 18px !important; }
  #top [data-qcard] blockquote{ font-size:12.5px !important; }
  #top h1{ font-size:clamp(40px,min(6vw,8.6vh),88px) !important; }
  #top h1 + p{ margin-top:14px !important; font-size:15px !important; }
  #top [data-herogrid] > div:first-child > div:last-child{ margin-top:14px !important; }
  section{ padding-top:72px !important; padding-bottom:72px !important; }
  #top{ padding-bottom:0 !important; }
  #problem{ padding-top:0 !important; }
  #problem [data-datastage]{ min-height:0 !important; align-items:flex-start !important; padding-top:104px !important; }
  section h2{ font-size:clamp(26px,2.6vw,36px) !important; }
  section h3{ font-size:17px !important; }
  [data-causehead] h3{ font-size:clamp(26px,2.6vw,36px) !important; }
  section p{ font-size:14px !important; line-height:1.55 !important; }
  #campaign{ padding-bottom:0 !important; }
  [data-campgrid]{ max-width:1000px; margin:0 auto; gap:14px !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  [data-campgrid] article > div:nth-child(2){ padding:16px 18px 18px !important; gap:12px !important; }
  [data-campgrid] article h3{ margin-bottom:8px !important; }
  [data-campgrid] article > div:nth-child(2) > div > div{ font-size:12px !important; margin-bottom:8px !important; }
  [data-campgrid] article span{ font-size:10.5px !important; }
  #science > div > div:nth-child(2){ margin-bottom:28px !important; gap:20px !important; }
  [data-srow]{ padding:16px 0 !important; gap:14px !important; }
  [data-srow] > div{ gap:8px !important; }
  [data-srow] span:nth-child(2){ font-size:17px !important; }
  [data-srow] > div:last-child span:first-child{ font-size:14px !important; line-height:1.55 !important; }
}
@media (max-width:700px){
  [data-cttabs]{ flex-wrap:nowrap !important; }
  [data-cttabs] > div{ flex:1 1 0 !important; padding:12px 6px !important; font-size:11.5px !important; letter-spacing:.06em !important; text-align:center !important; white-space:nowrap !important; }
  [data-cttabs] > div:only-child{ flex:0 0 auto !important; padding:12px 20px !important; font-size:12px !important; letter-spacing:.1em !important; }
  [data-eyebrow]{ font-size:13px !important; letter-spacing:.12em !important; }
  [data-dbe2]{ display:none !important; }
  [data-mbe2]{ display:inline !important; }
  [data-step]{ min-height:0 !important; padding:30px 0 !important; }
  [data-sticky]{ display:none !important; }
  [data-mq]{ display:block !important; }
  [data-herogrid]{ grid-template-columns:1fr !important; }
  [data-herogrid] > div:first-child{ display:contents; }
  [data-herogrid] > div:first-child > *{ order:0; }
  [data-herogrid] > div:first-child > p, [data-herogrid] > div:first-child > div:nth-of-type(2){ order:2; }
  [data-herogrid] > div:first-child > h1{ margin-bottom:6px !important; }
  [data-herogrid] > div:nth-child(2){ order:1; margin:6px 0 10px; }
  [data-bookstack]{ padding:0 !important; transform:none !important; }
  [data-bookstack] img{ width:74% !important; margin:0 auto !important; }
  [data-qcard]{ position:relative !important; left:auto !important; bottom:auto !important; width:min(88%,360px) !important; margin:-64px auto 0 !important; box-shadow:0 18px 40px rgba(14,22,51,.14) !important; transform:none !important; }
  [data-mbe]{ display:flex !important; }
  [data-dbe]{ display:none !important; }
  [data-mbe] h2{ font-size:clamp(26px,7.4vw,32px) !important; }
  [data-campgrid]{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
  [data-campgrid] article > div:nth-child(2){ padding:14px 14px 16px !important; gap:12px !important; }
  [data-campgrid] article h3{ font-size:15.5px !important; margin-bottom:8px !important; }
  [data-campgrid] article p{ font-size:12px !important; line-height:1.5 !important; }
  [data-campgrid] article > div:nth-child(2) > div > div{ font-size:11px !important; margin-bottom:8px !important; letter-spacing:.1em !important; }
  [data-campgrid] article span{ font-size:10px !important; }
  [data-datastage]{ align-items:flex-start !important; padding-top:64px !important; padding-bottom:0 !important; min-height:0 !important; }
  [data-datasec]{ margin-top:0 !important; height:100vh !important; }
  [data-causehead]{ margin-top:16px !important; }
  [data-srow]{ padding-left:16px !important; padding-right:16px !important; }
  [data-navbar] img{ height:44px !important; }
  [data-navbar]{ gap:10px !important; padding-left:14px !important; }
  [data-solbtn]{ padding:9px 12px !important; font-size:11.5px !important; letter-spacing:.05em !important; }
  [data-crow] > div:first-child{ min-height:clamp(110px,15vh,170px) !important; }
  [data-heroexit] h1{ font-size:clamp(38px,11vw,44px) !important; }
  #top{ min-height:0 !important; padding-bottom:0 !important; }
  #problem{ padding-top:0 !important; }
  [data-qcard]{ margin-top:14px !important; }
}

[data-hamb]{ display:none; }
[data-mobilemenu]{ display:none; }
#om-nav-t:checked ~ [data-mobilemenu]{ display:flex !important; }
body:has(#om-nav-t:checked){ overflow:hidden; }
@media (max-width:900px){ [data-hamb]{ display:inline-flex !important; } }

/* ---------------------------------------------------------------------
 * HubSpot embeds. Both the message form and the newsletter render inside
 * a cross-origin iframe, so only the wrapper is ours: field styling lives
 * in the HubSpot form editor, not here.
 * ------------------------------------------------------------------- */
.r84-hsform iframe { display:block; width:100%; border:0; }
.r84-hsform--news { max-width:360px; margin-bottom:24px; }

/* HubSpot Meetings embed sits flush inside the contact panel */
[data-ctpane="demo"] .meetings-iframe-container { min-height:680px; }
[data-ctpane="demo"] iframe { display:block; width:100%; border:0; }

/* Inline display values from the prototype would otherwise beat [hidden] */
[hidden] { display:none !important; }

/* ---------------------------------------------------------------------
 * Campaign chapter carousel: a lightbox that pages through each
 * chapter's slides, rendered from its PDF with pdf.js.
 * ------------------------------------------------------------------- */
.r84-modal {
  position:fixed; inset:0; z-index:200;
  background:rgba(6,9,42,.78);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center;
  padding:24px;
  animation:r84ModalIn .25s ease;
}
@keyframes r84ModalIn { from { opacity:0; } to { opacity:1; } }
.r84-modal__shell {
  position:relative; width:min(1080px,100%); max-height:calc(100vh - 48px);
  background:#FAF5EC; border-radius:18px;
  box-shadow:0 40px 100px rgba(0,0,0,.5);
  display:flex; flex-direction:column; overflow:hidden;
  animation:r84ModalSlide .32s cubic-bezier(.2,.7,.2,1);
}
@keyframes r84ModalSlide {
  from { transform:translateY(14px) scale(.98); opacity:0; }
  to   { transform:translateY(0) scale(1); opacity:1; }
}
.r84-modal__close {
  position:absolute; top:14px; right:14px; width:38px; height:38px;
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(10,18,64,.06); border:1px solid #EBE2D0; border-radius:50%;
  color:#0E1633; font-size:22px; line-height:1; cursor:pointer; z-index:3;
  transition:background .2s ease, transform .2s ease;
}
.r84-modal__close:hover { background:#E87A16; color:#fff; transform:rotate(90deg); }
.r84-modal__header { padding:30px 40px 18px; border-bottom:1px solid #EBE2D0; }
.r84-modal__num {
  font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:#B4620F;
}
.r84-modal__title {
  margin:6px 0 0; font-size:clamp(22px,2.2vw,30px); font-weight:800;
  letter-spacing:-.02em; color:#0E1633;
}
.r84-modal__stage {
  position:relative; flex:1; display:grid; grid-template-columns:56px 1fr 56px;
  align-items:center; padding:28px 24px 8px; min-height:0;
}
.r84-modal__arrow {
  width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid #EBE2D0; border-radius:50%;
  color:#0E1633; font-size:22px; line-height:1; cursor:pointer;
  transition:background .2s ease, transform .2s ease, border-color .2s ease;
}
.r84-modal__arrow:hover { background:#E87A16; border-color:#E87A16; color:#fff; transform:scale(1.08); }
.r84-modal__viewport {
  position:relative; display:flex; align-items:center; justify-content:center; min-height:360px;
}
.r84-modal__foot {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 40px 24px; gap:24px;
}
.r84-modal__dots { display:flex; gap:8px; flex-wrap:wrap; }
.r84-modal__dot {
  width:24px; height:6px; border-radius:3px; background:#EBE2D0; border:0;
  cursor:pointer; transition:background .2s ease, transform .2s ease;
}
.r84-modal__dot.is-on { background:#E87A16; transform:scaleY(1.1); }
.r84-modal__dot:hover { background:#F19A3E; }
.r84-modal__counter {
  font-family:'JetBrains Mono',monospace; font-size:11px;
  letter-spacing:.16em; text-transform:uppercase; color:#6E6857;
}
@media (max-width:720px) {
  .r84-modal { padding:12px; }
  .r84-modal__header, .r84-modal__foot { padding-left:20px; padding-right:20px; }
  .r84-modal__stage { grid-template-columns:40px 1fr 40px; padding:18px 8px 4px; }
  .r84-modal__arrow { width:36px; height:36px; font-size:18px; }
}

/* the slide itself, rendered into a canvas by pdf.js */
.r84-pdf-page {
  position:relative; display:flex; align-items:center; justify-content:center;
  overflow:hidden; background:#0a0d28;
}
.r84-pdf-page__canvas {
  display:block; width:100%; height:100%; object-fit:contain;
  opacity:0; transition:opacity .4s ease;
}
.r84-pdf-page.is-ready .r84-pdf-page__canvas { opacity:1; }
.r84-pdf-page__loading { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.r84-pdf-page__spinner {
  width:24px; height:24px;
  border:2.5px solid rgba(255,255,255,.18); border-top-color:#E87A16;
  border-radius:50%; animation:r84Spin .9s linear infinite;
}
@keyframes r84Spin { to { transform:rotate(360deg); } }
.r84-pdf-page__err {
  font-family:'JetBrains Mono',monospace; font-size:10.5px;
  letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.7);
}
.r84-modal__slot {
  border:1px solid rgba(255,255,255,.08); border-radius:14px;
  aspect-ratio:4/5; max-height:min(64vh,620px); width:auto; margin:0 auto;
}
