/* Lenis 1.3.27 (MIT); vendored official stylesheet. */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

:root { color-scheme:light; --paper:#f8f5ef; --ink:#332d2b; --muted:#655b56; --wine:#89565b; --line:#d7cec3; --wash:#eee8df; --serif:Georgia,'Times New Roman',serif; --sans:'Optima','Candara','Segoe UI',sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-underline-offset:.22em; min-width:44px; }
.header .wordmark { display:inline-flex; align-items:center; min-height:44px; }
a:hover { color:var(--wine); }
.wrap { width:min(1200px,calc(100% - 112px)); margin-inline:auto; }
.skip { position:absolute; top:8px; left:8px; padding:12px 20px; background:var(--ink); color:var(--paper); z-index:2; transform:translateY(-160%); }
.skip:focus { transform:translateY(0); }
.header { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:24px; padding-block:27px; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:30; background:var(--paper); }
.wordmark { font-family:var(--serif); font-size:31px; letter-spacing:-1.4px; text-decoration:none; line-height:1.4; }
.wordmark span { color:var(--wine); }
nav { display:flex; align-items:center; gap:29px; font-size:14px; }
nav a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.eyebrow { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.16em; color:var(--wine); margin:0 0 26px; }
.legal h1,.legal h2,.legal h3 { font-family:var(--serif); font-weight:400; line-height:1.12; letter-spacing:-.035em; }
.footer { border-top:1px solid var(--line); padding-block:25px 32px; display:flex; justify-content:space-between; gap:24px; align-items:center; }
.footer p { font-size:12px; color:var(--muted); margin:0; }
.footer .wordmark { font-size:25px; }
@media(max-width:1000px) { .wrap { width:calc(100% - 64px); } }
@media(max-width:720px) { .wrap { width:calc(100% - 40px); } .header { padding-block:17px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
:root { --header-height:99px; }
html { scroll-padding-top:calc(var(--header-height) + 24px); }
.skip { z-index:40; }
:is(main,section)[data-anchor-focus="pointer"]:focus { outline:none; }
:is(main,section)[data-anchor-focus="keyboard"]:focus { outline:2px solid var(--wine); outline-offset:6px; }
.icon { display:inline-block; width:18px; height:18px; flex-shrink:0; vertical-align:middle; }
.signin { gap:6px; }

@media(max-width:720px) { :root { --header-height:79px; } }
[hidden] { display:none !important; }
button,input,textarea { font:inherit; color:inherit; }
a,button,input,textarea,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid var(--wine); outline-offset:4px; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.75; }
.languages { display:flex; flex-wrap:nowrap; gap:4px; }
.header .wordmark { grid-column:1; grid-row:1; }
.header .languages { grid-column:3; grid-row:1; }
.header nav { grid-column:2; grid-row:1; }
.languages a { display:inline-flex; align-items:center; justify-content:center; width:44px; min-height:44px; border:1px solid transparent; border-radius:4px; text-decoration:none; }
.flag { width:27px; height:18px; display:block; border-radius:1px; box-shadow:0 0 0 1px var(--line); overflow:hidden; }
.languages a[aria-current] { border-color:var(--wine); background:var(--wash); }
.header nav { flex-wrap:wrap; justify-content:flex-end; }
.header-sections { gap:4px 24px; }
.header-sections nav { grid-column:1 / -1; grid-row:2; justify-content:flex-start; gap:0 20px; }
.header-actions { display:flex; grid-column:3; grid-row:1; align-items:center; gap:16px; }
.header-actions > .signin { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; border-bottom:1px solid var(--wine); }
.version-switch { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding-top:16px; margin-bottom:0; font-size:13px; color:var(--muted); }
.version-switch a { display:inline-flex; align-items:center; min-height:44px; }
#audience { padding-top:12px; }
/* Full-pilot plan: a compact feature grid, with only Bridge set apart. */
#pilot { grid-template-columns:minmax(0,2fr) minmax(240px,1fr); gap:48px; }
#pilot .present { min-width:0; }
#pilot .plan-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:24px; margin-top:24px; }
#pilot .plan-features li { padding-block:14px; }
#pilot .current-build { margin-top:24px; }
#pilot .current-build .status { margin-bottom:12px; }
#pilot .current-build h3 { font-size:24px; }
#pilot .current-build p { font-size:14px; color:var(--muted); }
#pilot .current-build p:last-child { margin-bottom:0; }
.build-note { max-width:440px; }
@media (max-width:1000px) { #pilot { grid-template-columns:1fr; gap:32px; } }
@media (max-width:720px) { #pilot .plan-features { grid-template-columns:1fr; } }
label { display:block; margin-top:24px; margin-bottom:8px; font-size:16px; }
input,textarea { display:block; width:100%; max-width:100%; min-height:52px; padding:12px 14px; background:#fffdf9; border:1px solid var(--muted); border-radius:0; }
textarea { resize:vertical; }
.field-help { margin-top:8px; font-size:13px; color:var(--muted); }
.consent-notice { margin:28px 0 16px; padding-top:20px; border-top:1px solid var(--line); font-size:14px; color:var(--muted); }
.consent-notice a { display:inline-flex; align-items:center; min-height:44px; }
form .button { line-height:1.5; text-align:left; white-space:normal; }
.form-status { margin:18px 0 0; font-size:15px; }
.request-intro { color:var(--muted); font-size:15px; line-height:1.6; margin-bottom:0; }
.section-request label { margin-top:14px; margin-bottom:6px; }
.section-request label:first-child { margin-top:0; }
.section-request .consent-notice { margin:16px 0 12px; padding-top:12px; }
.section-request .consent-notice p:last-child { margin-bottom:0; }
.section-request .form-status:empty { margin:0; }
/* Minimums compose a desktop view; longer answers, zoom and drafts can grow. */
@media (min-width:1050px) {
  #philosophy, #questions { min-height:calc(100svh - var(--header-height) - 24px); align-content:center; padding-block:32px; }
  #philosophy { padding-block:24px; }
  #philosophy .prose > p:last-child { margin-bottom:0; }
  .section-request { padding-block:24px; }
}
.footer { flex-wrap:wrap; }
.footer nav { flex-wrap:wrap; gap:16px; }
.footer a,.legal-contact { display:inline-flex; align-items:center; min-height:44px; }
.legal { max-width:850px; padding-block:64px; }
.legal h1 { font-size:clamp(43px,6vw,72px); overflow-wrap:anywhere; }
.legal h2 { margin-top:44px; margin-bottom:16px; font-size:32px; }
.legal p,.legal li { color:var(--muted); }
.legal .eyebrow { color:var(--wine); }
.legal a { overflow-wrap:anywhere; }
@media (max-width:720px) {
  .header { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 12px; padding-block:10px; }
  .header nav { display:flex; grid-column:1 / -1; grid-row:2; width:100%; gap:8px 18px; justify-content:flex-start; }
  .header .languages { grid-column:2; grid-row:1; }
  .header-sections nav { gap:0 12px; font-size:13px; }
  .header-actions { grid-column:2; grid-row:1; gap:4px; }
  .header-actions > .signin { justify-content:center; font-size:13px; min-width:44px; }
  .header-actions > .signin .icon { display:none; }
  .header-sections .wordmark { font-size:26px; }
  .footer { flex-direction:column; gap:12px; }
  .footer p { max-width:none; text-align:left; }
  .legal { padding-block:40px; }
}
