/* tended.css — the one stylesheet every tended.site page loads. 2026-09-15.
   Calibrated on the reference study of 19 leading website-service sites (work/refs/studio/anchor.md, desktop 1440):
   content container 1200 (1140–1220), body 18/28, h1 ~61 (40–68), h2 ~42 (32–49), h3 ~25, section padding ~81 (64–100),
   hero ~767 tall, header ≤101, buttons 46 tall / 14–16px / 24px sides, a button in the header, two background tones.
   Brand tokens are law (docs/DESIGN.md): raspberry on cream, gold accents, Familjen Grotesk only.
   Text rule, site-wide: section headings centre over their section; body copy sits left-aligned inside its container at a
   fixed measure; numbers and prices centre in their tiles. No page defines its own widths, sizes or buttons. */

@font-face{font-family:'Familjen Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/FamiljenGrotesk-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Familjen Grotesk';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/FamiljenGrotesk-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Familjen Grotesk';font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/FamiljenGrotesk-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Familjen Grotesk';font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/FamiljenGrotesk-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#2B1A22;--ink-2:#5C4B53;--ink-3:#8A7A82;
  --cream:#FFF7EE;--ground:var(--cream);--paper:#FFFFFF;--paper-2:#FFFCF8;--peach:#FBE9DD;--peach-2:#F7DECE;--tint:var(--peach);
  --line:rgba(43,26,34,.12);--line-2:rgba(43,26,34,.22);
  --rasp:#B8155A;--rasp-lo:#C8236A;--rasp-hi:#9E0F4C;--rasp-t:rgba(184,21,90,.10);
  --gold:#FFC94A;--gold-d:#E0A81F;--gold-t:rgba(255,201,74,.26);--ok:#1B6B44;--bad:#B3261E;--stop:#B3261E;
  --font:'Familjen Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  /* the grid */
  --wrap:1280px;--gutter:clamp(20px,3vw,40px);--sec:clamp(64px,7vw,96px);--gap:clamp(14px,1.6vw,22px);
  /* the type scale */
  --fs:18px;--lh:1.55;--fs-small:15.5px;--fs-lede:clamp(18px,1.4vw,20px);
  --h1:clamp(42px,4.6vw,64px);--h2:clamp(32px,3.2vw,44px);--h3:clamp(20px,1.6vw,24px);
  /* buttons */
  --btn-h:46px;--btn-fs:15.5px;--btn-px:24px;
  --radius:16px;--radius-s:10px;
  --ease:cubic-bezier(.22,.61,.36,1);--dur:200ms;
  --sh-1:0 1px 2px rgba(43,26,34,.05),0 10px 22px -14px rgba(43,26,34,.30);
  --sh-2:0 2px 4px rgba(43,26,34,.05),0 26px 50px -26px rgba(43,26,34,.42);
  --sheen:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,0) 46%);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:90px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--font);font-size:var(--fs);line-height:var(--lh);
  font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overflow-x:clip;position:relative;text-align:left}
body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:radial-gradient(900px 520px at 50% -8%,rgba(255,201,74,.20),transparent 62%),radial-gradient(700px 420px at 88% 6%,rgba(184,21,90,.07),transparent 60%),
  repeating-linear-gradient(to right,rgba(43,26,34,.028) 0 1px,transparent 1px 34px),repeating-linear-gradient(to bottom,rgba(43,26,34,.028) 0 1px,transparent 1px 34px)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.30;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.30'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}p{margin:0}img{max-width:100%;display:block}figure{margin:0}
h1,h2,h3,h4{font-weight:700;line-height:1.05;margin:0;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:var(--h1);letter-spacing:-.045em;max-width:16ch}
h2{font-size:var(--h2);max-width:24ch}
h3{font-size:var(--h3);letter-spacing:-.02em;line-height:1.15}
h4{font-size:18px;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic;color:var(--rasp)}
.lede{font-size:var(--fs-lede);line-height:1.5;color:var(--ink-2);max-width:60ch}
.muted{color:var(--ink-2)}.small{font-size:var(--fs-small)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);position:relative;width:100%}
.prose{max-width:70ch}
/* the text rule */
.center,.sec__head,.hero__grid,.tile,.sec__head>*{text-align:center}
.sec__head h1,.sec__head h2,.sec__head .lede,.hero__grid h1,.hero__grid .lede{margin-inline:auto}
.center .lede,.center h1,.center h2{margin-inline:auto}

/* eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--rasp)}
.eyebrow::before,.eyebrow::after{content:"";width:22px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-d))}
.eyebrow::after{background:linear-gradient(90deg,var(--gold-d),transparent)}
.eyebrow--l::before{display:none}

/* buttons */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:var(--btn-h);padding:0 var(--btn-px);border-radius:999px;font-weight:600;font-size:var(--btn-fs);letter-spacing:-.01em;white-space:nowrap;
  background:linear-gradient(180deg,var(--rasp-lo),var(--rasp) 55%,var(--rasp-hi));color:#fff;border:0;cursor:pointer;text-decoration:none;
  font-family:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 1px 2px rgba(43,26,34,.16),0 10px 22px -12px rgba(184,21,90,.55);
  transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),filter var(--dur) var(--ease)}
.btn::before{content:"";position:absolute;top:0;bottom:0;width:42%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg);pointer-events:none}
.btn:hover{transform:translateY(-2px);filter:saturate(1.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 2px 4px rgba(43,26,34,.14),0 20px 40px -16px rgba(184,21,90,.72)}
.btn:hover::before{animation:sweep 720ms var(--ease)}
.btn:active{transform:translateY(0)}
.btn:disabled::before{display:none}
@keyframes sweep{to{left:120%}}
.btn--ghost{background:linear-gradient(180deg,#fff,#FFF9F2);color:var(--ink);box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1.5px var(--line-2),0 1px 2px rgba(43,26,34,.06),0 10px 20px -14px rgba(43,26,34,.4)}
.btn--ghost:hover{box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1.5px var(--gold-d),0 2px 4px rgba(43,26,34,.08),0 18px 34px -18px rgba(43,26,34,.5)}
.btn--ghost::before{background:linear-gradient(100deg,transparent,rgba(184,21,90,.12),transparent)}
.btn--dark{background:linear-gradient(180deg,#3D2A33,#2B1A22 60%,#1E1218);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 1px 2px rgba(43,26,34,.2),0 10px 22px -14px rgba(43,26,34,.7)}
.btn--sm{height:40px;padding:0 18px;font-size:14.5px}
.btn--lg{height:52px;padding:0 30px;font-size:16.5px}
.acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.acts--l{justify-content:flex-start}

/* new-tab cue */
a[target="_blank"]:not(.brand):not(.noarrow)::after{content:"";display:inline-block;width:.62em;height:.62em;margin-left:.32em;vertical-align:-.02em;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 18L18 6M8 6h10v10%27/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%273%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 18L18 6M8 6h10v10%27/%3E%3C/svg%3E") center/contain no-repeat}

/* header, one for every page */
.hdr,.bar{position:sticky;top:0;z-index:50;background:rgba(255,247,238,.84);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.7) inset}
.hdr__in,.bar__in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;gap:16px}
.bar__in{grid-template-columns:auto 1fr auto}
.brand{font-size:24px;font-weight:700;letter-spacing:-.05em;display:inline-flex;align-items:center;gap:9px;justify-self:start;color:var(--ink);text-decoration:none}
.brand__mark{width:26px;height:26px;display:block;flex:none}
.nav{display:flex;gap:28px;align-items:center;justify-self:center}
.nav a{font-weight:500;font-size:16px;color:var(--ink-2);padding:5px 0;position:relative}
.nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:2px;background:var(--gold);border-radius:2px;transition:left var(--dur) var(--ease),right var(--dur) var(--ease)}
.nav a:hover{color:var(--ink)}.nav a:hover::after{left:0;right:0}
.hdr__act,.tools{display:flex;gap:10px;align-items:center;justify-self:end}
.langsw,.tool{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line-2);font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--ink-2);text-transform:uppercase;
  background:linear-gradient(180deg,#fff,#FFF9F2);cursor:pointer;transition:border-color var(--dur) var(--ease)}
.langsw b,.tool b{color:var(--rasp)}.langsw:hover,.tool:hover{border-color:var(--gold-d)}
@media(max-width:880px){.hdr__in{grid-template-columns:auto 1fr;height:64px}.nav{display:none}}

/* sections */
.sec,.part{padding:var(--sec) 0;position:relative}
.sec+.sec::before,.part+.part::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(var(--wrap) - 2*var(--gutter),100% - 2*var(--gutter));height:1px;background:linear-gradient(90deg,transparent,var(--line) 12%,var(--line) 88%,transparent)}
.sec+.sec::after,.part+.part::after{content:"";position:absolute;top:-3px;left:50%;transform:translateX(-50%) rotate(45deg);width:6px;height:6px;background:var(--gold);border-radius:1px;box-shadow:0 0 0 4px var(--cream)}
.sec--tint{background:linear-gradient(180deg,var(--peach),var(--peach-2))}
.sec--tint+.sec::after,.sec+.sec--tint::after{box-shadow:0 0 0 4px var(--peach)}
.sec__head{max-width:820px;margin:0 auto clamp(28px,3.4vw,44px);display:grid;gap:14px;justify-items:center}
.sec__head--l{margin-inline:0;justify-items:start;text-align:left}
.sec__head--l>*{text-align:left;margin-inline:0}
.sec__head .lede{max-width:62ch}

/* cards and tiles */
.card,.tile,.step,.pcard,.fact,.solo,.f,.p,.route,.done,.guard,.close,.sum,.guide__help{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sh-1);overflow:hidden}
.card::before,.tile::before,.step::before,.pcard::before,.fact::before,.solo::before,.f::before{content:"";position:absolute;inset:0;background:var(--sheen);opacity:.6;pointer-events:none}
.card>*,.tile>*,.step>*,.pcard>*,.fact>*,.solo>*,.f>*{position:relative}
.card,.tile{padding:clamp(22px,2.2vw,30px)}
.card{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.card:hover,.step:hover,.pcard:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:rgba(224,168,31,.55)}
.card h3,.tile h3{margin-bottom:8px}
.card p,.tile p{color:var(--ink-2);font-size:17px}
.card--tint,.done,.guide__help{background:var(--peach);box-shadow:none}
.grid{display:grid;gap:var(--gap)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:980px){.grid--3,.grid--4,.grid--5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.grid--2,.grid--3,.grid--4,.grid--5{grid-template-columns:1fr}}

/* hero (landing) */
.hero{min-height:clamp(620px,78vh,820px);display:grid;align-content:center;padding:clamp(48px,6vw,80px) 0}
.hero__grid{display:grid;gap:clamp(22px,2.6vw,34px);justify-items:center}
.hero h1{max-width:18ch}
.hero .lede{max-width:56ch}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.hero__cta .btn{height:52px;padding:0 30px;font-size:16.5px}
.hero__proof{display:flex;gap:8px 14px;flex-wrap:wrap;justify-content:center}
.hero__proof span{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2);background:linear-gradient(180deg,#fff,#FFF9F2);border:1px solid var(--line);border-radius:999px;padding:8px 16px;box-shadow:var(--sh-1)}
.hero__proof b{color:var(--rasp);font-weight:700}

/* numbered steps (landing) */
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap)}
.step{padding:26px 22px 26px;display:grid;gap:10px;align-content:start;justify-items:center;text-align:center;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.k,.step .k,.trust .n{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:700;background:linear-gradient(180deg,#FFDA84,var(--gold) 55%,var(--gold-d));color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 14px -8px rgba(224,168,31,.9)}
.step h3{font-size:20px}
.step p{font-size:17px;line-height:1.5;color:var(--ink-2)}

/* price cards */
.price{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);align-items:stretch}
.pcard{padding:34px 36px;display:grid;gap:12px;align-content:start;justify-items:center;text-align:center;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.pcard--hi,.p--hi,.route--best{border:1.5px solid var(--rasp);box-shadow:var(--sh-2),0 0 0 4px rgba(184,21,90,.06)}
.pcard--hi::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--rasp),var(--gold))}
.pcard .k,.p em{width:auto;height:auto;box-shadow:none;background:none;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--rasp);font-style:normal;display:block}
.pcard b,.p b{font-size:clamp(34px,3vw,44px);letter-spacing:-.04em;line-height:1;color:var(--ink);font-weight:700;display:block}
.pcard b small,.p b small{font-size:16px;letter-spacing:0;color:var(--ink-3);font-weight:500}
.pcard p,.p span{font-size:17px;line-height:1.5;color:var(--ink-2);max-width:46ch}
.pcard p{min-height:7.5em}
.pcard ul{margin:6px 0 0;padding:18px 0 0 11%;border-top:1px solid var(--line);list-style:none;display:grid;gap:10px;color:var(--ink-2);font-size:17px;justify-items:start;width:100%;text-align:left}
.pcard li{display:flex;gap:11px;align-items:flex-start;line-height:1.45;max-width:40ch}
.pcard li::before{content:"";flex:none;width:7px;height:7px;margin-top:.6em;border-radius:50%;background:var(--rasp)}
.p{padding:24px 26px;display:grid;gap:8px;justify-items:center;text-align:center}

/* comparison tables (landing .cmp, pricing .tbl, offer .mkt): one look */
.cmpwrap,.tblwrap,.mktwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--sh-1)}
.cmp,.tbl,.mkt{width:100%;min-width:640px;border-collapse:collapse;font-size:16.5px}
.cmp th,.tbl th,.mkt th{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:center;padding:16px 18px 12px;border-bottom:1px solid var(--line)}
.cmp td,.tbl td,.mkt td{padding:15px 18px;border-top:1px solid var(--line);vertical-align:middle;color:var(--ink-2);text-align:center;line-height:1.45}
.cmp td:first-child,.tbl td:first-child,.mkt td:first-child{color:var(--ink);font-weight:600}
.cmp td:last-child,.tbl td:last-child,.mkt .mkt__n{color:var(--rasp);font-weight:600;white-space:normal}
.cmp th:nth-child(1),.cmp td:nth-child(1){width:28%}.cmp th:nth-child(2),.cmp td:nth-child(2){width:36%}.cmp th:nth-child(3),.cmp td:nth-child(3){width:36%}
.tbl th:first-child,.tbl td:first-child{min-width:150px}
.anchor h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:-.03em;margin-top:12px;text-align:center}
.cmpwrap{margin-top:22px}

/* trust / solo / form (landing) */
.trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.trust div{padding:24px 26px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);display:grid;gap:10px;justify-items:center;align-content:start;box-shadow:var(--sh-1);text-align:center}
.trust p{font-size:17px;line-height:1.5;color:var(--ink-2);max-width:46ch}
.trust code{font-family:inherit;font-weight:600;color:var(--ink);background:var(--peach);padding:1px 7px;border-radius:6px}
.solo{width:min(680px,100%);margin:0 auto;padding:34px clamp(22px,3.4vw,40px);border-radius:20px;display:grid;gap:12px;justify-items:center;box-shadow:var(--sh-2);text-align:center}
.solo h2{font-size:clamp(26px,2.6vw,34px)}
.solo a:not(.btn){color:var(--rasp);text-decoration:underline;text-underline-offset:4px;font-weight:600}
.who__card{display:contents}.who__card h3{font-size:24px}.who__card p{color:var(--ink-2);line-height:1.55;max-width:46ch}
.form{display:grid;gap:12px;width:100%;max-width:440px;justify-items:center;margin-top:4px}
.form label{display:grid;gap:6px;font-size:12px;font-weight:600;color:var(--ink-3);letter-spacing:.1em;text-transform:uppercase;width:100%;justify-items:center}
.form input,.form textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--radius-s);padding:12px 14px;text-align:center;box-shadow:inset 0 1px 2px rgba(43,26,34,.05);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.form textarea{min-height:100px;resize:vertical}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--rasp);box-shadow:inset 0 1px 2px rgba(43,26,34,.05),0 0 0 3px var(--rasp-t)}

/* documents: legal pages and the offer papers share one reading layout — a title column and a prose column on the grid */
.doc{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start;padding:var(--sec) 0}
.doc__side{position:sticky;top:96px;display:grid;gap:14px;text-align:left;align-content:start}
@media(max-height:900px){.doc__side{position:static}}
.doc__side .eyebrow{justify-content:flex-start}
.doc__side h1{max-width:12ch}
.doc__side .upd{color:var(--ink-2);font-size:17px;line-height:1.5}
.doc__side nav{display:grid;gap:2px;margin-top:10px;font-size:14.5px}
.doc__side nav a{color:var(--ink-2);padding:4px 0;border-left:2px solid var(--line);padding-left:12px}
.doc__side nav a:hover{color:var(--rasp);border-color:var(--gold)}
.doc__body{min-width:0;text-align:left}
.doc__body h2{font-size:clamp(26px,2.3vw,32px);margin:clamp(34px,4vw,48px) 0 12px;max-width:none}
.doc__body h2:first-child{margin-top:0}
.doc__body h3{margin:26px 0 8px}
.doc__body p,.doc__body li{color:var(--ink-2);line-height:1.6;max-width:72ch}
.doc__body p+p{margin-top:12px}
.doc__body ul,.doc__body ol{padding-left:22px;margin:8px 0 0}
.doc__body li{margin:5px 0}
.doc__body a{color:var(--rasp);text-decoration:underline;text-underline-offset:3px}
.doc__body .box,.box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;margin:18px 0;box-shadow:var(--sh-1)}
.doc__body .tblwrap,.doc__body .cmpwrap{margin:16px 0 10px}
.legal{display:contents}
@media(max-width:980px){.doc{grid-template-columns:1fr}.doc__side{position:static}}

/* offer papers */
.hero--doc{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;text-align:left}
.hero__copy{display:grid;gap:0;justify-items:start}
.hero__copy .eyebrow{margin-bottom:14px}
.hero__copy .guard{margin-top:28px;width:100%}
.hero__copy .acts{margin:24px 0 0}
.hero--doc h1{max-width:16ch}
.hero--doc p{color:var(--ink-2);margin-top:14px;font-size:var(--fs-lede);max-width:52ch}
.hero--doc .btn{margin-top:24px}
.hero--doc .guide__help{align-self:stretch;display:grid;align-content:center;padding:clamp(24px,3vw,40px)}
.hero--doc .guide__help b{font-size:22px;letter-spacing:-.02em;margin-bottom:10px}
.hero--doc .guide__help span{font-size:17px}
.hero--doc small{display:block;margin-top:12px;color:var(--ink-3);font-size:14.5px}
.shots{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);max-width:600px;justify-self:end;width:100%}
.shot{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);box-shadow:var(--sh-2)}
.shot figcaption{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:10px 12px;border-bottom:1px solid var(--line);text-align:center}
.shot--new figcaption{color:#fff;background:linear-gradient(180deg,var(--rasp-lo),var(--rasp-hi));border-color:transparent}
.shot img{width:100%;height:auto}
.psi{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:26px}
.psi__c{border:1px solid var(--line-2);border-radius:var(--radius-s);overflow:hidden;background:#fff;color:var(--ink)}
.psi__t{display:flex;align-items:baseline;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--ink)}
.psi__t b{font-size:16px}.psi__t span{font-size:14px;color:var(--ink-3)}
.psi__c img{display:block;width:100%;height:auto;border-bottom:1px solid var(--line)}
.psi__n{padding:14px 16px;font-size:15.5px;line-height:1.5}.psi__n em{font-style:normal;font-weight:600}
.psi--bad .psi__t{background:#FDF3E7}.psi--good .psi__t{background:#EAF5EF}
.psi__v{margin:16px 0 0;font-size:14.5px;color:var(--ink-2)}.psi__v a{color:var(--rasp);border-bottom:1px solid var(--line-2)}
.found{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin-top:26px}
.f{padding:22px 22px 24px;text-align:center;display:grid;gap:6px;justify-items:center}
.f b{display:block;font-size:clamp(30px,2.6vw,36px);letter-spacing:-.045em;line-height:1;color:var(--rasp)}
.f em{font-style:normal;display:block;font-size:17px;font-weight:700;line-height:1.3;color:var(--ink)}
.f span{display:block;color:var(--ink-2);font-size:16px;line-height:1.5;max-width:30ch}
.did{list-style:none;margin:26px 0 0;padding:0;counter-reset:d;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.did li{counter-increment:d;display:grid;grid-template-columns:34px 1fr;gap:14px;padding:22px 24px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sh-1);align-items:start}
.did li::before{content:counter(d);width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--ink);background:linear-gradient(180deg,#FFDA84,var(--gold) 55%,var(--gold-d))}
.did b{display:block;font-size:18px}.did span{display:block;color:var(--ink-2);font-size:17px;margin-top:4px;line-height:1.5}
.note{margin-top:14px;color:var(--ink-3);font-size:15px;text-align:center}
.mktwrap{margin-top:22px}
.mkt__sum{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--gap);margin-top:var(--gap);align-items:stretch}
.mkt__sum>div{display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;min-height:176px;padding:20px 18px 22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sh-1)}
.mkt__who{display:block;font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
.mkt__k{display:flex;align-items:flex-start;justify-content:center;min-height:2.7em;margin-top:4px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);line-height:1.35}
.mkt__sum b{display:block;font-size:26px;letter-spacing:-.03em;margin-top:auto;padding-top:10px;color:var(--ink-2);white-space:nowrap}
.mkt__ours{background:linear-gradient(180deg,var(--rasp-lo),var(--rasp-hi))!important;border-color:transparent!important;box-shadow:0 14px 34px -14px rgba(184,21,90,.6)!important}
.mkt__ours .mkt__who,.mkt__ours .mkt__k{color:#fff}.mkt__ours .mkt__k{opacity:.85}.mkt__ours b{color:#fff;font-size:32px}
.next{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px}
.next li{display:grid;grid-template-columns:28px 1fr;gap:13px;align-items:start;font-size:17px;line-height:1.5}
.next li b{color:var(--rasp);font-weight:700}.next li span{color:var(--ink-2)}.next li span b{color:var(--ink)}
.qa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);margin-top:26px}
.qa .card{margin-top:0;text-align:left}
.qa+.card,.qa+.close,.next+.card{margin-top:var(--gap)}.qa h3{font-size:19px;margin-bottom:6px}.qa .card p{font-size:17px}
.sign{margin-top:26px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:16px;color:var(--ink-2)}.sign b{color:var(--ink)}
.sum{border-radius:var(--radius);background:var(--paper);padding:26px clamp(22px,2.6vw,36px);margin:clamp(28px,4vw,48px) 0 0;box-shadow:var(--sh-1);border-top:3px solid var(--rasp)}
.sum dl{margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:auto auto;grid-auto-flow:column;gap:6px clamp(16px,2.4vw,36px);justify-items:center;text-align:center}   /* each column reads centred on its own axis, at every width */
.sum dt{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);font-weight:600;white-space:nowrap}
.sum dd{margin:0;color:var(--ink);font-size:17px;line-height:1.5}.sum dd b{font-weight:600}
.guard{margin:24px 0 0;padding:20px 24px;box-shadow:none}.guard b{display:block;font-size:17px;margin-bottom:4px}.guard span{color:var(--ink-2);font-size:17px;line-height:1.5}
.me{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;margin-top:26px}
.me__k{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);font-weight:600;white-space:nowrap}
.me p{margin:0 0 10px;color:var(--ink-2);font-size:17px;line-height:1.55;max-width:72ch}.me p:last-child{margin-bottom:0}.me b{color:var(--ink)}
.close{padding:22px 26px;margin-top:26px;background:var(--paper-2);box-shadow:none;border-color:var(--line-2)}
.close b{display:block;font-size:18px;margin-bottom:6px}.close span{color:var(--ink-2);font-size:17px;line-height:1.55}
.card--doc{margin-top:22px;background:var(--peach);box-shadow:none;padding:22px 26px}
.card--doc h3{margin-bottom:8px}.card--doc p{color:var(--ink-2);font-size:17px}

/* the setup paper */
.part>.wrap>p.sub{color:var(--ink-2);margin:10px auto 0;max-width:62ch;text-align:center}
.part>.wrap>.eyebrow,.part>.wrap>h2{display:flex;justify-content:center;margin-inline:auto;text-align:center}
.part>.wrap>h2{display:block}
ol.s{list-style:none;counter-reset:n;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);align-items:start}
ol.s>li{counter-increment:n;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:var(--sh-1);display:grid;grid-template-columns:34px 1fr;gap:16px;align-items:start;text-align:left}
ol.s>li::before{content:counter(n);width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--ink);background:linear-gradient(180deg,#FFDA84,var(--gold) 55%,var(--gold-d))}
ol.s b{display:block;font-size:18px;letter-spacing:-.02em}
ol.s p{color:var(--ink-2);font-size:17px;margin-top:6px;line-height:1.5}
.pic{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden;background:var(--peach)}.pic svg{display:block;width:100%;height:auto}
.type{display:inline-block;margin-top:10px;padding:9px 14px;border-radius:8px;border:1px dashed var(--line-2);background:var(--peach);font-size:16px;font-weight:600;overflow-x:auto;max-width:100%;white-space:nowrap}
.warn{display:block;margin-top:10px;padding:10px 13px;border-radius:9px;border-left:3px solid var(--gold-d);background:var(--gold-t);font-size:15px;color:var(--ink-2)}.warn b{display:inline;color:var(--ink);font-size:inherit}
.done{margin-top:28px;padding:22px 26px;text-align:left}.done h3{margin-bottom:8px}.done p{color:var(--ink-2);font-size:17px;max-width:80ch}
.route{margin-top:26px}
.route__h{padding:18px 24px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.route--best .route__h{background:var(--rasp-t)}
.route__h em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rasp)}
.route__h b{font-size:19px;letter-spacing:-.02em}.route__h span{color:var(--ink-2);font-size:16px;width:100%}
.route ol.s{margin:var(--gap);}
.route ol.s>li{box-shadow:none;background:var(--peach);border-color:transparent}
.or{text-align:center;color:var(--ink-3);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:16px 0 0}
.rec{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden;font-size:15px}
.rec div{display:grid;grid-template-columns:64px 78px 1fr;gap:10px;padding:10px 12px;border-top:1px solid var(--line)}
.rec div:first-child{border-top:0;background:var(--peach);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.rec div.hit{background:var(--gold-t);font-weight:700}.rec div.rest{grid-template-columns:1fr;color:var(--ink-3);font-size:14.5px}.rec div.rest b{color:var(--rasp);font-weight:700}
.guide__help{margin:24px 0 0;padding:20px 24px}.guide__help b{display:block;margin-bottom:4px}.guide__help span{color:var(--ink-2);font-size:17px;line-height:1.5}

/* footer, one for every page */
.ftr,.foot{padding:40px 0 48px;color:var(--ink-2);font-size:var(--fs-small);position:relative;text-align:center}
.ftr::before,.foot::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(var(--wrap) - 2*var(--gutter),100% - 2*var(--gutter));height:1px;background:linear-gradient(90deg,transparent,var(--line) 12%,var(--line) 88%,transparent)}
.ftr .wrap,.foot .wrap{display:grid;gap:10px;justify-items:center}
.ftr a,.foot a{color:var(--rasp);font-weight:600}

/* motion */
.rise{opacity:0;transform:translateY(14px);transition:opacity 620ms var(--ease),transform 620ms var(--ease)}
.rise.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rise{opacity:1;transform:none;transition:none}.btn:hover::before{animation:none}html{scroll-behavior:auto}}
@media print{.hdr,.bar,.tool,.langsw{display:none}body{background:#fff;color:#000}.sec,.card,.step{break-inside:avoid}}

/* narrow screens: one column, same rhythm */
@media(max-width:980px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.price,.trust,.found,.did,.next,.qa,ol.s,.hero--doc{grid-template-columns:1fr}.sum dl{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}
  .found{grid-template-columns:repeat(2,minmax(0,1fr))}.mkt__sum{grid-template-columns:1fr}.psi{grid-template-columns:1fr}
}
@media(max-width:640px){
  :root{--sec:clamp(44px,9vw,64px);--fs:17px}
  .steps,.found{grid-template-columns:1fr}.hero__cta .btn{width:100%}.hero__proof{flex-direction:column;align-items:center}
  .pcard{padding:26px 22px}.pcard ul{padding-left:0}.did li,ol.s>li{padding:18px}.mkt thead{display:none}
  .mkt tr{display:grid;grid-template-columns:1fr;padding:10px 14px;border-top:1px solid var(--line)}.mkt td{display:block;padding:2px 0;border:0;text-align:left}
  .mkt td::before{content:attr(data-l);display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-top:6px}.mkt td:first-child::before{display:none}
  .me{grid-template-columns:1fr}.sum dl{grid-template-columns:1fr;grid-auto-flow:row;gap:4px}.sum dt{margin-top:12px}.shots{grid-template-columns:1fr 1fr;gap:10px}
}
[hidden]{display:none!important}

/* ===== landing v2: the patterns the reference sites share (split hero with the product in frames, numbers band,
   before/after work rows, three-across price cards, a dark trust band, person + form split, columned footer) ===== */
.hero--split{min-height:0;padding:clamp(40px,5vw,72px) 0 clamp(40px,5vw,64px)}
.hero__grid2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center;text-align:left}
.hero__copy{display:grid;gap:22px;justify-items:start}
.hero__copy h1{font-size:clamp(44px,4.9vw,68px);max-width:12ch;margin:0}
.hero__copy .lede{font-size:clamp(18px,1.5vw,21px);max-width:50ch}
.hero__copy .hero__cta,.hero__copy .hero__proof{justify-content:flex-start}
.hero__art{position:relative;padding:0 0 44px 0}
.mock{position:relative;background:#fff;border:1px solid var(--line-2);border-radius:14px;overflow:hidden;box-shadow:var(--sh-2),0 40px 80px -40px rgba(43,26,34,.45)}
.mock img{display:block;width:100%;height:auto}
.mock__bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:linear-gradient(180deg,#FFF9F2,#FBEFE4);border-bottom:1px solid var(--line)}
.mock__bar i{width:9px;height:9px;border-radius:50%;background:var(--line-2)}
.mock__bar i:nth-child(1){background:#F0A48F}.mock__bar i:nth-child(2){background:#F3CF7B}.mock__bar i:nth-child(3){background:#9BD3A3}
.mock__bar span{margin-left:10px;font-size:11.5px;color:var(--ink-3);background:#fff;border:1px solid var(--line);border-radius:6px;padding:2px 10px;flex:1;text-align:center}
.mock--phone{position:absolute;right:-8px;bottom:0;width:26%;border-radius:22px;border:5px solid #2B1A22;box-shadow:0 30px 60px -24px rgba(43,26,34,.6)}
.mock__score{position:absolute;left:-14px;bottom:26px;display:grid;justify-items:center;padding:12px 18px;border-radius:14px;background:linear-gradient(180deg,#FFDA84,var(--gold) 55%,var(--gold-d));color:var(--ink);box-shadow:var(--sh-2)}
.mock__score b{font-size:34px;line-height:1;letter-spacing:-.04em}.mock__score span{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.stats{padding:0 0 clamp(40px,5vw,64px)}
.stats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--sh-1);overflow:hidden}
.stats__grid>div{padding:26px 28px;display:grid;gap:6px;border-left:1px solid var(--line);align-content:start}
.stats__grid>div:first-child{border-left:0}
.stats__grid b{font-size:clamp(34px,3vw,44px);letter-spacing:-.04em;line-height:1;color:var(--rasp)}
.stats__grid b small{font-size:18px;color:var(--ink-3);letter-spacing:0;font-weight:500}
.stats__grid span{font-size:16.5px;line-height:1.45;color:var(--ink-2)}
.steps--5 .step{padding:30px 24px;gap:12px}.steps--5 .step h3{font-size:21px}.steps--5 .step p{font-size:17.5px}
.case{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:center;padding:clamp(28px,3.4vw,44px) 0}
.case+.case{border-top:1px solid var(--line)}
.case--flip .case__copy{order:2}
.case__copy{display:grid;gap:16px;justify-items:start;text-align:left}
.case__copy h3{font-size:clamp(26px,2.4vw,32px);letter-spacing:-.03em}
.case__copy p{font-size:18px;line-height:1.55;color:var(--ink-2);max-width:52ch}
.case__psi{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.case__psi figure{border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden;background:#fff}
.case__psi img{display:block;width:100%;height:auto}
.case__psi figcaption{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:8px 12px;border-top:1px solid var(--line);text-align:center}
.case__psi .is-new figcaption{color:#fff;background:linear-gradient(180deg,var(--rasp-lo),var(--rasp-hi))}
.case__shots{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}
.case__shots--4{grid-template-columns:1fr 1fr}
.frame{border:1px solid var(--line-2);border-radius:12px;overflow:hidden;background:#fff;box-shadow:var(--sh-2);position:relative}
.frame img{display:block;width:100%;height:auto}
.frame figcaption{position:absolute;top:10px;left:10px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(43,26,34,.72);color:#fff;backdrop-filter:blur(6px)}
.frame.is-new figcaption{background:linear-gradient(180deg,var(--rasp-lo),var(--rasp-hi))}
.frame.is-new{box-shadow:var(--sh-2),0 0 0 3px var(--gold)}
.price--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.price--3 .pcard{padding:34px 30px}
.price--3 .pcard p{min-height:0;font-size:17.5px}
.price--3 .pcard ul{font-size:17px;padding-left:0}
.price--wide{grid-template-columns:1fr;margin-top:var(--gap)}
.pcard--wide{display:grid;grid-template-columns:auto 1fr auto;gap:12px 40px;align-items:center;text-align:left;justify-items:start;padding:26px 34px}
.pcard--wide .k{grid-column:1;grid-row:1;align-self:end}.pcard--wide b{grid-column:1;grid-row:2;font-size:30px;align-self:start}
.pcard--wide p{grid-column:2;grid-row:1/3;min-height:0;max-width:60ch;margin:0}
.pcard--wide ul{grid-column:3;grid-row:1/3;border:0;padding:0;margin:0}
.sec--dark{background:linear-gradient(180deg,#31202A,#2B1A22 60%,#221419);color:#fff}
.sec--dark .eyebrow{color:var(--gold)}.sec--dark h2{color:#fff}.sec--dark h2 em{color:var(--gold)}
.sec--dark .trust div{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);box-shadow:none}
.sec--dark .trust p{color:rgba(255,255,255,.82);font-size:17.5px}.sec--dark .trust code{background:rgba(255,201,74,.18);color:#fff}
.sec--dark+.sec::after,.sec+.sec--dark::after{display:none}.sec--dark+.sec::before,.sec+.sec--dark::before{display:none}
.trust{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.split__who{display:grid;gap:12px;justify-items:start;text-align:left;padding-top:14px}
.split__who .who__card{display:grid;gap:8px;justify-items:start}
.split__who h3{font-size:clamp(28px,2.6vw,36px);letter-spacing:-.03em}
.split__who p{font-size:18px;line-height:1.55;color:var(--ink-2);max-width:48ch}
.split__who a:not(.btn){color:var(--rasp);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.split__form{padding:clamp(26px,3vw,40px);display:grid;gap:12px;justify-items:start;text-align:left}
.split__form h2{font-size:clamp(26px,2.4vw,32px)}
.split__form .form{max-width:none;justify-items:start}.split__form .form label{justify-items:start}.split__form .form input,.split__form .form textarea{text-align:left}
.split__form p{max-width:none!important}
.ftr__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;justify-items:start;text-align:left}
.ftr__brand{display:grid;gap:8px;justify-items:start}.ftr__brand .small{color:var(--ink-3)}
.ftr__col{display:grid;gap:8px;align-content:start}
.ftr__col b{color:var(--ink);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.ftr__col a{color:var(--ink-2);font-weight:500}.ftr__col a:hover{color:var(--rasp)}
@media(max-width:980px){
  .hero__grid2,.case,.split,.price--3{grid-template-columns:1fr}.case--flip .case__copy{order:0}
  .stats__grid{grid-template-columns:1fr 1fr}.stats__grid>div:nth-child(odd){border-left:0}.stats__grid>div:nth-child(n+3){border-top:1px solid var(--line)}
  .trust{grid-template-columns:1fr 1fr}.ftr__grid{grid-template-columns:1fr 1fr}
  .pcard--wide{grid-template-columns:1fr}.pcard--wide p,.pcard--wide ul{grid-column:1;grid-row:auto}
  .hero__art{padding-bottom:0;margin-top:8px}.mock--phone{right:6px;bottom:-10px;width:24%}
}
@media(max-width:640px){
  .stats__grid{grid-template-columns:1fr}.stats__grid>div{border-left:0;border-top:1px solid var(--line)}.stats__grid>div:first-child{border-top:0}
  .trust,.ftr__grid,.case__shots--4{grid-template-columns:1fr}.case__shots{grid-template-columns:1fr}
  .hero__copy h1{font-size:clamp(38px,11vw,48px)}.hero__copy .hero__cta .btn{width:100%}
  .mock--phone{width:30%;border-width:4px}.mock__score{left:8px;bottom:-14px;padding:8px 12px}.mock__score b{font-size:24px}
}

/* ===== symmetry pass: the footer is centred and equal-columned on desktop; on narrow screens every stacked block
   (split copies, side columns, tiles, forms, footer) reads centred, buttons and links included ===== */
.ftr__grid{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;text-align:center;gap:28px 24px}
.ftr__brand{grid-column:1/-1;justify-items:center;text-align:center;margin-bottom:6px}
.ftr__col{justify-items:center;text-align:center}
@media(max-width:980px){
  .hero__copy,.case__copy,.split__who,.split__who .who__card,.split__form,.hero--doc .hero__copy,.doc__side,.stats__grid>div,.pcard--wide,.sum,.guard,.close,.me,.done,.card--doc,.route__h,.sign,.psi__n,.next li,.did li,ol.s>li,.qa .card,.mkt__sum>div{text-align:center;justify-items:center}
  .hero__copy h1,.hero__copy .lede,.case__copy p,.split__who p,.hero--doc h1,.hero--doc p,.doc__side h1,.doc__body p,.doc__body li{margin-inline:auto}
  .hero__copy .hero__cta,.hero__copy .hero__proof,.acts,.sign,.route__h{justify-content:center}
  .split__form .form{justify-items:center}.split__form .form label{justify-items:center}.split__form .form input,.split__form .form textarea{text-align:center}
  .split__form p{margin-inline:auto}
  .doc__side .eyebrow{justify-content:center}.doc__side nav{justify-items:center}.doc__side nav a{border-left:0;padding-left:0}
  .doc__body{text-align:center}.doc__body ul,.doc__body ol{list-style-position:inside;padding-left:0}.doc__body h2,.doc__body h3{margin-inline:auto}
  .sum dl{justify-items:center}.sum dt{margin-top:12px}
  .me{justify-items:center}.me p{margin-inline:auto}
  .next li,.did li,ol.s>li{grid-template-columns:1fr;justify-items:center;text-align:center}
  .next li b:first-child,.did li::before,ol.s>li::before{margin:0 auto 6px}
  .route ol.s{margin:var(--gap)}
  .mock__score,.hero__art--mock .mock__score{left:50%;bottom:0;transform:translateX(-50%);z-index:2}
  .ftr__grid{grid-template-columns:1fr;gap:22px}
  .ftr__brand{margin-bottom:0}
}

/* ===== no orphan cards: five "what changed" items sit five across as tiles; an odd last card in a two-column list spans the row ===== */
.did{grid-template-columns:repeat(5,minmax(0,1fr))}
.did li{grid-template-columns:1fr;grid-template-rows:auto 1fr;justify-items:center;align-items:start;align-content:start;text-align:center;padding:24px 18px;gap:10px}
.did li>div{align-self:start}
.did li::before{margin:0 auto}
.did b{font-size:17.5px;line-height:1.25}.did span{font-size:16px;margin-top:2px}
ol.s>li:last-child:nth-child(odd),.qa .card:last-child:nth-child(odd),.next li:last-child:nth-child(odd),.found .f:last-child:nth-child(odd){grid-column:1/-1}
ol.s>li:last-child:nth-child(odd){max-width:none}
@media(max-width:980px){.did{grid-template-columns:1fr 1fr}.did li:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:640px){.did{grid-template-columns:1fr}}

/* ===== who + free-report cards: twins. The form lives in a drop-down so both cards read at the same height ===== */
.split{align-items:stretch}
.split__who.card,.split__form.card{padding:clamp(28px,3vw,40px);display:grid;gap:12px;align-content:start;justify-items:start;text-align:left}
.split__who.card{padding-top:clamp(28px,3vw,40px)}
.split__who.card h3,.split__form.card h2{font-size:clamp(26px,2.4vw,32px);letter-spacing:-.03em;line-height:1.1;margin:0}
.split__who .who__card{display:contents}
.split__who .who__card p{margin-top:6px}
.dd{width:100%;margin-top:6px;border-top:1px solid var(--line);padding-top:12px}
.dd__sum{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--fs-small);color:var(--ink-2);padding:6px 0;user-select:none}
.dd__sum::-webkit-details-marker{display:none}
.dd__sum:hover{color:var(--rasp)}
.dd__chev{flex:none;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-right:4px;transition:transform var(--dur) var(--ease)}
.dd[open] .dd__chev{transform:rotate(-135deg)}
.dd .form{margin-top:12px}
@media(max-width:980px){.split__who.card,.split__form.card{justify-items:center;text-align:center}.dd__sum{justify-content:center}}

/* ===== v3: icons, colour rhythm (tinted hero, raspberry numbers band), mockup rows ===== */
.ico{width:26px;height:26px;display:block;color:var(--rasp);fill:none}
.step__ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--peach);border:1px solid var(--line)}
.step .k{width:auto;height:auto;background:none;box-shadow:none;font-size:12px;letter-spacing:.12em;color:var(--ink-3);margin-top:-2px}
.n--ico{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.08);box-shadow:none;border:1px solid rgba(255,255,255,.14)}
.n--ico .ico{color:var(--gold)}
.pcard__ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--peach);border:1px solid var(--line);margin-bottom:2px}
.pcard--wide .pcard__ico{grid-column:1;grid-row:1;margin-bottom:0}
.pcard--wide .k{grid-row:2}.pcard--wide b{grid-row:3}.pcard--wide p,.pcard--wide ul{grid-row:1/4}
.hero--split{position:relative}
.hero--split::before{content:"";position:absolute;inset:0 0 -1px 0;z-index:-1;background:linear-gradient(180deg,var(--peach) 0%,var(--peach-2) 70%,var(--cream) 100%)}
.stats{padding:0;margin-top:0}
.stats .wrap{max-width:none;padding:0}
.stats__grid{border:0;border-radius:0;box-shadow:none;background:linear-gradient(180deg,var(--rasp-lo),var(--rasp) 60%,var(--rasp-hi));color:#fff;max-width:none}
.stats__grid>div{border-left:1px solid rgba(255,255,255,.18);padding:32px clamp(20px,3vw,44px)}
.stats__grid b{color:#fff}.stats__grid b small{color:rgba(255,255,255,.7)}.stats__grid span{color:rgba(255,255,255,.86)}
.stats__inner{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.case__shots--mock{display:block}
.case__shots--mock img{display:block;width:112%;max-width:none;height:auto;margin:-4% -6%;position:relative;z-index:1;filter:drop-shadow(0 24px 28px rgba(43,26,34,.32)) drop-shadow(0 4px 6px rgba(43,26,34,.16))}
.hero__art--mock{padding:0;overflow:visible}
.hero__art--mock img{display:block;width:124%;max-width:none;height:auto;margin:-8% -12% -6% -12%;position:relative;z-index:1;filter:drop-shadow(0 26px 30px rgba(43,26,34,.34)) drop-shadow(0 4px 6px rgba(43,26,34,.18))}
.hero__art--mock::after,.case__shots--mock::after{content:"";position:absolute;left:6%;right:6%;bottom:2%;height:14%;border-radius:50%;background:radial-gradient(closest-side,rgba(43,26,34,.28),rgba(43,26,34,0));filter:blur(6px);z-index:0}
.case__shots--mock{position:relative}
.hero__art--mock .mock__score{left:4%;bottom:10%}
.meter{display:grid;gap:6px;width:100%;margin:10px 0 12px}
.meter__row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;text-align:left}
.meter__k{font-size:12.5px;color:var(--ink-3);grid-column:1/-1;letter-spacing:.02em}
.meter__bar{display:block;height:9px;border-radius:999px;background:var(--peach);overflow:hidden}
.meter__fill{display:block;height:100%;border-radius:999px}
.meter__fill--bad{background:linear-gradient(90deg,#E9A38D,#D9744F)}.meter__fill--good{background:linear-gradient(90deg,var(--rasp-lo),var(--rasp-hi))}.meter__fill--them{background:linear-gradient(90deg,#C9BDC4,#A8979F)}
.meter__v{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap}
@media(max-width:980px){.stats__grid>div{border-left:0}.stats__grid>div:nth-child(even){border-left:1px solid rgba(255,255,255,.18)}.stats__grid>div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.18)}.hero__art--mock img{width:100%;margin:0}}
@media(max-width:640px){.stats__grid>div{border-left:0!important;border-top:1px solid rgba(255,255,255,.18)}.stats__grid>div:first-child{border-top:0}}

/* last word on the phone badge: centred under the art on narrow screens */
@media(max-width:980px){.hero__art--mock .mock__score{left:50%;right:auto;bottom:-6px;transform:translateX(-50%)}.hero__art--mock{padding-bottom:40px}}

/* ===== footer v4: centred and symmetric. The brand sits on the page axis with its line under it; the four link columns
   are one equal grid centred beneath, each column centred on itself; the bottom bar is two centred lines. ===== */
.ftr{padding:0;background:linear-gradient(180deg,var(--peach),var(--peach-2));border-top:1px solid var(--line);text-align:center;color:var(--ink-2)}
.ftr::before{display:none}
.ftr .wrap{display:block;justify-items:stretch}   /* the generic .ftr .wrap centres its items; in block layout Chrome now honours that and shrink-wraps them */
.ftr__top{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:clamp(30px,4vw,46px);padding:clamp(40px,5vw,60px) 0 clamp(32px,4vw,44px)}
.ftr__brand{display:grid;gap:12px;justify-items:center;text-align:center;margin:0}
.ftr__brand .brand{justify-self:center}
.ftr__brand p{font-size:17px;line-height:1.5;color:var(--ink-2);max-width:44ch;margin:0}
.ftr__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:100%;max-width:960px;margin:0 auto}
.ftr__col{display:grid;gap:10px;align-content:start;justify-items:center;text-align:center}
.ftr__col b{color:var(--ink);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.ftr__col a{color:var(--ink-2);font-size:16px;font-weight:500;line-height:1.3;white-space:nowrap}
.ftr__col a:hover{color:var(--rasp)}
.ftr .btn,.ftr .btn:hover{color:#fff}
.ftr__bar{display:grid;justify-items:center;gap:4px;padding:18px 0 26px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-3);text-align:center}
@media(max-width:980px){.ftr__cols{grid-template-columns:1fr 1fr;gap:28px 16px}}
@media(max-width:640px){.ftr__cols{grid-template-columns:1fr;gap:24px}}

/* the pricing paper opens with the same numbers band as the landing */
.stats--doc{margin-top:0}
.stats--doc+.doc{padding-top:clamp(40px,5vw,64px)}
.stats--doc .stats__grid b{font-size:clamp(30px,2.6vw,40px)}

/* motion pass */
.hero__art--mock img{transition:transform 120ms linear;will-change:transform}
.frame,.case__shots--mock img,.case__psi figure{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.case:hover .frame{transform:translateY(-4px)}
.case:hover .frame.is-new{box-shadow:var(--sh-2),0 0 0 3px var(--gold),0 24px 40px -18px rgba(43,26,34,.4)}
.case:hover .case__shots--mock img{transform:translateY(-6px)}
.stats__grid>div{transition:background var(--dur) var(--ease)}.stats__grid>div:hover{background:rgba(255,255,255,.06)}
.step:hover .step__ico,.pcard:hover .pcard__ico{background:var(--gold-t);border-color:var(--gold-d)}
.step__ico,.pcard__ico{transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.ftr__col a{transition:color var(--dur) var(--ease),transform var(--dur) var(--ease)}.ftr__col a:hover{transform:translateX(2px)}

/* footer contact: the address reads as an email, with a label, not as a bare link */
.ico--s{width:22px;height:22px}
.ftr__mail{display:inline-flex;align-items:center;gap:10px;color:var(--ink)!important;font-weight:600!important;white-space:nowrap}
.ftr__mail span,.ftr__where{display:grid;line-height:1.2}
.ftr__mail small,.ftr__where small{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.ftr__where{color:var(--ink-2);font-size:16px;font-weight:500;margin-top:2px}
.ftr__mail:hover{color:var(--rasp)!important}
.ftr__mail span,.ftr__where{text-align:center;justify-items:center}

/* icons read at a glance: larger glyph, heavier stroke, a tile with real contrast */
.ico{width:32px;height:32px}
.step__ico,.pcard__ico{width:62px;height:62px;border-radius:16px;background:linear-gradient(180deg,#fff,var(--peach));border:1.5px solid rgba(184,21,90,.28);box-shadow:0 6px 14px -10px rgba(184,21,90,.5)}
.n--ico{width:62px;height:62px;border-radius:16px;background:rgba(255,201,74,.14);border:1.5px solid rgba(255,201,74,.45)}
.n--ico .ico{color:var(--gold);width:32px;height:32px}
.ico--s{width:24px;height:24px}

/* dark band: a dark tile with a gold glyph (the generic gold number chip outranked the icon tile) */
.trust .n--ico{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,201,74,.5);box-shadow:none;color:var(--gold)}
.trust .n--ico .ico{color:var(--gold)}

/* hero proof chips: one column on desktop too, each chip on its own line */
.hero__copy .hero__proof{flex-direction:column;align-items:flex-start;gap:8px}
@media(max-width:980px){.hero__copy .hero__proof{align-items:center}}

/* keyboard focus: a gold ring in the brand's language, everywhere; mouse clicks show nothing */
:focus{outline:none}
:focus-visible{outline:3px solid var(--gold-d);outline-offset:3px;border-radius:6px}
.btn:focus-visible,.langsw:focus-visible,.tool:focus-visible{outline-offset:4px;border-radius:999px}
.form input:focus-visible,.form textarea:focus-visible{outline:none;border-color:var(--rasp);box-shadow:inset 0 1px 2px rgba(43,26,34,.05),0 0 0 3px var(--gold-t)}
.dd__sum:focus-visible{outline-offset:2px}
.nav a:focus-visible,.ftr__col a:focus-visible{outline-offset:2px;border-radius:4px}
.sec--dark :focus-visible{outline-color:var(--gold)}

/* the person: a photo at the head of the "Who I am" card */
.who__photo{width:120px;height:120px;border-radius:28px;object-fit:cover;display:block;border:3px solid #fff;box-shadow:var(--sh-2),0 0 0 1px var(--line);margin-bottom:4px}
@media(max-width:980px){.who__photo{margin-inline:auto}}

/* contact form: honeypot hidden, the sent state */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__done{padding:18px 22px;border-radius:var(--radius-s);background:rgba(27,107,68,.1);color:var(--ok);font-weight:600;width:100%;text-align:center}
