/* Shared launch finish: editorial hierarchy, reliable flow and contact controls. */
:root{--ls-paper:#f4f2e9;--ls-ink:#22382a;--ls-muted:#4d5b50;--ls-rule:#cbd0c2;--ls-editorial:Literata,Georgia,serif;--ls-section-space:clamp(72px,6vw,104px);}
#how.signal-story,#grid.panel{background:var(--ls-paper);}
#foundation.evidence{--ei-paper:var(--ls-paper);--ei-ink:var(--ls-ink);}
#faq{--qn-paper:var(--ls-paper);}
#contact{--dp-paper:var(--ls-paper);--dp-ink:var(--ls-ink);}
main #how .signal-story__title,main #brief h2,main #example.panel .vx-ans__h,
main #grid .watch h2,main #foundation.evidence h2,main #faq .qn-intro h2,main #contact .dp-invitation h2{
  font-family:var(--ls-editorial);font-weight:400;font-size:clamp(36px,4.1vw,62px);line-height:1.12;letter-spacing:-.038em;text-wrap:balance;
}
#how .signal-story__title{max-width:22ch;}
#grid .watch h3,#foundation .ei-reading h3,#contact .dp-conversation h3{font-family:var(--ls-editorial);font-weight:400;line-height:1.2;letter-spacing:-.025em;}
#foundation .ei-source blockquote{font-family:var(--ls-editorial);font-weight:400;}
.hero__invitation{max-width:56ch;margin:22px 0 0;color:#d0d8c7;font-size:13px;line-height:1.65;}
#example.panel .op-lenses button,#example.panel .op-footer button{min-height:44px;}
#example.panel .op-lenses button{display:inline-flex;align-items:center;justify-content:center;}
#contact .dp-email{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;margin-top:20px;padding-top:14px;border-top:1px solid var(--ls-rule);}
#contact .dp-email a{color:var(--dp-ink);font-size:14px;line-height:1.5;text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere;}
#contact .dp-email button{min-height:44px;border:0;background:transparent;color:var(--dp-ink);font:inherit;font-size:12px;font-weight:600;padding:8px 4px;cursor:pointer;}
#contact .dp-email button:hover{color:#386349;text-decoration:underline;text-underline-offset:4px;}
#contact .dp-email :focus-visible{outline:2px solid #386349;outline-offset:4px;}
#contact .dp-email__status{min-height:20px;margin:3px 0 0;color:var(--dp-muted);font-size:12px;line-height:1.5;}
.mini-nav.rd-bar,.mini-nav.rd-bar.rd-bar--solid{background:rgba(24,36,28,.97);box-shadow:0 8px 26px rgba(8,15,10,.13);border-radius:16px;}
.rd-bar .mini-nav__links a::before{display:none;}
.rd-bar .mini-nav__links a[aria-current],.rd-bar .mini-nav__links a:hover{background:rgba(225,240,212,.075);box-shadow:none;}
.rd-bar .mini-nav__links a .nav-icon{filter:none;}
.rd-bar .mini-nav__cta{min-height:44px;background:#e8ead9;box-shadow:none;}
@media(min-width:1001px){
  #how .signal-story__inner{padding-block:var(--ls-section-space);}
  #foundation .ei-wrap{padding-block:var(--ls-section-space);}
  main>#faq.panel>.panel__inner.qn-layout,main>#contact.panel>.panel__inner.dp-layout{padding-block:var(--ls-section-space);}
}
@media(max-width:1000px){
  #example.panel .vx-ans{row-gap:16px;}
  #example.panel .vx-ans .vx-answer-limit{margin-top:0;}
  /* Old scrollytelling used display:contents and a caption above a sticky map. */
  #example.panel .product-preview .vx-side{display:block;grid-column:1/-1;position:static;}
  #example.panel .product-preview .demo__map{position:static;background:transparent;margin:0;padding:0;gap:10px;}
  #example.panel .product-preview .demo__map::before{display:none;}
  #example.panel .product-preview #demoCap{display:block;position:static;inset:auto;visibility:visible;max-width:none;margin:0;color:var(--vx-t3);font-size:12px;line-height:1.6;}
  #example.panel .op-tabs{margin-bottom:24px;}
  #example.panel .op-lenses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  #example.panel .op-story{margin-top:30px;}
  #example.panel .attribstrip{border-radius:3px;}
}
@media(max-width:600px){
  main #how .signal-story__title,main #brief h2,main #example.panel .vx-ans__h,main #grid .watch h2,main #foundation.evidence h2,main #faq .qn-intro h2,main #contact .dp-invitation h2{font-size:clamp(34px,9vw,44px);letter-spacing:-.035em;}
  .hero__invitation{font-size:12px;margin-top:18px;}
  #example.panel .op-calculation .vx-narr{padding:20px 16px;}
}
