/* salesrebuild: brand C tokens over the generated ones, then the bespoke sections.
   Tokens only. Colour values appear solely as custom-property definitions below, named in brand/brand.md:
   ink, paper, muted, dim, accent, accent-on-dark, white. Contrast, measured in brand/brand.md:
   ink on paper, muted on paper, white on accent, accent on paper, dim on ink, accent-on-dark on ink all pass as text. */
:root {
  --paper: #F4F2EC;
  --ink: #0B0B0F;
  --ink-muted: #5F5E59;
  --brand: #C2410C;
  --accent: #C2410C;
  --accent-fill: #C2410C;
  --accent-label: #FFFFFF;
  --band: #0B0B0F;
  --on-band: #F4F2EC;
  --on-band-muted: #8A8983;
  --accent-on-band: #F97316;
  --rule: color-mix(in srgb, var(--ink) 12%, var(--paper));
  --glow: color-mix(in srgb, var(--accent) 22%, var(--paper));
  --logo-h: var(--s7);
}

/* Header and footer logo: the outlined wordmark at a height that leaves room for the menu on a phone. */
.brand-logo { height: var(--logo-h); }
.foot .brand-logo { height: var(--s8); }

/* Language switch (added after the build): visible code, full name for screen readers. */
.sr-lang { display: inline-flex; align-items: center; justify-content: center; min-height: var(--s8); min-width: var(--s8); padding: 0 var(--s3); border-radius: var(--radius-pill); box-shadow: inset 0 0 0 1px var(--rule); font: var(--t-label); letter-spacing: 0.08em; color: var(--ink); text-decoration: none; }
.nav a.sr-lang { color: var(--ink); padding: 0 var(--s3); }
.sr-lang:hover, .nav a.sr-lang:hover { box-shadow: inset 0 0 0 1px var(--ink); color: var(--ink); }
.menu-panel a.sr-lang { justify-self: start; padding: 0 var(--s4); }
.foot-legal { margin-top: var(--s4); }

/* Shared */
.sr-card { background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius-lg); }
.section--surface { background: var(--surface); }

/* Hero */
.sr-hero { padding: calc(var(--section) * 0.75) 0 var(--section); overflow: hidden; }
.sr-hero .decor { color: var(--rule); mask-image: linear-gradient(to bottom, var(--ink), transparent 85%); }
.sr-hero-grid { display: grid; gap: var(--s9); align-items: center; }
@media (min-width: 1000px) { .sr-hero-grid { grid-template-columns: 1.2fr 0.8fr; gap: var(--s10); } }
.sr-hero h1 { font-size: clamp(2.75rem, 4.7vw, 4.25rem); max-width: 11em; }
.sr-hero .lead { margin-top: var(--s6); }
.sr-audit { background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius-lg); padding: var(--s7); box-shadow: var(--shadow-hover); }
.sr-audit-head { display: flex; align-items: center; gap: var(--s3); font: var(--t-h3); margin: 0 0 var(--s2); }
.sr-audit-head .icon { color: var(--accent); flex: none; }
.sr-audit-text { font: var(--t-card); color: var(--ink-muted); margin: 0 0 var(--s5); }
.sr-audit-list { list-style: none; margin: 0; padding: 0; display: grid; }
.sr-audit-list li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--s3); padding: var(--s3) 0; border-top: 1px solid var(--rule); font: var(--t-card); }
.sr-audit-list .icon { color: var(--ink-muted); }
.sr-audit-list .icon-circle-check { color: var(--accent); }
.sr-audit-foot { display: flex; gap: var(--s3); align-items: flex-start; margin: var(--s4) 0 0; padding-top: var(--s4); border-top: 1px solid var(--ink); font: var(--t-meta); color: var(--ink); }
.sr-audit-foot .icon { color: var(--accent); flex: none; margin-top: var(--s1); }

/* Page head */
.sr-pagehead { padding: calc(var(--section) * 0.8) 0 calc(var(--section) * 0.7); overflow: hidden; border-bottom: 1px solid var(--rule); }
.sr-pagehead .decor { color: var(--ink-muted); mask-image: radial-gradient(ellipse at 85% 30%, var(--ink), transparent 60%); }
.sr-pagehead h1 { max-width: 12em; }
.sr-pagehead .lead { margin-top: var(--s6); }
.sr-draft { display: inline-flex; align-items: center; gap: var(--s2); margin: var(--s4) 0 0; padding: var(--s2) var(--s4); border: 1px solid var(--accent); border-radius: var(--radius-pill); font: var(--t-meta); color: var(--ink); background: var(--surface); }
.sr-draft .icon { color: var(--accent); flex: none; }

/* Figures */
.sr-figure-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--ink); }
@media (min-width: 760px) { .sr-figure-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .sr-figure-grid { grid-template-columns: repeat(4, 1fr); } }
.sr-figure { display: grid; gap: var(--s3); align-content: start; padding: var(--s6) var(--s5) var(--s6) 0; border-bottom: 1px solid var(--rule); }
@media (min-width: 1100px) { .sr-figure + .sr-figure { padding-left: var(--s5); border-left: 1px solid var(--rule); } }
.sr-figure-icon { color: var(--accent); }
.sr-figure-value { font: var(--t-numeral); letter-spacing: var(--tracking-display); color: var(--ink); }
.sr-figure-unit { font: 600 1.25rem/1.2 var(--font-text); letter-spacing: 0; color: var(--ink); }
.sr-figure-text { font: var(--t-card); color: var(--ink-muted); }

/* Five process steps in one row on a wide screen */
@media (min-width: 1100px) { .process--numbered .steps { grid-template-columns: repeat(5, 1fr); } }

/* Prices */
.sr-price-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s4); }
@media (min-width: 760px) { .sr-price-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .sr-price-grid { grid-template-columns: repeat(4, 1fr); } }
.sr-price { display: flex; flex-direction: column; gap: var(--s3); padding: var(--s6); background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius-lg); }
.sr-price:hover { border-color: var(--ink); }
.sr-price-icon { color: var(--accent); }
.sr-price h3 { font: var(--t-h3); font-size: 1.375rem; }
.sr-price-detail { font: var(--t-card); color: var(--ink-muted); margin: 0; flex: 1; }
.sr-price-dl { margin: var(--s3) 0 0; display: grid; gap: var(--s3); }
.sr-price-row { display: grid; gap: var(--s1); padding-top: var(--s3); border-top: 1px solid var(--rule); }
.sr-price-row dt { font: var(--t-label); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); }
.sr-price-row dd { margin: 0; font: 600 1.125rem/1.35 var(--font-text); color: var(--ink); }
.sr-price-row--founding dt { color: var(--accent); }
.sr-price-row--founding dd { font: var(--weight-display) 1.5rem/1.2 var(--font-display); letter-spacing: -0.01em; }
.sr-price-note { display: flex; gap: var(--s3); align-items: center; margin: var(--s6) 0 0; font: var(--t-meta); color: var(--ink-muted); max-width: none; }
.sr-price-note .icon { color: var(--accent); flex: none; }

/* Standard: promise / never promise */
.sr-standard-grid { display: grid; gap: var(--s4); }
@media (min-width: 900px) { .sr-standard-grid { grid-template-columns: 1fr 1fr; } }
.sr-col { padding: var(--s7); border-radius: var(--radius-lg); border: 1px solid var(--rule); background: var(--surface); }
.sr-col h3 { display: flex; align-items: center; gap: var(--s3); font: var(--t-h3); font-size: 1.375rem; margin-bottom: var(--s4); }
.sr-col--yes h3 .icon { color: var(--accent); }
.sr-col--no { background: var(--paper); border-style: dashed; }
.sr-col--no h3 .icon { color: var(--ink-muted); }
.sr-col > p { color: var(--ink-muted); font: var(--t-card); }
.sr-ticks { list-style: none; margin: var(--s5) 0 0; padding: 0; display: grid; }
.sr-ticks li { display: flex; align-items: center; gap: var(--s3); padding: var(--s3) 0; border-top: 1px solid var(--rule); font: var(--t-card); }
.sr-ticks .icon { color: var(--accent); flex: none; }
.sr-ticks--no .icon { color: var(--ink-muted); }

/* Closing band */
.sr-close-glow { color: var(--brand); }
.sr-close-inner { display: grid; justify-items: start; gap: var(--s5); }
.sr-close-logo { height: var(--s7); width: auto; margin-bottom: var(--s4); }
.sr-close h2 { max-width: 14em; }
.sr-close .actions { margin-top: var(--s3); }
.section--band a.sr-close-mail { display: inline-flex; align-items: center; gap: var(--s2); color: var(--on-band); font: var(--t-meta); text-decoration: underline; text-underline-offset: 0.22em; }
.sr-close-mail .icon { color: var(--accent-on-band); flex: none; }

/* Terms */
.sr-terms-grid { display: grid; gap: var(--s4); }
@media (min-width: 900px) { .sr-terms-grid { grid-template-columns: 1fr 1fr; } }
.sr-term { padding: var(--s7); border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--paper); display: grid; gap: var(--s3); align-content: start; }
.sr-term-icon { color: var(--accent); }
.sr-term p { margin: 0; color: var(--ink-muted); }
.sr-terms-note { display: flex; gap: var(--s2); align-items: center; margin: var(--s6) 0 0; max-width: none; }
.sr-terms-note .icon { color: var(--accent); flex: none; }

/* Case card */
.sr-casecard-grid { display: grid; gap: var(--s8); }
@media (min-width: 1000px) { .sr-casecard-grid { grid-template-columns: 0.9fr 1.1fr; align-items: start; } .sr-casecard .section-head { margin-bottom: 0; } }
.sr-case-list { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--ink); counter-reset: case; }
.sr-case-list li { display: grid; grid-template-columns: auto 1fr; gap: var(--s4); padding: var(--s5) 0; border-bottom: 1px solid var(--rule); }
.sr-case-icon { color: var(--accent); margin-top: var(--s1); }
.sr-case-list strong { display: block; font: var(--t-h3); }
.sr-case-text { display: block; font: var(--t-card); color: var(--ink-muted); margin-top: var(--s1); }

/* Partners and info rows */
.sr-partner-grid { list-style: none; margin: 0 0 var(--s8); padding: 0; display: grid; gap: var(--s4); }
@media (min-width: 700px) { .sr-partner-grid { grid-template-columns: 1fr 1fr; } }
.sr-partner { padding: var(--s7); border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--paper); display: grid; gap: var(--s2); justify-items: start; }
.sr-partner-mark { display: grid; place-items: center; width: var(--s10); height: var(--s10); border-radius: 50%; background: var(--accent-fill); color: var(--accent-label); margin-bottom: var(--s3); }
.sr-partner h3 { font: var(--t-h2); font-size: 2rem; }
.sr-partner .meta { margin: 0; text-transform: capitalize; }
.sr-info { margin: 0; display: grid; border-top: 1px solid var(--ink); }
.sr-info-row { display: grid; gap: var(--s2); padding: var(--s4) 0; border-bottom: 1px solid var(--rule); }
@media (min-width: 760px) { .sr-info-row { grid-template-columns: 16em 1fr; gap: var(--s6); } }
.sr-info dt { display: flex; align-items: center; gap: var(--s3); font: 600 1rem/1.5 var(--font-text); color: var(--ink); }
.sr-info dt .icon { color: var(--accent); flex: none; }
.sr-info dd { margin: 0; font: var(--t-card); color: var(--ink-muted); overflow-wrap: anywhere; }

/* Enquiry builder */
.sr-enquiry-grid { display: grid; gap: var(--s8); }
@media (min-width: 1000px) { .sr-enquiry-grid { grid-template-columns: 0.85fr 1.15fr; align-items: start; } .sr-enquiry-head { position: sticky; top: calc(var(--s10) + var(--s6)); margin-bottom: 0; } }
.sr-enquiry-how { list-style: none; margin: var(--s5) 0 0; padding: 0; display: grid; gap: var(--s3); }
.sr-enquiry-how li { display: flex; gap: var(--s3); align-items: flex-start; font: var(--t-card); color: var(--ink-muted); }
.sr-enquiry-how .icon { color: var(--accent); flex: none; margin-top: var(--s1); }
.sr-form { display: grid; gap: var(--s5); padding: var(--s7); background: var(--paper); border: 1px solid var(--rule); border-radius: var(--radius-lg); }
.sr-field { display: grid; gap: var(--s2); }
.sr-field label { font: 600 1rem/1.4 var(--font-text); color: var(--ink); }
.sr-field input, .sr-field textarea, .sr-field select { width: 100%; font: var(--t-card); color: var(--ink); background: var(--surface); border: 1px solid var(--ink-muted); border-radius: var(--radius); padding: var(--s3) var(--s4); min-height: var(--s9); }
.sr-field textarea { resize: vertical; min-height: calc(var(--s11) * 1.4); }
.sr-field input::placeholder { color: var(--ink-muted); }
.sr-field input:focus-visible, .sr-field textarea:focus-visible, .sr-field select:focus-visible { outline: 3px solid var(--accent); outline-offset: 1px; border-color: var(--ink); }
.sr-hint { font: var(--t-card); color: var(--ink-muted); margin: 0; }
.sr-submit { justify-self: start; border: 0; cursor: pointer; }
.sr-form-note, .sr-fallback { display: flex; gap: var(--s2); align-items: flex-start; font: var(--t-card); color: var(--ink-muted); margin: 0; max-width: none; }
.sr-form-note .icon { color: var(--accent); flex: none; margin-top: var(--s1); }
.sr-fallback { display: block; padding-top: var(--s4); border-top: 1px solid var(--rule); }
.sr-fallback a { overflow-wrap: anywhere; }

/* Direct contact */
.sr-direct-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s4); }
@media (min-width: 900px) { .sr-direct-grid { grid-template-columns: repeat(3, 1fr); } }
.sr-direct-cell { padding: var(--s6); border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--surface); display: grid; gap: var(--s2); align-content: start; }
.sr-direct-icon { color: var(--accent); margin-bottom: var(--s2); }
.sr-direct-term { font: var(--t-label); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); margin: 0; }
.sr-direct-value { font: var(--t-card); color: var(--ink); margin: 0; overflow-wrap: anywhere; }
a.sr-direct-value { color: var(--accent); font-weight: 600; }

/* Legal blocks */
.sr-legal-grid { display: grid; gap: var(--s4); }
@media (min-width: 900px) { .sr-legal-grid { grid-template-columns: 1fr 1fr; } }
.sr-legal-block { padding: var(--s7); border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--surface); display: grid; gap: var(--s3); align-content: start; }
.sr-legal-icon { color: var(--accent); }
.sr-legal-block p { margin: 0; color: var(--ink-muted); font: var(--t-card); }
.sr-rights-list { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--ink); }
@media (min-width: 900px) { .sr-rights-list { grid-template-columns: 1fr 1fr; column-gap: var(--s8); } }
.sr-rights-list li { display: grid; grid-template-columns: auto 1fr; gap: var(--s3); padding: var(--s4) 0; border-bottom: 1px solid var(--rule); font: var(--t-card); color: var(--ink-muted); }
.sr-rights-list .icon { color: var(--accent); margin-top: var(--s1); }
.sr-rights-list strong { color: var(--ink); }
.sr-controller-card { display: grid; gap: var(--s5); padding: var(--s8); border: 1px solid var(--ink); border-radius: var(--radius-lg); background: var(--surface); }
@media (min-width: 760px) { .sr-controller-card { grid-template-columns: auto 1fr; gap: var(--s7); } }
.sr-controller-icon { color: var(--accent); }
.sr-controller-card h2 { margin-bottom: var(--s4); }
.sr-controller-card .sr-info { margin-top: var(--s5); }

/* Verify steps */
.sr-verify-grid { display: grid; gap: var(--s8); }
@media (min-width: 1000px) { .sr-verify-grid { grid-template-columns: 0.9fr 1.1fr; align-items: start; } .sr-verify .section-head { margin-bottom: 0; } }
.sr-verify-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s4); counter-reset: verify; }
.sr-verify-steps li { counter-increment: verify; display: grid; grid-template-columns: auto 1fr; gap: var(--s4); align-items: start; padding: var(--s6); border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--paper); }
.sr-verify-icon { color: var(--accent); }
.sr-verify-steps p { margin: 0; font: var(--t-card); }

/* Links (404) */
.sr-link-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s4); }
@media (min-width: 760px) { .sr-link-grid { grid-template-columns: repeat(2, 1fr); } }
.sr-link { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: var(--s4); padding: var(--s5) var(--s6); border: 1px solid var(--rule); border-radius: var(--radius-lg); background: var(--paper); color: var(--ink); text-decoration: none; font: var(--t-h3); }
.sr-link:hover { color: var(--ink); border-color: var(--ink); }
.sr-link-icon, .sr-link .icon-arrow-up-right { color: var(--accent); }
