/* r10 restyle: "working paper". Loaded after every other stylesheet; presentation only, no text is added, removed or moved to another element.
   A schedule world: cool paper ground, near-black green ink, one committed field of ledger green, correction red for what is not included.
   Totals carry heavy bars, separation is tone and space, corners are square, nothing has a shadow or gradient at rest. No inline styles (CSP style-src 'self'). */
@font-face{font-family:"Archivo TGC";src:url(/assets/fonts/archivo-var-latin.woff) format("woff");font-weight:400 900;font-stretch:62% 100%;font-style:normal;font-display:swap}

:root{
  --ground:#f4f6f3; --paper:#e3e9e3; --white:#f4f6f3; --ink:#0c1a14; --navy:#0a2e23; --soft:#26332c; --line:#c3cdc5;
  --cobalt:#0a5c45; --cobalt-hover:#074736; --tint:#d3e4da; --green:#0a5c45; --red:#b3261e; --field:#0a5c45; --on-field:#eef6f1;
  --m:clamp(20px,4vw,64px);
  --face:"Archivo TGC",Archivo,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --bar:8px;
  --t-s:15px; --t-b:17px; --t-l:20px; --t-m:22px; --t-xl:clamp(22px,2vw,28px); --t-h2:clamp(28px,3.2vw,46px); --t-h1:clamp(36px,5vw,74px); --t-p:clamp(32px,3.2vw,44px); --t-px:clamp(44px,5vw,68px);
}
html{background:var(--ground);accent-color:var(--cobalt);scrollbar-color:var(--cobalt) var(--paper)}
body{background:var(--ground);color:var(--ink);font:400 17px/1.58 var(--face);font-stretch:100%;font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;caret-color:var(--cobalt)}
::selection{background:var(--cobalt);color:#fff}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
/* the ring sits outside the control, on whatever is behind it: white on every green surface, ink on the light page (the entry cards sit on the page, so they keep the ink ring) */
.section--navy :focus-visible,.section--cobalt :focus-visible,.site-footer :focus-visible,.section:has(>.container.cta-strip) :focus-visible,.card--tint :focus-visible,.card--navy :focus-visible,.plan--oneoff :focus-visible{outline-color:#fff}
a{text-decoration-thickness:2px;text-underline-offset:5px;text-decoration-color:var(--cobalt);transition:color .15s,text-decoration-color .15s}
a:hover{text-decoration-color:var(--ink)}

/* ---- type */
/* hierarchy by scale and width: only the page title and section titles are condensed and heavy; names are plain width, prices a middle step */
h1,h2,h3{font-family:var(--face);font-weight:750;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:var(--t-h1);font-stretch:74%;font-weight:800;line-height:.98;letter-spacing:-.016em;max-width:none}
h2{font-size:var(--t-h2);font-stretch:82%;font-weight:750;line-height:1.04;max-width:26ch}
h3{font-size:var(--t-m);font-stretch:100%;font-weight:700;line-height:1.2;letter-spacing:0}
p{max-width:64ch}
.lead{font-size:var(--t-l);line-height:1.5;color:var(--soft);max-width:48ch;margin-top:28px}
.note,.small,.price-note,.field-help,.form-note{color:var(--soft);font-size:var(--t-s)}
.prose p,.section p{text-wrap:pretty}

/* ---- labels that used to be tiny tracked caps: now plain readable text in the left rail */
.eyebrow,.card-label{font-size:var(--t-s);font-weight:700;text-transform:none;letter-spacing:0;color:var(--cobalt);margin:0 0 14px}
.container:has(>.eyebrow:first-child){display:grid;grid-template-columns:minmax(150px,17%) minmax(0,1fr);column-gap:clamp(20px,3vw,48px)}
.container:has(>.eyebrow:first-child)>*{grid-column:2}
.container:has(>.eyebrow:first-child)>.eyebrow{grid-column:1;grid-row:1;align-self:start;padding-top:.7em}
.container:has(>.eyebrow:first-child)>.plan,.container:has(>.eyebrow:first-child)>.plan-grid,.container:has(>.eyebrow:first-child)>.table-wrap,.container:has(>.eyebrow:first-child)>.biz-grid,.container:has(>.eyebrow:first-child)>.steps{grid-column:1/-1}
.section-heading{display:grid;grid-template-columns:minmax(150px,17%) minmax(0,1fr);column-gap:clamp(20px,3vw,48px);margin-bottom:clamp(32px,4vw,64px)}
.section-heading>div{display:contents}
.section-heading>div>.eyebrow{grid-column:1;grid-row:1;padding-top:.7em;margin:0}
.section-heading>div>:not(.eyebrow){grid-column:2}
.section-heading>:not(div){grid-column:2;margin-top:18px}

/* ---- rhythm: sections are bands of tone; one committed field owns whole regions */
.section{padding-block:clamp(48px,6vw,96px)}
.section--tight{padding-block:clamp(28px,3.4vw,52px) clamp(24px,3vw,44px)}
.section--tight+.section{padding-top:clamp(32px,3.6vw,52px)}
.section--tight h1{font-size:clamp(32px,4vw,56px)}
.section--tight .lead{margin-top:14px;max-width:60ch}
.section--tight .note{margin-top:10px}
.section--soft{background:var(--paper)}
.section--navy,.section--cobalt{background:var(--field);color:#fff}
.container{width:min(100%,1480px)}

/* ---- header: a plain bar under a heavy rule */
.site-header{background:var(--ground);border-bottom:0;border-top:var(--bar) solid var(--cobalt)}
.header-inner{min-height:84px}
.wordmark{font-size:var(--t-m);font-stretch:76%;font-weight:850;letter-spacing:-.012em}
.wordmark span{color:var(--cobalt);font-weight:850}
.desktop-nav{font-size:15px;font-weight:650;gap:clamp(18px,2.2vw,34px)}
.desktop-nav>a,.svc-menu summary{text-decoration:none}
.desktop-nav>a[aria-current=page]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:10px}
.svc-menu-panel{background:var(--ground);border:0;box-shadow:none;padding:6px 0;top:calc(100% + 8px);border-top:var(--bar) solid var(--ink)}
.svc-menu-panel a:hover{background:var(--paper)}
.mobile-menu>summary{border:0;background:var(--ink);color:#fff;font-weight:700;padding:10px 18px}
.mobile-menu-panel{background:var(--ground);border-bottom:0;box-shadow:none;border-top:var(--bar) solid var(--ink)}

/* ---- buttons: flat, square */
.button{background:var(--cobalt);border:2px solid var(--cobalt);color:#fff;font-size:15px;font-weight:700;min-height:52px;padding:13px 24px;transition:background .15s,color .15s,border-color .15s}
.button:hover{background:var(--navy);border-color:var(--navy)}
.button--secondary{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.button--secondary:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.button--white{background:#fff;border-color:#fff;color:var(--cobalt)}
.button--white:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.text-link{color:var(--ink);font-weight:700;text-decoration-line:underline;text-decoration-thickness:2px;text-decoration-color:var(--cobalt)}
.text-link::after{content:"→";font-size:18px}
.section--navy .text-link,.section--cobalt .text-link{color:#fff}
.actions{gap:12px;margin-top:36px}

/* ---- home: the headline runs the full width; copy on the left, the two service blocks as one green field on the right */
.hero2{padding:clamp(32px,4vw,64px) 0 clamp(48px,5vw,80px);background:var(--ground)}
.hero2-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);row-gap:0;align-items:start}
.hero2-grid>div:first-child{display:contents}
.hero2 .eyebrow,.hero2 h1,.hero2 .candidate-flag{grid-column:1/-1}
.hero2 .eyebrow{padding-top:0;margin-bottom:clamp(14px,1.6vw,22px)}
.hero2 h1{font-size:var(--t-h1);margin:0 0 clamp(24px,3vw,44px)}
.hero2 .lead,.hero2 .price-hint,.hero2 .actions{grid-column:1/6}
.hero2 .lead{margin-top:0;max-width:34ch}
.hero2 .price-hint{margin-top:22px;font-size:var(--t-l);font-stretch:100%;font-weight:700;line-height:1.35;color:var(--ink);max-width:none;font-variant-numeric:tabular-nums lining-nums}
.hero2 .price-hint+.price-hint{margin-top:10px}
.hero2 .price-hint span{display:block}
.hero2 .actions{margin-top:28px}
/* the two services are not two copies of one block: GEO/SEO is the green field (the primary offer), social is paper under an ink bar; each lists its own real deliverables */
.entry-stack{grid-column:6/-1;grid-row:3/span 6;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--bar);align-self:stretch}
.entry-card{background:var(--paper);color:var(--ink);border:0;border-top:var(--bar) solid var(--ink);padding:clamp(22px,2.4vw,36px);display:flex;flex-direction:column;gap:14px;transition:background .15s,color .15s}
.entry-card--geo{background:var(--field);color:#fff;border-top-color:var(--field)}
.entry-card:hover,.entry-card:focus-visible{background:var(--navy);color:#fff;border-top-color:var(--navy)}
.entry-card h2{font-size:var(--t-xl);font-stretch:90%;font-weight:750;line-height:1.1;margin:0;max-width:none}
.entry-card p{color:var(--soft);font-size:var(--t-b);max-width:36ch;margin:0}
.entry-card--geo p,.entry-card:hover p,.entry-card:focus-visible p{color:var(--on-field)}
.entry-points{list-style:square;margin:6px 0 0;padding:0 0 0 1.15em;font-size:var(--t-b);font-weight:650}
.entry-points li{padding:4px 0 4px .15em}
.entry-points li::marker{color:var(--cobalt)}
.entry-card--geo .entry-points li::marker,.entry-card:hover .entry-points li::marker,.entry-card:focus-visible .entry-points li::marker{color:var(--on-field)}
.entry-card .go{color:inherit;font-size:15px;font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;margin-top:auto;padding-top:10px}

/* ---- two ledgers (home) */
.biz-grid{gap:var(--bar);grid-template-columns:repeat(2,minmax(0,1fr))}
.biz{background:var(--ground);border:0;border-top:var(--bar) solid var(--ink);padding:clamp(26px,3vw,48px);display:flex;flex-direction:column}
.biz h3{font-size:var(--t-xl);font-stretch:90%;font-weight:750;line-height:1.1;margin-bottom:14px}
.biz>p{color:var(--soft)}
.biz ul{list-style:square;padding:0 0 0 1.15em;margin:26px 0 34px}
.biz li{margin:0;padding:9px 0 9px .15em}
.biz li+li{margin:0}
.biz li::marker,.plan li::marker,.two-col li::marker{color:var(--cobalt)}
.biz .price-tag{margin-top:auto;padding-top:20px;border-top:var(--bar) solid var(--ink)}
.biz .price-note{margin-top:10px}
.price-tag{font-size:var(--t-p);font-stretch:84%;font-weight:750;line-height:1;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;margin:0}
.price-tag small{font-size:var(--t-b);font-stretch:100%;font-weight:650;letter-spacing:0;color:var(--soft);margin-left:.35em}

/* ---- the five steps: one fixed column per step so the two cycles line up */
.steps{gap:0;margin:0 0 20px;grid-template-columns:repeat(5,minmax(0,1fr));border-top:var(--bar) solid var(--ink)}
.steps li{background:none;border:0;padding:16px 16px 6px 0;margin:0;font-size:var(--t-b);font-stretch:100%;font-weight:650;line-height:1.3;display:flex;flex-direction:column;gap:10px;min-height:0}
.steps li::before{content:counter(s);color:var(--cobalt);font-size:34px;font-stretch:84%;font-weight:750;line-height:1;font-variant-numeric:tabular-nums}
.steps+.note{margin:28px 0 14px}

/* ---- plans: columns of one schedule; the one-off plan is the green field */
.plan-grid{gap:var(--bar)}
.plan{background:var(--paper);border:0;border-top:var(--bar) solid var(--ink);padding:clamp(24px,2.6vw,40px);gap:14px;color:var(--ink)}
.plan h3{font-size:var(--t-m);font-stretch:100%;font-weight:700;line-height:1.2}
.plan .price-tag{margin:6px 0 4px}
#price-g01 .price-tag{font-size:var(--t-px)}
/* /pricing/: the one-off plan is a wide slab with the name and price on the left and the description and the exclusion on the right */
#price-g01{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(24px,4vw,64px);row-gap:8px;align-items:start;grid-template-rows:auto auto 1fr}
#price-g01>#diagnostic{position:absolute;left:0;top:0}
#price-g01>.badge,#price-g01>h3,#price-g01>.price-tag{grid-column:1}
#price-g01>.badge{grid-row:1}
#price-g01>h3{grid-row:2}
#price-g01>.price-tag{grid-row:3;align-self:start}
#price-g01>p:not(.note):not(.price-tag){grid-column:2;grid-row:1/span 2;font-size:var(--t-l);line-height:1.45;margin:0}
#price-g01>.note{grid-column:2;grid-row:3;align-self:start}
/* the free Quick Check uses the same two-column slab: label and figure left, scope and request right */
#quick-check{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(24px,4vw,64px);row-gap:12px;align-items:start}
#quick-check>.badge{grid-column:1;grid-row:1}
#quick-check>.price-tag{grid-column:1;grid-row:2;align-self:start;font-size:var(--t-px)}
#quick-check>p:nth-of-type(1){grid-column:2;grid-row:1/span 1;font-size:var(--t-l);line-height:1.45}
#quick-check>.quick-check-scope{grid-column:2;grid-row:2}
#quick-check>p:nth-of-type(4){grid-column:2;grid-row:3}
.plan ul{margin:8px 0 0;padding-left:1.15em;list-style:square}
.plan li{margin:0;padding:5px 0 5px .15em}
.plan p{margin:0}
/* headings sit clear of the slab or bar below; footnotes sit clear of the cards above */
.section h2+.plan,.section h2+.plan-grid{margin-top:clamp(28px,3.4vw,48px)}
.plan-grid+.note,.plan+.note,.biz-grid+.note{margin-top:clamp(24px,3vw,36px)}
.plan--oneoff li::marker{color:var(--on-field)}
.two-col h2+p,.two-col h2+ul{margin-top:18px}
.two-col h2:not(:first-child){margin-top:0}
.two-col ul{list-style:square;padding-left:1.15em}
.two-col li{padding:5px 0 5px .15em}
/* titles and prices of side-by-side plans start on the same line even when only one card carries a label */
@media(min-width:981px){
  .plan-grid:has(.badge) .plan:not(:has(>.badge))>h3:first-child{margin-top:38px}
  .plan-grid:not(:has(.badge)) .plan>h3{min-height:2em}
}
.section--soft .plan:not(.plan--oneoff):not(.plan--feature){background:var(--ground)}
.plan--oneoff{background:var(--field);color:#fff;border-top-color:var(--field)}
.plan--oneoff .price-tag,.plan--oneoff h3{color:#fff}
.plan--oneoff .price-tag small,.plan--oneoff .note,.plan--oneoff p{color:var(--on-field)}
.plan--feature{background:var(--tint);border-top-color:var(--cobalt)}
.badge{display:inline-block;align-self:flex-start;background:none;color:var(--cobalt);padding:0;font-size:15px;font-weight:750;letter-spacing:0}
.badge--soft{background:none;color:var(--cobalt)}
.plan--oneoff .badge{color:#fff}
/* what is not included is printed on a paper slip under a correction-red bar, the one place that colour is used (the pricing page holds all four sentences in one paragraph, so the text stays ink and only the bar is red) */
.plan--oneoff .note:last-child{background:var(--ground);color:var(--ink);font-weight:650;padding:14px 18px 16px;margin-top:10px;max-width:none;border-top:6px solid var(--red)}
.section-sub{font-size:var(--t-xl);font-stretch:90%;font-weight:750;margin:clamp(40px,5vw,72px) 0 clamp(24px,2.6vw,32px)}

/* ---- sample deliverables: clearly labelled as samples */
.sample{background:var(--paper);border:0;padding:0 clamp(22px,2.4vw,34px) clamp(22px,2.4vw,34px)}
.sample .tag{position:static;display:block;background:var(--ink);color:#fff;font-size:var(--t-s);font-weight:700;letter-spacing:0;margin:0 calc(-1 * clamp(22px,2.4vw,34px)) 24px;padding:10px clamp(22px,2.4vw,34px)}
.sample h3,.sample .table-wrap{margin-top:6px}

/* ---- tables: ledger columns, figures aligned, tone stripes instead of cell borders */
.tgc-table,.scope-table,.prose table{background:transparent;border-collapse:collapse;font-variant-numeric:tabular-nums lining-nums}
.tgc-table th,.tgc-table td,.scope-table th,.scope-table td,.prose th,.prose td{border:0;padding:14px 16px;vertical-align:top}
.tgc-table thead th,.scope-table thead th,.prose thead th{background:var(--ink);color:#fff;font-weight:700;font-size:var(--t-s)}
.tgc-table tbody th,.scope-table tbody th,.prose tbody th{background:transparent;font-weight:700}
.tgc-table tbody tr:nth-child(even),.scope-table tbody tr:nth-child(even),.prose tbody tr:nth-child(even){background:var(--paper)}
.section--soft .tgc-table tbody tr:nth-child(even){background:var(--ground)}

/* ---- questions */
/* questions are a ruled list, not a stack of tinted bars */
.faq-list{border-bottom:3px solid var(--ink)}
.faq-list details,.faq-item{border:0;border-top:3px solid var(--ink);background:none;margin:0}
.faq-list summary,.faq-item summary{font-size:var(--t-l);font-stretch:100%;font-weight:700;line-height:1.3;padding:20px 56px 20px 0;min-height:64px;color:var(--ink);position:relative}
.faq-list summary::after{right:4px;top:16px;color:var(--cobalt);font-weight:700}
.faq-item summary{list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:30px;font-weight:700;color:var(--cobalt)}
.faq-item[open] summary::after{content:"\2212"}
.faq-list details>div,.faq-list details>p,.faq-item>div{padding:0 56px 22px 0;color:var(--soft);max-width:70ch}

/* ---- closing bands */
.section:has(>.container.cta-strip){background:var(--field);color:#fff}
.cta-strip{gap:clamp(24px,4vw,64px)}
.cta-strip h2{color:#fff;max-width:none}
.cta-strip p{color:var(--on-field)}
.cta-strip .button{background:#fff;border-color:#fff;color:var(--cobalt)}
.cta-strip .button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.cta-strip .button--secondary{background:transparent;border-color:#fff;color:#fff}
.cta-strip .button--secondary:hover{background:#fff;color:var(--cobalt)}

/* ---- footer: the name returns at full width */
.site-footer{background:var(--navy);padding:clamp(48px,6vw,96px) 0 28px}
.footer-grid,.footer--simple .footer-grid{grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,48px)}
.footer-grid>div:first-child{grid-column:1/-1}
.footer-grid>div:last-child{grid-column:auto}
.site-footer .wordmark{font-size:clamp(40px,5.4vw,80px);font-stretch:74%;font-weight:800;line-height:1;letter-spacing:-.015em;margin:0 0 20px;display:block}
.site-footer .wordmark span{color:var(--tint)}
.footer-grid p{color:var(--on-field);font-size:17px;max-width:36ch}
.footer-label{font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--tint);margin-bottom:10px}
.footer-links{font-size:17px;gap:4px}
.footer-links a,.footer-contact{color:#fff;font-weight:650;text-decoration-color:var(--tint)}
.footer-bottom{border-top:var(--bar) solid #ffffff1f;color:var(--on-field);font-size:var(--t-s);align-items:baseline}
.footer-bottom p,.footer-legal{line-height:1.5;margin:0}
.footer-legal a{color:#fff}

/* ---- services catalogue: rows of one schedule, prices in one right-hand column */
.cat-toolbar{gap:18px;margin:8px 0 28px}
.cat-toolbar input[type=search]{border:2px solid var(--ink);background:#fff}
.chips{gap:6px}
.chip{background:var(--paper);border:0;color:var(--ink);font-size:15px;font-weight:700;min-height:48px;padding:8px 18px;transition:background .15s,color .15s}
.chip:hover{background:var(--tint)}
.chip[aria-pressed=true]{background:var(--ink);color:#fff}
.cat-layout{gap:clamp(24px,3vw,56px);grid-template-columns:minmax(0,1fr) 360px}
.cat-list{gap:6px}
.cat-card{background:var(--paper);border:0;padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,200px);column-gap:clamp(20px,3vw,48px);align-items:start}
.cat-card>*{grid-column:1}
.cat-card>.row{grid-column:2;grid-row:1/span 6;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:14px;text-align:right}
.cat-card h3{font-size:var(--t-l);font-stretch:100%;margin:0 0 2px}
.jump{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}
.jump a{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;background:var(--paper);color:var(--ink);font-size:var(--t-s);font-weight:700;text-decoration:none;transition:background .15s,color .15s}
.jump a:hover{background:var(--ink);color:#fff}
.cat-card p{color:var(--soft)}
.cat-card .price{font-size:var(--t-l);font-stretch:78%;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;text-align:right}
.cat-card summary{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--cobalt);text-decoration-thickness:2px;text-underline-offset:5px}
.cat-card button.add{border:0;background:var(--tint);color:var(--ink);font-size:var(--t-s);font-weight:700;padding:10px 16px;transition:background .15s,color .15s}
.cat-card button.add:hover{background:var(--ink);color:#fff}
.cat-card button.add[aria-pressed=true]{background:var(--cobalt);color:#fff}
.other-group{background:var(--paper);margin-top:6px}
.other-group>summary{font-size:var(--t-m);font-stretch:84%;font-weight:750;padding:22px 24px;min-height:64px;cursor:pointer}
.other-group>.cat-list{padding:0 0 6px}
.pill{background:var(--ground);color:var(--ink);font-size:var(--t-s);font-weight:700;letter-spacing:0;padding:4px 9px}
.svc-menu summary::after{font-size:15px}
.req{background:var(--paper);border:0;border-top:var(--bar) solid var(--ink);padding:24px}
.req h2{font-size:var(--t-xl);font-stretch:70%;max-width:none}
.req .sub{font-size:var(--t-s);letter-spacing:0;text-transform:none;font-weight:700;color:var(--ink)}
.req .tot{font-variant-numeric:tabular-nums;font-stretch:80%;font-weight:800}
.req .flag{background:var(--ground);border-left:0;border-top:4px solid var(--red)}
.req button{border:0;background:var(--ink);color:#fff;font-weight:700}
.req p:has(>button){display:grid;grid-template-columns:1fr 1fr;gap:6px}
.req p>button{min-height:48px;margin:0}
.req p:has(>button){margin:18px 0 6px}
.page-hero .lead+p,.page-hero .lead+.note{margin-top:14px}
.req .button{display:flex;width:100%;justify-content:center}
.tag-status{background:var(--ground);color:var(--ink)}

/* ---- callouts, notes, forms */
.callout{border-left:0;background:var(--tint);border-top:var(--bar) solid var(--cobalt);padding:24px 28px}
.callout--warn{border-top-color:var(--red);background:var(--paper)}
.form-card,.card{background:var(--paper);border:0;border-top:var(--bar) solid var(--ink)}
.card--tint{background:var(--field);color:#fff;border-top-color:var(--field)}
.card--tint .card-label,.card--tint h3,.card--tint .text-link{color:#fff}
.card.card--tint p,.card.card--tint h3+p{color:var(--on-field)}
.card--navy{background:var(--navy)}
input,select,textarea{border:2px solid var(--ink);background:#fff}
input:focus,select:focus,textarea:focus{outline:3px solid var(--cobalt);outline-offset:2px;border-color:var(--ink)}
.selected-service,.receipt-note{background:var(--tint);border-left:0;border-top:var(--bar) solid var(--cobalt)}
.form-error{background:var(--paper);border-left:0;border-top:var(--bar) solid var(--red);color:var(--red)}
.field-error{color:var(--red)}

/* ---- long text pages (privacy, terms and the migrated pages) */
.container.prose{max-width:min(100%,1480px)}
.container.prose>*{max-width:68ch}
.container.prose>h1{max-width:none}
.container.prose>.eyebrow{max-width:none}
.prose h2{font-size:var(--t-xl);font-stretch:72%;margin-top:56px;max-width:none}
.prose h3{font-stretch:84%}
.prose a{color:var(--ink);text-decoration-color:var(--cobalt)}
.prose li+li{margin-top:6px}
.page-hero{border-bottom:0;padding-block:clamp(48px,6vw,104px) clamp(40px,5vw,80px)}
.page-hero h1{max-width:none}
.page-hero .lead{max-width:44ch}
.breadcrumb{color:var(--soft)}
.simple-page-hero{padding-block:clamp(48px,6vw,104px) clamp(40px,5vw,80px)}

/* ---- the live process explorer on /method/ (its own stylesheet is pinned byte for byte): same palette, square, flat, labels in plain case */
.ex{--ex-blue:var(--cobalt);--ex-navy:var(--ink);--ex-paper:var(--paper);--ex-line:var(--line);--ex-muted:var(--soft)}
.ex,.ex *,.process-visual,.process-visual *{border-radius:0!important;box-shadow:none!important}
.ex-eyebrow,.ex-scene-kicker,.ex-artifact span{font-size:var(--t-s);letter-spacing:0;text-transform:none;font-weight:700;color:var(--soft)}
.ex-tabs button:hover,.ex-reset:hover,.ex-option-mark{background:var(--tint)}
.ex-play:hover,.ex--method .ex-play:hover{background:var(--navy)}
.ex-large-number{color:var(--tint)}
.ex-record,.ex-option{background:var(--ground);border-color:transparent}

/* live panels that carried a glow */
.nav-panel,.mobile-menu-panel,.proof-preview{box-shadow:none}

/* ---- review build bar stays plain */
.build-bar--review{background:#fff3c4;border-bottom:0}

/* ---- fixes after A4's review of revision 2 (R10-02 to R10-07) */
.section:not(.section--soft) .biz{background:var(--paper)}
.card--tint .checklist li::before,.card--navy .checklist li::before{color:var(--on-field)}
.card--tint .checklist li,.card--navy .checklist li{border-bottom-color:#ffffff40}
.hero2-grid:has(.candidate-flag) .entry-stack{grid-row:4/span 6}
.form-card,.enquiry--simple .form-card{padding:clamp(20px,3vw,36px)}
.enquiry--simple .form-card{border-top:var(--bar) solid var(--ink)}
.plan-grid:not(:has(.badge)) .plan>h3{min-height:2.4em}
/* labels and text that the pinned live styles still colour in the old blue, set in 11 or 12 px, or round: same palette, 15 px, square */
.section--navy .eyebrow,.section--cobalt .eyebrow,.section--navy .lead,.section--navy .muted,.card--navy h3+p,.process-strip .number,.process-strip p,.simple-contact .cta-strip p{color:var(--on-field)}
.simple-contact .cta-strip{background:var(--field)}
.simple-contact .button:hover,.simple-contact .button:focus-visible{background:var(--ink);color:#fff}
.simple-service-grid .card,.simple-contact .cta-strip,.simple-contact .button,.home--visual .hero-copy .button,.pricing-section .pricing-grid,.process-steps button,.process-toggle{border-radius:0}
.finding-side .card-label,.pricing-card .card-label,.proof-top,.simple-takeaway strong,.mobile-menu-panel .nav-group-label,.process-strip .number,.report-meta strong,.process-disclosure,.hero-note,.pricing-footnote{font-size:var(--t-s);letter-spacing:0;text-transform:none}

/* ---- narrower screens */
@media(max-width:980px){
  .hero2 .price-hint{font-size:var(--t-l)}
  .container:has(>.eyebrow:first-child),.section-heading{grid-template-columns:1fr}
  .container:has(>.eyebrow:first-child)>*,.container:has(>.eyebrow:first-child)>.eyebrow,.section-heading>div>:not(.eyebrow),.section-heading>:not(div){grid-column:1}
  .container:has(>.eyebrow:first-child)>.eyebrow,.section-heading>div>.eyebrow,.section-heading>div>:not(.eyebrow){grid-row:auto;padding-top:0}
  .container:has(>.eyebrow:first-child)>.eyebrow,.section-heading>div>.eyebrow{margin-bottom:12px}
  .hero2-grid{display:block}
  .hero2-grid>div:first-child{display:block}
  .hero2 .lead{margin-top:0}
  .entry-stack{margin-top:36px}
  #quick-check{grid-template-columns:1fr}
  #quick-check>.badge,#quick-check>.price-tag,#quick-check>p:nth-of-type(1),#quick-check>.quick-check-scope,#quick-check>p:nth-of-type(4){grid-column:1;grid-row:auto}
  #price-g01{grid-template-columns:1fr;grid-template-rows:none}
  #price-g01>.badge,#price-g01>h3,#price-g01>.price-tag,#price-g01>p:not(.note):not(.price-tag),#price-g01>.note{grid-column:1;grid-row:auto}
  .biz-grid,.plan-grid--3{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .steps li{min-height:0;flex-direction:row;align-items:baseline;padding:16px 18px;gap:18px;font-size:19px}
  .steps li::before{font-size:44px;min-width:1.1ch}
  .cat-layout{grid-template-columns:1fr}
  .req{position:static}
  .footer-grid,.footer--simple .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .header-inner{min-height:72px}
  .faq-list summary,.faq-item summary,.other-group>summary{font-size:var(--t-l)}
  .hero2 .price-hint{font-size:18px}
  .entry-stack{grid-template-columns:1fr}
  .plan{padding:24px 20px}
  .actions{flex-direction:column;align-items:stretch}
  .actions .button{width:100%;justify-content:center;text-align:center}
  .cat-card{grid-template-columns:1fr;padding:20px}
  .cat-card>.row{grid-column:1;grid-row:auto;flex-direction:row;justify-content:space-between;align-items:center;text-align:left;width:100%}
  .faq-list summary,.faq-item summary{padding:20px 52px 20px 18px}
  .faq-list details>div,.faq-list details>p,.faq-item>div{padding:0 52px 22px 18px}
  .footer-grid,.footer--simple .footer-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  a,.button,.chip,.entry-card,.cat-card button.add{transition:none}
}
