/* Keep content in document flow: viewport rhythm without scroll hijacking. */
html { scroll-padding-top:72px; }
.site-header { border-bottom:1px solid #354a44; }
.site-header .site-header__inner { min-height:72px; padding-block:12px; }
.progress-rail { display:none; }
.site-nav__links { gap:24px; }
.site-nav__links a { color:#c2d1cb; font-size:14px; }
.site-nav__links a:hover { color:#fff; }
.site-header__cta { border-color:#809d93; }
.section { padding-block:clamp(48px,6vh,80px); border-bottom:1px solid #d8dfda; }
.section--dark { border-bottom-color:#354a44; }
.hero { min-height:calc(100svh - 72px); display:flex; align-items:center; }
.hero__grid { width:100%; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:clamp(32px,5vw,76px); }
.hero__title { max-width:18ch; font-size:clamp(44px,4vw,58px); line-height:1.04; font-weight:500; letter-spacing:-.035em; }
.hero__title em { color:#9ae0cf; font-weight:inherit; }
.hero .lead { max-width:33rem; font-size:18px; line-height:1.65; color:#c2d1cb; }
.hero .eyebrow { font-size:11px; letter-spacing:.12em; margin-bottom:22px; }
.hero__capture { margin-top:28px; }
.hero__fineprint { color:#bacac3; }
.section__head { margin-bottom:32px; }
.section__head h2 { font-size:clamp(32px,3vw,44px); line-height:1.12; letter-spacing:-.025em; }
.section__head .lead { font-size:18px; line-height:1.6; }
.workflow-preview { margin:0; width:100%; border:1px solid #4c645a; border-radius:12px; background:#17251f; box-shadow:0 24px 64px #0003; overflow:hidden; }
.workflow-preview__header { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:18px 24px; border-bottom:1px solid #3b5046; color:#b6cdc1; font-size:10px; font-weight:600; letter-spacing:.1em; }
.preview-label { letter-spacing:0; font-weight:400; font-size:11px; }
.workflow-preview__intro { padding:24px 24px 12px; }
.workflow-preview__intro h2 { margin:0 0 6px; font-size:27px; font-weight:500; }
.workflow-preview__intro p { margin:0; font-size:13px; color:#c2d1cb; }
.workflow-preview__list { list-style:none; padding:0 24px; margin:0; }
.workflow-preview__list li { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:12px; position:relative; min-height:76px; padding:14px 0; }
.workflow-preview__list li:not(:last-child)::after { content:""; position:absolute; width:1px; height:22px; background:#829f91; left:15px; bottom:-11px; }
.workflow-icon { display:grid; place-items:center; width:30px; height:30px; border:1px solid #7e9c8e; border-radius:7px; font-size:10px; color:#cfebdf; font-variant-numeric:tabular-nums; }
.workflow-preview__list strong { display:block; font-size:14px; font-weight:500; color:#f3f7f3; }
.workflow-preview__list div > span { display:block; font-size:12px; line-height:1.5; color:#becfc5; margin-top:3px; }
.step-type { font-size:10px; color:#b9d2c4; border:1px solid #526e60; padding:3px 7px; border-radius:4px; }
.workflow-preview__exception .workflow-icon, .workflow-preview__exception .step-type { border-color:#d49a77; color:#ffd0ad; }
.workflow-preview__footer { margin-top:12px; padding:16px 24px; background:#20362c; border-top:1px solid #486052; display:flex; flex-wrap:wrap; gap:4px 12px; justify-content:space-between; font-size:11px; color:#c4d5cc; }
.workflow-preview__footer strong { color:#b7edce; font-weight:500; }
.flow { margin-block:28px 36px; }
.flow__node { border-radius:6px; box-shadow:none; }
.flow__gap-label { font-size:11px; border-radius:4px; }
.flow__gap-why { color:#48594f; font-size:12px; }
.flow__token { display:none; }
.flow__arrow, .flow__gap-line { animation:none; }
.flow__arrow::after { border-width:0 1.5px 1.5px 0; width:7px; height:7px; transform:rotate(-45deg); right:1px; top:calc(50% - 4px); background:none; }
.reasons--grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.reasons__item { padding-top:16px; border-top:1px solid #a8b7ae; }
.reasons__item dt { font-size:15px; line-height:1.45; }
.reasons__item dd { font-size:14px; line-height:1.6; }
.stages { gap:22px; }
.stages__num { border-radius:6px; color:#b7edce; border-color:#6f8b7e; font-family:var(--font-body); font-size:12px; }
.stages__item h3 { font-size:21px; }
.stages__item p { color:#c2d1cb; font-size:15px; line-height:1.55; }
.appshot { border:1px solid #64786e; border-radius:10px; box-shadow:0 18px 48px #0002; overflow:hidden; }
.appshot__chrome { background:#e6ece7; border-bottom:1px solid #c0ccc4; padding-block:14px; }
.appshot__rail { background:#1d3027; padding:22px 16px; }
.appshot__rail-item { color:#cfdbd4; font-size:12px; padding:7px 9px; margin:2px 0; }
.appshot__rail-group { color:#afc9ba; font-size:10px; margin-top:20px; }
.appshot__rail-item.is-current { background:#365244; border-radius:4px; }
.appshot__main { padding:24px; background:#f6f7f5; }
.appshot__row { align-items:start; flex-wrap:wrap; gap:8px; }
.appshot__name { line-height:1.5; }
.appshot__badge { background:#e0ede4; color:#075f42; padding:3px 6px; border-radius:3px; }
.appshot__badge--wait { background:#f8e4d9; color:#85371f; }
.appshot__stats { gap:22px; margin-block:16px 26px; }
.appshot__stats dt { font-size:10px; color:#46574d; }
.appshot figcaption { padding:14px 20px; margin:0; color:#c6d7cd; background:#1d3027; font-size:12px; }
.runcanvas { border-radius:10px; }
.runcanvas__step { opacity:1; }
.runcanvas__step + .runcanvas__step::before { content:none; }
.runcanvas__verdict--hero { font-size:clamp(24px,3vw,36px); }
.estimate-note { font-size:13px; max-width:65ch; color:#33483b; margin:12px 0 24px; }
.statrow { margin-block:24px; }
.cost-assumptions { margin-top:24px; }
.why-win { margin-top:28px; }
.why-win__item { border-top:1px solid #5d7669; padding-top:24px; }
.why-win__item h3 { font-size:24px; line-height:1.2; margin-bottom:14px; }
.why-win__item p { color:#c2d1cb; font-size:15px; line-height:1.65; }
.tier { border-radius:8px; border-color:#aebeb4; box-shadow:none; }
.tier__kicker { font-size:11px; }
.tier__value { font-size:48px; }
.door--quiet { border-color:#5d7669; border-radius:8px; }
:focus-visible { outline:3px solid #0a7d72; outline-offset:4px; }
.section--dark :focus-visible { outline-color:#9ae0cf; }
@media (min-width:961px) {
  main > .section:not(.hero) { min-height:calc(100svh - 72px); display:flex; align-items:center; }
  main > .section > .wrap { width:100%; }
}
@media (max-width:1100px) {
  .site-nav__links { gap:14px; }
  .hero__title { font-size:48px; }
  .workflow-preview__list { padding-inline:18px; }
  .workflow-preview__list li { gap:9px; }
}
@media (max-width:960px) {
  .hero__grid { grid-template-columns:1fr; max-width:760px; }
  .hero__content { max-width:40rem; }
  .hero__title { max-width:18ch; }
  .workflow-preview { max-width:640px; }
  .reasons--grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero { min-height:0; }
}
@media (max-width:620px) {
  .site-header .site-header__inner { min-height:64px; padding-block:10px; }
  html { scroll-padding-top:64px; }
  .section { padding-block:44px; }
  .hero__title { font-size:42px; }
  .hero .lead, .section__head .lead { font-size:16px; }
  .hero .eyebrow { font-size:10px; }
  .workflow-preview__header, .workflow-preview__intro, .workflow-preview__footer { padding-inline:18px; }
  .workflow-preview__list li { grid-template-columns:28px minmax(0,1fr); }
  .workflow-preview__list .step-type { display:none; }
  .workflow-preview__list strong { font-size:13px; }
  .workflow-preview__list div > span { font-size:12px; }
  .reasons--grid { gap:20px; }
  .appshot__main { padding:18px; }
  .flow__arrow::after { transform:rotate(45deg); }
  .door__contacts a { overflow-wrap:anywhere; }
}
@media (max-height:740px) and (min-width:961px) {
  .hero { padding-block:28px; }
  .hero__title { font-size:48px; }
  .hero .lead { font-size:16px; }
  .workflow-preview__list li { min-height:66px; padding-block:10px; }
  .workflow-preview__intro { padding-top:18px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* No content fades: headings, diagrams and body text remain legible while scrolling. */
html.js [data-reveal], html.js [data-reveal].is-revealed { opacity:1; transform:none; transition:none; }
.stages__item { margin:0; }
.workflow-preview__list li { margin:0; }
.runcanvas__step { margin:0; font-size:12px; }
.runcanvas__steps { margin-block:16px 24px; }
.runcanvas--full { margin-bottom:0; }
@media (min-width:961px) {
  #cost > .wrap { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px 48px; align-items:start; }
  #cost .section__head { grid-column:1; margin:0; }
  #cost .runcanvas { grid-column:2; grid-row:1 / 4; }
  #cost .statrow { grid-column:1; grid-template-columns:1fr; gap:12px; margin:0; }
  #cost .statrow__item { display:flex; align-items:baseline; gap:14px; }
  #cost .statrow__value { font-size:30px; min-width:100px; }
  #cost .statrow__label { margin:0; font-size:12px; }
  #cost .footnote { grid-column:1 / -1; margin:0; }
  #cost .runcanvas__steps { display:none; }
  #cost .runcanvas__verdict--hero { font-size:30px; }
  #cost .runcanvas__controls { margin-top:20px; }
}
@media (min-width:961px) {
  #how .section__head, #pricing .section__head, #status .section__head, #team .section__head { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:48px; max-width:none; }
  #how .section__head h2, #pricing .section__head h2, #status .section__head h2, #team .section__head h2 { margin:0; }
  #how .section__head .lead, #pricing .section__head .lead, #status .section__head .lead, #team .section__head .lead { margin:0; }
  .appshot__rail-group { margin-top:12px; }
  .appshot__rail-item { padding-block:5px; }
  .appshot__stats { margin-block:12px 18px; }
  #status .status-next { margin-top:28px; padding-top:24px; }
  #contact .waitlist-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  #contact .waitlist-form .field { margin:0; }
  #contact .waitlist-form .field:has(textarea), #contact .waitlist-form__submit { grid-column:1 / -1; }
  #contact .waitlist-form textarea { min-height:96px; }
}
/* Second pass: a warmer paper, decisive ink, and one bright action color. */
:root { --ink:#111d30; --paper:#faf8f1; --slate:#35435a; --mist:#d5deed; --mint:#dbe993; --teal:#2456ac; --teal-deep:#183d80; --surface:#fff; --surface-dark:#20314b; --coral:#a64523; }
body { background:var(--paper); }
html { scroll-snap-type:y mandatory; scroll-padding-top:72px; }
main > .section { scroll-snap-align:start; scroll-snap-stop:always; border:0; scroll-margin-top:0; }
.site-header { background:#111d30; border:0; }
.site-header .site-header__inner { height:72px; min-height:72px; box-sizing:border-box; }
.site-nav__links a { color:#e1e7f2; }
.site-header__cta, .section--dark .btn--primary { background:#e4ef8e; color:#111d30; border-color:#e4ef8e; }
.site-header__cta:hover, .section--dark .btn--primary:hover { background:#f1f8b6; color:#111d30; border-color:#f1f8b6; }
.hero .lead, .section--dark .section__head .lead, .stages__item p, .hero__fineprint { color:#d5deed; }
.hero .eyebrow, .door__kicker { color:#e4ef8e; }
.hero__capture .btn { gap:30px; padding:16px 24px; font-size:16px; }
.workflow-preview { background:#21324d; border:0; box-shadow:none; }
.workflow-preview__header { border:0; background:#2a3d5d; color:#f1f5ff; }
.workflow-preview__intro p, .workflow-preview__list div > span { color:#d8e3f5; }
.workflow-preview__list strong { color:#fff; }
.workflow-icon { border:0; color:#142338; background:#dce8ff; font-weight:600; }
.workflow-preview__list li:not(:last-child)::after { background:#8299bb; }
.step-type { color:#eff4ff; border-color:#8194b2; }
.workflow-preview__exception .workflow-icon { background:#ffc9a6; color:#542715; }
.workflow-preview__exception .step-type { color:#ffd0ae; border-color:#dbad8e; }
.workflow-preview__footer { border:0; background:#304767; color:#fff; }
.workflow-preview__footer strong { color:#eef5b5; }
.reasons__item, .why-win__item, .statrow__item, .status-next, .team-card { border:0; }
.reasons__item { padding-top:0; }
.section--dark .reasons__item dd { color:#d5deed; }
.stages__num { color:#111d30; background:#e4ef8e; border:0; }
.appshot { border:0; box-shadow:none; }
.appshot__chrome { background:#dbe4f1; border:0; }
.appshot__rail, .appshot figcaption { background:#263c5b; color:#f1f5ff; }
.appshot__rail-item, .appshot__rail-group { color:#e3edfc; }
.appshot__rail-item.is-current { background:#45638a; border:0; }
.appshot__main { background:#faf8f1; }
.appshot__stats dt { color:#425069; }
.appshot__badge { background:#e2edb3; color:#33431a; }
.appshot__badge--wait { background:#ffdfc9; color:#77351c; }
.runcanvas, .tier { border:0; box-shadow:none; background:#fff; }
.runcanvas__verdict, .runcanvas__verdict b, .runcanvas__meter-value, .statrow__value { color:#183d80; }
.estimate-note { color:#35435a; }
.runcanvas__controls { border:0; }
:focus-visible { outline-color:#2456ac; }
.section--dark :focus-visible { outline-color:#e4ef8e; }
/* The only connectors are part of the story: a handoff from one system to another. */
.flow { --flow-track:176px; display:grid; grid-template-columns:1fr .8fr 1fr .8fr 1fr; gap:0; align-items:center; margin:28px 0 36px; }
.flow__node { display:flex; flex-direction:column; align-items:flex-start; position:relative; gap:5px; padding:22px; border:0; border-radius:12px; background:#e4eaf7; color:#142b53; min-height:176px; }
.flow__node:nth-child(3) { background:#e5edc8; color:#35431d; }
.flow__node:nth-child(5) { background:#f8ddc6; color:#623b25; }
.system-icon { font:11px var(--font-body); opacity:1; margin-bottom:7px; }
.flow__node strong { font-size:22px; font-weight:600; }
.flow__node small { font-size:12px; font-weight:400; }
.flow__gap { max-width:none; display:flex; flex-direction:column; justify-content:center; gap:24px; width:100%; }
.flow__arrow { width:100%; height:2px; }
.flow__gap-line { border-top:2px solid #293d60; }
.flow__arrow::after { border:solid #293d60; border-width:0 2px 2px 0; width:7px; height:7px; right:1px; top:-3px; transform:rotate(-45deg); }
.flow__gap-label { background:#111d30; color:#fff; border-radius:20px; white-space:nowrap; padding:8px 12px; font-size:11px; }
.flow__gap-why { font-size:11px; color:#35435a; text-align:center; max-width:13ch; }
.mini-document { display:grid; gap:5px; width:47px; padding:9px; background:#fff; border-radius:3px; margin-top:12px; transform:rotate(-7deg); }
.mini-document i { display:block; height:3px; background:#7893c3; }
.mini-document i:last-child { width:60%; }
.stock-grid { display:grid; grid-template-columns:repeat(2,13px); gap:4px; margin-top:12px; }
.stock-grid i { width:13px; height:13px; background:#607c30; border-radius:2px; }
.parcel { width:36px; height:30px; background:#b76d3f; margin-top:12px; position:relative; border-radius:3px; }
.parcel::after { content:""; position:absolute; left:15px; top:0; width:6px; height:14px; background:#fff0d6; }
/* One idea, illustrated: compile once, reuse the result. */
.why-section { background:#e9efbc; color:#16213a; }
.why-section .wrap { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:64px; }
.why-copy .eyebrow { color:#415323; }
.why-copy h2 { font-size:clamp(38px,4vw,58px); line-height:1.06; font-weight:500; letter-spacing:-.035em; margin:0 0 24px; }
.why-copy h2 em { font-weight:inherit; color:#305125; }
.why-copy .lead { font-size:17px; line-height:1.65; margin:0; color:#303c28; }
.reuse-diagram { margin:0; background:#fffdf4; border-radius:16px; padding:32px; }
.diagram-caption { display:block; font:10px var(--font-body); font-weight:600; letter-spacing:.13em; color:#44553b; }
.reuse-build { display:grid; grid-template-columns:1fr 36px 1.25fr; align-items:center; gap:12px; }
.reuse-build .diagram-caption { grid-column:1/-1; margin-bottom:12px; }
.process-note { padding:18px 15px; background:#e7edfa; border-radius:7px; transform:rotate(-4deg); }
.process-note > span { font-size:11px; color:#455476; }
.process-note strong { display:block; font:24px/1.1 var(--font-heading); margin-top:12px; color:#16284b; }
.diagram-arrow { color:#29436e; font-size:30px; text-align:center; }
.compiled-work { display:flex; flex-direction:column; align-items:center; gap:10px; background:#243d64; color:#fff; padding:20px 12px; border-radius:10px; text-align:center; }
.compiled-work strong { font-size:14px; }
.compiled-work > span:last-child { color:#dce8ff; font-size:10px; }
.code-mark { font:36px/1.2 monospace; color:#e9efbc; }
.reuse-runs { margin-top:30px; }
.run-copies { display:flex; gap:10px; margin-top:14px; }
.run-copies > span { flex:1; padding:14px 10px; border-radius:6px; background:#e5edcf; color:#30421e; font-size:11px; white-space:nowrap; }
.run-copies b { margin-left:6px; color:#345319; }
.reuse-runs p { font-size:12px; color:#46563b; margin:12px 0 22px; }
.reuse-diagram figcaption { font-size:12px; line-height:1.6; background:#ffe5d2; color:#613719; border-radius:6px; padding:12px; }
.human-dot { display:inline-block; width:8px; height:8px; background:#a75229; border-radius:50%; margin-right:6px; }
/* The final chapter is the form. The legal links belong to it. */
#contact .section__head { margin-bottom:22px; }
#contact .section__head h2 { margin:0; }
#contact .doors { grid-template-columns:1.15fr .85fr; gap:70px; }
#contact .door > h3 { font-size:23px; margin:0 0 8px; }
#contact .door > p { margin:0 0 18px; font-size:14px; }
#contact .waitlist-form { margin:0; gap:12px 16px; }
#contact .field label { font-size:12px; margin-bottom:5px; }
#contact .field input { height:40px; min-height:40px; padding:8px 12px; background:#24354f; color:#fff; border-color:#7990b2; }
#contact .field textarea { min-height:64px; height:64px; padding:8px 12px; background:#24354f; color:#fff; border-color:#7990b2; }
#contact .field__hint { margin:4px 0 0; font-size:11px; }
#contact .waitlist-form__submit { margin:0; min-height:44px; padding:10px; }
#contact .waitlist-form__fineprint, #contact .form-status { font-size:12px; margin:8px 0 0; }
#contact .form-status:empty { display:none; }
#contact .door--quiet { padding:24px 0 0; background:none; border:0; }
#contact .door--quiet h3 { font-size:42px; line-height:1.1; margin:16px 0 22px; }
#contact .door--quiet p { color:#dce5f5; }
#contact .door--quiet .door__kicker { color:#e4ef8e; font-size:11px; }
#contact .door__contacts { gap:8px; margin:20px 0 0; }
#contact .door__contacts li { margin:0; }
#contact .door__contacts a { color:#e4ef8e; font-size:14px; }
.contact-foot { display:flex; gap:24px; font-size:11px; color:#d5deed; margin-top:22px; }
.contact-foot a { color:#d5deed; }
.site-footer[hidden] { display:none; }
@media (min-width:961px) { #contact { padding-block:28px; } }
@media (max-width:960px) {
  .why-section .wrap { grid-template-columns:1fr; gap:30px; }
  .reuse-diagram { max-width:620px; }
  #contact .doors { grid-template-columns:1fr; gap:24px; }
  #contact .door--quiet { display:none; }
  #contact .waitlist-form { display:grid; grid-template-columns:1fr 1fr; }
  #contact .field { margin:0; }
  #contact .field:has(textarea), #contact .waitlist-form__submit { grid-column:1/-1; }
}
@media (max-width:620px) {
  html { scroll-padding-top:64px; }
  .site-header .site-header__inner { height:64px; min-height:64px; }
  .flow { grid-template-columns:1fr; gap:0; }
  .flow__node { min-height:98px; padding:16px 20px; width:100%; gap:2px; }
  .flow__node strong { font-size:20px; }
  .flow__node .system-icon { margin:0; }
  .mini-document,.stock-grid,.parcel { position:absolute; right:22px; top:22px; }
  .flow__gap { height:72px; position:relative; display:flex; align-items:center; justify-content:center; padding:0; }
  .flow__arrow { height:72px; width:2px; position:absolute; left:35px; }
  .flow__gap-line { border:0; height:100%; width:2px; background:#293d60; }
  .flow__arrow::after { top:auto; bottom:1px; right:-3px; transform:rotate(45deg); }
  .flow__gap-label { left:32px; top:36px; transform:translateY(-50%); }
  .flow__gap-why { margin-left:156px; max-width:12ch; text-align:left; }
  .reuse-diagram { padding:20px; }
  .reuse-build { grid-template-columns:1fr 20px 1.25fr; gap:8px; }
  .process-note { padding:14px 10px; }
  .process-note strong { font-size:20px; }
  .compiled-work { padding:16px 8px; }
  .compiled-work strong { font-size:12px; }
  .run-copies { gap:6px; }
  .run-copies > span { padding:12px 7px; font-size:10px; }
  .run-copies b { margin-left:2px; }
  .why-copy h2 { font-size:38px; }
  #contact { padding-block:28px; min-height:calc(100svh - 64px); }
  #contact .section__head h2 { font-size:32px; }
  #contact .door > p { font-size:13px; }
  .contact-foot { margin-top:16px; }
  .mobilebar { display:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
.site-header.section--dark a.site-header__cta { color:#111d30; }
.site-header.section--dark .site-nav__links a { color:#e1e7f2; }
.site-header.section--dark .site-nav__links a:hover { color:#fff; }
@media (min-width:961px) {
  #gap .section__head { max-width:none; display:grid; grid-template-columns:1fr 1fr; gap:48px; }
  #gap .section__head h2, #gap .section__head .lead { margin:0; }
  #gap .section__head h2 { font-size:40px; }
}
@media (max-width:620px) { .status-next__cols { grid-template-columns:minmax(0,1fr); } }
@media (min-width:961px) and (max-height:740px) { #status { padding-block:38px; } }
/* Phone-sized snap areas follow browser chrome, rotation and safe insets.
   Oversized content stays in the document; its last screen is a second
   snap target rather than an awkward partial view of the next chapter. */
@media (max-width:960px) {
  :root { --visible-screen:100vh; --mobile-header:72px; }
  @supports (height:100dvh) { :root { --visible-screen:100dvh; } }
  html { scroll-padding-top:var(--mobile-header); }
  .site-header { padding-top:env(safe-area-inset-top, 0px); }
  .wrap { padding-left:max(24px, env(safe-area-inset-left, 0px)); padding-right:max(24px, env(safe-area-inset-right, 0px)); }
  main > .section, main > .section.hero, main > #contact {
    position:relative;
    box-sizing:border-box;
    min-height:calc(var(--visible-screen) - var(--mobile-header));
    height:auto;
    display:flex;
    align-items:center;
    padding-block:clamp(20px, 4dvh, 40px);
    padding-bottom:max(clamp(20px, 4dvh, 40px), env(safe-area-inset-bottom, 0px));
  }
  main > .section > .wrap { width:100%; }
  main > .section.snap-overflow::after {
    content:"";
    position:absolute;
    inset-inline:0;
    bottom:0;
    height:calc(var(--visible-screen) - var(--mobile-header));
    pointer-events:none;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  html.snap-suspended { scroll-snap-type:none; scroll-behavior:auto; }
  /* Inputs below 16px trigger automatic zoom in iOS Safari. */
  #contact .field input, #contact .field textarea { font-size:16px; }
}
@media (max-width:620px) {
  :root { --mobile-header:64px; }
  #contact .waitlist-form .field { grid-column:auto; }
  #contact .waitlist-form .field:has(textarea), #contact .waitlist-form__submit { grid-column:1/-1; }
}
