/* =========================================================================
   Sourdough editorial-fintech identity. Warm cream paper, espresso ink, one
   refined honey marker, Source Serif for trust, Inter for UI, Anton as a
   narrow scan-CTA accent.
   ========================================================================= */

@font-face{ font-family:"SD Anton"; src:url("fonts/Anton.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"SD Source Serif"; src:url("fonts/source-serif-4-regular.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"SD Source Serif"; src:url("fonts/source-serif-4-bold.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }
@font-face{ font-family:"SD Source Serif"; src:url("fonts/source-serif-4-italic.woff2") format("woff2"); font-weight:400; font-style:italic; font-display:swap; }
@font-face{ font-family:"SD Inter"; src:url("fonts/inter-regular.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face{ font-family:"SD Inter"; src:url("fonts/inter-bold.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }
@font-face{ font-family:"SD Inter"; src:url("fonts/inter-italic.woff2") format("woff2"); font-weight:400; font-style:italic; font-display:swap; }

:root{
  --paper:   #f4f1e8;   /* warm cream */
  --paper-2: #ece7d8;   /* deeper band */
  --card:    #fbf9f2;   /* light parchment surface */
  --ink:     #1b1a14;   /* espresso near-black */
  --ink-2:   #5c5848;   /* muted secondary */
  --faint:   #908b76;   /* tertiary */
  --line:    #e1dccb;   /* soft hairline */
  --line-2:  #ece8da;

  --accent:    #e0a92a;  /* honey gold — the one warm accent (marker) */
  --accent-2:  #c4901c;  /* deeper honey */
  --accent-soft:#f6ead0; /* wash */
  --on-accent: #1b1a14;

  --band:    #1b1a14;    /* deep section */

  --r:    14px;
  --r-lg: 24px;
  --pill: 999px;
  --sh-sm: 0 1px 2px rgba(30,26,12,.05);
  --sh:    0 1px 2px rgba(30,26,12,.05), 0 18px 40px -30px rgba(40,32,10,.34);
  --sh-lg: 0 1px 2px rgba(30,26,12,.05), 0 44px 84px -52px rgba(40,32,10,.46);

  --display:"SD Anton", "Arial Narrow", sans-serif;
  --serif: "SD Source Serif", Georgia, serif;
  --sans:  "SD Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:  "Space Mono", ui-monospace, Menlo, monospace;

  --wrap: 1180px;
  --gut: clamp(20px, 5vw, 64px);
}

*{ box-sizing: border-box; }
html{ -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body{
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--sans); font-size: 17px; line-height: 1.6;
  font-weight: 400; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  letter-spacing: -.006em;
  overflow-x: hidden;
}
img{ max-width: 100%; display: block; }
a{ color: inherit; text-decoration: none; }
button{ font: inherit; cursor: pointer; }
h1,h2,h3{ margin: 0; font-weight: 700; letter-spacing: -.02em; line-height: 1.02; }
p{ margin: 0; }
::selection{ background: var(--accent); color: var(--on-accent); }
:focus-visible{ outline: 2px solid var(--ink); outline-offset: 3px; }

.wrap{ max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gut); }
.tnums{ font-variant-numeric: tabular-nums lining-nums; }

/* labels */
.ovl{ font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-2); }
.idx{ font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-2); }

/* honey marker — the one place colour touches a word */
.uline{ background: linear-gradient(var(--accent-soft), var(--accent-soft)) no-repeat; background-size: 100% .42em; background-position: 0 78%; padding: 0 .04em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

/* ---- custom brand wordmark ---- */
.brand{ display: inline-flex; align-items: center; gap: 11px; }
.brand__mark{ display: inline-flex; }
.brand__mark svg{ width: 27px; height: 27px; display: block; color: var(--ink); }
.brand__wm{ font-family: var(--serif); font-weight: 600; font-size: 22px; letter-spacing: -.02em; color: var(--ink); }
.brand__tld{ color: var(--ink-2); }
.foot .brand__wm{ font-size: 26px; }

/* ---- buttons: black, premium ---- */
.btn{ display: inline-flex; align-items: center; gap: .5em; font-family: var(--sans); font-weight: 600; font-size: 15.5px; letter-spacing: -.01em; white-space: nowrap;
  padding: 14px 26px; border: 1.5px solid var(--ink); background: var(--ink); color: var(--paper);
  border-radius: var(--pill); transition: transform .15s, box-shadow .18s, background-color .16s; }
.btn:hover{ transform: translateY(-1px); background: #000; box-shadow: 0 14px 28px -16px rgba(0,0,0,.5); }
.btn .arr{ transition: transform .18s; }
.btn:hover .arr{ transform: translateX(3px); }
.btn.ink{ background: var(--ink); border-color: var(--ink); color: var(--paper); }
.btn.ghost{ background: transparent; color: var(--ink); border-color: var(--line); }
.btn.ghost:hover{ background: var(--card); border-color: var(--ink); box-shadow: var(--sh-sm); }

/* ====================================================================== */
/* NAV                                                                     */
/* ====================================================================== */
.nav{ position: sticky; top: 0; z-index: 40; overflow: visible; padding-block: clamp(10px, 1.6vw, 18px); background: transparent; border-bottom: 0; transition: background-color .25s, backdrop-filter .25s; }
.nav.scrolled{ background: linear-gradient(180deg, color-mix(in oklab, var(--paper) 72%, transparent), color-mix(in oklab, var(--paper) 28%, transparent) 72%, transparent); backdrop-filter: blur(10px); }
.nav .row{ position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 20px; width: calc(100% - clamp(24px, 6vw, 96px)); max-width: var(--wrap); margin-inline: auto; padding: 9px clamp(12px, 2vw, 22px); border: 1px solid color-mix(in oklab, var(--line) 90%, var(--ink)); border-radius: var(--pill); background: linear-gradient(180deg, #fffdf7, var(--card)); box-shadow: var(--sh-sm), inset 0 1px 0 rgba(255,255,255,.9), 0 18px 38px -34px rgba(27,26,20,.36); }
.nav .row::before{ content: ""; position: absolute; inset: -6px; z-index: -1; border: 1px solid color-mix(in oklab, var(--line) 86%, transparent); border-radius: var(--pill); background: repeating-linear-gradient(to bottom, rgba(27,26,20,.06) 0 1px, transparent 1px 5px), linear-gradient(180deg, rgba(255,255,255,.64), rgba(255,255,255,0)), var(--paper); box-shadow: 0 12px 28px -26px rgba(27,26,20,.34); pointer-events: none; }
.nav .row::after{ content: ""; position: absolute; inset: 1px; z-index: -1; border-radius: inherit; background: linear-gradient(90deg, transparent 0, rgba(224,169,42,.035) 50%, transparent 82%); pointer-events: none; }
.nav .brand, .nav .links, .nav .btn{ position: relative; z-index: 1; }
.nav .brand{ padding: 6px 11px 6px 7px; border: 1px solid var(--line-2); border-radius: var(--pill); background: color-mix(in oklab, var(--paper) 80%, white); }
.nav .links{ display: flex; align-items: center; gap: 4px; padding: 4px; border: 1px solid var(--line-2); border-radius: var(--pill); background: color-mix(in oklab, var(--paper) 72%, white); }
.nav .links a{ padding: 7px 12px; border-radius: var(--pill); font-size: 15px; font-weight: 500; color: var(--ink-2); transition: color .15s, background-color .15s; }
.nav .links a:hover{ color: var(--ink); background: var(--accent-soft); }
.nav .links a.is-active{ color: var(--ink); background: var(--accent-soft); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--accent) 36%, var(--line)); }
@media (max-width: 860px){ .nav .links{ display: none; } }
@media (max-width: 520px){
  .nav{ padding-block: 8px; }
  .nav .row{ gap: 10px; width: calc(100% - 24px); padding: 8px 12px; border-radius: 28px; }
  .nav .row::before{ inset: -5px; border-radius: 33px; }
  .brand{ gap: 8px; }
  .nav .brand{ padding: 0; border: 0; background: transparent; }
  .brand__mark svg{ width: 24px; height: 24px; }
  .brand__wm{ font-size: 18px; }
  .nav .btn{ min-height: 42px; padding: 10px 12px; font-size: 13px; }
}

/* ====================================================================== */
/* HERO                                                                    */
/* ====================================================================== */
.hero{ position: relative; overflow: clip; padding-block: clamp(34px, 4vw, 50px); }
.hero::before{ content: ""; position: absolute; z-index: 0; top: -16%; right: -8%; width: min(640px, 60vw); height: min(640px, 60vw); background: linear-gradient(117deg, transparent 0 52%, rgba(224,169,42,.105) 52% 63%, transparent 63% 100%); pointer-events: none; }
.hero .grid{ position: relative; z-index: 1; display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(32px, 4vw, 58px); align-items: center; }
.hero .eyebrow{ display: inline-flex; align-items: center; gap: 9px; margin-bottom: 24px; padding: 7px 15px; background: var(--card); border: 1px solid var(--line); border-radius: var(--pill); box-shadow: var(--sh-sm); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); }
.hero .eyebrow::before{ content: ""; width: 8px; height: 8px; background: var(--accent); border-radius: 50%; }
.hero h1{ font-family: var(--serif); font-weight: 600; font-size: clamp(52px, 6.2vw, 80px); line-height: .98; letter-spacing: -.035em; }
.hero h1 .it{ font-style: italic; font-weight: 500; }
.hero .lede{ font-size: clamp(18px, 1.7vw, 21px); line-height: 1.55; color: var(--ink-2); max-width: 42ch; margin-top: 24px; }
.hero .lede b{ color: var(--ink); font-weight: 600; }
.hero .free{ margin: 24px 0 0; display: inline-flex; align-items: center; gap: 11px; font-size: 15px; font-weight: 600; color: var(--ink-2); }
.hero .free .star{ color: var(--on-accent); background: var(--accent); padding: 4px 12px; font-weight: 700; letter-spacing: .04em; border-radius: var(--pill); font-size: 12.5px; }
.hero form{ display: flex; gap: 10px; flex-wrap: wrap; margin-top: 28px; max-width: 480px; }
.hero form input{ flex: 1; min-width: 220px; padding: 15px 18px; border: 1.5px solid var(--line); background: var(--card); color: var(--ink); font: inherit; font-size: 16px; border-radius: var(--pill); box-shadow: var(--sh-sm); }
.hero form input:focus{ outline: 0; border-color: var(--ink); }
.hero .meta{ margin-top: 22px; font-size: 14px; color: var(--ink-2); display: inline-flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.hero .meta .dot{ width: 8px; height: 8px; background: var(--accent); border-radius: 50%; display: inline-block; }
.hero .fn{ margin-top: 14px; font-size: 12.5px; line-height: 1.7; color: var(--faint); max-width: 56ch; }
@media (max-width: 520px){ .hero .meta, .hero .fn{ display: none; } }

/* hero layered card + chip */
.ticket{ position: relative; }
.ticket::before{ content: ""; position: absolute; z-index: 1; right: 0; top: 34px; width: min(360px, 84%); height: calc(100% - 26px); background: linear-gradient(180deg, #fffdf7, #fbf9f0); border: 1px solid var(--line); border-radius: var(--r-lg); transform: rotate(3.5deg); transform-origin: bottom right; box-shadow: var(--sh); }
.ticket .slip{ position: relative; z-index: 2; background: var(--card); border: 1px solid var(--line); max-width: 380px; margin-left: auto; border-radius: var(--r-lg); box-shadow: var(--sh-lg); overflow: hidden; }
.ticket .slip__h{ display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--line-2); }
.ticket .slip__h .no{ font-size: 13px; color: var(--faint); font-weight: 500; font-family: var(--serif); font-style: italic; }
.ticket .slip__h .lab{ font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-2); }
.ticket .slip__b{ padding: 8px 22px 14px; }
.ticket .row{ display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; font-size: 15px; padding: 13px 0; border-bottom: 1px solid var(--line-2); }
.ticket .row:last-of-type{ border-bottom: 0; }
.ticket .row > span:first-child{ color: var(--ink); font-weight: 500; }
.ticket .row .bk{ font-weight: 600; }
.ticket .row .bk .u{ background: var(--accent-soft); border-radius: 5px; padding: 3px 9px; color: var(--ink); }
.ticket .row .cd{ color: var(--faint); font-weight: 500; }
.ticket .slip__f{ padding: 16px 22px; background: var(--accent-soft); display: flex; align-items: center; justify-content: space-between; }
.ticket .slip__f .t{ font-size: 12.5px; font-weight: 600; color: var(--ink-2); }
@media (max-width: 940px){ .hero .grid{ grid-template-columns: 1fr; } .ticket{ display: none; } }

.product-tabs{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 14px 22px 0; }
.product-tabs span{ border: 1px solid var(--line); border-radius: var(--pill); padding: 7px 8px; text-align: center; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--faint); background: var(--paper); }
.product-tabs span.on{ border-color: var(--accent); background: var(--accent-soft); color: var(--ink); }
.product-tabs span.locked{ cursor: help; }
.product-tabs span.locked:hover{ border-color: color-mix(in oklab, var(--line) 72%, var(--ink)); background: color-mix(in oklab, var(--paper) 74%, white); color: var(--ink-2); }
.review-mini{ padding: 16px 22px 20px; border-top: 1px solid var(--line); background: linear-gradient(180deg, var(--card), var(--paper)); }
.review-mini__head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.review-mini__head span{ font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); }
.review-mini__head b{ font-size: 12px; padding: 4px 9px; border: 1px solid var(--line); border-radius: var(--pill); background: var(--card); }
.mini-check{ display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--ink-2); padding-block: 5px; }
.mini-check span{ width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--ink); background: var(--card); flex: 0 0 auto; }
.mini-check.ok span{ background: var(--accent); border-color: var(--accent); }
.mini-check.assist span{ border-color: var(--accent); background: var(--accent); box-shadow: 0 0 0 0 rgba(224,169,42,.38); }
:root.anim .mini-check.assist span{ animation: assistPulse 1.9s ease-in-out infinite; }
@keyframes assistPulse{ 0%,100%{ box-shadow: 0 0 0 0 rgba(224,169,42,.34); } 50%{ box-shadow: 0 0 0 6px rgba(224,169,42,0); } }
@media (prefers-reduced-motion: reduce){ .mini-check.assist span{ animation: none !important; } }

.proof-rail{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: clamp(18px, 2.5vw, 32px); }
.proof-rail div{ background: color-mix(in oklab, var(--card) 86%, white); border: 1px solid var(--line); border-radius: var(--r); padding: 18px 20px; box-shadow: var(--sh-sm); }
.proof-rail b{ display: block; font-family: var(--serif); font-size: 18px; line-height: 1.18; letter-spacing: -.02em; }
.proof-rail span{ display: block; margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--ink-2); }
@media (max-width: 900px){ .proof-rail{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px){ .proof-rail{ grid-template-columns: 1fr; } }

/* ====================================================================== */
/* SECTIONS                                                                */
/* ====================================================================== */
.sec{ padding-block: clamp(56px, 8vw, 112px); }
.narr-grid{ display: grid; grid-template-columns: 150px 1fr; gap: clamp(20px, 4vw, 56px); align-items: start; }
.narr{ font-family: var(--serif); font-size: clamp(26px, 3.2vw, 42px); line-height: 1.24; letter-spacing: -.02em; max-width: 22ch; font-weight: 500; color: var(--ink); }
.narr .hl{ font-style: italic; }
.narr .hl.r{ font-style: italic; color: var(--accent-2); }
.pull{ margin-top: clamp(20px, 3vw, 30px); grid-column: 2; font-size: 17px; line-height: 1.6; max-width: 58ch; color: var(--ink-2); font-weight: 400; }
.pull em{ font-style: normal; color: var(--ink); font-weight: 600; }
@media (max-width: 720px){ .narr-grid{ grid-template-columns: 1fr; } .pull{ grid-column: 1; } }

/* numbers band */
.band{ background: var(--band); color: var(--paper); border-radius: var(--r-lg); margin-inline: clamp(12px, 3vw, 28px); position: relative; overflow: hidden; }
.band::after{ content: ""; position: absolute; right: 0; top: 0; width: 100%; height: 100%; border-radius: 0; background: linear-gradient(118deg, transparent 0 54%, rgba(224,169,42,.12) 54% 64%, transparent 64%); pointer-events: none; }
.band .wrap{ position: relative; z-index: 1; }
.band .ovl{ color: rgba(244,241,232,.6); }
.statgrid{ display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px,5vw,72px); margin-top: 30px; }
.stat .k{ font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(244,241,232,.55); }
.stat .n{ font-family: var(--serif); font-weight: 600; font-size: clamp(72px, 12vw, 150px); line-height: .9; letter-spacing: -.03em; margin: 14px 0 16px; }
.stat .n em{ font-style: italic; color: var(--accent); }
.stat .tag{ font-size: 12px; font-weight: 700; letter-spacing: .04em; color: var(--on-accent); background: var(--accent); padding: 6px 14px; display: inline-block; border-radius: var(--pill); }
.band .after{ margin-top: clamp(34px, 5vw, 52px); font-family: var(--serif); font-size: clamp(22px, 2.6vw, 32px); font-weight: 500; line-height: 1.28; letter-spacing: -.015em; max-width: 32ch; color: var(--paper); }
.band .after em{ font-style: italic; color: var(--accent); }
@media (max-width: 640px){ .statgrid{ grid-template-columns: 1fr; gap: 36px; } }

.pricegrid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 30px; }
.pricecard{ border: 1px solid rgba(244,241,232,.18); border-radius: var(--r); padding: clamp(22px, 3vw, 30px); background: rgba(244,241,232,.06); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.pricecard .k{ font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(244,241,232,.62); }
.pricecard .price{ margin-top: 18px; font-family: var(--serif); font-weight: 600; font-size: clamp(54px, 7.5vw, 94px); line-height: .9; letter-spacing: -.04em; color: var(--paper); }
.pricecard .price--addon{ font-family: var(--sans); font-size: clamp(30px, 4vw, 48px); letter-spacing: .04em; line-height: 1; text-transform: uppercase; }
.pricecard p{ margin-top: 18px; font-size: 14.5px; line-height: 1.55; color: rgba(244,241,232,.72); }
@media (max-width: 820px){ .pricegrid{ grid-template-columns: 1fr; } }

/* section head */
.sec-head{ margin-bottom: clamp(36px, 5vw, 56px); max-width: 30ch; }
.sec-head .ovl{ display: block; margin-bottom: 16px; }
.sec-head h2{ font-family: var(--serif); font-weight: 600; font-size: clamp(34px, 5vw, 60px); letter-spacing: -.03em; line-height: 1.02; }
.sec-head h2 em{ font-style: italic; color: var(--accent-2); }

/* how it works */
.steps{ display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 24px); }
.step{ background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(24px, 3vw, 34px); box-shadow: var(--sh-sm); transition: transform .18s, box-shadow .18s; }
.step:hover{ transform: translateY(-3px); box-shadow: var(--sh); }
.step .no{ font-family: var(--serif); width: 50px; height: 50px; border-radius: 50%; border: 1.5px solid var(--ink); color: var(--ink); display: grid; place-items: center; font-weight: 600; font-size: 22px; }
.step h3{ font-family: var(--serif); font-weight: 600; font-size: clamp(20px, 2.2vw, 25px); line-height: 1.2; letter-spacing: -.02em; margin-top: 22px; }
@media (max-width: 760px){ .steps{ grid-template-columns: 1fr; } }

/* filing review preview */
.approval-grid{ display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.approval-sec h2{ margin-top: 16px; font-family: var(--serif); font-weight: 600; font-size: clamp(34px, 5vw, 60px); letter-spacing: -.03em; line-height: 1.02; max-width: 12ch; }
.approval-sec .sub{ margin-top: 18px; color: var(--ink-2); font-size: 17px; line-height: 1.62; max-width: 42ch; }
.review-board{ background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--sh); overflow: hidden; }
.review-row{ display: grid; grid-template-columns: 1fr auto; gap: 4px 18px; padding: 20px 24px; border-bottom: 1px solid var(--line-2); position: relative; }
.review-row:last-child{ border-bottom: 0; }
.review-row::before{ content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--line); }
.review-row.ok::before{ background: var(--accent); }
.review-row.hold::before{ background: var(--ink); opacity: .82; }
.review-row span{ font-family: var(--serif); font-weight: 600; font-size: 20px; letter-spacing: -.02em; }
.review-row b{ align-self: start; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; border: 1px solid var(--line); border-radius: var(--pill); padding: 5px 10px; background: var(--paper); }
.review-row em{ grid-column: 1 / -1; font-style: normal; color: var(--ink-2); font-size: 14px; line-height: 1.45; }
@media (max-width: 820px){ .approval-grid{ grid-template-columns: 1fr; } }

/* ledger */
.ledger{ background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--sh); overflow: hidden; }
.ledger__h{ display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 22px 26px; }
.ledger__h .t{ font-family: var(--serif); font-weight: 600; font-size: 21px; letter-spacing: -.02em; }
.ledger__h .no{ font-size: 13px; color: var(--faint); font-weight: 500; font-style: italic; font-family: var(--serif); }
.thead, .trow{ display: grid; grid-template-columns: 74px 1.25fr 1.7fr 1.45fr; gap: 16px; align-items: center; }
.thead{ padding: 12px 26px; border-block: 1px solid var(--line-2); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--faint); background: var(--paper); }
.trow{ padding: 16px 26px; border-bottom: 1px solid var(--line-2); position: relative; transition: background-color .15s; }
.trow:last-of-type{ border-bottom: 0; }
.trow:hover{ background: var(--paper); }
.trow .d{ font-size: 13.5px; color: var(--faint); font-weight: 500; font-family: var(--serif); font-style: italic; }
.trow .m{ font-weight: 600; font-size: 16px; }
.trow .b{ font-size: 15px; }
.trow .b s{ color: var(--faint); margin-right: 7px; }
.trow .b b{ font-weight: 600; }
.trow.ded .b b{ background: var(--accent-soft); border-radius: 5px; padding: 3px 9px; }
.trow .c{ font-size: 13px; color: var(--ink-2); font-weight: 500; }
.trow.ded{ cursor: pointer; }
.trow.sel{ background: var(--accent-soft); }
.trow.sel::before{ content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--accent); }
.ledger__f{ padding: 20px 26px; border-top: 1px solid var(--line-2); background: var(--paper); font-size: 14.5px; color: var(--ink-2); }
.ledger__f b{ color: var(--ink); font-weight: 600; }
@media (max-width: 820px){
  .thead{ display: none; }
  .trow{ grid-template-columns: 1fr auto; gap: 4px 14px; padding: 16px 18px; }
  .trow .d{ grid-column: 1; } .trow .c{ grid-column: 1 / -1; }
  .trow .m{ grid-column: 1; } .trow .b{ grid-column: 1; }
}

/* scan signup */
.join{ display: grid; grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr); grid-template-areas: "copy form" "map form"; gap: clamp(24px, 4vw, 56px); align-items: start; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--sh); padding: clamp(28px, 4vw, 56px); }
.join-copy{ grid-area: copy; min-width: 0; }
.join-map{ grid-area: map; min-width: 0; align-self: start; }
.join .wform{ grid-area: form; align-self: start; min-width: 0; display: grid; gap: 14px; background: color-mix(in oklab, var(--paper) 78%, white); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh-sm), inset 0 1px 0 rgba(255,255,255,.72); padding: clamp(18px, 2.5vw, 28px); }
.join h2{ font-family: var(--display); font-weight: 400; font-size: clamp(42px, 5vw, 72px); letter-spacing: 0; line-height: .92; text-transform: uppercase; max-width: 8.4ch; }
.join h2 em{ font-family: var(--serif); font-style: italic; font-weight: 700; text-transform: none; color: var(--accent-2); }
.join .sub{ font-size: 17px; color: var(--ink-2); margin-top: 16px; max-width: 31ch; }
.livebar{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 0; }
.livebar .lc{ font-size: 14px; font-weight: 700; letter-spacing: .02em; display: inline-flex; align-items: center; gap: 8px; }
.livebar .lc .dot{ width: 9px; height: 9px; background: var(--accent); border-radius: 50%; display: inline-block; }
.livebar .lq{ font-size: 13px; color: var(--faint); font-weight: 500; }
.map-card{ margin-top: 18px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh-sm); padding: clamp(14px, 2vw, 20px); overflow: hidden; }
.map-counter{ font-family: var(--mono); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent-2); margin-bottom: 12px; }
.us-map-wrap{ padding: 4px 2px 0; transform: rotate(-1.6deg); transform-origin: 50% 45%; }
.us-map{ display: block; width: 100%; height: auto; overflow: visible; }
.us-map path{ fill: var(--card); stroke: var(--ink); stroke-width: 1; stroke-linejoin: round; cursor: pointer; outline: none; transition: fill .12s ease, stroke-width .12s ease, filter .12s ease; }
.us-map path.is-live{ fill: color-mix(in oklab, var(--accent) 28%, var(--paper)); }
.us-map path.is-hover{ fill: color-mix(in oklab, var(--accent) 48%, var(--paper)); filter: drop-shadow(0 2px 0 rgba(27,26,20,.16)); }
.us-map path.is-sel{ fill: var(--accent); stroke-width: 1.75; }
.us-map path:focus-visible{ fill: color-mix(in oklab, var(--accent) 58%, var(--paper)); stroke-width: 2.35; }
.map-foot{ margin-top: 14px; font-family: var(--mono); font-size: 12px; line-height: 1.45; color: var(--faint); letter-spacing: .04em; text-transform: uppercase; }
.field{ display: grid; gap: 7px; }
.field > label, .field .lab{ font-size: 12.5px; font-weight: 600; color: var(--ink-2); }
.field input, .field select{ width: 100%; padding: 14px 16px; border: 1.5px solid var(--line); background: var(--paper); color: var(--ink); font: inherit; font-size: 15.5px; border-radius: 12px; }
.field input:focus, .field select:focus{ outline: 0; border-color: var(--ink); }
.yrq{ display: grid; gap: 12px; }
.yrow{ display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.yrow .q{ font-size: 15px; font-weight: 500; }
.yn{ display: inline-flex; gap: 6px; }
.yn button{ padding: 9px 17px; border: 1.5px solid var(--line); background: var(--card); font-size: 13px; font-weight: 700; color: var(--ink); border-radius: var(--pill); transition: all .12s; cursor: pointer; }
.yn button:hover{ border-color: var(--ink); }
.yn button.on{ background: var(--ink); border-color: var(--ink); color: var(--paper); }
.wform .btn{ width: 100%; min-height: 58px; justify-content: center; }
.hp{ position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 1040px){
  .join{ grid-template-columns: 1fr; grid-template-areas: "copy" "map" "form"; }
  .join-copy, .join-map, .join .wform{ width: min(100%, 680px); margin-inline: auto; }
  .join h2{ max-width: 10ch; }
}
@media (max-width: 560px){
  .join{ padding: 22px 16px; border-radius: 18px; }
  .livebar{ flex-direction: column; align-items: flex-start; gap: 6px; }
  .map-card{ padding: 12px; border-radius: 12px; }
  .us-map-wrap{ transform: none; }
  .map-foot{ font-size: 10.5px; }
  .yrow{ display: grid; grid-template-columns: 1fr auto; align-items: center; }
  .yn button{ min-width: 58px; padding: 9px 13px; }
}

/* faq */
.faq{ display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(28px, 5vw, 72px); align-items: start; }
.faq .ask{ position: sticky; top: 96px; }
.faq .ask .ovl{ display: block; margin-bottom: 16px; }
.faq .ask h2{ font-family: var(--serif); font-weight: 600; font-size: clamp(32px, 4.4vw, 52px); letter-spacing: -.03em; line-height: 1.02; }
.faq .ask p{ font-size: 16px; color: var(--ink-2); margin-top: 16px; max-width: 30ch; }
.faq .ask p a{ color: var(--ink); border-bottom: 2px solid var(--accent); padding-bottom: 1px; }
.faq .list{ display: grid; gap: 12px; }
.faq details{ background: var(--card); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh-sm); padding: 2px 24px; transition: box-shadow .18s, border-color .18s; }
.faq details[open]{ box-shadow: var(--sh); border-color: color-mix(in oklab, var(--accent) 40%, var(--line)); }
.faq summary{ list-style: none; cursor: pointer; padding: 20px 0; font-family: var(--serif); font-weight: 600; font-size: 18px; letter-spacing: -.02em; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.faq summary::-webkit-details-marker{ display: none; }
.faq summary .pm{ width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--ink); display: grid; place-items: center; flex: 0 0 auto; font-weight: 700; font-size: 17px; line-height: 1; transition: transform .22s, background-color .18s, border-color .18s; }
.faq details[open] summary .pm{ background: var(--accent); border-color: var(--accent); transform: rotate(45deg); }
.faq .ans{ padding: 0 0 22px; color: var(--ink-2); font-size: 15.5px; line-height: 1.62; max-width: 56ch; }
.faq .ans a{ color: var(--ink); font-weight: 600; border-bottom: 1px solid var(--line); }
@media (max-width: 760px){ .faq{ grid-template-columns: 1fr; } .faq .ask{ position: static; } }

/* closing cta */
.cta-band{ position: relative; overflow: hidden; background: var(--band); color: var(--paper); border-radius: var(--r-lg); margin-inline: clamp(12px, 3vw, 28px); text-align: center; }
.cta-band::before{ content: ""; position: absolute; inset: 0; background: linear-gradient(118deg, transparent 0 52%, rgba(224,169,42,.13) 52% 64%, transparent 64%); pointer-events: none; }
.cta-band .inner{ position: relative; z-index: 1; padding: clamp(52px, 8vw, 104px) var(--gut); }
.cta-band h2{ font-family: var(--serif); font-weight: 600; font-size: clamp(34px, 5.2vw, 64px); letter-spacing: -.03em; line-height: 1.02; max-width: 17ch; margin: 0 auto; }
.cta-band h2 em{ font-style: italic; color: var(--accent); }
.cta-band p{ color: rgba(244,241,232,.72); font-size: clamp(16px, 1.6vw, 19px); margin: 20px auto 0; max-width: 42ch; }
.cta-band form{ display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-top: 32px; }
.cta-band input{ min-width: 240px; padding: 16px 20px; border-radius: var(--pill); border: 1.5px solid rgba(244,241,232,.2); background: rgba(244,241,232,.07); color: var(--paper); font: inherit; font-size: 16px; }
.cta-band input::placeholder{ color: rgba(244,241,232,.5); }
.cta-band input:focus{ outline: 0; border-color: var(--accent); }
.cta-band .btn{ background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.cta-band .btn:hover{ background: var(--accent-2); border-color: var(--accent-2); }
.cta-band .fine{ margin-top: 18px; font-size: 13px; color: rgba(244,241,232,.55); }

/* footer */
.foot{ border-top: 1px solid var(--line); padding-block: clamp(40px, 5vw, 64px); margin-top: clamp(40px,6vw,80px); }
.foot .top{ display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; flex-wrap: wrap; }
.foot .links{ display: flex; gap: 14px 28px; flex-wrap: wrap; }
.foot .links a{ font-size: 14.5px; font-weight: 500; color: var(--ink-2); transition: color .15s; }
.foot .links a:hover{ color: var(--ink); }
.foot .fine{ margin-top: 28px; font-size: 12.5px; line-height: 1.9; color: var(--faint); }
.foot .fine a{ color: var(--ink-2); border-bottom: 1px solid var(--line); }

/* ======================================================================
   Snow White grooves, round-rect windows, pinstripe title bars, quiet
   honey markers, molded bevels.
   ====================================================================== */
.topbar{ display: none; }

/* a small honey tick under every section label */
.sec-head .ovl::after, .faq .ask .ovl::after, .band .ovl::after{
  content: ""; display: block; width: 42px; height: 3px; border-radius: 2px; margin-top: 13px; background: var(--accent); opacity: .92; }

/* molded bevel: a hairline top highlight on raised surfaces */
.step, .faq details{ box-shadow: var(--sh-sm), inset 0 1px 0 rgba(255,255,255,.8); }
.ledger, .join, .ticket .slip{ box-shadow: var(--sh), inset 0 1px 0 rgba(255,255,255,.75); }
.btn{ box-shadow: inset 0 1px 0 rgba(255,255,255,.16); }

/* ---- classic rounded WINDOW: pinstripe title bar + close/zoom boxes ---- */
.ticket .slip__h, .ledger__h{
  position: relative;
  background-image: repeating-linear-gradient(to bottom, rgba(27,26,20,.40) 0 1px, transparent 1px 3px);
  background-clip: padding-box;
}
.ticket .slip__h{ padding-left: 44px; padding-right: 44px; }
.ledger__h{ padding-left: 50px; padding-right: 50px; border-bottom: 1px solid var(--line); }
.ticket .slip__h::before, .ticket .slip__h::after,
.ledger__h::before, .ledger__h::after{
  content: ""; position: absolute; top: 50%; transform: translateY(-50%);
  width: 13px; height: 13px; border: 1.5px solid var(--ink); border-radius: 3px; background: var(--card);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.ticket .slip__h::before{ left: 16px; } .ticket .slip__h::after{ right: 16px; }
.ledger__h::before{ left: 20px; } .ledger__h::after{ right: 20px; }
/* knock the title text out of the stripes (the Mac window title patch) */
.ticket .slip__h .lab, .ticket .slip__h .no{ position: relative; background: var(--card); padding: 3px 9px; border-radius: 3px; }
.ledger__h .t{ position: relative; background: var(--card); padding: 4px 12px; border-radius: 4px; }
.ledger__h .no{ position: relative; background: var(--card); padding: 4px 11px; border-radius: 4px; }

/* ---- Snow White grooves on the dark blocks ---- */
.band::before, .cta-band .inner::before{
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background: repeating-linear-gradient(to bottom, rgba(244,241,232,.045) 0 1px, transparent 1px 5px);
}
.cta-band .inner{ position: relative; }
.cta-band .inner > *{ position: relative; z-index: 1; }

/* quiet rule leading the footer */
.foot{ border-top: 0; }
.foot::before{ content: ""; display: block; height: 1px; width: 100%; background: var(--line); margin-bottom: 30px; }

/* ---- hero scan console (previews the /scan product UX) ---- */
.scan__steps{ display:flex; align-items:center; gap:10px; padding:13px 22px 6px; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); }
.scan__dots{ display:inline-flex; gap:5px; }
.scan__dots i{ width:22px; height:5px; border-radius:3px; background:var(--line); display:inline-block; }
.scan__dots i.on{ background:var(--accent); }
.slip.scan .slip__b{ position:relative; overflow:hidden; }
.scan__beam{ position:absolute; left:0; right:0; top:-34%; height:34%; pointer-events:none;
  background:linear-gradient(to bottom, transparent, rgba(224,169,42,.30), transparent); }
:root.anim .scan__beam{ animation: scanbeam 2.8s ease-in-out infinite; }
@keyframes scanbeam{ 0%{ transform:translateY(0); opacity:0; } 12%{ opacity:1; } 88%{ opacity:1; } 100%{ transform:translateY(420%); opacity:0; } }
@media (prefers-reduced-motion: reduce){ .scan__beam{ display:none; } }
.scan__result{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 22px; border-top:1px solid var(--line); background:var(--accent-soft); }
.scan__result .rk{ font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-2); max-width:13ch; line-height:1.3; }
.scan__result .rn{ font-family:var(--serif); font-weight:600; font-size:42px; letter-spacing:-.03em; line-height:1; }

/* reveal */
.rv{ opacity: 1; transform: none; }
:root.anim .rv{ transform: translateY(16px); transition: transform .6s cubic-bezier(.2,.7,.2,1); }
:root.anim .rv.in{ transform: none; }
@media (prefers-reduced-motion: reduce){ :root.anim .rv{ transform: none !important; } }

/* ======================================================================
   REDESIGN LANDING POLISH: shared paper texture, denser controls,
   and receipt-grade material depth without changing the funnel.
   ====================================================================== */
body:not(.scan-page):not(.report-page){
  background:
    linear-gradient(180deg, rgba(255,255,255,.30), rgba(255,255,255,0) 340px),
    repeating-linear-gradient(to bottom, rgba(27,26,20,.026) 0 1px, transparent 1px 7px),
    linear-gradient(115deg, transparent 0 58%, rgba(224,169,42,.065) 58% 72%, transparent 72%),
    var(--paper);
}
body:not(.scan-page):not(.report-page)::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(27,26,20,.035) 0 1px, transparent 1px 100%) 50% 0 / 82px 82px,
    linear-gradient(180deg, transparent, rgba(255,255,255,.34) 38%, transparent 70%);
  opacity:.58;
}
body:not(.scan-page):not(.report-page) > .topbar,
body:not(.scan-page):not(.report-page) > header,
body:not(.scan-page):not(.report-page) > section,
body:not(.scan-page):not(.report-page) > footer{
  position:relative;
  z-index:1;
}

.nav{
  box-shadow:none;
}
.nav.scrolled{
  box-shadow:none;
}
.nav.scrolled .row{
  box-shadow:
    var(--sh),
    inset 0 1px 0 rgba(255,255,255,.88),
    0 18px 40px -32px rgba(27,26,20,.48);
}

.btn{
  min-height:52px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,0) 44%),
    var(--ink);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.36),
    0 16px 30px -22px rgba(0,0,0,.56);
}
.btn:hover{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(0,0,0,.40),
    0 22px 38px -22px rgba(0,0,0,.62);
}
.btn:active{
  transform:translateY(0);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.28);
}
.btn.ghost{
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,0)),
    transparent;
}

.hero::before{
  inset:0;
  top:0;
  right:0;
  z-index:0;
  width:auto;
  height:auto;
  background:
    repeating-linear-gradient(to bottom, rgba(27,26,20,.034) 0 1px, transparent 1px 6px),
    linear-gradient(117deg, transparent 0 52%, rgba(224,169,42,.105) 52% 63%, transparent 63% 100%);
  opacity:.74;
}
.hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(27,26,20,.12), transparent);
  pointer-events:none;
}
.hero .eyebrow{
  background:
    linear-gradient(180deg, rgba(255,255,255,.74), rgba(255,255,255,0)),
    var(--card);
  box-shadow: var(--sh-sm), inset 0 1px 0 rgba(255,255,255,.9);
}
.hero .free .star{
  border:1px solid color-mix(in oklab, var(--accent-2) 42%, var(--accent));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
}
.hero form{
  padding:7px;
  border:1px solid var(--line);
  border-radius:calc(var(--pill) + 7px);
  background:
    linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,0)),
    color-mix(in oklab, var(--card) 86%, white);
  box-shadow: var(--sh-sm), inset 0 1px 0 rgba(255,255,255,.82);
}
.hero form input{
  background:color-mix(in oklab, var(--paper) 78%, white);
  border-color:color-mix(in oklab, var(--line) 84%, var(--ink));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82);
}
.hero form .btn{
  min-height:50px;
}

.ticket .slip{
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--card) 90%, white), var(--card) 52%, var(--paper)),
    var(--card);
}
.ticket .slip__b{
  background:
    linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,0) 42%),
    var(--card);
}
.ticket .row .bk .u,
.trow.ded .b b{
  border:1px solid color-mix(in oklab, var(--accent-soft) 72%, var(--accent));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
}
.scan__result{
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--accent-soft) 82%, white), var(--accent-soft)),
    var(--accent-soft);
}
.proof-rail div,
.step,
.faq details,
.join,
.map-card,
.review-board,
.ledger{
  position:relative;
}
.proof-rail div,
.step,
.faq details,
.map-card{
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,0) 54%),
    var(--card);
  box-shadow: var(--sh-sm), inset 0 1px 0 rgba(255,255,255,.78);
}
.proof-rail div::before,
.step::before,
.map-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:24px;
  background-image:repeating-linear-gradient(to bottom, rgba(27,26,20,.13) 0 1px, transparent 1px 4px);
  border-bottom:1px solid var(--line-2);
  opacity:.36;
  pointer-events:none;
}
.proof-rail div > *,
.step > *,
.map-card > *{
  position:relative;
  z-index:1;
}
.proof-rail div{
  padding-top:26px;
}
.step{
  padding-top:clamp(32px, 3.4vw, 42px);
}
.map-card{
  background:
    linear-gradient(180deg, rgba(255,255,255,.48), rgba(255,255,255,0) 44%),
    var(--paper);
}

.join{
  background:
    repeating-linear-gradient(to bottom, rgba(27,26,20,.025) 0 1px, transparent 1px 7px),
    linear-gradient(180deg, color-mix(in oklab, var(--card) 92%, white), var(--card) 72%, var(--paper)),
    var(--card);
  box-shadow:
    var(--sh),
    inset 0 1px 0 rgba(255,255,255,.82);
}
.join::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:34px;
  background-image:repeating-linear-gradient(to bottom, rgba(27,26,20,.16) 0 1px, transparent 1px 4px);
  border-bottom:1px solid var(--line);
  pointer-events:none;
  opacity:.44;
}
.join > *{
  position:relative;
  z-index:1;
}
.join .wform{
  background:
    linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,255,255,0)),
    color-mix(in oklab, var(--paper) 78%, white);
}
.field input,
.field select{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.76);
}
.yn button{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.yn button.on{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16);
}

.ledger{
  background:
    linear-gradient(180deg, color-mix(in oklab, var(--card) 92%, white), var(--card) 68%, var(--paper)),
    var(--card);
}
.ledger__f{
  background:
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0)),
    var(--paper);
}
.review-board{
  box-shadow:
    var(--sh),
    inset 0 1px 0 rgba(255,255,255,.78);
}
.review-row{
  background:
    linear-gradient(180deg, rgba(255,255,255,.32), rgba(255,255,255,0)),
    transparent;
}

.band::after{
  inset:0;
  width:auto;
  height:auto;
  border-radius:0;
  background:
    linear-gradient(118deg, transparent 0 54%, rgba(224,169,42,.12) 54% 64%, transparent 64%),
    repeating-linear-gradient(to bottom, rgba(244,241,232,.035) 0 1px, transparent 1px 7px);
}
.pricecard{
  background:
    linear-gradient(180deg, rgba(244,241,232,.09), rgba(244,241,232,.035)),
    rgba(244,241,232,.045);
}
.pricecard:hover{
  border-color:rgba(244,241,232,.30);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 22px 44px -34px rgba(0,0,0,.56);
}

.cta-band::before{
  background:
    linear-gradient(118deg, transparent 0 52%, rgba(224,169,42,.13) 52% 64%, transparent 64%),
    repeating-linear-gradient(to bottom, rgba(244,241,232,.04) 0 1px, transparent 1px 7px);
}
.cta-band input{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.cta-band .btn{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(27,26,20,.18),
    0 20px 34px -24px rgba(0,0,0,.48);
}

@media (max-width: 620px){
  .hero form{
    border-radius:22px;
    padding:8px;
  }
  .hero form input,
  .hero form .btn{
    width:100%;
  }
  .proof-rail div::before,
  .step::before,
  .map-card::before,
  .join::before{
    height:22px;
  }
}
