/* ==========================================================================
   Double Entry Digital — design system ("Signal")
   Bold, high contrast, modern. Sans throughout. Hard edges. Orange signal.
   ========================================================================== */

:root{
  --ink:#0E1013;
  --ink-2:#3C444F;
  --ink-3:#5A626D;
  --paper:#F4F3EF;
  --surface:#FFFFFF;
  --surface-2:#EAE8E2;
  --line:#DEDBD3;
  --line-2:#0E1013;

  --brand:#FF5C2B;
  --brand-dark:#E0421A;
  --brand-text:#C63913;
  --brand-tint:#FFEDE6;
  --brand-tint-2:#FFD9CB;

  --accent:#0E1013;
  --accent-tint:#EAE8E2;

  --radius:4px;
  --radius-sm:3px;
  --radius-lg:6px;
  --shadow-1:none;
  --shadow-2:5px 5px 0 rgba(14,16,19,.10);
  --shadow-3:10px 10px 0 rgba(14,16,19,.14);

  --wrap:1180px;
  --wrap-narrow:780px;
  --gap:clamp(1.25rem,4vw,2.5rem);
  --section:clamp(3.75rem,9vw,7.5rem);

  --serif:"Archivo","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.62;color:var(--ink-2);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}

h1,h2,h3,h4{font-family:var(--serif);color:var(--ink);margin:0 0 .55em;line-height:1.05;font-weight:800;letter-spacing:-.035em}
h1{font-size:clamp(2.4rem,7vw,4.6rem);letter-spacing:-.045em}
h2{font-size:clamp(1.85rem,4.4vw,3rem);letter-spacing:-.04em}
h3{font-size:clamp(1.15rem,2.2vw,1.35rem);letter-spacing:-.02em;font-weight:750}
h4{font-size:1.05rem;font-weight:750;letter-spacing:-.015em;font-family:var(--sans)}
p{margin:0 0 1.15em}
a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:1.5px;text-decoration-color:var(--brand)}
a:hover{color:var(--brand-dark)}
strong{color:var(--ink);font-weight:700}
hr{border:0;border-top:2px solid var(--ink);margin:2.5rem 0}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2rem)}
.narrow{max-width:var(--wrap-narrow);margin-inline:auto}
.section{padding-block:var(--section)}
.section--tight{padding-block:clamp(2.5rem,6vw,4.25rem)}
.section--paper{background:var(--paper)}
.section--surface{background:var(--surface);border-block:2px solid var(--ink)}
.section--ink{background:var(--ink);color:#B9C0C9}
.section--ink h2,.section--ink h3,.section--ink h4{color:#fff}
.section--ink a{color:var(--brand)}

.eyebrow{
  font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--brand-text);margin:0 0 1rem;display:inline-block;
  border-bottom:2px solid var(--brand);padding-bottom:.3rem;
}
.section--ink .eyebrow{color:var(--brand);border-color:var(--brand)}
.lede{font-size:clamp(1.1rem,2.1vw,1.3rem);line-height:1.55;color:var(--ink-2)}
.muted{color:var(--ink-3)}
.center{text-align:center}
.mb0{margin-bottom:0}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--sans);font-size:1rem;font-weight:700;line-height:1;letter-spacing:-.01em;
  padding:1rem 1.55rem;border-radius:var(--radius-sm);border:2px solid var(--ink);
  text-decoration:none;cursor:pointer;transition:transform .1s ease,box-shadow .12s ease,background .15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.btn:active{transform:translate(0,0);box-shadow:none}
.btn:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.btn--primary{background:var(--brand);color:var(--ink)}
.btn--primary:hover{background:var(--brand);color:var(--ink)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--surface);color:var(--ink)}
.btn--wa{background:var(--surface);color:var(--ink)}
.btn--wa svg{width:18px;height:18px;flex:0 0 18px}
.btn--lg{padding:1.15rem 2rem;font-size:1.075rem}
.btn-row{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:var(--paper);border-bottom:2px solid var(--ink)}
.site-header__inner{display:flex;align-items:center;gap:1rem;min-height:74px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);flex:0 0 auto}
.brand__mark{width:30px;height:30px;flex:0 0 30px}
.brand__name{font-family:var(--serif);font-weight:800;font-size:1.14rem;letter-spacing:-.04em;line-height:1.1}
.brand__name span{color:var(--brand-dark)}
.nav{margin-left:auto;display:none;align-items:center;gap:.15rem}
.nav a{font-size:.95rem;font-weight:600;color:var(--ink-2);text-decoration:none;padding:.5rem .75rem;border-radius:3px}
.nav a:hover{color:var(--ink);background:var(--surface-2)}
.nav a.btn--primary,.nav a.btn--primary:hover{color:var(--ink);background:var(--brand);margin-left:.6rem;padding:.72rem 1.2rem;font-size:.95rem}
.nav-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;background:var(--surface);border:2px solid var(--ink);border-radius:3px;padding:.55rem .85rem;font:inherit;font-size:.9rem;font-weight:700;color:var(--ink);cursor:pointer}
.nav-toggle svg{width:16px;height:16px}
.mobile-nav{border-top:2px solid var(--ink);background:var(--surface);padding:.6rem 0 1.1rem}
.mobile-nav a{display:block;padding:.75rem .25rem;color:var(--ink-2);text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
.mobile-nav a:last-of-type{border-bottom:0}
.mobile-nav .btn{width:100%;margin-top:.9rem}
.mobile-nav a.btn--primary,.mobile-nav a.btn--primary:hover{color:var(--ink);background:var(--brand)}
@media (min-width:1000px){.nav{display:flex}.nav-toggle,.mobile-nav{display:none}}

/* ---------- Hero: full-bleed dark ---------- */
.hero{background:var(--ink);color:#B9C0C9;padding-block:clamp(3rem,8vw,6rem) clamp(3rem,7vw,5.5rem);position:relative;overflow:hidden;border-bottom:2px solid var(--ink)}
.hero::after{content:"";position:absolute;right:-10%;top:-40%;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(255,92,43,.20) 0%,transparent 66%);pointer-events:none}
.hero>.wrap{position:relative;z-index:1}
.hero h1{color:#fff}
.hero .eyebrow{color:var(--brand);border-color:var(--brand)}
.hero__grid{display:grid;gap:clamp(2.25rem,5vw,3.75rem);align-items:center}
@media (min-width:940px){.hero__grid{grid-template-columns:1.02fr .98fr}}
.answer-block{font-size:clamp(1.1rem,2vw,1.24rem);line-height:1.55;color:#C6CCD4;border-left:4px solid var(--brand);padding-left:1.3rem;margin:0 0 1.9rem}
.answer-block strong{color:#fff}
.hero .btn--ghost{color:#fff;border-color:#fff}
.hero .btn--ghost:hover{background:rgba(255,255,255,.08);box-shadow:4px 4px 0 var(--brand)}
.hero .btn:hover{box-shadow:4px 4px 0 var(--brand)}
.hero__meta{display:flex;flex-wrap:wrap;gap:.55rem 1.5rem;margin-top:1.85rem;font-size:.9rem;color:#8B939E}
.hero__meta span{display:inline-flex;align-items:center;gap:.45rem}
.hero__meta svg{width:15px;height:15px;color:var(--brand)}
.hero .shot-cap{color:#8B939E}
.hero .shot-cap b{color:#fff}

/* ---------- Cards ---------- */
.grid{display:grid;gap:1.25rem}
.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
@media (min-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:960px){.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);padding:1.65rem 1.55rem}
.card h3,.card h4{margin-bottom:.55rem}
.card p:last-child{margin-bottom:0}
.card--link{text-decoration:none;color:inherit;display:block;transition:transform .1s ease,box-shadow .12s ease}
.card--link:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--brand);color:inherit}
.card__num{font-family:var(--mono);font-size:.76rem;font-weight:700;color:var(--ink);background:var(--brand);border-radius:2px;padding:.24rem .55rem;display:inline-block;margin-bottom:.95rem;letter-spacing:.04em}
.card__icon{width:34px;height:34px;color:var(--brand-dark);margin-bottom:1rem}

/* ---------- Ledger split ---------- */
.ledger{display:grid;gap:0;border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
@media (min-width:800px){.ledger{grid-template-columns:1fr 1fr}}
.ledger__col{padding:2rem 1.85rem}
.ledger__col+.ledger__col{border-top:2px solid var(--ink)}
@media (min-width:800px){.ledger__col+.ledger__col{border-top:0;border-left:2px solid var(--ink)}}
.ledger__col--b{background:var(--ink);color:#B9C0C9}
.ledger__col--b h3{color:#fff}
.ledger__label{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text);margin-bottom:1rem;display:block}
.ledger__col--b .ledger__label{color:var(--brand)}
.ledger__col ul{margin:0;padding-left:1.1rem}
.ledger__col li{margin-bottom:.5rem}

/* ---------- Stats ---------- */
.stats{display:grid;gap:0;grid-template-columns:repeat(2,1fr);border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
@media (min-width:820px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{padding:1.6rem 1.35rem;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.stat:nth-child(2n){border-right:0}
.stat:nth-last-child(-n+2){border-bottom:0}
@media (min-width:820px){
  .stat{border-bottom:0;border-right:2px solid var(--ink)}
  .stat:nth-child(2n){border-right:2px solid var(--ink)}
  .stat:last-child{border-right:0}
}
.stat__n{font-family:var(--serif);font-size:clamp(1.9rem,4.4vw,2.6rem);color:var(--ink);line-height:1;letter-spacing:-.045em;display:block;margin-bottom:.45rem;font-weight:800}
.stat__l{font-size:.875rem;color:var(--ink-3);line-height:1.4;margin:0}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto;border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface)}
table{width:100%;border-collapse:collapse;font-size:.94rem;min-width:520px}
th,td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:750;color:var(--ink);background:var(--ink);color:#fff;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-bottom:2px solid var(--ink)}
tr:last-child td{border-bottom:0}
td strong{color:var(--ink)}
.num{font-family:var(--mono);font-size:.88rem;white-space:nowrap}

/* ---------- Pricing ---------- */
.price-grid{display:grid;gap:1.35rem;grid-template-columns:1fr}
@media (min-width:900px){.price-grid{grid-template-columns:repeat(3,1fr);align-items:start}}
.price{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);padding:1.85rem 1.7rem;display:flex;flex-direction:column}
.price--feature{background:var(--ink);color:#B9C0C9;box-shadow:8px 8px 0 var(--brand);position:relative}
.price--feature .price__name,.price--feature .price__amt{color:#fff}
.price--feature .price__for,.price--feature .price__sub{color:#8B939E}
.price--feature li::before{border-color:var(--brand)}
.price--feature .price__amt sup{color:#8B939E}
.price__tag{position:absolute;top:-14px;left:1.7rem;background:var(--brand);color:var(--ink);font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.32rem .65rem;border-radius:2px;border:2px solid var(--ink)}
.price__name{font-family:var(--serif);font-size:1.35rem;color:var(--ink);margin:0 0 .3rem;font-weight:800;letter-spacing:-.03em}
.price__for{font-size:.875rem;color:var(--ink-3);margin:0 0 1.2rem}
.price__amt{font-family:var(--serif);font-size:2.5rem;color:var(--ink);line-height:1;letter-spacing:-.05em;font-weight:800}
.price__amt sup{font-size:.85rem;font-family:var(--mono);font-weight:600;color:var(--ink-3);top:-1.25em;margin-right:.2rem;text-transform:uppercase;letter-spacing:.08em}
.price__sub{font-size:.85rem;color:var(--ink-3);margin:.5rem 0 1.4rem}
.price ul{list-style:none;margin:0 0 1.7rem;padding:0;font-size:.945rem}
.price li{position:relative;padding-left:1.6rem;margin-bottom:.62rem;line-height:1.5}
.price li::before{content:"";position:absolute;left:0;top:.42em;width:10px;height:6px;border-left:2.5px solid var(--brand-dark);border-bottom:2.5px solid var(--brand-dark);transform:rotate(-45deg)}
.price .btn{margin-top:auto;width:100%}
.price--feature .btn--ghost{color:#fff;border-color:#fff}
.price-note{margin-top:1.6rem;background:var(--brand-tint);border:2px solid var(--ink);border-radius:var(--radius);padding:1.35rem 1.5rem;font-size:.945rem}
.price-note p:last-child{margin-bottom:0}

/* ---------- Objections ---------- */
.obj-grid{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:760px){.obj-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.obj-grid{grid-template-columns:repeat(3,1fr)}}
.obj{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);padding:1.6rem 1.5rem}
.obj__q{font-family:var(--serif);font-size:1.1rem;color:var(--ink);font-weight:750;margin:0 0 .7rem;line-height:1.25;letter-spacing:-.025em}
.obj__q::before{content:"\201C";color:var(--brand-dark)}
.obj__q::after{content:"\201D";color:var(--brand-dark)}
.obj p{font-size:.945rem;margin-bottom:0;line-height:1.6}

/* ---------- FAQ ---------- */
.faq{border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:1.2rem 2.5rem 1.2rem 0;position:relative;font-family:var(--serif);font-size:1.1rem;font-weight:750;color:var(--ink);line-height:1.3;letter-spacing:-.025em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.5rem;top:1.6rem;width:11px;height:11px;border-right:2.5px solid var(--brand-dark);border-bottom:2.5px solid var(--brand-dark);transform:rotate(45deg);transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(-135deg);top:1.8rem}
.faq summary:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
.faq__a{padding:0 0 1.45rem;font-size:1rem}
.faq__a p:last-child{margin-bottom:0}

/* ---------- Prose ---------- */
.prose{font-size:1.075rem;line-height:1.7}
.prose h2{margin-top:2.5em;margin-bottom:.5em;font-size:clamp(1.6rem,3.2vw,2.1rem)}
.prose h3{margin-top:2em;margin-bottom:.5em}
.prose h2:first-child,.prose h3:first-child{margin-top:0}
.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.35rem}
.prose li{margin-bottom:.55em}
.prose .table-wrap{margin:1.8em 0}
.prose blockquote{margin:1.9em 0;padding:1.2rem 1.45rem;background:var(--ink);color:#B9C0C9;border-left:5px solid var(--brand);border-radius:0 var(--radius) var(--radius) 0;font-size:1.02rem}
.prose blockquote strong{color:#fff}
.prose blockquote p:last-child{margin-bottom:0}
.key-take{background:var(--brand-tint);border:2px solid var(--ink);border-radius:var(--radius);padding:1.5rem 1.6rem;margin:0 0 2.4rem}
.key-take h2{font-family:var(--mono)!important;font-size:.76rem!important;margin:0 0 .9em!important;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text);font-weight:700}
.key-take ul{margin-bottom:0}
.article-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;font-size:.85rem;color:var(--ink-3);font-family:var(--mono);padding-bottom:1.5rem;margin-bottom:2.25rem;border-bottom:2px solid var(--ink)}
.toc{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);padding:1.4rem 1.55rem;margin:0 0 2.6rem}
.toc p{font-family:var(--mono);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-text);margin:0 0 .8rem}
.toc ol{margin:0;padding-left:1.2rem;font-size:.965rem}
.toc li{margin-bottom:.4rem}

.crumb{font-family:var(--mono);font-size:.78rem;color:var(--ink-3);padding-top:1.5rem;margin-bottom:-.5rem;letter-spacing:.03em}
.crumb a{color:var(--ink-3)}
.crumb span{margin-inline:.4rem;opacity:.5}

/* ---------- Form ---------- */
.form-card{background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.4rem);box-shadow:8px 8px 0 var(--brand)}
.field{margin-bottom:1.05rem}
.field label{display:block;font-size:.82rem;font-weight:700;color:var(--ink);margin-bottom:.42rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius-sm);padding:.8rem .9rem}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand-dark);box-shadow:0 0 0 3px var(--brand-tint-2)}
.field-row{display:grid;gap:1.05rem;grid-template-columns:1fr}
@media (min-width:620px){.field-row{grid-template-columns:1fr 1fr}}
.form-card .btn{width:100%;margin-top:.5rem}
.form-note{font-size:.82rem;color:var(--ink-3);margin:.95rem 0 0;text-align:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- CTA band ---------- */
.cta-band{background:var(--brand);color:var(--ink);border:2px solid var(--ink);border-radius:var(--radius);padding:clamp(2rem,5vw,3.5rem);box-shadow:10px 10px 0 var(--ink);position:relative;overflow:hidden}
.cta-band h2{color:var(--ink)}
.cta-band p{color:#2A1208;max-width:56ch}
.cta-band .btn--primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.cta-band .btn--primary:hover{box-shadow:4px 4px 0 rgba(14,16,19,.35)}
.cta-band .btn--ghost{color:var(--ink);border-color:var(--ink)}
.cta-band .btn--ghost:hover{background:rgba(255,255,255,.35)}

/* ---------- Link lists / pills ---------- */
.link-cols{display:grid;gap:1.2rem 2rem;grid-template-columns:1fr}
@media (min-width:640px){.link-cols{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.link-cols{grid-template-columns:repeat(4,1fr)}}
.link-cols h4{margin-bottom:.8rem;font-family:var(--mono);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--brand-text);font-weight:700}
.link-cols ul{list-style:none;margin:0;padding:0;font-size:.945rem}
.link-cols li{margin-bottom:.5rem}
.link-cols a{color:var(--ink-2);text-decoration:none}
.link-cols a:hover{color:var(--brand-dark);text-decoration:underline}
.pill-row{display:flex;flex-wrap:wrap;gap:.6rem}
.pill{display:inline-block;font-size:.88rem;font-weight:600;padding:.5rem .9rem;border-radius:2px;background:var(--surface);border:2px solid var(--ink);color:var(--ink);text-decoration:none}
.pill:hover{background:var(--brand);color:var(--ink)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#8B939E;padding-block:clamp(3rem,6vw,4.25rem) 2rem;font-size:.925rem;border-top:2px solid var(--ink)}
.site-footer h4{color:var(--brand);font-family:var(--mono);font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1rem;font-weight:700}
.site-footer a{color:#B9C0C9;text-decoration:none}
.site-footer a:hover{color:var(--brand)}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:.5rem}
.footer-grid{display:grid;gap:2.25rem;grid-template-columns:1fr}
@media (min-width:700px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
@media (min-width:1000px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}}
.footer-brand .brand__name{color:#fff}
.footer-brand .brand__name span{color:var(--brand)}
.footer-brand p{color:#949BA5;font-size:.9rem;margin-top:.95rem;max-width:34ch}
.footer-legal{margin-top:2.75rem;padding-top:1.6rem;border-top:2px solid rgba(255,255,255,.14);font-size:.83rem;color:#949BA5;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}
.footer-legal p{margin:0}

/* ---------- Sticky mobile CTA ---------- */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--paper);border-top:2px solid var(--ink)}
.sticky-cta .btn{flex:1;padding:.9rem .6rem;font-size:.94rem}
@media (min-width:1000px){.sticky-cta{display:none}}
@media (max-width:999px){body:has(.sticky-cta){padding-bottom:72px}}

.skip{position:absolute;left:-9999px;background:var(--brand);color:var(--ink);padding:.75rem 1.15rem;border:2px solid var(--ink);z-index:100;text-decoration:none;font-weight:700}
.skip:focus{left:0;top:0}

/* Logo mark */
.brand__mark rect:first-of-type{fill:var(--brand)}
.brand__mark rect:last-of-type{stroke:var(--ink)}
.site-footer .brand__mark rect:last-of-type{stroke:#fff}

/* ---------- Cookie bar ---------- */
.cookie-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--ink);color:#B9C0C9;border-top:2px solid var(--brand);padding:1.1rem 0 calc(1.1rem + env(safe-area-inset-bottom))}
.cookie-bar__inner{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2rem);display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
@media (min-width:900px){.cookie-bar__inner{flex-direction:row;align-items:center;gap:2rem}}
.cookie-bar__copy{flex:1}
.cookie-bar__copy strong{display:block;color:#fff;font-size:1rem;margin-bottom:.3rem}
.cookie-bar__copy p{margin:0;font-size:.9rem;line-height:1.55;color:#8B939E;max-width:70ch}
.cookie-bar__copy a{color:var(--brand)}
.cookie-bar__btns{display:flex;gap:.6rem;flex:0 0 auto;width:100%}
@media (min-width:900px){.cookie-bar__btns{width:auto}}
.cookie-bar__btns .btn{flex:1;padding:.8rem 1.35rem;font-size:.95rem}
.cookie-bar .btn--ghost{color:#fff;border-color:#fff;background:transparent}
@media (max-width:999px){.cookie-bar{bottom:72px}}

/* ---------- Legal pages ---------- */
.legal{font-size:1.02rem;line-height:1.7}
.legal h2{margin-top:2.3em;margin-bottom:.5em;font-size:clamp(1.4rem,2.8vw,1.85rem)}
.legal h2:first-child{margin-top:0}
.legal h3{margin-top:1.8em;margin-bottom:.45em;font-size:1.1rem}
.legal ul{margin:0 0 1.35em;padding-left:1.3rem}
.legal li{margin-bottom:.5em}
.legal .table-wrap{margin:1.6em 0}
.legal-updated{font-family:var(--mono);font-size:.82rem;color:var(--ink-3);padding-bottom:1.35rem;border-bottom:2px solid var(--ink);margin-bottom:2.25rem}

/* ==========================================================================
   Concept website mockups
   Six bespoke designs. Each one is its own layout, type system and palette,
   the way six different agencies would have built them. Sized in cqw so
   every mockup renders correctly at any column width.
   ========================================================================== */
.shot-grid{display:grid;gap:2.5rem 1.75rem;grid-template-columns:1fr}
@media (min-width:860px){.shot-grid{grid-template-columns:repeat(2,1fr)}}
.shot-item{display:flex;flex-direction:column;gap:1rem;height:100%}
.shot-item .shot-cap{flex:1}
.shot-item .shot-pick{align-self:flex-start}
.shot-cap{font-size:.9rem;color:var(--ink-3);line-height:1.5;margin:0}
.shot-cap b{display:block;color:var(--ink);font-weight:750;font-size:1.05rem;margin:.4rem 0 .35rem;letter-spacing:-.02em}
.concept-flag{display:inline-flex;align-items:center;font-family:var(--mono);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--brand);border:1.5px solid var(--ink);border-radius:2px;padding:.2rem .5rem}

.m{border:2px solid var(--ink);border-radius:4px;overflow:hidden;background:#fff;
   box-shadow:6px 6px 0 rgba(14,16,19,.16);container-type:inline-size}
.m--hero{box-shadow:10px 10px 0 var(--brand)}
.m__chrome{display:flex;align-items:center;gap:5px;padding:7px 10px;background:#E9E6DE;border-bottom:2px solid var(--ink)}
.m__chrome s{width:7px;height:7px;border-radius:50%;background:#C6C0B1;text-decoration:none}
.m__url{margin-left:7px;flex:1;height:15px;line-height:15px;border-radius:3px;background:#fff;border:1px solid #DEDACE;
        font-family:var(--mono);font-size:7.5px;color:#8A8271;padding-inline:7px;overflow:hidden;white-space:nowrap}
.m__page{font-size:2.5cqw;line-height:1.45}

/* ---------- M1 · Whitcombe & Hale — traditional City firm ---------- */
.m1 .m__page{background:#FBF9F4;color:#5A5748;font-family:Georgia,"Times New Roman",serif}
.m1__util{background:#16233F;color:#B9A87E;font-size:1.85cqw;letter-spacing:.06em;text-align:center;padding:1.3cqw}
.m1__nav{text-align:center;padding:3.4cqw 3cqw 2.4cqw;border-bottom:1px solid #E0D8C4}
.m1__logo{font-size:3.5cqw;letter-spacing:.22em;color:#16233F;font-weight:400;margin-bottom:.6cqw}
.m1__sub{font-size:1.6cqw;letter-spacing:.24em;color:#A8874B;text-transform:uppercase}
.m1__links{display:flex;justify-content:center;gap:3.2cqw;margin-top:2.4cqw;font-size:2cqw;letter-spacing:.1em;text-transform:uppercase;color:#5A5748}
.m1__hero{text-align:center;padding:5.5cqw 8cqw 4.5cqw}
.m1__hero h4{font-family:Georgia,serif;font-size:5cqw;line-height:1.16;color:#16233F;font-weight:400;margin:0 0 2.2cqw;letter-spacing:-.01em}
.m1__rule{width:9cqw;height:1px;background:#A8874B;margin:0 auto 2.4cqw}
.m1__hero p{font-size:2.3cqw;line-height:1.6;margin:0 0 3.2cqw;color:#6B6757}
.m1__btn{display:inline-block;font-size:2cqw;letter-spacing:.14em;text-transform:uppercase;color:#16233F;border:1px solid #16233F;padding:1.8cqw 3.4cqw}
.m1__cols{display:flex;border-top:1px solid #E0D8C4}
.m1__cols div{flex:1;padding:3cqw 2.4cqw;border-right:1px solid #E0D8C4;text-align:center}
.m1__cols div:last-child{border-right:0}
.m1__cols b{display:block;font-size:2.2cqw;color:#16233F;font-weight:400;letter-spacing:.04em;margin-bottom:1.2cqw}
.m1__cols span{display:block;font-size:1.8cqw;color:#8A8574;line-height:1.5}
.m1__seal{background:#16233F;color:#B9A87E;text-align:center;font-size:1.8cqw;letter-spacing:.18em;padding:2cqw;text-transform:uppercase}

/* ---------- M2 · Ledgerline — SaaS for contractors ---------- */
.m2 .m__page{background:#0B1220;color:#95A3BC;font-family:Inter,system-ui,sans-serif}
.m2__nav{display:flex;align-items:center;gap:3cqw;padding:2.8cqw 3.4cqw}
.m2__logo{font-size:3cqw;font-weight:800;color:#fff;letter-spacing:-.04em}
.m2__links{display:flex;gap:2.6cqw;font-size:2.15cqw;color:#8593AE;margin-left:2cqw}
.m2__auth{margin-left:auto;display:flex;align-items:center;gap:2.2cqw}
.m2__auth span{font-size:2.15cqw;color:#B9C6DD}
.m2__pill{background:#3B7DFF;color:#fff;font-size:2.1cqw;font-weight:700;border-radius:100px;padding:1.4cqw 2.8cqw;white-space:nowrap}
.m2__hero{display:flex;gap:3.4cqw;padding:4cqw 3.4cqw 4.5cqw;align-items:center}
.m2__hcopy{flex:1;min-width:0}
.m2__rating{display:inline-block;font-size:1.85cqw;color:#9FC0FF;background:rgba(59,125,255,.16);border:1px solid rgba(59,125,255,.4);border-radius:100px;padding:.9cqw 2cqw;margin-bottom:2.4cqw}
.m2__hcopy h4{font-size:5.2cqw;line-height:1.06;font-weight:800;color:#fff;letter-spacing:-.045em;margin:0 0 2cqw;font-family:Inter,sans-serif}
.m2__hcopy p{font-size:2.35cqw;line-height:1.5;color:#8593AE;margin:0 0 2.8cqw;max-width:30em}
.m2__btns{display:flex;gap:1.8cqw;align-items:center}
.m2__btns b{background:#3B7DFF;color:#fff;font-size:2.3cqw;font-weight:700;border-radius:100px;padding:1.7cqw 3.2cqw;white-space:nowrap}
.m2__btns em{font-style:normal;font-size:2.3cqw;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:100px;padding:1.6cqw 3cqw;white-space:nowrap}
.m2__card{width:33cqw;flex:0 0 33cqw;background:#fff;border-radius:10px;padding:3cqw;box-shadow:0 16px 40px rgba(0,0,0,.4)}
.m2__card>span{font-size:1.9cqw;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#3B7DFF}
.m2__price{font-size:6.5cqw;font-weight:800;color:#0B1220;letter-spacing:-.05em;line-height:1;margin:1.4cqw 0 .6cqw}
.m2__price i{font-size:2.2cqw;font-style:normal;font-weight:600;color:#7C8BA6}
.m2__card ul{list-style:none;margin:2.4cqw 0 2.8cqw;padding:0}
.m2__card li{font-size:2.05cqw;color:#4A5568;padding-left:3.2cqw;margin-bottom:1.4cqw;position:relative}
.m2__card li::before{content:"";position:absolute;left:0;top:.45em;width:1.6cqw;height:.9cqw;border-left:.5cqw solid #3B7DFF;border-bottom:.5cqw solid #3B7DFF;transform:rotate(-45deg)}
.m2__card b{display:block;text-align:center;background:#3B7DFF;color:#fff;font-size:2.2cqw;font-weight:700;border-radius:100px;padding:1.7cqw}
.m2__logos{display:flex;justify-content:center;gap:5cqw;padding:3cqw;border-top:1px solid rgba(255,255,255,.1);font-size:2.1cqw;font-weight:700;color:#4E5C76;letter-spacing:.04em}

/* ---------- M3 · Clearbook — e-commerce, bright and rounded ---------- */
.m3 .m__page{background:#FFF8F3;color:#7A6A60;font-family:Inter,system-ui,sans-serif}
.m3__nav{display:flex;align-items:center;padding:2.8cqw 3.4cqw;gap:2cqw;flex-wrap:nowrap}
.m3__logo{font-size:3cqw;font-weight:800;color:#2B1D16;letter-spacing:-.04em;flex:0 0 auto}
.m3__links{margin-left:auto;display:flex;align-items:center;gap:.9cqw;background:#fff;border-radius:100px;padding:.9cqw 1.2cqw;box-shadow:0 2px 8px rgba(43,29,22,.08);white-space:nowrap;min-width:0;overflow:hidden}
.m3__links span{font-size:1.95cqw;color:#7A6A60;padding:.55cqw 1.3cqw;border-radius:100px;white-space:nowrap}
.m3__links span:last-child{display:none}
.m3__links span:first-child{background:#FFE7DE;color:#C0451F;font-weight:650}
.m3__cta{background:#FF7A59;color:#fff;font-size:2cqw;font-weight:700;border-radius:100px;padding:1.4cqw 2.2cqw;white-space:nowrap;flex:0 0 auto}
.m3__hero{text-align:center;padding:4.5cqw 7cqw 4cqw}
.m3__tag{display:inline-block;font-size:1.9cqw;font-weight:700;color:#0A8E77;background:#D8F5EE;border-radius:100px;padding:1cqw 2.4cqw;margin-bottom:2.6cqw}
.m3__hero h4{font-size:5.4cqw;line-height:1.08;font-weight:800;color:#2B1D16;letter-spacing:-.045em;margin:0 0 2cqw;font-family:Inter,sans-serif}
.m3__hero h4 i{font-style:normal;color:#FF7A59}
.m3__hero p{font-size:2.35cqw;line-height:1.55;margin:0 auto 3cqw;max-width:32em}
.m3__btns{display:flex;justify-content:center;gap:1.8cqw}
.m3__btns b{background:#FF7A59;color:#fff;font-size:2.35cqw;font-weight:700;border-radius:100px;padding:1.9cqw 3.6cqw}
.m3__btns em{font-style:normal;background:#fff;color:#2B1D16;font-size:2.35cqw;font-weight:700;border-radius:100px;padding:1.8cqw 3.4cqw;border:2px solid #FFD9CC}
.m3__wall{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6cqw;padding:0 3.4cqw 3.4cqw}
.m3__wall span{background:#fff;border-radius:12px;padding:2.2cqw 1cqw;text-align:center;font-size:1.95cqw;font-weight:700;color:#5C4E45;box-shadow:0 2px 8px rgba(43,29,22,.07)}
.m3__band{display:flex;background:#0FBF9F;padding:3cqw 3.4cqw;gap:3cqw}
.m3__band div{flex:1;text-align:center;color:#fff}
.m3__band b{display:block;font-size:4cqw;font-weight:800;letter-spacing:-.04em;line-height:1}
.m3__band span{display:block;font-size:1.9cqw;opacity:.85;margin-top:.8cqw}

/* ---------- M4 · Northfold Tax — property, sidebar navigation ---------- */
.m4 .m__page{background:#F3F1EC;color:#5F6A5E;font-family:Inter,system-ui,sans-serif;display:flex;min-height:52cqw}
.m4__side{width:26cqw;flex:0 0 26cqw;background:#1F3D2B;color:#A9BFAE;padding:3.4cqw 2.8cqw;display:flex;flex-direction:column}
.m4__logo{font-family:Georgia,serif;font-size:3.2cqw;color:#fff;line-height:1.1;margin-bottom:.8cqw}
.m4__logo i{display:block;font-style:normal;font-size:1.6cqw;letter-spacing:.2em;text-transform:uppercase;color:#8FBFA0;margin-top:1cqw;font-family:Inter,sans-serif}
.m4__snav{margin-top:4cqw;display:flex;flex-direction:column;gap:2.2cqw;font-size:2.1cqw}
.m4__snav span{padding-bottom:1.4cqw;border-bottom:1px solid rgba(255,255,255,.12)}
.m4__snav span:first-child{color:#fff;font-weight:650}
.m4__phone{margin-top:auto;font-size:2.1cqw;color:#fff;font-weight:650}
.m4__phone i{display:block;font-style:normal;font-size:1.7cqw;color:#8FBFA0;font-weight:400;margin-bottom:.6cqw}
.m4__main{flex:1;padding:4cqw 3.6cqw;min-width:0}
.m4__eyebrow{font-size:1.85cqw;letter-spacing:.16em;text-transform:uppercase;color:#7A9A85;margin:0 0 2cqw}
.m4__main h4{font-family:Georgia,serif;font-size:4.6cqw;line-height:1.14;color:#1F3D2B;font-weight:400;margin:0 0 1.8cqw;letter-spacing:-.01em}
.m4__main>p{font-size:2.3cqw;line-height:1.6;margin:0 0 3cqw;max-width:30em}
.m4__calc{background:#fff;border:1px solid #DCD8CE;border-radius:3px;padding:2.8cqw}
.m4__calc>b{display:block;font-size:2.2cqw;color:#1F3D2B;margin-bottom:2cqw;font-weight:700}
.m4__row{display:flex;gap:1.8cqw;margin-bottom:2cqw}
.m4__row span{flex:1;height:5cqw;border:1px solid #DCD8CE;border-radius:2px;background:#FAF9F6}
.m4__out{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #DCD8CE;padding-top:2cqw}
.m4__out span{font-size:2cqw;color:#7A8480}
.m4__out b{font-size:3.6cqw;color:#1F3D2B;font-family:Georgia,serif;font-weight:400}
.m4__links{display:flex;gap:2.4cqw;margin-top:3cqw}
.m4__links div{flex:1;border-top:2px solid #1F3D2B;padding-top:1.8cqw}
.m4__links i{display:block;font-style:normal;font-size:1.7cqw;color:#8A948C;margin-bottom:.9cqw}
.m4__links b{font-size:2.1cqw;color:#1F3D2B;font-weight:650;line-height:1.35}

/* ---------- M5 · Ashcombe — medical and dental, clinical ---------- */
.m5 .m__page{background:#fff;color:#5A6675;font-family:Inter,system-ui,sans-serif}
.m5__util{display:flex;gap:3cqw;background:#0E5A8A;color:#BDDCF0;font-size:1.85cqw;padding:1.5cqw 3.4cqw}
.m5__util span:last-child{margin-left:auto;color:#fff;font-weight:650}
.m5__nav{display:flex;align-items:center;padding:3cqw 3.4cqw;border-bottom:1px solid #E4EDF4}
.m5__logo{font-size:3.2cqw;font-weight:750;color:#0E3A5A;letter-spacing:-.03em}
.m5__logo i{font-style:normal;color:#0E5A8A;font-weight:400}
.m5__links{margin-left:auto;display:flex;gap:2.8cqw;font-size:2.1cqw;color:#5A6675}
.m5__links span:first-child{color:#0E5A8A;font-weight:650;border-bottom:2px solid #0E5A8A;padding-bottom:.6cqw}
.m5__hero{display:flex;gap:3.4cqw;padding:4.5cqw 3.4cqw 4cqw;background:linear-gradient(180deg,#F5FAFD,#fff)}
.m5__hcopy{flex:1;min-width:0}
.m5__hcopy h4{font-size:4.6cqw;line-height:1.14;font-weight:750;color:#0E3A5A;letter-spacing:-.035em;margin:0 0 2cqw;font-family:Inter,sans-serif}
.m5__hcopy p{font-size:2.3cqw;line-height:1.55;margin:0 0 2.6cqw;max-width:28em}
.m5__ticks{display:flex;flex-direction:column;gap:1.4cqw}
.m5__ticks span{font-size:2.1cqw;color:#3E4C5C;padding-left:3.4cqw;position:relative}
.m5__ticks span::before{content:"";position:absolute;left:0;top:.4em;width:1.8cqw;height:1cqw;border-left:.5cqw solid #0E5A8A;border-bottom:.5cqw solid #0E5A8A;transform:rotate(-45deg)}
.m5__card{width:32cqw;flex:0 0 32cqw;background:#fff;border:1px solid #DCE9F2;border-radius:6px;padding:3cqw;box-shadow:0 8px 26px rgba(14,90,138,.13)}
.m5__card>b{display:block;font-size:2.3cqw;color:#0E3A5A;margin-bottom:2.2cqw;font-weight:700}
.m5__card span{display:block;height:4.6cqw;border:1px solid #DCE9F2;border-radius:3px;background:#F7FBFD;margin-bottom:1.6cqw}
.m5__card em{display:block;font-style:normal;text-align:center;background:#0E5A8A;color:#fff;font-size:2.2cqw;font-weight:700;border-radius:3px;padding:1.7cqw;margin-top:2.2cqw}
.m5__accred{display:flex;justify-content:center;gap:4cqw;padding:3cqw;border-top:1px solid #E4EDF4;background:#F7FBFD}
.m5__accred span{font-size:2cqw;font-weight:700;color:#8FA6B8;letter-spacing:.06em}

/* ---------- M6 · Merton Row — advisory, bold minimal, monochrome ---------- */
.m6 .m__page{background:#F5F4F1;color:#5C5A55;font-family:Inter,system-ui,sans-serif}
.m6__nav{display:flex;align-items:center;padding:3.4cqw;border-bottom:1px solid #111}
.m6__logo{font-size:2.6cqw;font-weight:750;letter-spacing:.2em;text-transform:uppercase;color:#111}
.m6__nav span{margin-left:auto;font-size:2.2cqw;font-weight:650;color:#111;border-bottom:2px solid #111;padding-bottom:.3cqw}
.m6__hero{display:flex;gap:4cqw;padding:6cqw 3.4cqw 5cqw;align-items:flex-end}
.m6__hero h4{flex:1.55;font-size:7cqw;line-height:.98;font-weight:800;color:#111;letter-spacing:-.055em;margin:0;font-family:Inter,sans-serif}
.m6__aside{flex:1;min-width:0}
.m6__aside p{font-size:2.2cqw;line-height:1.6;margin:0 0 2.2cqw}
.m6__aside b{font-size:2.2cqw;font-weight:700;color:#111;border-bottom:2px solid #111;padding-bottom:.3cqw}
.m6__band{display:flex;background:#111;color:#fff;padding:4cqw 3.4cqw}
.m6__band div{flex:1;border-left:1px solid rgba(255,255,255,.22);padding-left:2.4cqw}
.m6__band div:first-child{border-left:0;padding-left:0}
.m6__band b{display:block;font-size:5cqw;font-weight:800;letter-spacing:-.05em;line-height:1}
.m6__band span{display:block;font-size:1.9cqw;color:#8E8C87;margin-top:1cqw;line-height:1.4}

/* ==========================================================================
   Quote flow — two steps
   ========================================================================== */
.steps{display:flex;gap:0;margin:0 0 2.25rem;border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.steps div{flex:1;padding:1rem 1.1rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--ink-3);border-right:2px solid var(--ink);display:flex;align-items:center;gap:.6rem}
.steps div:last-child{border-right:0}
.steps div b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--ink-3);font-size:.72rem;flex:0 0 22px}
.steps div[data-on]{background:var(--brand);color:var(--ink)}
.steps div[data-on] b{border-color:var(--ink);background:var(--ink);color:var(--brand)}
.steps div[data-done]{color:var(--ink)}
.steps div[data-done] b{border-color:var(--ink);background:var(--ink);color:#fff}

.recap{border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface-2);padding:1.15rem 1.3rem;margin:0 0 1.75rem;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;align-items:center}
.recap p{margin:0;font-size:.94rem}
.recap p b{color:var(--ink)}
.recap a{margin-left:auto;font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-dark);white-space:nowrap}

fieldset.opts{border:0;padding:0;margin:0 0 1.5rem}
fieldset.opts legend{font-family:var(--mono);font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:.75rem;padding:0}
.opt-grid{display:grid;gap:.7rem;grid-template-columns:1fr}
@media (min-width:560px){.opt-grid--2{grid-template-columns:repeat(2,1fr)}}
.opt{position:relative;display:block}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt span{
  display:block;border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface);
  padding:.95rem 1.05rem;cursor:pointer;transition:box-shadow .12s ease,transform .1s ease,background .12s ease;
}
.opt span b{display:block;font-weight:700;color:var(--ink);font-size:1rem;line-height:1.25}
.opt span i{display:block;font-style:normal;font-size:.86rem;color:var(--ink-3);margin-top:.25rem;line-height:1.45}
.opt span:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 rgba(14,16,19,.18)}
.opt input:checked+span{background:var(--brand);box-shadow:4px 4px 0 var(--ink)}
.opt input:checked+span i{color:#2A1208}
.opt input:focus-visible+span{outline:3px solid var(--brand-dark);outline-offset:3px}

.quote-aside{border:2px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:#B9C0C9;padding:1.75rem 1.6rem}
.quote-aside h3{color:#fff;font-size:1.15rem;margin-bottom:1rem}
.quote-aside ol{margin:0;padding-left:1.2rem;font-size:.97rem;line-height:1.6}
.quote-aside li{margin-bottom:.95rem}
.quote-aside li:last-child{margin-bottom:0}
.quote-aside strong{color:#fff}
.quote-alt{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.16);font-size:.92rem}
.quote-alt a{color:var(--brand)}

/* Secondary contact line: present, deliberately subordinate to the form */
.alt-line{font-size:.95rem;color:var(--ink-3);margin:1.15rem 0 0}
.alt-line a{color:var(--ink);font-weight:650;text-decoration-color:var(--brand)}

.price__then{font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;color:var(--brand-text);margin:.55rem 0 0;font-weight:700;text-transform:uppercase}
.price--feature .price__then{color:var(--brand)}
.price--feature strong,.price--feature li strong{color:#fff}
.quote-aside strong{color:#fff}

/* ---------- Inline CTA strip ---------- */
.cta-strip{
  display:flex;flex-wrap:wrap;gap:1.1rem 1.6rem;align-items:center;justify-content:space-between;
  border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface);
  padding:1.5rem 1.65rem;margin-top:2.75rem;
}
.cta-strip p{margin:0;font-size:1.05rem;line-height:1.5;max-width:56ch;flex:1 1 22rem}
.cta-strip p b{color:var(--ink);font-weight:750;display:block;font-size:1.12rem;margin-bottom:.25rem;letter-spacing:-.02em}
.cta-strip__act{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;flex:0 0 auto}
.cta-strip .btn{flex:0 0 auto}
.cta-strip small{font-size:.85rem;color:var(--ink-3)}
.cta-strip small a{color:var(--ink);font-weight:650;text-decoration-color:var(--brand)}
.cta-strip--ink{background:var(--ink);border-color:var(--ink);color:#B9C0C9;box-shadow:8px 8px 0 var(--brand)}
.cta-strip--ink p b{color:#fff}
.cta-strip--ink small{color:#8B939E}
.cta-strip--ink small a{color:var(--brand)}
.cta-strip--brand{background:var(--brand);border-color:var(--ink);color:#47210F;box-shadow:8px 8px 0 var(--ink)}
.cta-strip--brand p b{color:var(--ink)}
.cta-strip--brand small{color:#5E2C15}
.cta-strip--brand small a{color:var(--ink)}
.cta-strip--brand .btn--primary{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- Testimonials ---------- */
.quotes{display:grid;gap:1.25rem;grid-template-columns:1fr}
@media (min-width:760px){.quotes{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.quotes{grid-template-columns:repeat(3,1fr)}}
.quote-card{
  background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);
  padding:1.65rem 1.55rem;display:flex;flex-direction:column;
}
.quote-card--wide{grid-column:auto}
@media (min-width:1100px){.quote-card--wide{grid-column:span 1}}
.quote-card h3{font-size:1.1rem;margin-bottom:.85rem;letter-spacing:-.025em}
.quote-card h3::before{content:"\201C";color:var(--brand-dark)}
.quote-card h3::after{content:"\201D";color:var(--brand-dark)}
.quote-card h3.no-quotes::before,.quote-card h3.no-quotes::after{content:none}
.quote-card blockquote{margin:0 0 1.35rem;font-size:.98rem;line-height:1.62;color:var(--ink-2)}
.quote-card blockquote p{margin:0}
.quote-card cite{
  margin-top:auto;font-style:normal;display:block;padding-top:1rem;border-top:2px solid var(--ink);
  font-size:.9rem;color:var(--ink);font-weight:700;
}
.quote-card cite span{display:block;font-weight:400;color:var(--ink-3);font-size:.86rem;margin-top:.15rem}
.quotes-note{
  border-left:4px solid var(--brand);padding-left:1.15rem;margin:0 0 2.25rem;
  font-size:.98rem;line-height:1.6;color:var(--ink-2);max-width:64ch;
}
.quotes-note strong{color:var(--ink)}

/* ---------- Concept gallery: three across, pick-a-design action ---------- */
@media (min-width:760px){.shot-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1120px){.shot-grid{grid-template-columns:repeat(3,1fr);gap:2.25rem 1.4rem}}
.shot-pick{
  display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:700;line-height:1;
  padding:.7rem 1rem;border:2px solid var(--ink);border-radius:var(--radius-sm);
  background:var(--surface);color:var(--ink);text-decoration:none;
  transition:transform .1s ease,box-shadow .12s ease,background .15s ease;
}
.shot-pick:hover{background:var(--brand);color:var(--ink);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.shot-pick svg{width:14px;height:14px;flex:0 0 14px}
.shot-cap .concept-note{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.5rem}

/* The hero quote button is for mobile, where the form sits below the copy.
   On desktop the form is already beside the headline, so the button is noise. */
@media (min-width:940px){.hero__mobile-cta{display:none}}

.quotes-source{margin:1.5rem 0 0;font-size:.8rem;line-height:1.5;color:var(--ink-3)}

/* Link-styled button, used for the cookie settings control so it is not a
   link that goes nowhere. Inherits whatever the surrounding link style is. */
.linkbtn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;
  text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.linkbtn:hover{color:var(--brand)}
.linkbtn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}

/* Dark cards: bold text must not inherit the light-background ink colour,
   which would render it invisible. */
.card--ink strong,.card--ink b{color:#fff}
/* Muted and lede text sitting on the dark ink background needs the lighter
   grey, not the darker one used on paper. */
.hero .muted,.section--ink .muted,.card--ink .muted,
.hero .lede,.section--ink .lede,.card--ink .lede{color:#949BA5}
/* The quote card in the hero is white, so it keeps the light-background
   palette even though it sits inside a dark section. */
.hero .form-card .muted,.hero .form-card .lede{color:var(--ink-3)}
.hero .form-card .eyebrow{color:var(--brand-text)}
