/* Shared site directory */
html { scroll-padding-top: 82px; }
body.menu-open { overflow: hidden; }

.mega-menu-ready .nav-links { display: none !important; }
.mega-menu-ready .nav-toggle.mega-menu-toggle {
  display: inline-grid !important;
  grid-template-columns: auto 22px;
  place-items: center;
  gap: 10px;
  width: auto;
  min-width: 98px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(21, 22, 21, .14);
  border-radius: 10px;
  background: rgba(255,255,255,.82);
  color: #151615;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
}

.mega-menu-toggle-icon {
  display: grid;
  gap: 5px;
  width: 18px;
}
.mega-menu-toggle-icon i {
  display: block;
  height: 1px;
  background: currentColor;
  transition: transform .2s ease;
}
.mega-menu-toggle:hover .mega-menu-toggle-icon i:first-child { transform: translateX(3px); }
.mega-menu-toggle:hover .mega-menu-toggle-icon i:last-child { transform: translateX(-3px); }
.mega-menu-toggle:focus-visible,
.mega-menu-close:focus-visible,
.mega-menu a:focus-visible {
  outline: 3px solid #315fba;
  outline-offset: 3px;
}

.mobile-menu.mega-menu {
  display: block !important;
  position: fixed;
  inset: 0;
  z-index: 2600;
  overflow-y: auto;
  padding: 0;
  border: 0;
  background:
    radial-gradient(circle at 86% 8%, rgba(49,95,186,.1), transparent 29%),
    #f8f8f6;
  color: #151615;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-18px);
  pointer-events: none;
  transition: opacity .22s ease, transform .28s cubic-bezier(.2,.75,.25,1);
}
.mobile-menu.mega-menu.open {
  visibility: visible;
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.mega-menu-shell {
  width: min(100% - 48px, 1380px);
  margin-inline: auto;
  padding-bottom: 34px;
}
.mega-menu-top {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  min-height: 84px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid rgba(21,22,21,.1);
  background: rgba(248,248,246,.94);
  backdrop-filter: blur(18px);
}
.mobile-menu.mega-menu .mega-menu-brand {
  display: inline-flex;
  align-items: flex-start;
  padding: 0;
  border: 0;
  color: #151615;
  font-size: inherit;
  font-weight: inherit;
}
.mega-menu-close {
  display: inline-grid;
  grid-template-columns: auto 34px;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 5px 0 15px;
  border: 1px solid rgba(21,22,21,.14);
  border-radius: 999px;
  background: #fff;
  color: #151615;
  font-size: .8rem;
  font-weight: 700;
  cursor: pointer;
}
.mega-menu-close i {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #151615;
}
.mega-menu-close i::before,
.mega-menu-close i::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 16px;
  width: 14px;
  height: 1px;
  background: #fff;
}
.mega-menu-close i::before { transform: rotate(45deg); }
.mega-menu-close i::after { transform: rotate(-45deg); }

.mega-menu-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  align-items: end;
  gap: 56px;
  padding: 54px 0 46px;
}
.mega-menu-kicker {
  grid-column: 1 / -1;
  margin: 0 0 -34px;
  color: #315fba;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.mega-menu-intro h2 {
  max-width: 780px;
  margin: 0;
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-size: clamp(2.7rem, 5.5vw, 5.7rem);
  font-weight: 500;
  line-height: .93;
  letter-spacing: -.052em;
}
.mega-menu-intro > p:last-child {
  max-width: 470px;
  margin: 0 0 6px;
  color: #5f625f;
  font-size: 1rem;
  line-height: 1.6;
}

.mega-menu-grid {
  display: grid;
  grid-template-columns: .9fr 1fr 1.18fr 1fr;
  gap: clamp(22px, 3vw, 48px);
  padding: 34px 0 42px;
  border-top: 1px solid rgba(21,22,21,.1);
}
.mega-menu-group { min-width: 0; }
.mega-menu-group h3 {
  margin: 0 0 16px;
  color: #6b6e69;
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.mobile-menu.mega-menu .mega-menu-group a {
  display: block;
  padding: 11px 0;
  border: 0;
  color: #151615;
  text-decoration: none;
}
.mega-menu-group strong {
  display: inline-block;
  position: relative;
  font-size: .94rem;
  line-height: 1.3;
}
.mega-menu-group strong::after {
  content: "";
  position: absolute;
  inset: auto 0 -3px;
  height: 1px;
  background: #151615;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .2s ease;
}
.mega-menu-group a:hover strong::after { transform: scaleX(1); transform-origin: left; }
.mega-menu-group small {
  display: block;
  max-width: 260px;
  margin-top: 4px;
  color: #676a65;
  font-size: .72rem;
  line-height: 1.42;
}
.mega-menu-stack { display: grid; align-content: start; gap: 28px; }

.mega-menu-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 40px;
  padding: 28px 30px;
  border: 1px solid rgba(21,22,21,.12);
  border-radius: 16px;
  background: #151615;
  color: #f8f8f6;
  box-shadow: 0 24px 60px rgba(21,22,21,.13);
}
.mega-menu-feature p {
  margin: 0 0 7px;
  color: #91b7ff;
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.mega-menu-feature h3 {
  margin: 0 0 5px;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: 1.45rem;
  font-weight: 500;
}
.mega-menu-feature span { color: #bfc1bb; font-size: .82rem; }
.mega-menu-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: 9px; }
.mobile-menu.mega-menu .mega-menu-actions a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  color: #fff;
  font-size: .76rem;
  font-weight: 750;
}
.mobile-menu.mega-menu .mega-menu-actions a:first-child { background: #fff; color: #151615; }

@media (max-width: 980px) {
  .mega-menu-intro { grid-template-columns: 1fr; gap: 22px; }
  .mega-menu-kicker { margin-bottom: -10px; }
  .mega-menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mega-menu-feature { grid-template-columns: 1fr; align-items: start; }
  .mega-menu-actions { justify-content: start; }
}

@media (max-width: 640px) {
  .site-nav .nav-cta,
  #navbar .nav-cta { display: none; }
  .nav-toggle.mega-menu-toggle { min-width: 90px; }
  .mega-menu-shell { width: min(100% - 30px, 1380px); }
  .mega-menu-top { min-height: 72px; }
  .mega-menu-intro { padding: 38px 0 30px; }
  .mega-menu-intro h2 { font-size: clamp(2.55rem, 13vw, 4rem); }
  .mega-menu-intro > p:last-child { font-size: .9rem; }
  .mega-menu-grid { grid-template-columns: 1fr; gap: 28px; padding: 28px 0 34px; }
  .mega-menu-group small { max-width: 330px; }
  .mega-menu-stack { gap: 28px; }
  .mega-menu-feature { gap: 22px; padding: 24px; }
  .mega-menu-actions { display: grid; }
  .mobile-menu.mega-menu .mega-menu-actions a { justify-content: center; }
}

/* Shared assistance layer */
.help-dock {
  position: fixed;
  right: clamp(14px, 2.2vw, 30px);
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 2200;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.help-launcher {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 8px 22px 8px 8px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  background: #111211;
  color: #fff;
  box-shadow: 0 18px 50px rgba(15, 16, 15, .24);
  font-size: 1rem;
  font-weight: 650;
  letter-spacing: -.015em;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}

.help-launcher:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 58px rgba(15, 16, 15, .3);
}

.help-launcher:focus-visible,
.help-close:focus-visible,
.help-option:focus-visible {
  outline: 3px solid #91b7ff;
  outline-offset: 3px;
}

.help-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 34%, rgba(255,255,255,.42), transparent 14%),
    conic-gradient(from 25deg, #91b7ff, #315fba 42%, #151615 43% 56%, #91b7ff 57% 100%);
  color: #fff;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: 1.25rem;
  box-shadow: inset 0 0 0 5px #111211;
}

.help-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  width: min(350px, calc(100vw - 28px));
  padding: 20px;
  border: 1px solid rgba(21, 22, 21, .12);
  border-radius: 20px;
  background: rgba(255, 255, 255, .98);
  color: #151615;
  box-shadow: 0 28px 80px rgba(18, 20, 18, .22);
  transform: translateY(8px) scale(.98);
  transform-origin: bottom right;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.help-panel[hidden] { display: block; visibility: hidden; }
.help-dock[data-open="true"] .help-panel {
  visibility: visible;
  transform: none;
  opacity: 1;
  pointer-events: auto;
}

.help-panel-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 8px;
}

.help-panel h2 {
  margin: 0;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: 1.42rem;
  font-weight: 500;
  letter-spacing: -.025em;
}

.help-close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  padding: 0;
  border: 1px solid rgba(21, 22, 21, .12);
  border-radius: 50%;
  background: #f0f1ee;
  color: #151615;
  font-size: 1.15rem;
  line-height: 1;
  cursor: pointer;
}

.help-intro {
  margin: 0 0 14px;
  color: #5f625f;
  font-size: .88rem;
  line-height: 1.5;
}

.help-options { display: grid; gap: 8px; }
.help-option {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 13px 14px;
  border: 1px solid rgba(21, 22, 21, .1);
  border-radius: 12px;
  background: #f8f8f6;
  color: #151615;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease;
}

.help-option:hover { background: #eef0ec; border-color: rgba(21, 22, 21, .2); }
.help-option strong { display: block; font-size: .88rem; }
.help-option small { display: block; color: #6d706b; font-size: .73rem; }
.help-option-icon { color: #315fba; font-size: 1rem; }

/* Homepage contract-review model */
.contract-object-wrap {
  width: min(100%, 520px);
  margin: 20px auto 12px;
  perspective: 1200px;
}

.contract-object {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 228px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #151615;
  cursor: grab;
  touch-action: pan-y;
}
.contract-object:active { cursor: grabbing; }
.contract-object:focus-visible {
  outline: 3px solid #315fba;
  outline-offset: 6px;
  border-radius: 22px;
}

.contract-stack {
  --stack-tilt-x: -7deg;
  --stack-tilt-y: -13deg;
  position: relative;
  width: 330px;
  height: 190px;
  transform-style: preserve-3d;
  transform: rotateX(var(--stack-tilt-x)) rotateY(var(--stack-tilt-y));
  transition: transform .38s cubic-bezier(.2,.75,.25,1);
}

.contract-sheet {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(21, 22, 21, .14);
  border-radius: 13px;
  transform-style: preserve-3d;
}
.contract-sheet-back {
  background: linear-gradient(145deg, #151615, #262826);
  border-color: rgba(255,255,255,.13);
  transform: translate3d(30px, -18px, -78px) rotateZ(3deg);
  box-shadow: 0 34px 60px rgba(18,20,18,.18);
}
.contract-back-label {
  position: absolute;
  right: 17px;
  bottom: 14px;
  color: rgba(255,255,255,.48);
  font-size: .52rem;
  font-weight: 800;
  letter-spacing: .18em;
}
.contract-sheet-middle {
  background: linear-gradient(145deg, #dce5f8, #9fb8ec);
  transform: translate3d(16px, -9px, -38px) rotateZ(1.5deg);
  box-shadow: 0 24px 46px rgba(49,95,186,.14);
}
.contract-middle-rule {
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(49,95,186,.24);
  border-radius: 8px;
}
.contract-sheet-front {
  background: rgba(255,255,255,.98);
  box-shadow: 0 24px 55px rgba(20,22,20,.16);
  transform: translateZ(0);
}

.contract-sheet-bar {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 8px;
  height: 38px;
  padding: 0 12px;
  border-bottom: 1px solid rgba(21,22,21,.09);
  color: #565954;
  font-size: .58rem;
  font-weight: 700;
}
.contract-sheet-brand {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #151615;
  color: #fff;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: .72rem;
}
.contract-sheet-status {
  padding: 3px 6px;
  border: 1px solid rgba(49,95,186,.18);
  border-radius: 999px;
  background: rgba(49,95,186,.07);
  color: #315fba;
  font-size: .48rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.contract-view {
  position: absolute;
  inset: 38px 0 0;
  display: block;
  padding: 16px 18px;
  text-align: left;
  transition: opacity .28s ease, transform .38s cubic-bezier(.2,.75,.25,1);
}
.contract-page-kicker {
  display: block;
  margin-bottom: 5px;
  color: #315fba;
  font-size: .48rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.contract-view > strong {
  display: block;
  margin-bottom: 12px;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.02em;
}
.contract-copy-line {
  display: block;
  height: 4px;
  margin: 6px 0;
  border-radius: 999px;
  background: #dfe1dd;
}
.contract-copy-line.line-long { width: 92%; }
.contract-copy-line.line-medium { width: 68%; }
.contract-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-top: 14px;
}
.contract-metrics > span {
  display: block;
  padding: 7px;
  border: 1px solid rgba(21,22,21,.08);
  border-radius: 7px;
  background: #f6f7f4;
}
.contract-metrics small,
.contract-metrics b { display: block; }
.contract-metrics small { margin-bottom: 2px; color: #7c7f79; font-size: .43rem; }
.contract-metrics b { color: #272927; font-size: .54rem; }

.contract-view-decision { opacity: 0; transform: translateX(18px); }
.contract-stack[data-view="decision"] .contract-view-evidence { opacity: 0; transform: translateX(-18px); }
.contract-stack[data-view="decision"] .contract-view-decision { opacity: 1; transform: none; }
.decision-route {
  display: grid;
  grid-template-columns: 7px 1fr;
  align-items: center;
  gap: 7px;
  width: 72%;
  margin-top: 5px;
  color: #7a7d77;
  font-size: .53rem;
}
.decision-route i {
  display: block;
  width: 6px;
  height: 6px;
  border: 1px solid #b9bcb6;
  border-radius: 50%;
}
.decision-route.selected {
  width: 82%;
  padding: 5px 7px;
  border-radius: 6px;
  background: rgba(49,95,186,.08);
  color: #315fba;
  font-weight: 700;
}
.decision-route.selected i { border-color: #315fba; background: #315fba; }

.contract-review-note {
  position: absolute;
  right: -48px;
  top: 78px;
  display: grid;
  grid-template-columns: 8px 1fr;
  gap: 2px 7px;
  width: 128px;
  padding: 10px;
  border: 1px solid rgba(21,22,21,.1);
  border-radius: 10px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 36px rgba(20,22,20,.16);
  text-align: left;
  transform: translateZ(34px);
}
.review-note-dot {
  width: 7px;
  height: 7px;
  margin-top: 2px;
  border-radius: 50%;
  background: #315fba;
  box-shadow: 0 0 0 3px rgba(49,95,186,.11);
}
.contract-review-note strong { font-size: .52rem; line-height: 1.2; }
.contract-review-note small { grid-column: 2; color: #7a7d77; font-size: .45rem; }

.contract-object-caption {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin: 3px 0 0;
  color: #6d706b;
  font-size: .69rem;
}
.contract-object-caption strong { color: #151615; font-weight: 700; }
.view-separator { color: #c0c2bd; }

@media (max-width: 640px) {
  .help-launcher { min-height: 54px; padding: 7px 17px 7px 7px; font-size: .92rem; }
  .help-mark { width: 40px; height: 40px; flex-basis: 40px; font-size: 1.08rem; }
  .contract-object-wrap { margin-top: 16px; }
  .contract-object { height: 205px; transform: scale(.88); }
  .contract-review-note { right: -20px; }
  .contract-object-caption { margin-top: -8px; }
}

@media (prefers-reduced-motion: reduce) {
  .help-launcher,
  .help-panel,
  .help-option,
  .contract-stack,
  .contract-view { transition: none; }
}

.analytics-consent {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2400;
  display: grid;
  width: min(620px, calc(100% - 40px));
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  background: #151615;
  color: #fff;
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
}
.analytics-consent[hidden] { display: none !important; }
.analytics-consent strong { display: block; margin-bottom: 6px; font-size: 1.05rem; }
.analytics-consent p { margin: 0; color: #c5c7c2; font-size: .88rem; }
.analytics-consent a { color: #fff; text-decoration: underline; }
.analytics-consent-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.analytics-consent-actions button,
.analytics-choices {
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
}
.analytics-consent-actions button:last-child { background: #fff; color: #151615; }
.analytics-choices {
  position: fixed;
  left: 12px;
  bottom: 12px;
  z-index: 1500;
  min-height: 36px;
  padding: 7px 10px;
  border-color: rgba(21,22,21,.18);
  background: rgba(248,248,246,.94);
  color: #4e514d;
  font-size: .72rem;
  backdrop-filter: blur(12px);
}
@media (max-width: 640px) {
  .analytics-consent { right: 12px; bottom: 76px; width: calc(100% - 24px); }
  .analytics-consent-actions { display: grid; grid-template-columns: 1fr 1fr; }
}

/* Shared editorial system. Public content and interaction styles above stay intact. */
:root {
  --bg: #fafaf8;
  --bg-1: #050505;
  --bg-2: #f3f5f7;
  --bg-card: #ffffff;
  --bg-elevated: #ececef;
  --text: #181c19;
  --text-muted: #58625b;
  --text-dim: #64717c;
  --border: rgba(11, 11, 13, .09);
  --border-strong: rgba(11, 11, 13, .17);
  --blue: #486252;
  --blue-soft: rgba(36, 87, 197, .09);
  --radius-md: 16px;
  --radius-lg: 20px;
  --shadow-card: 0 24px 70px rgba(11, 11, 13, .07);
}

html { background: #fafaf8; }
body {
  overflow-x: clip;
  background: #fafaf8;
  letter-spacing: -.005em;
}
body::before { display: none; }
h1, h2, h3 { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-weight: 550; letter-spacing: -.045em; }
.subpage-hero { background: linear-gradient(#fafaf8, #f0f3ed); }
.section-soft { background: #f2f4ef; }
.brand-word, .brand-ai { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-weight: 650; line-height: 1; }
.brand, .logo, .footer-logo, .mega-menu-brand { display: inline-flex; align-items: baseline; }
.brand-ai { align-self: auto; position: static; margin-left: 0; transform: none; opacity: 1; font-size: 1.55rem !important; line-height: 1; letter-spacing: -.055em; }

.shell { width: min(100% - 64px, 1200px); }
.container { max-width: 1440px; }

nav#navbar,
.site-nav {
  min-height: 60px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(11,11,13,.055);
  background: rgba(255,255,255,.78);
  backdrop-filter: saturate(180%) blur(22px);
  -webkit-backdrop-filter: saturate(180%) blur(22px);
  transition: background-color .25s var(--ease), border-color .25s var(--ease), box-shadow .25s var(--ease);
}
nav#navbar.scrolled,
.site-nav.scrolled {
  border-color: rgba(11,11,13,.08);
  background: rgba(255,255,255,.88);
  box-shadow: none;
}
.brand-word { font-size: 1.55rem; letter-spacing: -.055em; }
.brand-ai { font-size: .66rem; }
.mega-menu-ready .nav-toggle.mega-menu-toggle {
  min-width: 104px;
  border-color: rgba(11,11,13,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 8px 24px rgba(11,11,13,.045);
}
.nav-cta,
.button,
.btn-primary,
.btn-secondary {
  min-height: 46px;
  padding-inline: 23px;
  border-radius: 999px;
  box-shadow: none;
}
.nav-cta:hover,
.button:hover,
.btn-primary:hover,
.btn-secondary:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(11,11,13,.11);
}

.hero {
  min-height: auto;
  padding: 132px 0 80px;
  background: radial-gradient(ellipse at 50% 68%, #d9e8f1 0%, #eff5f8 44%, #fff 76%);
}
.hero-bg,
.hero::before { display: none; }
.hero-content {
  width: min(100% - 40px, 1180px);
  max-width: none;
  margin-inline: auto;
  padding: 0;
}
.hero-badge {
  margin-bottom: 26px;
  padding: 0;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.hero h1 {
  max-width: 980px;
  margin: 0 auto 24px;
  font-size: clamp(3.1rem, 6.7vw, 6.25rem);
  line-height: 1.02;
  letter-spacing: -.055em;
}
.hero-sub {
  max-width: 610px;
  margin-bottom: 28px;
  font-size: clamp(1.08rem, 1.6vw, 1.22rem);
  line-height: 1.6;
}
.hero-cta-group { gap: 10px; }
.hero-trust { margin: 34px 0 0; }

/* A readable decision pack, with the existing interactive model as its evidence view. */
.hero h1 .hl { color: #4d6a7f; -webkit-text-fill-color: currentColor; background: none; }
.hero-badge::before { background: #56788f; }
.decision-pack {
  width: min(100%, 1120px);
  margin: 58px auto 0;
  overflow: hidden;
  border: 1px solid rgba(48, 75, 95, .16);
  border-radius: 22px;
  background: #fff;
  text-align: left;
  box-shadow: 0 32px 80px -28px rgba(48, 75, 95, .28), 0 2px 8px rgba(48, 75, 95, .04);
}
.decision-pack-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 64px;
  padding: 18px 28px;
  border-bottom: 1px solid var(--border);
  font-size: .8rem;
}
.decision-pack-brand { font-weight: 700; }
.decision-pack-brand > span { margin-left: 14px; color: var(--text-muted); font-weight: 400; }
.decision-pack-label { color: #53616d; font-size: .7rem; }
.decision-pack-body { display: grid; grid-template-columns: 1.1fr 1fr; }
.decision-pack .contract-object-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 36px 28px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(150deg, #e8f0f5, #f6f7f7);
  box-shadow: none;
}
.decision-pack .contract-object { height: 280px; }
.decision-pack .contract-stack { transform: rotateX(var(--stack-tilt-x)) rotateY(var(--stack-tilt-y)) scale(1.14); }
.decision-pack .contract-object-caption { flex-wrap: wrap; justify-content: center; line-height: 1.8; }
.decision-pack-summary { padding: 42px 40px 28px; }
.decision-pack-eyebrow { margin: 0 0 14px; color: #526d81; font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.decision-pack-summary h2 { margin: 0 0 26px; font-size: clamp(1.65rem, 2.6vw, 2.35rem); font-weight: 500; line-height: 1.12; letter-spacing: -.035em; }
.decision-pack-summary h2 span { color: #647785; }
.decision-pack-steps { margin: 0; }
.decision-pack-steps > div { padding: 13px 0; border-top: 1px solid var(--border); }
.decision-pack-steps dt { font-size: .84rem; font-weight: 650; }
.decision-pack-steps dt span { margin-right: 12px; color: #748593; font-size: .65rem; }
.decision-pack-steps dd { margin: 4px 0 0 28px; color: var(--text-muted); font-size: .77rem; }
.decision-pack-footnote { margin: 18px 0 0; color: var(--text-dim); font-size: .68rem; }
#how-it-works .protocol-card { border-top: 1px solid #ccd5dc; }
#how-it-works .protocol-action { padding: 0; background: transparent; color: #526d81; }
#how-it-works .routing-note { max-width: 760px; margin: 44px auto 0; text-align: center; }
#protocol .protocol-grid { gap: 20px; }
.protocol-card h3 { font-size: 1.3rem; letter-spacing: -.025em; }
.protocol-card p { line-height: 1.7; }

@media (max-width: 780px) {
  .decision-pack { margin-top: 42px; border-radius: 18px; }
  .decision-pack-bar { align-items: flex-start; padding: 16px 20px; }
  .decision-pack-brand > span { display: block; margin: 4px 0 0; }
  .decision-pack-label { max-width: 105px; text-align: right; }
  .decision-pack-body { grid-template-columns: 1fr; }
  .decision-pack .contract-object-wrap { padding: 24px 12px; }
  .decision-pack .contract-object { height: 230px; }
  .decision-pack .contract-stack { transform: rotateX(var(--stack-tilt-x)) rotateY(var(--stack-tilt-y)) scale(.84); }
  .decision-pack-summary { padding: 30px 24px; }
  .decision-pack-summary h2 { font-size: 2rem; }
}

.contract-object-wrap {
  width: min(100%, 820px);
  margin: 64px auto 10px;
  padding: 38px 34px 28px;
  border: 1px solid rgba(11,11,13,.065);
  border-radius: 38px;
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.9), transparent 52%),
    #f5f5f7;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.contract-object { height: 310px; }
.contract-stack {
  transform: rotateX(var(--stack-tilt-x)) rotateY(var(--stack-tilt-y)) scale(1.18);
}
.contract-sheet { border-radius: 17px; }
.contract-sheet-front { box-shadow: 0 34px 80px rgba(11,11,13,.16); }
.contract-object-caption { margin-top: 8px; }

.protocol-section,
.comparison-section,
.cta-section {
  margin: 0;
  overflow: hidden;
  border-radius: 0;
}
.protocol-section,
.comparison-section { padding: 104px 0; }
#how-it-works { background: #fff; }
#protocol { background: #fff; }
.section-header { margin-bottom: 64px; }
.section-header .section-tag::before,
.section-header .section-tag::after { display: none; }
.section-tag {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  letter-spacing: .13em;
}
.section-title {
  max-width: 900px;
  margin-inline: auto;
  font-size: clamp(2.5rem, 4.6vw, 4.3rem);
  line-height: 1.05;
  letter-spacing: -.055em;
}
.section-subtitle { max-width: 700px; font-size: 1.12rem; }

.protocol-grid { gap: 18px; }
.protocol-card {
  min-height: 0;
  padding: 32px;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
#protocol .protocol-card { background: #f3f5f7; border-radius: 20px; }
.protocol-card::before { display: none; }
.protocol-card:hover {
  transform: none;
  border-color: transparent;
  box-shadow: none;
}
.protocol-action,
.protocol-metric-pill {
  border-radius: 999px;
  background: rgba(11,11,13,.045);
}
.throughput-bar {
  margin-top: 18px;
  padding: 32px 38px;
  border: 0;
  border-radius: 28px;
  background: #0b0b0d;
  color: #fff;
  box-shadow: none;
}
.throughput-bar .throughput-label,
.throughput-bar .through-label,
.throughput-bar .through-val span { color: #a9a9ae; }
.throughput-bar .through-val { color: #fff; }

.comparison-section { background: #f3f5f7; }
.comparison-grid { gap: 18px; }
.comp-card {
  min-height: 0;
  padding: 48px 42px;
  border: 0;
  border-radius: 20px;
  box-shadow: none;
}
.comp-card.new {
  border: 0;
  background: #0b0b0d;
  color: #fff;
  box-shadow: none;
}
.comp-card.new::before { display: none; }
.comp-card.new .comp-label,
.comp-card.new .comp-title,
.comp-card.new .comp-level-val { color: #fff; }
.comp-card.new .comp-sub,
.comp-card.new .comp-list li,
.comp-card.new .comp-level-label { color: #bdbdc2; }
.comp-card.new .comp-level { border-color: rgba(255,255,255,.14); }
.aeo-faq {
  margin-top: 18px;
  padding: 48px;
  border: 0;
  border-radius: 20px;
  background: #fff;
}
.aeo-faq details { border-radius: 0; background: transparent; border-width: 0 0 1px; }

.cta-section {
  padding: 140px 0;
  background: #050505;
}
.cta-section::before { opacity: .7; }
.cta-content { max-width: 820px; }
.cta-title {
  font-size: clamp(2.8rem, 5.6vw, 5.3rem);
  line-height: .95;
  letter-spacing: -.055em;
}

.subpage-hero {
  min-height: 64vh;
  padding: 144px 0 96px;
  background: linear-gradient(160deg, #fff 32%, #eaf1f6);
}
.subpage-hero::after { display: none; }
.compact-hero { min-height: 54vh; }
.subpage-hero h1,
.subpage-hero .hero-grid h1 {
  max-width: 980px;
  font-size: clamp(3rem, 5.8vw, 5.5rem);
  line-height: 1.03;
  letter-spacing: -.058em;
}
.hero-grid { gap: 64px; }
.hero-card,
.card,
.download-card,
.form-card,
.score-panel {
  border-color: rgba(11,11,13,.075);
  border-radius: 20px;
  box-shadow: none;
}
.hero-card,
.form-card,
.score-panel { padding: 38px; }
.section { padding: 104px 0; }
.section-soft { background: #f3f5f7; }
.section-dark {
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  background: #17212b;
}
.section-head { margin-bottom: 58px; }
.section-head h2 { max-width: 840px; font-size: clamp(2.5rem, 4.4vw, 4.2rem); line-height: 1.06; }
.card { padding: 34px; }
.download-card { min-height: 380px; padding: 38px; }
.deliverable-grid article,
.boundary-grid div,
.timeline article,
.callout,
details {
  border-radius: 22px;
  box-shadow: none;
}
.callout { background: #f5f5f7; border-color: rgba(11,11,13,.075); }
.field input,
.field textarea { border-radius: 14px; }

.fit-call-hero {
  align-items: flex-start;
  padding-top: 118px;
}
.fit-call-hero .fit-call-hero-grid { align-items: start; }
.fit-call-intro { padding-top: 18px; }

.formkit-form .formkit-alert-success { display: none; }
.formkit-form .formkit-alert-error:empty { display: none; }
.formkit-form .formkit-alert-error:not(:empty) {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(164, 43, 43, .24);
  border-radius: 14px;
  background: rgba(164, 43, 43, .07);
  color: #7b2020;
}
.formkit-form[data-active="true"] .formkit-alert-success,
.formkit-form .formkit-alert-success[style*="display: block"] { display: block; }

.mobile-menu.mega-menu { background: #f5f5f7; }

.learning-path-grid .card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

.compact-number-list {
  display: grid;
  gap: 11px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.compact-number-list li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  color: var(--text-muted);
}

.compact-number-list li span {
  color: var(--blue);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.learning-path-grid .card p:has(.text-link):first-of-type {
  margin-top: auto;
}

.calculator-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  align-items: start;
  gap: 22px;
}

.rework-form {
  display: grid;
  gap: 24px;
}

.rework-form label {
  display: grid;
  gap: 7px;
  color: var(--text);
  font-weight: 700;
}

.rework-form label small {
  color: var(--text-muted);
  font-size: .78rem;
  font-weight: 400;
}

.rework-form input {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  background: var(--bg-elevated);
  color: var(--text);
}

.rework-form input:focus-visible {
  outline: 3px solid rgba(145, 183, 255, .42);
  outline-offset: 2px;
}

.rework-result {
  position: sticky;
  top: 92px;
  padding: 30px;
}

.result-breakdown {
  display: grid;
  gap: 10px;
  margin: 26px 0;
}

.result-breakdown div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border);
}

.result-breakdown dt { color: var(--text-muted); }
.result-breakdown dd { margin: 0; font-weight: 700; text-align: right; }

@media (max-width: 820px) {
  html { scroll-padding-top: 68px; }
  .calculator-layout { grid-template-columns: 1fr; }
  .rework-result { position: static; }
}
.mega-menu-top { background: rgba(245,245,247,.9); }
.mega-menu-feature { border-radius: 28px; background: #050505; box-shadow: none; }
.help-launcher { background: #050505; box-shadow: 0 16px 42px rgba(11,11,13,.2); }

@media (max-width: 780px) {
  .shell { width: min(100% - 32px, 1340px); }
  nav#navbar,
  .site-nav { min-height: 60px; }
  .hero { padding: 126px 0 72px; }
  .hero h1 { font-size: clamp(2.75rem, 12vw, 4.4rem); }
  .hero-sub { font-size: 1.05rem; }
  .contract-object-wrap {
    margin-top: 44px;
    padding: 24px 12px 20px;
    border-radius: 26px;
  }
  .contract-object { height: 230px; transform: none; }
  .contract-stack {
    transform: rotateX(var(--stack-tilt-x)) rotateY(var(--stack-tilt-y)) scale(.9);
  }
  .protocol-section,
  .comparison-section,
  .cta-section,
  .section-dark { margin: 0; border-radius: 0; }
  .protocol-section,
  .comparison-section,
  .cta-section,
  .section { padding: 82px 0; }
  .section-header { margin-bottom: 40px; }
  .section-title { font-size: clamp(2.3rem, 11vw, 3.7rem); }
  .protocol-card,
  .comp-card,
  .aeo-faq,
  .hero-card,
  .form-card,
  .score-panel,
  .download-card { padding: 28px 24px; border-radius: 22px; }
  .comp-card { min-height: auto; }
  .throughput-bar { padding: 28px 22px; border-radius: 22px; }
  .subpage-hero { min-height: auto; padding: 132px 0 78px; }
  .fit-call-hero { padding-top: 112px; }
  .fit-call-intro { padding-top: 0; }
  .subpage-hero h1,
  .subpage-hero .hero-grid h1 { font-size: clamp(2.6rem, 12vw, 4.2rem); }
  .section-head { margin-bottom: 38px; }
  .section-head h2 { font-size: clamp(2.25rem, 10vw, 3.6rem); }
}

@media (max-width: 640px) {
  .help-dock { right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); }
  .help-launcher {
    width: 52px;
    min-height: 52px;
    padding: 5px;
    gap: 0;
  }
  .help-launcher > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .help-mark { width: 40px; height: 40px; flex-basis: 40px; }
}

/* Product-story composition: intentionally scoped to the homepage. */
.home-showcase { --showcase-ink: #15283d; }
.home-showcase h1, .home-showcase h2, .home-showcase h3 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -.055em;
}
.home-showcase nav#navbar { min-height: 54px; padding: 4px 0; }
.home-showcase .nav-content { max-width: 1180px; }
.home-showcase .hero {
  position: relative;
  isolation: isolate;
  padding: 130px 0 42px;
  overflow: hidden;
  background: #fafaf8;
}
.home-showcase .hero::after {
  content: ""; position: absolute; z-index: -1; inset: 45% 4% 0;
  border-radius: 50% 50% 0 0;
  background: radial-gradient(ellipse at 50% 70%, #dde6dc 0%, #edf0e9 35%, transparent 70%);
  transform: none; opacity: .7;
}
.home-showcase .hero-content { width: min(1120px, 100% - 48px); }
.home-showcase .hero-badge { color: #56665b; font-size: .7rem; letter-spacing: .13em; margin-bottom: 21px; }
.home-showcase .hero-badge::before { display: none; }
.home-showcase .hero h1 { font-size: clamp(3.6rem, 7.1vw, 6.4rem); font-weight: 550; color: #171c18; line-height: 1.02; max-width: 1060px; margin-bottom: 24px; }
.home-showcase .hero h1 .hl { color: #171c18; font-style: normal; font-weight: 450; }
.home-showcase .hero-sub { max-width: 580px; color: #58625b; font-size: 1.12rem; line-height: 1.65; }
.home-showcase .hero .btn-primary { background: #1b241e; color: #fff; border-color: #1b241e; }
.home-showcase .hero .btn-secondary { color: #28382d; border: 1px solid #d9dfd6; background: transparent; box-shadow: none; }
.home-showcase .hero .hero-trust { color: #52687d; font-size: .72rem; margin-top: 28px; }
.home-showcase .hero .hero-trust strong { color: #2d465e; }
.decision-preview { margin: 62px auto 0; overflow: visible; text-align: left; background: transparent; border: 0; border-radius: 16px; box-shadow: none; }
.preview-chrome { display: flex; align-items: center; gap: 20px; padding: 17px 24px; width: 57%; border-radius: 12px 12px 0 0; background: #eef1ed; border-bottom: 1px solid #e0e6de; font-size: .7rem; color: #58685d; }
.preview-dots { display: flex; gap: 6px; }
.preview-dots i { width: 7px; height: 7px; background: #c5d0db; border-radius: 50%; }
.preview-fiction { margin-left: auto; font-size: .65rem; }
.decision-preview-grid { display: grid; grid-template-columns: 1.3fr 1fr; align-items: center; }
.preview-workflow { min-height: 380px; padding: 40px 48px; background: #fff; border-radius: 0 0 8px 8px; box-shadow: 0 30px 65px #23372a15; }
.preview-overline { font-size: .65rem; letter-spacing: .13em; font-weight: 650; color: #61788e; margin: 0 0 20px; }
.decision-preview h2 { font-size: 2rem; font-weight: 550; color: #1d344c; line-height: 1.15; margin: 0 0 20px; }
.preview-description { font-size: .82rem; line-height: 1.65; max-width: 340px; color: #66798b; }
.baseline-measures { margin-top: 26px; }
.baseline-measures > div { display: flex; justify-content: space-between; gap: 15px; padding: 15px 0; border-top: 1px solid #e7edf2; font-size: .76rem; color: #60758a; }
.baseline-measures strong { color: #253d55; font-weight: 600; }
.preview-source { color: #6c8092; font-size: .63rem; margin: 16px 0 0; }
.preview-verdict { position: relative; margin-left: -42px; margin-right: 14px; background: #222924; color: #fff; padding: 26px 28px; border: 1px solid #4a584b; border-radius: 16px; box-shadow: 0 32px 70px #20322835; }
.verdict-check { display: grid; place-items: center; background: #d9e9e1; color: #285941; width: 32px; height: 32px; border-radius: 50%; margin-bottom: 15px; }
.preview-verdict > p:not(.preview-overline) { color: #cbd5cc; font-size: .83rem; max-width: 360px; }
.home-showcase .preview-verdict h2 { color: #f7faf6; font-size: 1.5rem; margin: 22px 0 14px; }
.assistant-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.assistant-bar > strong { font-size: 1.25rem; font-weight: 550; letter-spacing: -.04em; }
.assistant-bar small { color: #bac9be; font-size: .58rem; font-weight: 400; letter-spacing: 0; }
.assistant-bar > span { color: #bbc8be; font-size: .56rem; }
.preview-verdict .assistant-context { margin-top: 20px; padding: 9px 11px; background: #ffffff09; border: 1px solid #ffffff15; border-radius: 7px; font-size: .65rem !important; }
.assistant-context span { color: #e2e9e1; float: right; }
.assistant-suggestions { display: flex; flex-wrap: wrap; gap: 6px; margin: 24px 0 14px; }
.assistant-suggestions > span { font-size: .6rem; padding: 7px 9px; border: 1px solid #66776c80; border-radius: 6px; color: #dce6db; }
.preview-verdict .assistant-composer { margin-bottom: 0; padding: 13px 11px; background: #ffffff0b; border-radius: 7px; color: #adbdb1 !important; font-size: .64rem !important; }
.assistant-composer span { float: right; }
.document-excerpt { font-family: Georgia, serif; font-size: .96rem; line-height: 1.9; color: #405248; max-width: 390px; margin: 22px 0; }
.document-excerpt mark { background: #e5edde; color: inherit; }
.document-lines i { height: 3px; display: block; width: 75%; background: #e9eee6; margin: 12px 0; }
.document-lines i:last-child { width: 55%; }
.route-comparison { display: flex; flex-wrap: wrap; gap: 7px; margin: 25px 0; }
.route-comparison span { padding: 6px 10px; border: 1px solid #d4e0e9; border-radius: 5px; color: #5e7284; font-size: .66rem; }
.route-comparison .chosen { color: #235139; background: #e0eee6; border-color: #b9d1c3; }
.verdict-next { border-top: 1px solid #d6e2eb; padding-top: 18px; display: grid; gap: 6px; font-size: .77rem; }
.verdict-next > span { color: #6b7e8f; font-size: .65rem; }
.verdict-next strong { font-weight: 550; color: #28435c; }
.decision-preview figcaption { padding: 25px 24px 12px; font-size: .67rem; color: #596b5e; border: 0; text-align: center; }
.home-showcase .section-title { font-size: clamp(2.6rem, 5.2vw, 4.6rem); font-weight: 550; max-width: 850px; }
.home-showcase #how-it-works { padding: 105px 0 85px; }
.home-showcase #how-it-works .section-subtitle { max-width: 620px; }
.entry-story { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center; max-width: 1080px; margin: 0 auto; }
.entry-visual { position: relative; min-height: 480px; padding: 42px 58px; border-radius: 5px; background: linear-gradient(145deg, #eef1eb, #dce4d9); }
.story-paper { position: relative; padding: 30px; background: #fff; min-height: 370px; transform: rotate(-5deg); box-shadow: 0 25px 40px #476c8525; }
.story-paper > span { color: #667d91; font-size: .57rem; letter-spacing: .1em; }
.story-paper > strong { display: block; color: #284a67; font-size: 2.4rem; line-height: 1.12; font-weight: 500; letter-spacing: -.055em; margin: 30px 0; }
.story-paper i, .margo-paper i { display: block; height: 3px; background: #e2e9ef; margin-top: 12px; width: 90%; }
.story-paper i:nth-last-of-type(1), .margo-paper i:nth-last-of-type(1) { width: 60%; }
.story-paper > p { color: #688094; font-size: .6rem; margin-top: 24px; }
.story-note { position: absolute; right: -22px; bottom: 44px; padding: 24px 30px; border-radius: 10px; color: #57738b; background: #fff; box-shadow: 0 15px 40px #3d61822a; font-size: .8rem; line-height: 1.6; }
.story-note strong { color: #254662; font-weight: 550; }
.home-showcase .entry-story .protocol-grid { display: block; }
.home-showcase .entry-story .protocol-card { padding: 25px 0; border: 0; background: transparent; }
.home-showcase .entry-story .protocol-card h3 { font-size: 1.6rem; font-weight: 550; margin: 8px 0 12px; }
.home-showcase .entry-story .protocol-card p { font-size: .95rem; }
.home-showcase #protocol { padding: 92px 0; color: #fff; background: #222924; }
.home-showcase #protocol .section-title { color: #fff; }
.home-showcase #protocol .section-subtitle { color: #c0d3e3; }
.home-showcase #protocol .section-tag { color: #b5cde0; }
.home-showcase #protocol .protocol-grid { max-width: 1120px; margin: auto; gap: 28px; }
.home-showcase #protocol .protocol-card { background: transparent; border-radius: 0; padding: 20px 0 0; border-top: 1px solid #ffffff35; }
.home-showcase #protocol .protocol-card h3 { color: #fff; font-size: 1.5rem; font-weight: 500; }
.home-showcase #protocol .protocol-card p { color: #b7cede; font-size: .85rem; }
.home-showcase #protocol .protocol-action { color: #c8dfef; background: transparent; padding: 0; }
.home-showcase #protocol .protocol-metrics { border-top-color: #ffffff20; }
.home-showcase #protocol .protocol-metric-pill { background: #ffffff0d; border: 0; color: #c3d7e5; }
.home-showcase #protocol .throughput-bar { background: transparent; margin: 55px auto 0; padding: 30px 0 0; max-width: 920px; border-top: 1px solid #ffffff28; border-radius: 0; }
.home-showcase .comparison-section { padding: 95px 0; background: #fff; }
.home-showcase .comparison-detail { max-width: 940px; margin: 0 auto; border-block: 1px solid #dce4eb; }
.home-showcase .comparison-detail > summary { cursor: pointer; padding: 25px 6px; color: #1e3a54; font-size: 1rem; }
.home-showcase .comparison-grid { padding-bottom: 28px; }
.home-showcase .comp-card { padding: 28px; border-radius: 8px; }
.home-showcase .aeo-faq { max-width: 850px; margin: 65px auto 0; padding: 0; background: transparent; }
.home-showcase .aeo-faq-head h2 { font-size: 2rem; font-weight: 550; }
.margo-showcase { background: #f0f3ed; padding: 95px 24px 0; overflow: hidden; }
.showcase-heading { max-width: 750px; margin: 0 auto; text-align: center; }
.home-showcase .showcase-heading h2 { font-size: clamp(3rem, 6.5vw, 5.4rem); font-weight: 550; line-height: 1.04; margin: 16px 0 24px; }
.showcase-heading > p { max-width: 550px; margin: 0 auto 25px; color: #536a80; font-size: 1.06rem; }
.showcase-heading .showcase-status { font-size: .7rem; margin-top: 20px; max-width: 470px; }
.margo-story-visual { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; align-items: center; max-width: 900px; margin: 65px auto -35px; }
.margo-paper { background: #fff; box-shadow: 0 12px 65px #2d4b6220; padding: 48px; min-height: 350px; transform: rotate(-4deg); }
.margo-paper > span, .margo-finding > span { font-size: .59rem; color: #667f94; letter-spacing: .13em; }
.home-showcase .margo-paper h3 { font-family: Georgia, serif; margin: 25px 0; font-size: 1.3rem; letter-spacing: 0; }
.margo-paper > p { font-family: Georgia, serif; color: #334c60; font-size: .92rem; line-height: 1.9; }
.margo-paper mark { background: #f7e9ba; color: inherit; }
.margo-finding { padding: 35px; background: #fff; border: 1px solid #dbe5ed; border-radius: 12px; box-shadow: 0 20px 45px #35577018; transform: translateX(-30px); }
.home-showcase .margo-finding h3 { font-size: 1.65rem; font-weight: 500; line-height: 1.2; margin: 18px 0; }
.margo-finding > p { color: #59768f; font-size: .78rem; }
.margo-finding > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 30px; }
.margo-finding > div span { font-size: .62rem; padding: 6px 9px; color: #395b76; background: #edf3f8; border-radius: 4px; }
.resource-showcase { padding: 110px 24px; background: #fff; }
.resource-showcase-grid { max-width: 1120px; margin: 60px auto 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.resource-showcase-grid a { position: relative; display: block; padding: 32px; min-height: 300px; background: #f1f5f8; border-radius: 12px; color: #1c3850; }
.resource-showcase-grid a:nth-child(2) { background: #e8eff7; }
.resource-showcase-grid a:nth-child(3) { background: #edf1ed; }
.resource-showcase-grid a > span { font-size: .62rem; letter-spacing: .1em; color: #526f87; }
.home-showcase .resource-showcase-grid h3 { font-size: 1.8rem; font-weight: 500; line-height: 1.2; margin: 28px 0 15px; }
.resource-showcase-grid p { font-size: .86rem; color: #5c7388; }
.resource-showcase-grid b { position: absolute; right: 25px; bottom: 24px; font-weight: 400; font-size: 1.4rem; }
.resource-showcase-grid a:hover { background: #e2edf5; }
.home-showcase .cta-section { background: #f5f7fa; padding: 95px 24px; }
.home-showcase .cta-title { font-size: clamp(2.8rem, 5vw, 4.6rem); font-weight: 550; }
.home-showcase .cta-subtitle { font-size: 1.05rem; }
.home-showcase footer { background: #f5f7fa; }

/* Contrast repair: the homepage inline block themes .cta-section and footer dark
   (near-white text via CSS variables). The light .home-showcase background
   overrides above left that white text on a light surface. Reset the variables
   and button treatments to the established light-surface language (matches
   .home-showcase .hero buttons) so headline, body, buttons and footer links
   keep accessible contrast. */
.home-showcase .cta-section { --bg: #f5f7fa; --text: #181c19; --text-muted: #4d544c; --text-dim: #61675e; }
.home-showcase .cta-section .btn-primary { background: #1b241e; color: #fff; border-color: #1b241e; }
.home-showcase .cta-section .btn-secondary { background: transparent; color: #28382d; border-color: #d9dfd6; }
.home-showcase footer { --text: #181c19; --text-muted: #4d544c; --text-dim: #61675e; --border: rgba(24,28,25,.12); }
@media (min-width: 1180px) {
  .mega-menu-ready .nav-links { display: flex !important; gap: 18px; }
  .nav-links a { font-size: .72rem; }
  .home-showcase .nav-cta { margin-left: auto; font-size: .73rem; min-height: 36px; padding: 8px 14px; }
  .home-showcase .nav-toggle.mega-menu-toggle { min-width: 88px; height: 36px; border: 0; box-shadow: none; }
}
@media (max-width: 780px) {
  .home-showcase .hero { padding: 114px 0 30px; }
  .home-showcase .hero-content { width: calc(100% - 32px); }
  .home-showcase .hero h1 { font-size: clamp(2.7rem, 9vw, 4rem); line-height: 1.06; }
  .home-showcase .hero-sub { font-size: .97rem; max-width: 420px; }
  .home-showcase .hero-badge { font-size: .55rem; letter-spacing: .09em; }
  .home-showcase .hero-cta-group { flex-direction: row; flex-wrap: wrap; }
  .home-showcase .hero-cta-group a { font-size: .8rem; padding: 12px 16px; }
  .decision-preview { margin-top: 42px; border-radius: 11px; }
  .preview-chrome { padding: 13px 15px; gap: 10px; font-size: .58rem; }
  .preview-chrome { width: 100%; }
  .preview-fiction { font-size: .52rem; }
  .preview-dots { display: none; }
  .decision-preview-grid { grid-template-columns: 1fr; }
  .preview-workflow, .preview-verdict { padding: 28px 24px; }
  .preview-verdict { margin: -25px 7px 0; border: 1px solid #4a584b; }
  .decision-preview h2 { font-size: 1.65rem; }
  .entry-story { grid-template-columns: 1fr; gap: 30px; }
  .entry-visual { min-height: 390px; max-width: 500px; width: 100%; margin: auto; padding: 34px 42px; }
  .story-paper { min-height: 310px; padding: 25px; }
  .story-paper > strong { font-size: 2.1rem; }
  .story-note { right: 8px; bottom: 25px; padding: 16px 22px; font-size: .7rem; }
  .home-showcase .entry-story .protocol-card { padding: 20px 4px; }
  .home-showcase #protocol .protocol-grid { grid-template-columns: 1fr 1fr; gap: 22px; }
  .home-showcase #protocol .protocol-card h3 { font-size: 1.2rem; }
  .home-showcase #protocol .protocol-card p { font-size: .76rem; }
  .home-showcase #protocol .protocol-metrics { padding-top: 10px; }
  .home-showcase #protocol .throughput-bar { padding-inline: 0; }
  .home-showcase .comp-card { padding: 24px; }
  .home-showcase .aeo-faq { margin-top: 50px; }
  .home-showcase .aeo-faq-head h2 { font-size: 1.65rem; }
  .margo-showcase { padding: 70px 18px 0; }
  .margo-story-visual { grid-template-columns: 1fr; gap: 0; max-width: 410px; margin-top: 42px; }
  .margo-paper { min-height: 300px; padding: 35px; margin-inline: 15px; }
  .margo-finding { margin: -45px 0 40px 25px; padding: 25px; transform: none; }
  .resource-showcase { padding: 75px 18px; }
  .resource-showcase-grid { grid-template-columns: 1fr; margin-top: 36px; }
  .resource-showcase-grid a { min-height: 235px; padding: 28px; }
  .home-showcase .resource-showcase-grid h3 { margin-top: 20px; }
}
/* Ambient document demonstration: shared primitives, light-only. */
:root { color-scheme: light; --overlay-bg: rgba(17,18,17,.92); --overlay-blur: blur(28px) saturate(1.2); --overlay-border: rgba(255,255,255,.14); --overlay-text: #f4f5f2; --overlay-muted: #c5c8c1; --overlay-accent: #a8c2ff; --overlay-shadow: 0 30px 90px rgba(17,18,17,.22), 0 2px 6px rgba(17,18,17,.10); --radius-overlay: 14px; }
.ambient-preview { background:#f8f8f6; color:#151615; }
.ambient-preview-nav { min-height:76px; display:flex; align-items:center; gap:32px; padding:16px 4%; border-bottom:1px solid #15161514; }
.ambient-preview-nav .brand { margin-right:auto; }
.ambient-preview .button { background:#171917; color:#fff; border-radius:999px; padding:13px 23px; font-size:.86rem; }
.ambient-heading { text-align:center; padding:108px 24px 64px; }
.ambient-eyebrow { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:#61655e; }
.ambient-heading h1 { font-size:clamp(3.2rem,8vw,6.4rem); line-height:1; letter-spacing:-.045em; margin:26px auto; font-weight:550; }
.ambient-lede { max-width:660px; margin:0 auto; font-size:1.24rem; line-height:1.55; color:#555a52; }
.ambient-ctas { display:flex; justify-content:center; align-items:center; gap:28px; margin:30px 0; }
.ambient-ctas>a:not(.button) { text-decoration:underline; text-underline-offset:5px; font-size:.88rem; }
.ambient-status { font-size:.8rem; color:#53594f; max-width:640px; margin:0 auto; }
.ambient-demo { max-width:1380px; margin:auto; padding:0 40px 60px; }
.ambient-demo-label { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:50px; font-size:.72rem; color:#596153; }
[data-ambient-replay] { border:1px solid #c6cbbf; border-radius:999px; padding:9px 14px; background:transparent; color:#252a22; cursor:pointer; font:inherit; }
.ambient-scene { position:relative; min-height:660px; padding:42px 26% 42px 4%; background:radial-gradient(ellipse at 35% 70%,#e5e8df,transparent 68%); isolation:isolate; }
.ambient-paper { background:#fff; border:1px solid #d4d8cf; border-radius:9px; min-height:555px; box-shadow:0 20px 65px #30382c13; transform:rotate(-1deg); }
.ambient-document-bar { display:flex; justify-content:space-between; gap:20px; padding:17px 25px; border-bottom:1px solid #e9ece5; font-size:.72rem; color:#656b60; }
.ambient-paper-copy { padding:36px 31% 36px 34px; font-family:Georgia,serif; }
.ambient-paper-copy h2 { font-family:inherit; font-size:1.55rem; letter-spacing:-.025em; line-height:1.3; margin:28px 0; }
.ambient-paper-copy>p:not(.ambient-eyebrow):not(.ambient-small) { font-size:.98rem; line-height:1.7; margin:19px 0; }
.ambient-clause { background:#e9eddf; box-shadow:-3px 0 #87976d; padding:12px; margin-left:-12px!important; }
.ambient-paper-lines { height:60px; margin:28px 0; background:repeating-linear-gradient(transparent 0 15px,#eef0eb 15px 17px); }
.ambient-small { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; font-size:.67rem; line-height:1.5; color:#666e60; }
.ambient-panel { position:absolute; width:36%; right:3%; top:115px; border:1px solid var(--overlay-border); background:#20221f; color:var(--overlay-text); border-radius:var(--radius-overlay); box-shadow:var(--overlay-shadow); padding:23px; }
@supports (backdrop-filter:blur(1px)) { .ambient-panel { background:var(--overlay-bg); backdrop-filter:var(--overlay-blur); } }
.ambient-panel-bar { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.ambient-panel-bar strong { font-size:1.1rem; letter-spacing:-.04em; }
.ambient-panel-bar small { font-size:.64rem; color:var(--overlay-muted); font-weight:400; margin-left:4px; letter-spacing:0; }
.ambient-shortcut { font-size:.7rem; color:var(--overlay-muted); border:1px solid var(--overlay-border); border-radius:5px; padding:4px 7px; }
.ambient-answer { margin-top:25px; }
.ambient-panel .ambient-eyebrow { color:var(--overlay-muted); font-size:.61rem; }
.ambient-panel h3, .ambient-panel .ambient-answer-title { color:var(--overlay-text); font-size:clamp(1.35rem,2vw,1.85rem); line-height:1.12; margin:15px 0; letter-spacing:-.025em; font-weight:550; }
.ambient-answer>p:not(.ambient-eyebrow):not(.ambient-small):not(.ambient-answer-title) { color:var(--overlay-muted); font-size:.8rem; }
.ambient-source { border-left:2px solid var(--overlay-accent); background:#ffffff09; padding:12px 14px; margin:23px 0 18px; border-radius:0 6px 6px 0; }
.ambient-source>span { color:var(--overlay-accent); font-size:.63rem; }
.ambient-source blockquote { margin:9px 0 0; font-size:.875rem; line-height:1.6; }
.ambient-panel .ambient-small { color:var(--overlay-muted); }
.ambient-action-row,.ambient-followups { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.ambient-action-row span { padding:6px 8px; border:1px solid var(--overlay-border); border-radius:5px; font-size:.63rem; }
.ambient-followups { margin-top:22px; }
.ambient-followups span { color:var(--overlay-muted); font-size:.64rem; }
.ambient-followups span+span::before { content:'·'; margin-right:7px; }
.ambient-input-rail { border-top:1px solid var(--overlay-border); margin-top:20px; padding-top:14px; font-size:.67rem; color:var(--overlay-muted); }
.ambient-caption { text-align:center; font-size:.78rem; line-height:1.8; color:#596153; margin-top:32px; }
.is-playing .ambient-panel { animation:ambient-wake 6s ease both; transform-origin:top right; }
.is-playing .ambient-answer { animation:ambient-answer 6s ease both; }
.is-playing .ambient-clause { animation:ambient-highlight 6s ease both; }
.is-playing .ambient-followups { animation:ambient-followup 6s ease both; }
@keyframes ambient-wake { 0%,25% { clip-path:inset(0 0 calc(100% - 67px) 0 round 14px); transform:translateY(8px); } 48%,100% { clip-path:inset(0 round 14px); transform:translateY(0); } }
@keyframes ambient-answer { 0%,42% { opacity:0; } 65%,100% { opacity:1; } }
@keyframes ambient-highlight { 0%,15% { background:transparent; box-shadow:none; } 32%,100% { background:#e9eddf; box-shadow:-3px 0 #87976d; } }
@keyframes ambient-followup { 0%,73% { opacity:0; } 95%,100% { opacity:1; } }
@media(max-width:1100px) { .ambient-scene { padding-right:23%; } .ambient-panel { width:40%; right:0; } .ambient-paper-copy { padding-right:30%; } }
@media(max-width:700px) { .ambient-preview-nav { gap:14px; padding:14px 20px; } .ambient-preview-nav>.button { padding:10px 14px; font-size:.72rem; } .ambient-preview-nav>a:not(.brand):not(.button) { display:none; } .ambient-heading { padding:74px 20px 38px; } .ambient-heading h1 { font-size:clamp(2.9rem,12vw,4rem); } .ambient-lede { font-size:1.06rem; } .ambient-ctas { gap:20px; } .ambient-status { font-size:.72rem; } .ambient-demo { padding:0 16px 40px; } .ambient-demo-label { align-items:flex-start; font-size:.65rem; } .ambient-demo-label>span { max-width:185px; } [data-ambient-replay] { white-space:nowrap; padding:7px 9px; } .ambient-scene { padding:20px 0 0; min-height:0; } .ambient-paper { min-height:0; transform:rotate(-.6deg); margin-right:12px; } .ambient-document-bar { padding:14px; font-size:.6rem; } .ambient-paper-copy { padding:25px 23px 45px; } .ambient-paper-copy h2 { font-size:1.35rem; } .ambient-paper-lines { display:none; } .ambient-panel { position:relative; width:calc(100% - 22px); right:auto; top:auto; margin:-15px 0 0 22px; padding:23px; } .ambient-panel h3 { font-size:1.65rem; } .ambient-caption { font-size:.73rem; } }
@media(prefers-reduced-motion:reduce) { .ambient-scene *, .ambient-scene *::before { animation:none!important; transition:none!important; } }
/* Shared statement, collage, source, scope and status compositions. */
.margo-relationship { text-align: center; }
.margo-relationship .shell { max-width: 1100px; }
.margo-relationship .lede { max-width: 670px; margin: 30px auto 0; color: var(--text-muted); font-size: 1.1rem; line-height: 1.7; }
.margo-page section.margo-relationship h2 { font-size: clamp(2.8rem, 5.6vw, 5.1rem); }
.margo-collage { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; padding: 65px 10px 35px; }
.margo-context-card { min-width: 0; margin: 0; }
.margo-context-card figcaption { margin-bottom: 16px; color: var(--text-muted); font-size: .67rem; }
.margo-context-contract { transform: rotate(-2deg); }
.margo-source-comparison { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: center; margin: 55px 0 30px; }
.module-tag { display: block; margin-bottom: 20px; color: #486252; font-size: .68rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.margo-finding-copy h3 { max-width: 400px; font-size: 1.9rem; line-height: 1.18; }
.margo-finding-copy p { max-width: 430px; color: var(--text-muted); }
.margo-source-location { display: inline-block; border-bottom: 1px solid var(--border-strong); padding: 10px 0; color: #465947; font-size: .72rem; }
.margo-source-paper { background: #fff; border: 1px solid var(--border); border-radius: 6px; padding: 45px; box-shadow: var(--shadow-card); transform: rotate(.8deg); }
.margo-page .margo-source-paper h3 { margin: 30px 0; font: 1.5rem/1.3 Georgia, serif; }
.margo-source-paper blockquote { margin: 0 0 28px; padding: 14px 18px; border-left: 3px solid #87976d; background: #e9eddf; font: 1.15rem/1.7 Georgia, serif; }
.margo-scope-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 42px; list-style: none; padding: 0; margin: 55px 0 35px; }
.margo-scope-steps li { border-top: 1px solid #bdc4b7; padding-top: 22px; }
.margo-scope-steps li > span { font-size: .72rem; color: #4c5e4d; }
.margo-scope-steps h3 { font-size: 1.45rem; margin-top: 26px; }
.margo-scope-steps p { color: var(--text-muted); font-size: .93rem; }
.margo-page #status { background: #e9eddf; border-block: 1px solid #cdd5bd; }
.margo-page #status .section-head { align-items: start; }
.margo-page #status .card { padding: 28px; background: #f8faf2; border: 1px solid #cdd5bd; box-shadow: none; border-radius: 8px; }
.margo-page #status .grid-3 { margin-top: 45px; gap: 20px; }
.margo-page #status .card h3 { font-size: 1.3rem; }
.ambient-footer-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; width:calc(100% - 48px); max-width:1280px; margin:40px auto; padding:30px 0; border-block:1px solid var(--border); }
.ambient-footer-groups h3 { font-size:.8rem; letter-spacing:0; margin:0 0 12px; }
.ambient-footer-groups a { display:block; width:fit-content; font-size:.78rem; margin:8px 0; }
@media(max-width:700px) { .ambient-footer-groups { grid-template-columns:1fr 1fr; gap:24px; } }
.brand::before, .logo::before { content:""; flex:none; display:inline-block; width:30px; height:30px; margin-right:9px; align-self:center; background:url('/assets/margolegal-mark.svg') center/contain no-repeat; }
.ambient-panel-bar strong::before, .margo-mini-panel strong::before, .margo-brand::before { content:""; display:inline-block; width:25px; height:25px; margin-right:8px; vertical-align:middle; background:url('/assets/margo-mark.svg') center/contain no-repeat; }
.ambient-command-bar { width:fit-content; display:flex; gap:14px; align-items:center; margin:5px auto 12px; padding:10px 18px 10px 10px; border:1px solid #ffffff32; border-radius:999px; background:#292e28; color:#f4f5f2; box-shadow:0 12px 30px #17201320; font-size:.78rem; }
.ambient-command-bar img { width:32px; height:32px; }
.ambient-command-bar .command-mode { background:#e8eddf; color:#263020; border-radius:999px; padding:7px 17px; }
.ambient-command-bar small { font-size:.6rem; color:#d5d9d0; }
.margo-context-card.reveal.active .margo-mini-panel { animation:ambient-card-arrive 1s ease both; }
.margo-context-card:nth-child(2).reveal.active .margo-mini-panel { animation-delay:.15s; }
.margo-context-card:nth-child(3).reveal.active .margo-mini-panel { animation-delay:.3s; }
@keyframes ambient-card-arrive { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@media(prefers-reduced-motion:reduce) { .margo-context-card.reveal.active .margo-mini-panel { animation:none; } }
.home-margo-entry { display:flex; align-items:center; justify-content:center; gap:11px; width:fit-content; max-width:100%; margin:24px auto 0; padding:10px 18px 10px 11px; color:#181c19; border:1px solid #ccd2c6; border-radius:999px; background:#fff; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:.95rem; font-weight:600; text-decoration:none; }
.home-margo-entry:hover { background:#edf1e7; border-color:#829178; }
.home-margo-entry:focus-visible { outline:3px solid #315fba; outline-offset:4px; }
.home-margo-entry img { flex:none; }
[data-demo-controls] { display:flex; gap:5px; }
[data-demo-controls] button { border:1px solid #ffffff40; padding:9px 14px; border-radius:999px; color:#fff; background:transparent; font:inherit; cursor:pointer; }
[data-demo-controls] button[aria-pressed="true"] { color:#20271c; background:#e8eddf; border-color:#e8eddf; }
[data-demo-controls] button:focus-visible { outline:3px solid #a8c2ff; outline-offset:3px; }
@media(max-width:700px) { .ambient-command-bar { gap:8px; padding-right:10px; } .ambient-command-bar small { display:none; } [data-demo-controls] button { padding:8px 12px; } }
.development-banner { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 22px; padding:13px 24px; margin-top:64px; color:#f5f7f1; background:#29372b; font-size:.78rem; line-height:1.5; }
.development-banner a { color:#fff; text-decoration:underline; text-underline-offset:3px; font-weight:600; }
.development-banner a:focus-visible { outline:3px solid #b1d7af; outline-offset:4px; }
.home-showcase .hero { padding-top:50px; }
.home-product-visual { display:block; color:inherit; text-decoration:none; }
.home-product-visual:focus-visible { outline:3px solid #315fba; outline-offset:8px; border-radius:12px; }
.home-product-image { display:block; width:100%; height:auto; border-radius:14px; }
@supports (animation-timeline:view()) { .home-product-visual { animation:product-scene-exit linear both; animation-timeline:view(); animation-range:exit 0% exit 100%; } }
@keyframes product-scene-exit { from { opacity:1; transform:translateY(0); } to { opacity:0; transform:translateY(-24px); } }
@media(prefers-reduced-motion:reduce) { .home-product-visual { animation:none!important; } }
.home-showcase .brand-word, .home-showcase .brand-ai { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-weight:650; line-height:1; }
.home-showcase .btn-primary, .home-showcase .btn-secondary { border-radius:999px; }

.analytics-choices { bottom: calc(12px + env(safe-area-inset-bottom)); }
.aeo-faq-link { display: inline-block; margin-top: 20px; }
@media (max-width: 640px) { body > footer { padding-bottom: calc(88px + env(safe-area-inset-bottom)); } }
