:root {
  color-scheme: light;
  --navy: #072548;
  --navy-2: #0c315b;
  --teal: #1e3f43;
  --teal-2: #2b5b60;
  --red: #a6452e;
  --red-dark: #7e2f20;
  --cream: #f0e4c2;
  --paper: #faf7ee;
  --surface: #fffdf7;
  --control: #f0ead9;
  --line: #d8cfb6;
  --muted: #52646c;
  --white: #fff;
  --green: #2d6a52;
  --amber: #c67c24;
  --shadow: 0 24px 70px rgb(7 37 72 / .12);
  --font-display: "Avenir Next", "Franklin Gothic Medium", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --font-body: "Avenir Next", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { margin: 0; background: var(--paper); color: var(--navy); font: 16px/1.65 var(--font-body); -webkit-font-smoothing: antialiased; }
body::before { position: fixed; inset: 0; z-index: -1; background: radial-gradient(circle at 92% 4%, rgb(240 228 194 / .8), transparent 30rem); content: ""; pointer-events: none; }
a { color: inherit; text-underline-offset: .18em; }
img { max-width: 100%; }
button, input { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { margin-bottom: .6em; font-family: var(--font-display); line-height: 1.06; letter-spacing: -.04em; }
h1 { font-size: clamp(2.85rem, 6vw, 6.2rem); }
h2 { font-size: clamp(2rem, 4vw, 3.9rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.8rem); }
p { color: var(--muted); }
em { color: var(--red); font-style: italic; }
.skip-link { position: fixed; top: 1rem; left: -999px; z-index: 200; border-radius: .5rem; background: var(--cream); padding: .75rem 1rem; font-weight: 700; }
.skip-link:focus { left: 1rem; }
.eyebrow { margin-bottom: 1rem; color: var(--red); font-size: .71rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.lede { max-width: 46rem; font-size: clamp(1.06rem, 2vw, 1.32rem); line-height: 1.6; }
.announcement { display: flex; min-height: 2.3rem; align-items: center; justify-content: center; gap: 1rem; background: var(--teal); padding: .4rem 1rem; color: var(--cream); font-size: .75rem; }
.announcement a { color: #fff; font-weight: 700; }
.site-header { position: relative; z-index: 50; display: flex; min-height: 5.3rem; align-items: center; justify-content: space-between; gap: 2rem; max-width: 1320px; margin: auto; padding: 0 2rem; }
.public-brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--navy); text-decoration: none; }
.public-brand img { border: 2px solid var(--cream); border-radius: .72rem; background: var(--cream); padding: 2px; box-shadow: 0 5px 16px rgb(7 37 72 / .2); }
.public-brand strong, .public-brand small { display: block; }
.public-brand strong { font-family: var(--font-display); font-size: 1.06rem; letter-spacing: -.03em; }
.public-brand small { margin-top: -.1rem; color: var(--muted); font-size: .58rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.desktop-nav, .header-actions { display: flex; align-items: center; gap: 1.6rem; }
.desktop-nav > a, .nav-menu > summary, .text-link { cursor: pointer; list-style: none; color: var(--muted); font-size: .86rem; font-weight: 700; text-decoration: none; }
.nav-menu > summary::-webkit-details-marker, .mobile-menu > summary::-webkit-details-marker { display: none; }
.nav-menu > summary::after { margin-left: .35rem; content: "⌄"; }
.desktop-nav > a:hover, .nav-menu > summary:hover, .text-link:hover { color: var(--red); }
.nav-menu[open] > summary { color: var(--red); }
.nav-mega, .nav-popover { position: absolute; top: 4.8rem; left: 50%; display: grid; width: min(72rem, calc(100vw - 3rem)); grid-template-columns: .78fr 1.22fr; gap: 2rem; transform: translateX(-50%); border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); padding: 1.5rem; box-shadow: var(--shadow); }
.nav-mega > div { border-radius: .75rem; background: var(--teal); padding: 1.5rem; color: #fff; }
.nav-mega > div strong { display: block; margin: .5rem 0; font-family: var(--font-display); font-size: 1.4rem; line-height: 1.15; }
.nav-mega > div p { color: #b9c9c9; font-size: .82rem; }
.nav-mega > div a { color: var(--cream); font-size: .78rem; font-weight: 700; }
.nav-kicker { color: var(--cream); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nav-mega nav { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
.nav-mega nav a, .nav-popover a { display: block; border-radius: .7rem; padding: .75rem; text-decoration: none; }
.nav-mega nav a:hover, .nav-popover a:hover { background: var(--control); }
.nav-mega nav strong, .nav-mega nav span, .nav-popover strong, .nav-popover span { display: block; }
.nav-mega nav strong, .nav-popover strong { font-size: .82rem; }
.nav-mega nav span, .nav-popover span { margin-top: .15rem; color: var(--muted); font-size: .7rem; line-height: 1.35; }
.nav-popover { left: auto; width: 21rem; grid-template-columns: 1fr; transform: translateX(-6rem); gap: .25rem; }
.button { display: inline-flex; min-height: 3.05rem; align-items: center; justify-content: center; gap: .55rem; border: 1px solid var(--teal); border-radius: .55rem; background: var(--teal); padding: .7rem 1.15rem; color: #fff; font-size: .84rem; font-weight: 800; text-decoration: none; box-shadow: 0 8px 22px rgb(30 63 67 / .15); transition: transform .15s ease, background .15s ease; }
.button:hover { transform: translateY(-2px); background: var(--teal-2); }
.button-small { min-height: 2.55rem; padding: .55rem .9rem; font-size: .76rem; }
.button-secondary { border-color: var(--line); background: transparent; color: var(--navy); box-shadow: none; }
.button-secondary:hover { background: var(--control); }
.button-cream { border-color: var(--cream); background: var(--cream); color: var(--navy); }
.button-cream:hover { background: #fff3d2; }
.button-ghost { border-color: rgb(240 228 194 / .5); background: transparent; color: var(--cream); box-shadow: none; }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.button-demo { border-color: var(--red); background: var(--red); color: #fff; box-shadow: 0 10px 24px rgba(166, 67, 45, .2); }
.button-demo:hover { border-color: #863421; background: #863421; }
.live-demo-callout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(18rem, .7fr); gap: 3rem; align-items: center; margin: 1.5rem auto 5rem; border-radius: 2rem; background: var(--teal); padding: clamp(2rem, 5vw, 4.5rem); color: var(--cream); }
.live-demo-callout h2 { max-width: 12ch; margin-top: .65rem; font-family: var(--serif); font-size: clamp(2.2rem, 5vw, 4.4rem); line-height: .96; letter-spacing: -.045em; }
.live-demo-callout > div > p:last-child { max-width: 42rem; margin-top: 1.25rem; color: rgba(249, 245, 235, .78); font-size: 1.05rem; line-height: 1.7; }
.live-demo-action { border: 1px solid rgba(255,255,255,.18); border-radius: 1.4rem; background: rgba(255,255,255,.08); padding: 1.5rem; }
.live-demo-action .button { display: flex; width: 100%; justify-content: center; font-size: 1rem; }
.live-demo-action > p { margin-top: 1.2rem; color: rgba(249, 245, 235, .72); font-size: .8rem; }
.live-demo-action dl { display: grid; gap: .55rem; margin-top: .75rem; }
.live-demo-action dl div { display: grid; grid-template-columns: 5rem 1fr; align-items: center; gap: .5rem; }
.live-demo-action dt { color: rgba(249, 245, 235, .62); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.live-demo-action code { color: #fff; font-size: .78rem; overflow-wrap: anywhere; }
.mobile-menu { display: none; }
.hero { display: grid; min-height: calc(100vh - 7.6rem); max-width: 1320px; grid-template-columns: 1fr .92fr; align-items: center; gap: 5rem; margin: auto; padding: 5rem 2rem 7rem; }
.hero h1 { max-width: 11ch; margin-bottom: .4em; font-size: clamp(3.3rem, 6.2vw, 6.7rem); }
.hero-copy .lede { max-width: 40rem; }
.hero-proof { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; margin: 1.4rem 0 0; padding: 0; color: var(--muted); font-size: .72rem; list-style: none; }
.hero-proof li::before { margin-right: .5rem; color: var(--red); content: "•"; }
.cockpit { overflow: hidden; border: 1px solid var(--line); border-radius: 1.3rem; background: var(--surface); box-shadow: 0 35px 90px rgb(7 37 72 / .16); transform: rotate(1deg); }
.cockpit-top { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 1.2rem; }
.cockpit-top > div { display: grid; grid-template-columns: auto auto; align-items: center; gap: 0 .55rem; }
.cockpit-top small { grid-column: 2; color: var(--muted); font-size: .65rem; }
.status-dot, .amber-dot { display: inline-block; width: .62rem; height: .62rem; border-radius: 50%; background: #33a06f; box-shadow: 0 0 0 .22rem #dcefe5; }
.amber-dot { margin-right: .35rem; background: var(--amber); box-shadow: none; }
.ready-pill { border-radius: 999px; background: #e3f1e9; padding: .35rem .65rem; color: var(--green); font-size: .65rem; font-weight: 800; }
.cockpit-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 1px; background: var(--line); }
.cockpit-grid article { display: grid; min-height: 8rem; align-content: center; background: var(--surface); padding: 1.25rem; }
.cockpit-grid small, .cockpit-grid p { margin: 0; color: var(--muted); font-size: .68rem; }
.cockpit-grid strong { margin: .25rem 0; font-family: var(--font-display); font-size: 1.15rem; letter-spacing: -.03em; }
.cockpit-primary { grid-row: span 2; }
.cockpit-primary strong { font-size: 1.45rem; }
.mini-route { display: flex; align-items: center; gap: .5rem; margin-top: 1.2rem; font-size: .68rem; font-weight: 800; }
.mini-route i { width: 3rem; height: 1px; background: var(--red); }
.cockpit-strip { display: flex; justify-content: space-between; padding: .75rem 1rem; color: var(--muted); font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.app-showcase { display: grid; max-width: 1320px; grid-template-columns: minmax(20rem, .78fr) minmax(32rem, 1.22fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); margin: auto; padding: 8rem 2rem 9rem; }
.app-showcase-copy { position: sticky; top: 2rem; align-self: start; padding-top: 4rem; }
.app-showcase-copy h2 { max-width: 12ch; }
.app-showcase-copy > p:not(.eyebrow) { max-width: 38rem; font-size: 1.05rem; }
.app-showcase-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: 2rem; }
.app-store-badge { display: inline-flex; min-height: 4.25rem; align-items: center; gap: .75rem; border: 1px solid #02050a; border-radius: .72rem; background: #02050a; padding: .55rem .9rem; color: #fff; text-decoration: none; box-shadow: 0 12px 28px rgb(7 37 72 / .18); transition: transform .15s ease, box-shadow .15s ease; }
a.app-store-badge:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgb(7 37 72 / .24); }
.app-store-badge img { width: 2.65rem; height: 2.65rem; border: 1px solid rgb(240 228 194 / .45); border-radius: .58rem; }
.app-store-badge span, .app-store-badge small, .app-store-badge strong { display: block; }
.app-store-badge small { margin-bottom: -.18rem; color: #c7d0d9; font-size: .61rem; letter-spacing: .01em; }
.app-store-badge strong { font-family: var(--font-display); font-size: 1.35rem; letter-spacing: -.035em; line-height: 1.1; }
.app-store-badge-pending { border-color: var(--line); background: var(--surface); color: var(--navy); box-shadow: none; }
.app-store-badge-pending small { color: var(--red); font-weight: 800; }
.app-showcase-proof { display: grid; gap: .55rem; margin: 2rem 0 0; padding: 0; color: var(--muted); font-size: .76rem; list-style: none; }
.app-showcase-proof li::before { margin-right: .55rem; color: var(--green); content: "✓"; font-weight: 900; }
.app-screenshot-hint { display: none; }
.app-screenshot-stage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 1rem; }
.app-screenshot-stage figure { min-width: 0; margin: 0; }
.app-screenshot-stage figure:nth-child(2) { transform: translateY(4rem); }
.app-screenshot-stage img { display: block; width: 100%; height: auto; border: 5px solid var(--navy); border-radius: clamp(1.2rem, 2.5vw, 2.4rem); background: var(--navy); box-shadow: 0 30px 70px rgb(7 37 72 / .2); }
.app-screenshot-stage figcaption { margin-top: .8rem; color: var(--teal); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.connected-value { max-width: 1240px; margin: 0 auto 8rem; padding: 0 2rem; }
.connected-value > header { display: grid; grid-template-columns: .7fr 1.3fr; gap: 1rem 5rem; align-items: end; margin-bottom: 3rem; }
.connected-value > header .eyebrow { grid-column: 1; }
.connected-value > header h2 { grid-column: 1; max-width: 12ch; }
.connected-value > header > p:last-child { grid-column: 2; grid-row: 1 / span 2; max-width: 38rem; align-self: end; font-size: 1.05rem; }
.connected-value-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 1.2rem; overflow: hidden; background: var(--line); gap: 1px; box-shadow: 0 24px 70px rgb(7 37 72 / .08); }
.connected-value-grid article { min-height: 20rem; background: var(--surface); padding: clamp(1.4rem, 2.5vw, 2rem); }
.connected-value-grid article:nth-child(2), .connected-value-grid article:nth-child(3) { background: var(--cream); }
.connected-value-grid span { color: var(--red); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.connected-value-grid h3 { max-width: 18ch; margin-top: 2.5rem; font-size: clamp(1.45rem, 2.2vw, 2rem); }
.connected-value-grid p { max-width: 34rem; margin-bottom: 0; font-size: .86rem; }
.product-overview { max-width: 1240px; margin: auto; padding: 7rem 2rem 8rem; }
.product-overview > header { display: grid; grid-template-columns: .8fr 1.2fr; gap: 1rem 5rem; align-items: end; margin-bottom: 3rem; }
.product-overview > header .eyebrow, .product-overview > header h2 { grid-column: 1; }
.product-overview > header > p:last-child { grid-column: 2; grid-row: 1 / span 2; max-width: 38rem; align-self: end; font-size: 1.05rem; }
.product-overview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: var(--line); }
.product-overview-grid a { position: relative; display: block; min-height: 15rem; background: var(--surface); padding: 1.5rem; text-decoration: none; transition: background .15s ease; }
.product-overview-grid a:hover { background: var(--cream); }
.product-overview-grid span { color: var(--red); font-size: .65rem; font-weight: 800; }
.product-overview-grid strong { display: block; margin-top: 2.5rem; font-family: var(--font-display); font-size: 1.12rem; }
.product-overview-grid p { margin: .5rem 2rem 0 0; font-size: .74rem; }
.product-overview-grid i { position: absolute; right: 1.25rem; bottom: 1rem; color: var(--red); font-style: normal; }
.product-overview-actions { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 1.5rem; }
.product-overview-actions a { color: var(--teal); font-size: .8rem; font-weight: 800; }
.signal-band { overflow: hidden; background: var(--cream); padding: 1.6rem 2rem; text-align: center; }
.signal-band p { margin-bottom: .8rem; color: var(--navy); font-size: .9rem; }
.signal-band div { display: flex; justify-content: center; gap: 1rem 2rem; flex-wrap: wrap; }
.signal-band a { color: var(--teal); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.story-section, .audience-section, .trust-section, .challenge-section, .outcome-section, .solution-map, .about-story, .principles-section, .support-paths, .contact-section, .urgent-boundary, .shared-security, .disclosure-section, .ai-flow, .ai-boundaries, .ai-data, .review-checklist { max-width: 1240px; margin: auto; padding: 8rem 2rem; }
.section-heading { max-width: 58rem; }
.section-heading h2 { max-width: 18ch; }
.section-heading > p:last-child { max-width: 42rem; font-size: 1.05rem; }
.fragment-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 4rem; }
.fragment-grid article { min-height: 14rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); padding: 1.5rem; }
.fragment-grid article:nth-child(2) { transform: translateY(1.5rem); }
.fragment-grid span { color: var(--red); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fragment-grid p { margin-top: 4rem; }
.story-answer { max-width: 48rem; margin: 5rem 0 0 auto; border-left: 4px solid var(--red); padding-left: 1.5rem; color: var(--navy); font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.6rem); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; }
.product-rundown { max-width: 1240px; margin: auto; padding: 4rem 2rem 8rem; }
.product-rundown > header { margin-bottom: 4rem; }
.product-rundown > article { display: grid; grid-template-columns: 5rem 1fr 1fr; gap: 2rem; border-top: 1px solid var(--line); padding: 3rem 0; }
.product-number { color: var(--red); font-family: var(--font-display); font-size: 2rem; font-weight: 800; }
.product-rundown article h3 { font-size: clamp(1.8rem, 3vw, 3rem); }
.product-rundown article a { color: var(--teal); font-size: .8rem; font-weight: 800; }
.product-rundown article ul { margin: 0; padding: 0; list-style: none; }
.product-rundown article li { border-bottom: 1px solid var(--line); padding: .85rem 0; }
.product-rundown article li strong, .product-rundown article li span { display: block; }
.product-rundown article li strong { font-size: .85rem; }
.product-rundown article li span { color: var(--muted); font-size: .75rem; }
.workflow-section { background: var(--teal); padding: 8rem max(2rem, calc((100vw - 1200px)/2)); color: #fff; }
.workflow-section .eyebrow, .final-cta .eyebrow { color: var(--cream); }
.section-heading.light p { color: #afc1c2; }
.workflow-loop { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 4rem 0 2rem; padding: 0; background: rgb(240 228 194 / .22); list-style: none; }
.workflow-loop li { min-height: 17rem; background: var(--teal); padding: 1.5rem; }
.workflow-loop li span { color: var(--cream); font-size: .65rem; font-weight: 800; }
.workflow-loop li strong { display: block; margin-top: 4rem; font-family: var(--font-display); font-size: 1.4rem; }
.workflow-loop li p { color: #afc1c2; font-size: .8rem; }
.audience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 3rem; }
.audience-grid a { min-height: 22rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); padding: 2rem; text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.audience-grid a:hover { transform: translateY(-4px); border-color: var(--red); }
.audience-grid span { color: var(--red); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.audience-grid h3 { margin-top: 4rem; font-size: clamp(1.8rem, 3vw, 2.8rem); }
.audience-grid strong { color: var(--teal); font-size: .8rem; }
.trust-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; border-top: 1px solid var(--line); }
.trust-points article { border-top: 1px solid var(--line); padding: 1.2rem 0; }
.trust-points strong { font-family: var(--font-display); font-size: 1.05rem; }
.trust-points p { margin: .3rem 0 0; }
.text-links { grid-column: 2; display: flex; gap: 2rem; }
.text-links a { color: var(--teal); font-size: .8rem; font-weight: 800; }
.final-cta { max-width: 1200px; margin: 2rem auto 7rem; border-radius: 1.3rem; background: var(--navy); padding: 5rem; color: #fff; }
.final-cta h2 { max-width: 20ch; }
.final-cta > p:not(.eyebrow) { max-width: 42rem; color: #b9c7d2; }
.pricing-hero { max-width: 1180px; margin:auto; padding:7rem 2rem 3.5rem; text-align:center; }
.pricing-hero h1 { max-width:15ch; margin-right:auto; margin-left:auto; }
.pricing-hero .lede { margin-right:auto; margin-left:auto; }
.pricing-trust { display:flex; flex-wrap:wrap; justify-content:center; gap:.65rem; margin-top:2rem; }
.pricing-trust span { border:1px solid var(--line); border-radius:999px; background:var(--surface); padding:.45rem .8rem; color:var(--teal); font-size:.72rem; font-weight:800; }
.public-pricing-grid { display:grid; max-width:1040px; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin:auto; padding:2rem 2rem 7rem; }
.public-price-card { position:relative; display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:1.25rem; background:var(--surface); padding:2rem; box-shadow:0 18px 50px rgb(7 37 72/.08); }
.public-price-card.is-featured { border-color:var(--teal); background:var(--teal); color:#fff; box-shadow:0 28px 70px rgb(30 63 67/.22); }
.public-price-card.is-featured p { color:#bed0d1; }
.price-ribbon { margin:-2rem -2rem 2rem; background:var(--cream); padding:.55rem 2rem; color:var(--navy); font-size:.68rem; font-weight:900; letter-spacing:.1em; text-align:center; text-transform:uppercase; }
.public-price-card h2 { font-size:2.5rem; }
.public-price { display:flex; align-items:baseline; gap:.6rem; margin:1.2rem 0 1.5rem; }
.public-price strong { font-family:var(--font-display); font-size:3.5rem; letter-spacing:-.06em; }
.public-price span { max-width:10rem; color:var(--muted); font-size:.76rem; font-weight:700; line-height:1.3; }
.is-featured .public-price span { color:#bed0d1; }
.public-price-card ul { display:grid; flex:1; gap:.65rem; margin:0 0 2rem; padding:0; list-style:none; }
.public-price-card li { display:flex; gap:.6rem; font-size:.84rem; }
.public-price-card li span { color:var(--red); font-weight:900; }
.is-featured li span { color:var(--cream); }
.public-price-card small { margin-top:.8rem; color:#bed0d1; font-size:.66rem; line-height:1.5; text-align:center; }
.pricing-comparison { display:grid; max-width:1180px; grid-template-columns:.68fr 1.32fr; gap:4rem; margin:auto; padding:2rem 2rem 8rem; }
.comparison-table { overflow:hidden; border:1px solid var(--line); border-radius:1rem; background:var(--surface); }
.comparison-row { display:grid; grid-template-columns:minmax(0,1fr) 6rem 7rem; border-top:1px solid var(--line); }
.comparison-row:first-child { border-top:0; }
.comparison-row > * { padding:.85rem 1rem; }
.comparison-row > *:not(:first-child) { border-left:1px solid var(--line); color:var(--green); font-weight:900; text-align:center; }
.comparison-row > span:first-child { color:var(--navy); font-size:.8rem; }
.comparison-head { background:var(--control); font-size:.7rem; text-transform:uppercase; }
.pricing-faq { display:grid; max-width:1180px; grid-template-columns:.7fr 1.3fr; gap:4rem; margin:auto; padding:0 2rem 8rem; }
.pricing-faq details { border-top:1px solid var(--line); padding:1.1rem 0; }
.pricing-faq summary { cursor:pointer; color:var(--navy); font-weight:800; }
.pricing-faq details p { margin:.65rem 0 0; }
@media(max-width:760px){.public-pricing-grid,.pricing-comparison,.pricing-faq{grid-template-columns:1fr}.pricing-comparison,.pricing-faq{gap:2rem}.comparison-row{grid-template-columns:minmax(0,1fr) 4rem 5rem}.comparison-row>*{padding:.7rem .55rem}.pricing-hero{padding-top:4rem}}
.page-hero, .docs-hero, .legal-hero { max-width: 1240px; margin: auto; padding: 8rem 2rem 6rem; }
.page-hero h1 { max-width: 15ch; font-size: clamp(3.2rem, 6vw, 6rem); }
.product-hero, .faq-hero, .security-hero, .module-hero { display: grid; grid-template-columns: 1fr .65fr; align-items: end; gap: 5rem; }
.product-hero > p { font-size: 1.2rem; }
.section-jump, .faq-jump { display: flex; max-width: 1240px; margin: auto; gap: .5rem; overflow-x: auto; padding: 0 2rem 2rem; scrollbar-width: thin; }
.section-jump a, .faq-jump a { flex: 0 0 auto; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); padding: .55rem .8rem; color: var(--muted); font-size: .66rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.feature-catalog { max-width: 1240px; margin: auto; padding: 3rem 2rem 8rem; }
.feature-screenshot-band { display: grid; max-width: 1240px; grid-template-columns: minmax(16rem, .62fr) minmax(32rem, 1.38fr); gap: clamp(3rem, 7vw, 7rem); align-items: center; margin: 0 auto 6rem; border-radius: 1.3rem; background: var(--teal); padding: clamp(2rem, 5vw, 4.5rem); color: #fff; }
.feature-screenshot-band > header h2 { max-width: 11ch; }
.feature-screenshot-band > header > p:last-child { max-width: 31rem; color: #b9c9ca; }
.feature-screenshot-band > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.feature-screenshot-band figure { min-width: 0; margin: 0; }
.feature-screenshot-band figure:nth-child(2) { transform: translateY(2.5rem); }
.feature-screenshot-band img { display: block; width: 100%; height: auto; border: 4px solid var(--navy); border-radius: 1.4rem; box-shadow: 0 24px 55px rgb(0 12 25 / .3); }
.feature-screenshot-band figcaption { margin-top: .8rem; }
.feature-screenshot-band figcaption strong, .feature-screenshot-band figcaption span { display: block; }
.feature-screenshot-band figcaption strong { color: var(--cream); font-size: .78rem; }
.feature-screenshot-band figcaption span { margin-top: .2rem; color: #b9c9ca; font-size: .62rem; line-height: 1.45; }
.feature-catalog > article { display: grid; grid-template-columns: .8fr 1.2fr; gap: 5rem; border-top: 1px solid var(--line); padding: 5rem 0; }
.feature-intro > span { display: block; margin-bottom: 4rem; color: var(--red); font-family: var(--font-display); font-size: 2rem; font-weight: 800; }
.feature-intro h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
.feature-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.feature-detail div { min-height: 14rem; background: var(--surface); padding: 1.5rem; }
.feature-detail strong { font-family: var(--font-display); }
.feature-detail p { margin-top: 3rem; font-size: .84rem; }
.boundary-callout, .review-principle, .legal-boundary { display: grid; max-width: 1180px; grid-template-columns: 1fr 1fr; gap: 4rem; margin: 0 auto 7rem; border-left: 5px solid var(--red); background: var(--cream); padding: 3rem; }
.module-hero aside, .faq-hero aside, .security-hero aside { border-top: 4px solid var(--red); background: var(--surface); padding: 1.5rem; box-shadow: var(--shadow); }
.module-hero aside .brand-visual, .faq-hero aside .brand-visual, .security-hero aside .brand-visual { margin: -1rem -1rem 1.3rem; border-radius: .55rem; box-shadow: none; }
.module-hero aside span, .faq-hero aside strong, .security-hero aside span { color: var(--red); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.module-hero aside p { margin: 1.5rem 0 0; color: var(--navy); font-family: var(--font-display); font-size: 1.4rem; font-weight: 700; line-height: 1.35; }
.module-product-screen { position: relative; height: 20rem; overflow: hidden; margin: -1rem -1rem 1.3rem; border-radius: .55rem; background: var(--cream); }
.module-product-screen::after { position: absolute; inset: auto 0 0; height: 32%; background: linear-gradient(transparent, var(--surface)); content: ""; }
.module-product-screen img { display: block; width: 100%; height: auto; transform: translateY(-1.5rem); }
.module-features { display: grid; max-width: 1240px; grid-template-columns: 1fr 1fr; gap: 1rem; margin: auto; padding: 2rem 2rem 8rem; }
.module-features article { min-height: 18rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); padding: 2rem; }
.module-features article > span { color: var(--red); font-weight: 800; }
.module-features h2 { margin-top: 4rem; font-size: 1.7rem; }
.module-workflow { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; background: var(--teal); padding: 7rem max(2rem, calc((100vw - 1200px)/2)); color: #fff; }
.module-workflow .eyebrow { color: var(--cream); }
.module-workflow ol { margin: 0; padding: 0; list-style: none; }
.module-workflow li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; border-top: 1px solid rgb(240 228 194 / .25); padding: 1.5rem 0; }
.module-workflow li > span { color: var(--cream); font-weight: 800; }
.module-workflow li strong { font-family: var(--font-display); font-size: 1.3rem; }
.module-workflow li p { margin: .25rem 0 0; color: #b7c6c7; }
.guide-promo { max-width: 1240px; margin: auto; padding: 8rem 2rem; }
.guide-promo > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; }
.guide-promo a { display: block; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); padding: 1.5rem; text-decoration: none; }
.guide-promo a span, .guide-promo a strong { display: block; }
.guide-promo a span { color: var(--red); font-size: .65rem; text-transform: uppercase; }
.guide-promo a strong { margin-top: 2rem; font-family: var(--font-display); }
.guide-promo a p { font-size: .76rem; }
.challenge-section > header, .solution-map > header, .principles-section > header, .ai-flow > header { max-width: 50rem; }
.challenge-section > div, .principles-section > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; }
.challenge-section article, .principles-section article { min-height: 16rem; border-top: 3px solid var(--red); background: var(--surface); padding: 1.5rem; }
.challenge-section article > span, .principles-section article > span { color: var(--red); font-weight: 800; }
.challenge-section h3, .principles-section h3 { margin-top: 3rem; }
.outcome-section { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; background: var(--cream); max-width: none; padding-right: max(2rem, calc((100vw - 1200px)/2)); padding-left: max(2rem, calc((100vw - 1200px)/2)); }
.outcome-section ul { margin: 0; padding: 0; list-style: none; }
.outcome-section li { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; border-top: 1px solid #cabb95; padding: 1rem 0; }
.outcome-section li span { color: var(--red); font-weight: 800; }
.solution-map > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; }
.solution-map a { min-height: 13rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); padding: 1.4rem; text-decoration: none; }
.solution-map a > span { color: var(--red); font-weight: 800; }
.solution-map a strong { display: block; margin-top: 2rem; font-family: var(--font-display); }
.solution-map a p { font-size: .75rem; }
.process-hero { text-align: center; }
.process-hero h1, .process-hero .lede { margin-right: auto; margin-left: auto; }
.process-timeline { max-width: 1120px; margin: auto; padding: 2rem 2rem 8rem; }
.process-timeline article { display: grid; grid-template-columns: 4rem 1fr 1fr; gap: 2rem; min-height: 17rem; }
.process-marker { display: flex; align-items: center; flex-direction: column; }
.process-marker span { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 50%; background: var(--red); color: #fff; font-weight: 800; }
.process-marker i { width: 1px; flex: 1; background: var(--line); }
.process-timeline article:last-child .process-marker i { display: none; }
.process-timeline ul { margin: 0; padding: 0; list-style: none; }
.process-timeline li { border-bottom: 1px solid var(--line); padding: .5rem 0; color: var(--muted); font-size: .82rem; }
.about-story { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; border-top: 1px solid var(--line); }
.about-story > div:last-child p { color: var(--navy); font-size: 1.08rem; }
.principles-section > div { grid-template-columns: 1fr 1fr; }
.faq-hero aside a, .security-hero aside a { color: var(--teal); font-size: .8rem; font-weight: 800; }
.faq-jump a span { margin-left: .4rem; color: var(--red); }
.faq-groups { max-width: 1120px; margin: auto; padding: 2rem 2rem 8rem; }
.faq-groups > article { display: grid; grid-template-columns: .45fr 1fr; gap: 4rem; border-top: 1px solid var(--line); padding: 4rem 0; }
.faq-groups article header span { color: var(--red); font-weight: 800; }
.faq-groups article header h2 { margin-top: 1.5rem; font-size: 1.8rem; }
.faq-groups details { border-bottom: 1px solid var(--line); }
.faq-groups summary { position: relative; cursor: pointer; list-style: none; padding: 1.15rem 2rem 1.15rem 0; font-family: var(--font-display); font-size: .98rem; font-weight: 700; }
.faq-groups summary::-webkit-details-marker { display: none; }
.faq-groups summary i::before, .faq-groups summary i::after { position: absolute; top: 1.8rem; right: .2rem; width: .8rem; height: 1px; background: var(--red); content: ""; }
.faq-groups summary i::after { transform: rotate(90deg); transition: transform .15s ease; }
.faq-groups details[open] summary i::after { transform: rotate(0); }
.faq-groups details p { max-width: 46rem; padding-right: 2rem; font-size: .88rem; }
.support-banner { display: flex; max-width: 1120px; align-items: center; justify-content: space-between; gap: 3rem; margin: 0 auto 7rem; border-radius: 1rem; background: var(--cream); padding: 3rem; }
.support-banner h2 { font-size: 2rem; }
.docs-hero { display: grid; grid-template-columns: 1fr .75fr; align-items: end; gap: 5rem; }
.docs-hero h1 { max-width: 14ch; }
.guide-search { border-radius: 1rem; background: var(--teal); padding: 1.5rem; }
.guide-search label { display: block; margin-bottom: .5rem; color: var(--cream); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.guide-search div { display: flex; }
.guide-search input { min-width: 0; flex: 1; border: 0; border-radius: .45rem 0 0 .45rem; background: #fff; padding: .8rem; color: var(--navy); }
.guide-search button { border: 0; border-radius: 0 .45rem .45rem 0; background: var(--red); padding: .8rem 1rem; color: #fff; font-weight: 800; }
.docs-layout { display: grid; max-width: 1240px; grid-template-columns: 15rem 1fr; gap: 4rem; margin: auto; padding: 2rem 2rem 8rem; }
.docs-sidebar { align-self: start; position: sticky; top: 1rem; }
.docs-sidebar nav strong, .docs-sidebar nav a { display: block; }
.docs-sidebar nav strong { margin-bottom: .7rem; font-size: .7rem; text-transform: uppercase; }
.docs-sidebar nav a { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding: .5rem 0; color: var(--muted); font-size: .72rem; text-decoration: none; }
.docs-sidebar > div { margin-top: 2rem; border-radius: .7rem; background: var(--cream); padding: 1rem; }
.docs-sidebar > div p { font-size: .72rem; }
.docs-sidebar > div a { color: var(--teal); font-size: .7rem; font-weight: 800; }
.guide-categories > article { margin-bottom: 5rem; }
.guide-categories article > header { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; margin-bottom: 1rem; }
.guide-categories article > header > span { color: var(--red); font-weight: 800; }
.guide-categories h2 { margin-bottom: .2rem; font-size: 1.7rem; }
.guide-categories header p { font-size: .82rem; }
.guide-list { border-top: 1px solid var(--line); }
.guide-list a { display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-bottom: 1px solid var(--line); padding: 1.1rem 0; text-decoration: none; }
.guide-list a:hover strong { color: var(--red); }
.guide-list strong { font-family: var(--font-display); font-size: .98rem; }
.guide-list p { margin: .15rem 0 0; font-size: .75rem; }
.guide-list > a > span { color: var(--red); font-size: 1.2rem; }
.search-summary { display: flex; justify-content: space-between; border-radius: .5rem; background: var(--control); padding: .7rem 1rem; margin-bottom: 3rem; }
.search-summary p { margin: 0; }
.search-summary a { color: var(--teal); font-size: .8rem; font-weight: 800; }
.empty-search { padding: 4rem 0; text-align: center; }
.guide-shell { display: grid; max-width: 1160px; grid-template-columns: 15rem 1fr; gap: 5rem; margin: auto; padding: 7rem 2rem; }
.guide-sidebar { align-self: start; position: sticky; top: 1rem; }
.back-link { color: var(--teal); font-size: .75rem; font-weight: 800; }
.guide-sidebar nav { margin-top: 2rem; border-left: 1px solid var(--line); padding-left: 1rem; }
.guide-sidebar nav strong, .guide-sidebar nav a { display: block; }
.guide-sidebar nav strong { margin-bottom: .6rem; font-size: .68rem; text-transform: uppercase; }
.guide-sidebar nav a { padding: .35rem 0; color: var(--muted); font-size: .7rem; text-decoration: none; }
.guide-article { min-width: 0; }
.guide-article > header { border-bottom: 1px solid var(--line); padding-bottom: 2rem; }
.guide-article h1 { max-width: 13ch; font-size: clamp(2.7rem, 5vw, 4.8rem); }
.guide-article dl { display: flex; gap: 1rem 2rem; margin: 2rem 0 0; }
.guide-article dl div { border-left: 2px solid var(--red); padding-left: .7rem; }
.guide-article dt { color: var(--muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.guide-article dd { margin: 0; font-size: .75rem; font-weight: 700; }
.guide-intro { margin: 3rem 0; color: var(--navy); font-size: 1.15rem; }
.guide-steps { margin: 0; padding: 0; list-style: none; }
.guide-steps li { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; border-top: 1px solid var(--line); padding: 2rem 0; }
.guide-steps li > span { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border-radius: 50%; background: var(--red); color: #fff; font-weight: 800; }
.guide-steps h2 { font-size: 1.35rem; }
.guide-callout { margin: 3rem 0; border-left: 5px solid var(--red); background: var(--cream); padding: 1.5rem; }
.guide-callout > span { color: var(--red); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.guide-callout h2 { margin-top: .8rem; font-size: 1.35rem; }
.related-guides { margin-top: 5rem; }
.related-guides > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.related-guides a { border: 1px solid var(--line); border-radius: .6rem; padding: 1rem; text-decoration: none; }
.related-guides a span { color: var(--red); font-size: .6rem; text-transform: uppercase; }
.related-guides a strong { display: block; margin-top: 1.2rem; font-family: var(--font-display); font-size: .85rem; }
.related-guides a p { font-size: .66rem; }
.guide-helpful { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 4rem; border-top: 1px solid var(--line); padding-top: 2rem; }
.guide-helpful p { margin: .2rem 0 0; font-size: .7rem; }
.guide-helpful a { color: var(--teal); font-size: .75rem; font-weight: 800; }
.support-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; padding-top: 2rem; }
.support-paths a { min-height: 18rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--surface); padding: 1.5rem; text-decoration: none; }
.support-paths a > span { color: var(--red); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.support-paths h2 { margin-top: 3rem; font-size: 1.5rem; }
.support-paths a > strong { color: var(--teal); font-size: .75rem; }
.contact-section { display: grid; grid-template-columns: 1fr .7fr; gap: 5rem; border-top: 1px solid var(--line); }
.contact-section ol { margin: 2rem 0 0; padding: 0; list-style: none; }
.contact-section li { display: grid; grid-template-columns: 2rem 1fr; gap: 1rem; border-top: 1px solid var(--line); padding: 1rem 0; }
.contact-section li > span { color: var(--red); font-weight: 800; }
.contact-section li p { margin: 0; }
.contact-section aside { border-radius: .8rem; background: var(--teal); padding: 2rem; color: #fff; }
.contact-section aside > span { color: var(--cream); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.contact-section aside > a { display: block; margin: 1rem 0; color: #fff; font-family: var(--font-display); font-size: 1.3rem; font-weight: 800; overflow-wrap: anywhere; }
.contact-section aside p, .contact-section aside li { color: #b9c9ca; font-size: .75rem; }
.contact-section aside hr { margin: 1.5rem 0; border: 0; border-top: 1px solid rgb(240 228 194 / .25); }
.urgent-boundary { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; background: var(--cream); max-width: none; padding-right: max(2rem, calc((100vw - 1200px)/2)); padding-left: max(2rem, calc((100vw - 1200px)/2)); }
.security-pillars { max-width: 1120px; margin: auto; padding: 2rem 2rem 8rem; }
.security-pillars article { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; border-top: 1px solid var(--line); padding: 3rem 0; }
.security-pillars article > div > span { color: var(--red); font-weight: 800; }
.security-pillars h2 { margin-top: 2rem; font-size: 1.8rem; }
.security-pillars ul, .shared-security ul { margin: 0; padding: 0; list-style: none; }
.security-pillars li { border-bottom: 1px solid var(--line); padding: .6rem 0; color: var(--muted); font-size: .8rem; }
.shared-security { max-width: none; background: var(--teal); color: #fff; padding-right: max(2rem, calc((100vw - 1200px)/2)); padding-left: max(2rem, calc((100vw - 1200px)/2)); }
.shared-security .eyebrow { color: var(--cream); }
.shared-security > div:last-child { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgb(240 228 194 / .2); }
.shared-security article { background: var(--teal); padding: 1.5rem; }
.shared-security article p { color: #b9c9ca; }
.disclosure-section { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }
.disclosure-section li { margin-bottom: .7rem; color: var(--muted); }
.legal-center-hero .policy-date { margin-top: 2rem; color: var(--red); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.legal-card-grid { display: grid; max-width: 1240px; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: auto; padding: 2rem 2rem 8rem; }
.legal-card-grid a { min-height: 18rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); padding: 1.5rem; text-decoration: none; }
.legal-card-grid a > span { color: var(--red); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.legal-card-grid h2 { margin-top: 3rem; font-size: 1.5rem; }
.legal-card-grid p { font-size: .78rem; }
.legal-card-grid strong { color: var(--teal); font-size: .75rem; }
.legal-hero { border-bottom: 1px solid var(--line); }
.legal-hero h1 { max-width: 15ch; }
.legal-hero > div > p { max-width: 50rem; font-size: 1.05rem; }
.legal-hero dl { display: flex; gap: 2rem; margin: 2rem 0 0; }
.legal-hero dt { color: var(--muted); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.legal-hero dd { margin: 0; font-size: .72rem; font-weight: 700; }
.legal-layout { display: grid; max-width: 1120px; grid-template-columns: 13rem 1fr; gap: 5rem; margin: auto; padding: 5rem 2rem 8rem; }
.legal-layout > aside { align-self: start; position: sticky; top: 1rem; }
.legal-layout aside strong, .legal-layout aside a { display: block; }
.legal-layout aside strong { margin-bottom: .7rem; font-size: .68rem; text-transform: uppercase; }
.legal-layout aside a { border-bottom: 1px solid var(--line); padding: .45rem 0; color: var(--muted); font-size: .7rem; text-decoration: none; }
.legal-document > section { margin-bottom: 3.5rem; }
.legal-document h2 { font-size: 1.55rem; letter-spacing: -.025em; }
.legal-document h3 { margin-top: 1.7rem; font-size: 1rem; letter-spacing: -.015em; }
.legal-document p, .legal-document li { font-size: .88rem; }
.legal-document li { margin-bottom: .45rem; color: var(--muted); }
.legal-table > div { display: grid; grid-template-columns: 1fr auto; border-top: 1px solid var(--line); padding: 1rem 0; }
.legal-table div span { color: var(--red); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.legal-table div p { grid-column: 1/-1; margin: .3rem 0 0; }
.subprocessor-table { overflow: hidden; border: 1px solid var(--line); border-radius: .6rem; }
.subprocessor-table > div { display: grid; grid-template-columns: .8fr 1fr 1.5fr .8fr; gap: 1rem; border-top: 1px solid var(--line); padding: .8rem; font-size: .7rem; }
.subprocessor-table .table-head { border-top: 0; background: var(--control); color: var(--muted); font-weight: 800; text-transform: uppercase; }
.ai-flow ol { margin: 3rem 0 0; padding: 0; list-style: none; }
.ai-flow li { display: grid; grid-template-columns: 4rem 1fr; gap: 1rem; border-top: 1px solid var(--line); padding: 1.5rem 0; }
.ai-flow li > span { color: var(--red); font-weight: 800; }
.ai-flow li strong { font-family: var(--font-display); font-size: 1.15rem; }
.ai-flow li p { margin: .2rem 0 0; }
.ai-boundaries, .ai-data, .review-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }
.ai-boundaries { max-width: none; background: var(--teal); color: #fff; padding-right: max(2rem, calc((100vw - 1200px)/2)); padding-left: max(2rem, calc((100vw - 1200px)/2)); }
.ai-boundaries .eyebrow { color: var(--cream); }
.ai-boundaries li { margin-bottom: .7rem; color: #c0cdce; }
.ai-data > p { grid-column: 2; }
.review-checklist { background: var(--cream); max-width: none; padding-right: max(2rem, calc((100vw - 1200px)/2)); padding-left: max(2rem, calc((100vw - 1200px)/2)); }
.review-checklist ol { counter-reset: review; margin: 0; padding: 0; list-style: none; }
.review-checklist li { counter-increment: review; border-top: 1px solid #cabb95; padding: .7rem 0; }
.review-checklist li::before { margin-right: .8rem; color: var(--red); font-weight: 800; content: counter(review, decimal-leading-zero); }
.site-footer { max-width: 1320px; margin: auto; border-top: 1px solid var(--line); padding: 5rem 2rem 2rem; }
.footer-brand { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; }
.footer-brand > p { color: var(--navy); font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; line-height: 1.2; text-align: right; }
.footer-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; margin-top: 4rem; }
.footer-links nav strong, .footer-links nav a { display: block; }
.footer-links nav strong { margin-bottom: .7rem; font-size: .68rem; text-transform: uppercase; }
.footer-links nav a { padding: .22rem 0; color: var(--muted); font-size: .73rem; text-decoration: none; }
.footer-links nav a:hover { color: var(--red); }
.footer-bottom { display: grid; grid-template-columns: auto 1fr; gap: 4rem; margin-top: 4rem; border-top: 1px solid var(--line); padding-top: 1.5rem; }
.footer-bottom p { margin: 0; font-size: .65rem; }
.footer-bottom p:last-child { max-width: 48rem; justify-self: end; text-align: right; }
.not-found { max-width: 900px; min-height: 60vh; margin: auto; padding: 8rem 2rem; }
.not-found h1 { font-size: 4rem; }

/* Public visual language: lightweight product diagrams, rendered entirely in HTML/CSS. */
.brand-visual { position: relative; min-height: 25rem; overflow: hidden; border: 1px solid var(--line); border-radius: 1.15rem; background: var(--teal); color: #fff; box-shadow: 0 28px 70px rgb(7 37 72 / .16); isolation: isolate; }
.brand-visual-compact { min-height: 15rem; border-radius: .8rem; box-shadow: 0 16px 40px rgb(7 37 72 / .14); }
.visual-grid { position: absolute; inset: 0; z-index: -2; opacity: .22; background-image: linear-gradient(rgb(240 228 194 / .24) 1px, transparent 1px), linear-gradient(90deg, rgb(240 228 194 / .24) 1px, transparent 1px); background-size: 3rem 3rem; }
.visual-orbit { position: absolute; z-index: -1; border: 1px solid rgb(240 228 194 / .25); border-radius: 50%; }
.visual-orbit-one { width: 22rem; height: 22rem; right: -8rem; bottom: -10rem; }
.visual-orbit-two { width: 12rem; height: 12rem; top: -6rem; left: -3rem; }
.visual-title { position: absolute; top: 1.5rem; right: 1.5rem; left: 1.5rem; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.visual-title span, .visual-title strong { display: block; }
.visual-title span { color: var(--cream); font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.visual-title strong { max-width: 12rem; font-family: var(--font-display); font-size: .82rem; text-align: right; }
.brand-visual-compact .visual-title { top: 1rem; right: 1rem; left: 1rem; }
.brand-visual-compact .visual-title strong { font-size: .68rem; }
.schedule-track { position: absolute; top: 6rem; bottom: 3rem; left: 30%; width: 1px; background: rgb(240 228 194 / .45); }
.schedule-track i { position: absolute; left: -.25rem; width: .5rem; height: .5rem; border: 1px solid var(--cream); border-radius: 50%; background: var(--teal); }
.schedule-track i:nth-child(1) { top: 8%; }.schedule-track i:nth-child(2) { top: 48%; }.schedule-track i:nth-child(3) { top: 88%; }
.schedule-block { position: absolute; left: 34%; width: 55%; border-left: 4px solid var(--red); border-radius: .4rem; background: var(--surface); padding: .65rem; color: var(--navy); box-shadow: 0 10px 24px rgb(0 0 0 / .14); }
.schedule-block small, .schedule-block strong { display: block; }
.schedule-block small { color: var(--muted); font-size: .55rem; }.schedule-block strong { font-size: .75rem; }
.schedule-block.block-one { top: 7.7rem; }.schedule-block.block-two { top: 14.5rem; left: 42%; width: 47%; }
.visual-status { position: absolute; bottom: 1.2rem; left: 1.3rem; color: #b9c9ca; font-size: .62rem; font-weight: 700; }
.visual-status span { display: inline-block; width: .45rem; height: .45rem; margin-right: .4rem; border-radius: 50%; background: #58c38e; box-shadow: 0 0 0 .2rem rgb(88 195 142 / .15); }
.health-dial { position: absolute; top: 6.5rem; left: 1.7rem; display: grid; width: 9rem; height: 9rem; place-content: center; border: 1.4rem solid rgb(240 228 194 / .15); border-top-color: var(--cream); border-right-color: var(--red); border-radius: 50%; text-align: center; transform: rotate(-25deg); }
.health-dial span, .health-dial small { display: block; transform: rotate(25deg); }.health-dial span { font-family: var(--font-display); font-size: 2rem; font-weight: 800; }.health-dial small { color: #b9c9ca; font-size: .55rem; text-transform: uppercase; }
.health-bars { position: absolute; top: 7rem; right: 2rem; display: flex; width: 38%; height: 8rem; align-items: end; gap: .45rem; }
.health-bars i { width: 25%; height: var(--h); border-radius: .3rem .3rem 0 0; background: var(--cream); }.health-bars i:nth-child(1){--h:44%}.health-bars i:nth-child(2){--h:78%;background:var(--red)}.health-bars i:nth-child(3){--h:62%}.health-bars i:nth-child(4){--h:88%}
.health-card { position: absolute; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: flex; align-items: center; gap: .75rem; border: 1px solid rgb(240 228 194 / .22); border-radius: .5rem; background: rgb(7 37 72 / .42); padding: .7rem; }
.health-card > span { width: .65rem; height: .65rem; border-radius: 50%; background: var(--amber); }.health-card strong,.health-card small{display:block}.health-card strong{font-size:.7rem}.health-card small{color:#b9c9ca;font-size:.55rem}
.record-stack { position: absolute; top: 6rem; left: 50%; width: 12rem; height: 14rem; transform: translateX(-50%); }
.record-stack > i { position: absolute; inset: 1rem; border: 1px solid var(--line); border-radius: .45rem; background: var(--surface); box-shadow: 0 12px 30px rgb(0 0 0 / .18); }
.record-stack > i:nth-child(1){transform:rotate(-8deg) translate(-1.2rem,.5rem)}.record-stack > i:nth-child(2){transform:rotate(7deg) translate(1rem,.2rem)}.record-stack > i:nth-child(3){transform:translateY(-.5rem)}
.record-stack > div { position: absolute; inset: 2.2rem; z-index: 2; padding-top: 2rem; }
.record-stack > div span { display: block; height: .35rem; margin-top: .7rem; border-radius: 99px; background: var(--line); }.record-stack > div span:nth-child(2){width:72%}.record-stack > div span:nth-child(3){width:48%;background:var(--red)}
.evidence-link { position: absolute; right: 1.3rem; bottom: 1.3rem; left: 1.3rem; display: flex; align-items: center; justify-content: center; gap: .7rem; color: var(--cream); font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.evidence-link i { width: 35%; height: 1px; background: var(--red); }
.expense-chart { position: absolute; right: 2rem; bottom: 5rem; left: 2rem; display: flex; height: 13rem; align-items: end; justify-content: space-around; gap: .6rem; border-bottom: 1px solid rgb(240 228 194 / .45); }
.expense-chart i { width: 12%; height: var(--h); border-radius: .3rem .3rem 0 0; background: var(--cream); box-shadow: inset 0 -1rem 2rem rgb(166 69 46 / .12); }.expense-chart i:nth-child(4){background:var(--red)}
.expense-balance { position: absolute; right: 1.3rem; bottom: 1.3rem; left: 1.3rem; display: flex; justify-content: space-between; color: #b9c9ca; font-size: .58rem; }.expense-balance strong{color:#fff}
.member-map { position: absolute; inset: 5rem 2rem 3rem; }
.member-map i { position: absolute; width: 1.7rem; height: 1.7rem; border: 3px solid var(--cream); border-radius: 50%; background: var(--teal); }
.member-map .member-center { top: 42%; left: 45%; width: 3rem; height: 3rem; border-color: var(--red); }
.member-map i:nth-child(2){top:5%;left:15%}.member-map i:nth-child(3){top:8%;right:12%}.member-map i:nth-child(4){bottom:8%;left:10%}.member-map i:nth-child(5){right:18%;bottom:2%}
.member-map span { position: absolute; top: 50%; left: 48%; width: 34%; height: 1px; transform-origin: left; background: rgb(240 228 194 / .38); }.member-map span:nth-of-type(1){transform:rotate(-140deg)}.member-map span:nth-of-type(2){transform:rotate(-42deg)}.member-map span:nth-of-type(3){transform:rotate(142deg)}.member-map span:nth-of-type(4){transform:rotate(42deg)}
.access-levels { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; display: flex; gap: .4rem; }.access-levels span{flex:1;border:1px solid rgb(240 228 194 / .25);border-radius:99px;padding:.25rem;color:#b9c9ca;font-size:.5rem;text-align:center}.access-levels span:nth-child(2){border-color:var(--red);color:#fff}
.report-lines { position: absolute; right: 2rem; bottom: 4rem; left: 2rem; display: flex; height: 13rem; align-items: end; gap: .35rem; }
.report-lines i { flex: 1; height: var(--h); border-radius: .2rem .2rem 0 0; background: var(--cream); }.report-lines i:nth-child(1){--h:35%}.report-lines i:nth-child(2){--h:48%}.report-lines i:nth-child(3){--h:68%;background:var(--red)}.report-lines i:nth-child(4){--h:54%}.report-lines i:nth-child(5){--h:82%}.report-lines i:nth-child(6){--h:72%}
.notice-stack { position: absolute; top: 6rem; right: 1rem; width: 48%; }.notice-stack span{display:block;margin-bottom:.45rem;border:1px solid rgb(240 228 194 / .2);border-radius:.35rem;background:rgb(7 37 72 / .55);padding:.45rem;color:#d8e1e1;font-size:.48rem}.notice-stack i{display:inline-block;width:.35rem;height:.35rem;margin-right:.3rem;border-radius:50%;background:var(--red)}
.guide-pages { position: absolute; top: 5rem; right: 2rem; bottom: 3rem; left: 2rem; }
.guide-pages > i { position: absolute; inset: .8rem 3rem; border: 1px solid var(--line); border-radius: .45rem; background: var(--surface); }.guide-pages>i:nth-child(1){transform:rotate(-6deg)}.guide-pages>i:nth-child(2){transform:rotate(5deg)}.guide-pages>i:nth-child(3){transform:translateY(-.4rem)}
.guide-pages > div { position: absolute; inset: 2.3rem 4.5rem; z-index: 2; color: var(--navy); }.guide-pages>div span,.guide-pages>div strong,.guide-pages>div small{display:block}.guide-pages>div span{color:var(--red);font-weight:800}.guide-pages>div strong{margin-top:2rem;font-family:var(--font-display);font-size:.8rem}.guide-pages>div small{margin-top:.5rem;color:var(--muted);font-size:.45rem}
.visual-index { position: absolute; right: 1rem; bottom: .8rem; left: 1rem; display: flex; justify-content: space-around; color: #b9c9ca; font-size: .45rem; text-transform: uppercase; }
.question-field i { position: absolute; display: grid; width: 2.5rem; height: 2.5rem; place-content: center; border: 1px solid var(--cream); border-radius: 50%; color: var(--cream); font-family: var(--font-display); font-size: 1.2rem; font-style: normal; font-weight: 800; }.question-field i:nth-child(1){top:6rem;left:12%}.question-field i:nth-child(2){top:9rem;right:15%;background:var(--red)}.question-field i:nth-child(3){top:14rem;left:25%}.question-field i:nth-child(4){right:30%;bottom:3rem}.question-field i:nth-child(5){top:7rem;left:47%;width:4rem;height:4rem;background:var(--cream);color:var(--teal)}
.answer-card { position: absolute; right: 1rem; bottom: 1rem; width: 45%; border-radius: .4rem; background: var(--surface); padding: .7rem; }.answer-card span{display:block;width:100%;height:.3rem;margin:.35rem 0;border-radius:99px;background:var(--line)}.answer-card span:nth-child(2){width:70%}.answer-card span:nth-child(3){width:45%;background:var(--red)}
.security-shield { position: absolute; top: 6rem; left: 50%; width: 9rem; height: 11rem; transform: translateX(-50%); clip-path: polygon(50% 0,100% 18%,88% 72%,50% 100%,12% 72%,0 18%); background: var(--cream); }.security-shield i{position:absolute;inset:1rem;clip-path:inherit;background:var(--navy)}.security-shield span{position:absolute;top:42%;left:50%;z-index:2;width:1.2rem;height:.65rem;transform:translate(-50%,-50%) rotate(-45deg);border-bottom:.25rem solid var(--red);border-left:.25rem solid var(--red)}
.security-rings i { position: absolute; top: 11.5rem; left: 50%; border: 1px solid rgb(240 228 194 / .2); border-radius: 50%; transform: translate(-50%,-50%); }.security-rings i:nth-child(1){width:13rem;height:13rem}.security-rings i:nth-child(2){width:17rem;height:17rem}.security-rings i:nth-child(3){width:21rem;height:21rem}
.security-labels { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; display: flex; justify-content: space-around; color: #b9c9ca; font-size: .48rem; text-transform: uppercase; }
.legal-pages { position: absolute; top: 5.5rem; left: 50%; width: 13rem; height: 15rem; transform: translateX(-50%); }.legal-pages>i{position:absolute;inset:.5rem;border:1px solid var(--line);border-radius:.35rem;background:var(--surface)}.legal-pages>i:nth-child(1){transform:rotate(-6deg)}.legal-pages>i:nth-child(2){transform:rotate(4deg)}.legal-pages>div{position:absolute;inset:2.4rem;z-index:2}.legal-pages span{display:block;height:.3rem;margin:.7rem 0;border-radius:99px;background:var(--line)}.legal-pages span:first-child{width:50%;background:var(--red)}
.legal-stamp { position: absolute; right: 1.2rem; bottom: 1.2rem; display: grid; width: 3.2rem; height: 3.2rem; place-content: center; border: 2px solid var(--red); border-radius: 50%; color: var(--red); font-family: var(--font-display); font-size: .7rem; font-weight: 800; transform: rotate(-10deg); }
.ai-pipeline { position: absolute; top: 9rem; right: 1.5rem; left: 1.5rem; display: flex; align-items: center; justify-content: center; gap: .45rem; }.ai-pipeline span{display:grid;width:3.3rem;height:3.3rem;place-content:center;border:1px solid var(--cream);border-radius:50%;color:var(--cream);font-size:.5rem;font-weight:800;text-transform:uppercase}.ai-pipeline span:last-child{border-color:var(--red);background:var(--red);color:#fff}.ai-pipeline i{width:1.5rem;height:1px;background:rgb(240 228 194 / .45)}
.ai-region { position: absolute; right: 2rem; bottom: 2rem; left: 2rem; height: 4rem; border: 1px solid rgb(240 228 194 / .25); border-radius: .4rem; background: rgb(7 37 72 / .38); }.ai-region i{position:absolute;inset:.7rem 45% .7rem .7rem;border:2px solid var(--red)}.ai-region span{position:absolute;top:50%;right:1rem;transform:translateY(-50%);color:#b9c9ca;font-size:.55rem}
.support-radar { position: absolute; top: 6rem; left: 50%; width: 14rem; height: 14rem; transform: translateX(-50%); border: 1px solid rgb(240 228 194 / .4); border-radius: 50%; background: conic-gradient(from -90deg, rgb(240 228 194 / .18), transparent 22%); }.support-radar i{position:absolute;top:50%;left:50%;border:1px solid rgb(240 228 194 / .22);border-radius:50%;transform:translate(-50%,-50%)}.support-radar i:nth-child(1){width:70%;height:70%}.support-radar i:nth-child(2){width:38%;height:38%}.support-radar i:nth-child(3){width:1px;height:100%;border:0;background:rgb(240 228 194 / .35)}.support-radar span{position:absolute;top:25%;right:20%;width:.75rem;height:.75rem;border-radius:50%;background:var(--red);box-shadow:0 0 0 .35rem rgb(166 69 46 / .18)}
.support-signals { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; display: flex; justify-content: space-around; color: #b9c9ca; font-size: .5rem; text-transform: uppercase; }
.workflow-ring { position: absolute; top: 6rem; left: 50%; width: 15rem; height: 15rem; transform: translateX(-50%); border: 1px solid rgb(240 228 194 / .3); border-radius: 50%; }.workflow-ring>i{position:absolute;color:var(--cream);font-size:.55rem;font-style:normal;font-weight:800;text-transform:uppercase}.workflow-ring>i:nth-child(1){top:-.6rem;left:45%}.workflow-ring>i:nth-child(2){top:47%;right:-.7rem}.workflow-ring>i:nth-child(3){bottom:-.6rem;left:41%}.workflow-ring>i:nth-child(4){top:47%;left:-.8rem}.workflow-ring>span{position:absolute;inset:3rem;border:1px solid var(--red);border-radius:50%;background:radial-gradient(circle,var(--red) 0 .35rem,transparent .4rem)}
.fleet-map { position: absolute; inset: 5rem 2rem 3rem; }.fleet-map i{position:absolute;width:4rem;height:2rem;border:1px solid var(--cream);border-radius:50% 50% .4rem .4rem}.fleet-map i::before{position:absolute;top:.75rem;right:-1.5rem;left:-1.5rem;height:.35rem;border-radius:99px;background:var(--cream);content:""}.fleet-map i:nth-child(1){top:8%;left:14%}.fleet-map i:nth-child(2){top:42%;right:10%;transform:scale(.8)}.fleet-map i:nth-child(3){bottom:8%;left:22%;transform:scale(.65)}.fleet-map span{position:absolute;width:1rem;height:1rem;border:2px solid var(--red);border-radius:50%;background:var(--teal)}.fleet-map span:nth-of-type(1){top:20%;left:50%}.fleet-map span:nth-of-type(2){top:60%;left:25%}.fleet-map span:nth-of-type(3){right:20%;bottom:15%}.fleet-map span:nth-of-type(4){right:6%;bottom:45%}
.fleet-label { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; color: #b9c9ca; font-size: .52rem; text-align: center; text-transform: uppercase; }
.about-constellation { position: absolute; inset: 5rem 2rem 2rem; }.about-constellation i{position:absolute;width:1.2rem;height:1.2rem;border:2px solid var(--cream);border-radius:50%;background:var(--teal)}.about-constellation i:nth-child(1){top:10%;left:10%}.about-constellation i:nth-child(2){top:18%;right:15%}.about-constellation i:nth-child(3){top:48%;left:42%;width:2rem;height:2rem;border-color:var(--red)}.about-constellation i:nth-child(4){bottom:8%;left:18%}.about-constellation i:nth-child(5){right:8%;bottom:12%}.about-constellation span{position:absolute;top:52%;left:45%;width:43%;height:1px;transform-origin:left;background:rgb(240 228 194 / .35)}.about-constellation span:nth-of-type(1){transform:rotate(-143deg)}.about-constellation span:nth-of-type(2){transform:rotate(-40deg)}.about-constellation span:nth-of-type(3){transform:rotate(141deg)}.about-constellation span:nth-of-type(4){transform:rotate(38deg)}
.overview-cards { position: absolute; top: 6rem; right: 2rem; bottom: 4rem; left: 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; transform: rotate(-2deg); }.overview-cards i{border:1px solid rgb(240 228 194 / .28);border-radius:.5rem;background:rgb(7 37 72 / .48)}.overview-cards i:nth-child(2),.overview-cards i:nth-child(3){background:var(--surface)}.overview-cards i:nth-child(4){border-color:var(--red)}
.overview-route { position: absolute; right: 2rem; bottom: 1.3rem; left: 2rem; display: flex; align-items: center; }.overview-route span{width:.7rem;height:.7rem;border:2px solid var(--red);border-radius:50%}.overview-route i{height:1px;flex:1;background:rgb(240 228 194 / .4)}
.brand-visual-compact .schedule-block.block-two,.brand-visual-compact .visual-status,.brand-visual-compact .health-card,.brand-visual-compact .evidence-link,.brand-visual-compact .expense-balance,.brand-visual-compact .visual-index,.brand-visual-compact .security-labels,.brand-visual-compact .support-signals,.brand-visual-compact .fleet-label { display: none; }
.brand-visual-compact .schedule-track{top:4rem;bottom:1rem}.brand-visual-compact .schedule-block.block-one{top:5rem}.brand-visual-compact .health-dial{top:4rem;width:6rem;height:6rem;border-width:.9rem}.brand-visual-compact .health-bars{top:4.5rem;height:5rem}.brand-visual-compact .record-stack{top:3.5rem;height:9rem;transform:translateX(-50%) scale(.75)}.brand-visual-compact .expense-chart{bottom:1rem;height:8rem}.brand-visual-compact .member-map{inset:3.5rem 1rem 1rem;transform:scale(.8)}.brand-visual-compact .report-lines{bottom:1rem;height:8rem}.brand-visual-compact .notice-stack{top:3.7rem}.brand-visual-compact .guide-pages{top:3.5rem;bottom:1rem}.brand-visual-compact .question-field i:nth-child(3),.brand-visual-compact .question-field i:nth-child(4){display:none}.brand-visual-compact .question-field i:nth-child(1){top:4rem}.brand-visual-compact .question-field i:nth-child(2){top:6rem}.brand-visual-compact .question-field i:nth-child(5){top:4rem}.brand-visual-compact .security-shield{top:4rem;width:6rem;height:7.5rem}.brand-visual-compact .security-rings i{top:7.5rem;transform:translate(-50%,-50%) scale(.65)}.brand-visual-compact .legal-pages{top:3.5rem;height:10rem;transform:translateX(-50%) scale(.75)}.brand-visual-compact .legal-stamp{width:2.5rem;height:2.5rem}.brand-visual-compact .ai-pipeline{top:6rem;gap:.2rem}.brand-visual-compact .ai-pipeline span{width:2.4rem;height:2.4rem;font-size:.4rem}.brand-visual-compact .ai-region{display:none}.brand-visual-compact .support-radar{top:3.5rem;transform:translateX(-50%) scale(.65)}.brand-visual-compact .workflow-ring{top:3rem;transform:translateX(-50%) scale(.65)}.brand-visual-compact .fleet-map{inset:3rem 1rem 1rem;transform:scale(.75)}.brand-visual-compact .about-constellation{inset:3rem 1rem 1rem}
.audience-hero,.about-hero,.support-hero,.ai-hero,.legal-center-hero,.process-hero,.not-found { display:grid;grid-template-columns:1fr .72fr;align-items:center;gap:5rem; }
.process-hero { text-align:left; }
.process-hero h1,.process-hero .lede { margin-left:0; }
.docs-hero-tools { display:grid;gap:1rem; }
.guide-article > header { display:grid;grid-template-columns:1fr 16rem;align-items:end;gap:2rem; }
.guide-article > header .brand-visual { min-height:12rem; }
.legal-hero { display:grid;grid-template-columns:1fr 19rem;align-items:end;gap:4rem; }
.legal-hero > .brand-visual { min-height:14rem; }

@media (max-width: 980px) {
  .desktop-nav { display: none; }
  .mobile-menu { display: block; }
  .mobile-menu > summary { display: grid; width: 2.6rem; height: 2.6rem; place-content: center; gap: .25rem; cursor: pointer; list-style: none; border: 1px solid var(--line); border-radius: .5rem; }
  .mobile-menu > summary span { display: block; width: 1rem; height: 1px; background: var(--navy); }
  .mobile-menu nav { position: absolute; top: 4.8rem; right: 1rem; display: grid; width: min(20rem, calc(100vw - 2rem)); border: 1px solid var(--line); border-radius: .8rem; background: var(--surface); padding: .7rem; box-shadow: var(--shadow); }
  .mobile-menu nav a { border-bottom: 1px solid var(--line); padding: .65rem; font-size: .8rem; font-weight: 700; text-decoration: none; }
  .hero { grid-template-columns: 1fr; }
  .app-showcase { grid-template-columns: 1fr; gap: 3rem; }
  .app-showcase-copy { position: static; max-width: 44rem; padding-top: 0; }
  .connected-value-grid { grid-template-columns: 1fr 1fr; }
  .feature-screenshot-band { grid-template-columns: 1fr; margin-right: 2rem; margin-left: 2rem; }
  .cockpit { max-width: 42rem; transform: none; }
  .product-rundown > article { grid-template-columns: 4rem 1fr; }
  .product-rundown > article ul { grid-column: 2; }
  .product-overview-grid { grid-template-columns: 1fr 1fr; }
  .workflow-loop { grid-template-columns: 1fr 1fr; }
  .workflow-loop li { min-height: 13rem; }
  .guide-promo > div:last-child, .solution-map > div, .legal-card-grid { grid-template-columns: 1fr 1fr; }
  .docs-layout { grid-template-columns: 12rem 1fr; gap: 2rem; }
}

@media (max-width: 820px) {
  .docs-hero { grid-template-columns:minmax(0,1fr); gap:2rem; }
}

@media (max-width: 720px) {
  :root {
    color-scheme: dark;
    --paper: #0b2f32;
    --surface: #143a3d;
    --control: #2a4e50;
    --line: #456b6b;
    --muted: #c7d5d5;
    --green: #72d6a0;
    --amber: #f1b66d;
    --red: #f09a82;
    --shadow: 0 22px 56px rgb(0 12 25 / .34);
  }
  body { background: var(--paper); color: #fffdf7; }
  body::before { background: radial-gradient(circle at 92% 4%, rgb(30 63 67 / .72), transparent 28rem); }
  em, .eyebrow { color: var(--cream); }
  .site-header { border-bottom: 1px solid var(--line); background: rgb(11 47 50 / .96); }
  .public-brand, .story-answer, .comparison-row > span:first-child, .pricing-faq summary, .module-hero aside p, .about-story > div:last-child p, .guide-intro, .footer-brand > p, .schedule-block, .guide-pages > div { color: #fffdf7; }
  .public-brand small { color: var(--muted); }
  .mobile-menu > summary span { background: var(--cream); }
  .mobile-menu nav { background: var(--surface); }
  .button { border-color: var(--cream); background: var(--cream); color: #072548; box-shadow: 0 8px 22px rgb(0 12 25 / .25); }
  .button:hover { background: #fff3d2; }
  .button-secondary { border-color: var(--line); background: var(--surface); color: var(--cream); box-shadow: none; }
  .button-secondary:hover { background: var(--control); }
  .button-demo, .guide-search button, .process-marker span, .guide-steps li > span { border-color: var(--red); background: var(--red); color: #072548; }
  .button-ghost { border-color: rgb(240 228 194 / .5); background: transparent; color: var(--cream); }
  .app-store-badge-pending { border-color: var(--line); background: var(--surface); color: #fffdf7; }
  .app-store-badge-pending small { color: var(--cream); }
  .app-screenshot-hint, .app-screenshot-stage figcaption, .signal-band a, .product-rundown article a, .audience-grid strong, .text-links a, .pricing-trust span, .faq-hero aside a, .security-hero aside a, .docs-sidebar > div a, .search-summary a, .back-link, .guide-helpful a, .support-paths a > strong, .legal-card-grid strong { color: var(--cream); }
  .signal-band { border-block: 1px solid var(--line); background: #072548; }
  .signal-band p { color: var(--cream); }
  .cockpit, .fragment-grid article, .audience-grid a, .module-hero aside, .faq-hero aside, .security-hero aside, .module-features article, .guide-promo a, .challenge-section article, .principles-section article, .solution-map a, .support-paths a, .legal-card-grid a, .public-price-card, .comparison-table, .connected-value-grid article { border-color: var(--line); background: var(--surface); }
  .connected-value-grid article:nth-child(2), .connected-value-grid article:nth-child(3) { background: var(--control); }
  .module-product-screen::after { background: linear-gradient(transparent, var(--surface)); }
  .cockpit-grid { background: var(--line); }
  .cockpit-grid article { background: var(--surface); }
  .boundary-callout, .review-principle, .legal-boundary, .outcome-section, .support-banner, .docs-sidebar > div, .guide-callout, .urgent-boundary, .review-checklist { border-color: var(--red); background: var(--surface); }
  .outcome-section li, .review-checklist li { border-color: var(--line); }
  .public-price-card.is-featured, .workflow-section, .module-workflow, .shared-security, .ai-boundaries { background: #143a3d; }
  .price-ribbon { color: #072548; }
  .guide-search { border: 1px solid var(--line); background: var(--surface); }
  .guide-search input { background: var(--field, #2a4e50); color: #fffdf7; }
  .guide-search input::placeholder { color: #c7d5d5; opacity: 1; }
  .section-jump a, .faq-jump a, .search-summary { background: var(--control); }
  .site-footer { border-color: var(--line); }
  .live-demo-callout { grid-template-columns: 1fr; gap: 1.5rem; margin: 1rem 1rem 4rem; border-radius: 1.4rem; }
  .announcement span { display: none; }
  .site-header { min-height: 4.7rem; padding: 0 1rem; }
  .header-actions > .text-link, .header-actions > .button { display: none; }
  h1 { font-size: 2.8rem; }
  .hero { min-height: auto; gap: 3rem; padding: 4rem 1rem 5rem; }
  .hero h1 { font-size: 3.25rem; }
  .app-showcase { gap: 2.5rem; padding: 5rem 1rem 7rem; }
  .app-showcase-actions { align-items: stretch; flex-direction: column; }
  .app-showcase-actions > * { width: 100%; }
  .app-store-badge { justify-content: center; }
  .app-screenshot-hint { display: flex; align-items: center; justify-content: space-between; margin: 0 0 -.9rem; color: var(--teal); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .app-screenshot-hint span { color: var(--red); font-size: 1rem; }
  .app-screenshot-stage { display: grid; overflow-x: auto; grid-auto-columns: min(76vw, 20rem); grid-auto-flow: column; grid-template-columns: none; gap: 1rem; margin: 0 -1rem; padding: .75rem 1rem 2rem; overscroll-behavior-inline: contain; scroll-padding-inline: 1rem; scroll-snap-type: inline mandatory; scrollbar-color: var(--line) transparent; scrollbar-width: thin; }
  .app-screenshot-stage figure { scroll-snap-align: center; }
  .app-screenshot-stage figure:nth-child(2) { transform: none; }
  .app-screenshot-stage img { border-width: 4px; border-radius: 2rem; }
  .app-screenshot-stage figcaption { font-size: .64rem; letter-spacing: .07em; }
  .connected-value { margin-bottom: 5rem; padding: 0 1rem; }
  .connected-value > header { grid-template-columns: 1fr; gap: .5rem; }
  .connected-value > header .eyebrow, .connected-value > header h2, .connected-value > header > p:last-child { grid-column: 1; grid-row: auto; }
  .connected-value-grid { grid-template-columns: 1fr; }
  .connected-value-grid article { min-height: 15rem; }
  .connected-value-grid h3 { margin-top: 2.5rem; }
  .product-overview { padding: 5rem 1rem; }
  .product-overview > header { grid-template-columns: 1fr; gap: .5rem; }
  .product-overview > header .eyebrow, .product-overview > header h2, .product-overview > header > p:last-child { grid-column: 1; grid-row: auto; }
  .product-overview-grid { grid-template-columns: 1fr; }
  .product-overview-grid a { min-height: 12rem; }
  .product-overview-grid a:hover { background: var(--control); }
  .product-overview-actions { flex-direction: column; }
  .cockpit-grid { grid-template-columns: 1fr 1fr; }
  .cockpit-primary { grid-column: 1/-1; grid-row: auto; }
  .cockpit-strip { overflow: hidden; gap: 1rem; white-space: nowrap; }
  .story-section, .audience-section, .trust-section, .challenge-section, .outcome-section, .solution-map, .about-story, .principles-section, .support-paths, .contact-section, .urgent-boundary, .shared-security, .disclosure-section, .ai-flow, .ai-boundaries, .ai-data, .review-checklist { padding: 5rem 1rem; }
  .fragment-grid, .audience-grid, .challenge-section > div, .principles-section > div, .support-paths { grid-template-columns: 1fr; }
  .fragment-grid article:nth-child(2) { transform: none; }
  .fragment-grid article { min-height: 11rem; }
  .fragment-grid p { margin-top: 2rem; }
  .product-rundown { padding: 3rem 1rem 5rem; }
  .product-rundown > article { grid-template-columns: 1fr; gap: 1rem; padding: 2.5rem 0; }
  .product-rundown > article ul { grid-column: 1; }
  .product-number { font-size: 1.4rem; }
  .workflow-section { padding: 5rem 1rem; }
  .workflow-loop { grid-template-columns: 1fr; }
  .workflow-loop li { min-height: 10rem; }
  .workflow-loop li strong { margin-top: 2rem; }
  .trust-section, .outcome-section, .about-story, .contact-section, .urgent-boundary, .disclosure-section, .ai-boundaries, .ai-data, .review-checklist { grid-template-columns: 1fr; gap: 2rem; }
  .text-links { grid-column: 1; flex-direction: column; gap: .5rem; }
  .final-cta { margin: 1rem 1rem 5rem; padding: 3rem 1.5rem; }
  .page-hero, .docs-hero, .legal-hero { padding: 5rem 1rem 3rem; }
  .page-hero h1 { font-size: 3rem; }
  .product-hero, .faq-hero, .security-hero, .module-hero, .docs-hero { grid-template-columns: 1fr; gap: 2rem; }
  .audience-hero, .about-hero, .support-hero, .ai-hero, .legal-center-hero, .process-hero, .not-found, .legal-hero { grid-template-columns: 1fr; gap: 2rem; }
  .audience-hero > .brand-visual, .about-hero > .brand-visual, .support-hero > .brand-visual, .ai-hero > .brand-visual, .legal-center-hero > .brand-visual, .process-hero > .brand-visual, .not-found > .brand-visual { min-height: 19rem; }
  .guide-article > header { grid-template-columns: 1fr; }
  .guide-article > header .brand-visual { display: none; }
  .section-jump, .faq-jump { padding-right: 1rem; padding-left: 1rem; }
  .feature-catalog { padding: 2rem 1rem 5rem; }
  .feature-screenshot-band { display: block; margin: 0 1rem 4rem; padding: 2rem 1rem; }
  .feature-screenshot-band > div { overflow-x: auto; grid-auto-columns: min(70vw, 17rem); grid-auto-flow: column; grid-template-columns: none; margin: 2rem -1rem 0; padding: .5rem 1rem 2rem; scroll-snap-type: inline mandatory; }
  .feature-screenshot-band figure { scroll-snap-align: center; }
  .feature-screenshot-band figure:nth-child(2) { transform: none; }
  .feature-catalog > article, .security-pillars article { grid-template-columns: 1fr; gap: 2rem; padding: 3rem 0; }
  .feature-detail, .module-features, .module-workflow, .shared-security > div:last-child { grid-template-columns: 1fr; }
  .feature-detail div { min-height: 10rem; }
  .boundary-callout, .review-principle, .legal-boundary { grid-template-columns: 1fr; gap: 1rem; margin: 0 1rem 5rem; padding: 2rem; }
  .module-features { padding: 2rem 1rem 5rem; }
  .module-workflow { gap: 2rem; padding: 5rem 1rem; }
  .guide-promo { padding: 5rem 1rem; }
  .guide-promo > div:last-child, .solution-map > div, .legal-card-grid { grid-template-columns: 1fr; }
  .process-timeline { padding: 2rem 1rem 5rem; }
  .process-timeline article { grid-template-columns: 3rem 1fr; min-height: auto; padding-bottom: 2rem; }
  .process-timeline article > ul { grid-column: 2; }
  .faq-groups { padding: 2rem 1rem 5rem; }
  .faq-groups > article { grid-template-columns: 1fr; gap: 1rem; padding: 3rem 0; }
  .support-banner { align-items: flex-start; flex-direction: column; margin: 0 1rem 5rem; padding: 2rem; }
  .docs-layout, .guide-shell, .legal-layout { grid-template-columns: 1fr; gap: 2rem; padding: 2rem 1rem 5rem; }
  .docs-sidebar, .guide-sidebar, .legal-layout > aside { position: static; }
  .docs-sidebar nav, .guide-sidebar nav, .legal-layout > aside { display: none; }
  .guide-article dl { flex-direction: column; }
  .related-guides > div { grid-template-columns: 1fr; }
  .guide-helpful { align-items: flex-start; flex-direction: column; }
  .security-pillars { padding: 2rem 1rem 5rem; }
  .legal-card-grid { padding: 2rem 1rem 5rem; }
  .subprocessor-table { overflow-x: auto; }
  .subprocessor-table > div { min-width: 46rem; }
  .ai-data > p { grid-column: 1; }
  .site-footer { padding: 4rem 1rem 2rem; }
  .footer-brand { flex-direction: column; }
  .footer-brand > p { text-align: left; }
  .footer-links { grid-template-columns: 1fr 1fr; }
  .footer-bottom { grid-template-columns: 1fr; gap: 1rem; }
  .footer-bottom p:last-child { justify-self: start; text-align: left; }
}

@media (max-width: 420px) {
  .page-hero h1 { font-size:2.5rem; overflow-wrap:anywhere; }
  .cockpit-grid { grid-template-columns: 1fr; }
  .cockpit-primary { grid-column: 1; }
  .app-screenshot-stage { grid-auto-columns: 78vw; }
  .footer-links { grid-template-columns: 1fr; }
}

/* Prevent intrinsic grid and table widths from widening narrow phone layouts. */
.page-hero > *, .docs-hero > *, .legal-hero > *, .docs-layout > *, .legal-layout > *, .legal-document { min-width:0; }
@media (max-width: 720px) {
  .product-hero, .faq-hero, .security-hero, .module-hero, .docs-hero,
  .audience-hero, .about-hero, .support-hero, .ai-hero, .legal-center-hero,
  .process-hero, .not-found, .legal-hero, .docs-layout, .guide-shell, .legal-layout { grid-template-columns:minmax(0,1fr); }
  .docs-hero-tools, .guide-search, .guide-search > div, .legal-document section { min-width:0; max-width:100%; }
  .subprocessor-table { width:100%; max-width:100%; contain:inline-size; overscroll-behavior-inline:contain; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
  .announcement, .site-header, .site-footer, .guide-sidebar, .legal-layout > aside, .button-row { display: none !important; }
  body { background: #fff; color: #000; }
  .guide-shell, .legal-layout { display: block; max-width: none; padding: 0; }
  a { color: #000; }
}
