/* RATIONALE: The ground is shop-wall char (#17140F) because the customer picked a dark, heavy page that reads like the inside of an equipment shop, with the bone "estimate paper" ground reserved for the owner-on-the-machine and repair sections so the page alternates iron and clay. The accent is machine-paint orange, the only saturated thing on the site, rationed to the phone number, one mark per section and the call band, because the promise is a real answer on price. Archivo Narrow at 700 in tracked caps is stencil lettering on a door panel — filed, not styled — against IBM Plex Sans for body, which is engineered rather than corporate. The bold move: the closing call band breaks full-bleed rust with a bone paint stripe across its top edge and the headline at hero scale. */

:root{
  --r-bg:#17140F;
  --r-surface:#211D18;
  --r-fg:#F1EBE0;
  --r-muted:#A29A8C;
  --r-line:#37312A;
  --r-accent:#E2601F;
  --r-accent-text:#E2601F;
  --r-on-accent:#0D0B09;

  --r-inverse-bg:#EBE4D6;
  --r-inverse-fg:#17140F;
  --r-inverse-muted:#5A5248;
  --r-inverse-line:#CFC5B2;
  --r-inverse-accent:#A8400F;

  --r-display:"Archivo Narrow","Archivo",system-ui,sans-serif;
  --r-body:"IBM Plex Sans",system-ui,sans-serif;
  --r-display-weight:700;
  --r-display-tracking:.03em;
  --r-eyebrow:.8125rem;
  --r-micro:.75rem;

  --cx-body:1.0625rem;
  --cx-h1:clamp(2.5rem,8.2vw,5rem);
  --cx-h2:clamp(1.75rem,4.2vw,2.75rem);
  --cx-h3:clamp(1.0625rem,1.6vw,1.25rem);
  --cx-gap:20px;
  --cx-wrap:1180px;
  --cx-measure:64ch;
  --cx-band:clamp(58px,8vw,108px);
  --cx-radius:0px;
  --cx-radius-media:0px;
  --cx-head-h:66px;
  --cx-bar-h:60px;

  /* skin-local */
  --d-rule:3px;
  --d-ink-black:#0D0B09;
  --d-tick:6px;
}

/* ---------- grounds ---------- */
[data-theme="light"]{
  --r-bg:#17140F; --r-surface:#211D18; --r-fg:#F1EBE0; --r-muted:#A29A8C;
  --r-line:#37312A; --r-accent:#E2601F; --r-accent-text:#E2601F; --r-on-accent:#0D0B09;
}
[data-theme="dark"]{ /* the estimate paper */
  --r-bg:#EBE4D6; --r-surface:#E1D8C6; --r-fg:#17140F; --r-muted:#5A5248;
  --r-line:#CFC5B2; --r-accent:#A8400F; --r-accent-text:#A8400F; --r-on-accent:#F7F2E8;
}
[data-theme="brand"]{
  --r-bg:#211D18; --r-surface:#2A251E; --r-fg:#F1EBE0; --r-muted:#A8A093;
  --r-line:#3E372E; --r-accent:#E2601F; --r-accent-text:#E2601F; --r-on-accent:#0D0B09;
}
[data-theme="accent"]{
  --r-bg:#A8400F; --r-surface:#93380C; --r-fg:#F7F2E8; --r-muted:#F0D9C8;
  --r-line:#C97games; --r-line:#C96C3C; --r-accent:#F7F2E8; --r-accent-text:#F7F2E8; --r-on-accent:#7A2D08;
}

/* ---------- base ---------- */
html{ -webkit-text-size-adjust:100%; }
body{
  background:var(--r-bg);
  color:var(--r-fg);
  font-family:var(--r-body);
  font-size:var(--cx-body);
  line-height:1.62;
  letter-spacing:.002em;
}
::selection{ background:var(--r-accent); color:#0D0B09; }

h1,h2,h3,h4,.r-display{
  font-family:var(--r-display);
  font-weight:var(--r-display-weight);
  text-transform:uppercase;
  letter-spacing:var(--r-display-tracking);
  line-height:.94;
  text-wrap:balance;
}
h1{ font-size:var(--cx-h1); }
h2{ font-size:var(--cx-h2); }
h3{ font-size:var(--cx-h3); letter-spacing:.09em; line-height:1.16; }
p{ text-wrap:pretty; }
a:not(:where(.r-btn)){ color:inherit; }
strong{ font-weight:600; }

:focus-visible{
  outline:2px solid var(--r-accent);
  outline-offset:3px;
}

/* ---------- section rhythm and separation ---------- */
.r-section{
  padding-block:var(--cx-band);
  position:relative;
  background:var(--r-bg);
  color:var(--r-fg);
}
/* two same-ground sections in a row get a hard rule with an orange stub */
.r-section + .r-section{ border-top:var(--d-rule) solid var(--r-line); }
[data-theme="dark"] + [data-theme="light"],
[data-theme="light"] + [data-theme="dark"],
[data-theme="accent"] + .r-section,
.r-section + [data-theme="accent"]{ border-top:0; }
.r-section + .r-section::before{
  content:"";
  position:absolute;
  top:calc(var(--d-rule) * -1);
  left:0;
  width:88px;
  height:var(--d-rule);
  background:var(--r-accent);
}
[data-theme="accent"] + .r-section::before,
.r-section + [data-theme="accent"]::before{ display:none; }

/* ---------- heads, eyebrows, leads ---------- */
.r-eyebrow{
  font-family:var(--r-body);
  font-size:var(--r-eyebrow);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:var(--r-accent-text);
  display:inline-flex;
  align-items:center;
  gap:.6em;
}
.r-eyebrow-rule{
  background:var(--r-accent);
  height:2px;
  width:34px;
  display:inline-block;
  opacity:1;
}
.r-head{ margin-bottom:clamp(28px,4vw,52px); }
.r-head--center{ margin-inline:0; text-align:left; }
.r-head h2,.r-head h1{ margin-top:.4em; }
.r-lead{
  font-size:clamp(1.0625rem,1.5vw,1.1875rem);
  line-height:1.6;
  color:var(--r-muted);
  max-width:52ch;
  margin-inline:0;
}
.r-head--center .r-lead{ margin-inline:0; }
.r-hairline{ border:0; border-top:1px solid var(--r-line); height:0; }

@media (max-width:719px){
  .r-head{ max-width:none; }
}

/* ---------- buttons ---------- */
.r-btn{
  font-family:var(--r-display);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.9375rem;
  border-radius:0;
  min-height:48px;
  padding:0 1.4em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid transparent;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.r-btn:hover{ transform:translateY(-2px); }
.r-btn--accent{
  background:var(--r-accent);
  color:var(--r-on-accent);
  border-color:var(--r-accent);
}
.r-btn--accent:hover{ background:#F0702C; border-color:#F0702C; }
[data-theme="dark"] .r-btn--accent:hover,
[data-theme="accent"] .r-btn--accent:hover{ background:#8E340A; border-color:#8E340A; color:#F7F2E8; }
.r-btn--solid{
  background:var(--r-fg);
  color:var(--r-bg);
  border-color:var(--r-fg);
}
.r-btn--solid:hover{ background:var(--r-accent); border-color:var(--r-accent); color:var(--r-on-accent); }
.r-btn--ghost,.r-btn--outline{
  background:transparent;
  color:var(--r-fg);
  border-color:currentColor;
}
.r-btn--ghost:hover,.r-btn--outline:hover{ border-color:var(--r-accent); color:var(--r-accent-text); }
[data-theme="accent"] .r-btn--ghost:hover,[data-theme="accent"] .r-btn--outline:hover{ color:#F7F2E8; border-color:#F7F2E8; }
.r-btns{ display:flex; flex-wrap:wrap; gap:12px; }

/* ---------- header ---------- */
.cx-head{
  --r-bg:#12100C; --r-fg:#F1EBE0; --r-muted:#A29A8C; --r-line:#37312A; --r-accent:#E2601F;
  background:var(--r-bg);
  color:var(--r-fg);
  border-bottom:2px solid var(--r-line);
  box-shadow:0 1px 0 rgba(226,96,31,.35);
}
.cx-nav a:not(:where(.r-btn)){
  font-family:var(--r-display);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.875rem;
  font-weight:700;
  color:var(--r-fg);
  min-height:44px;
  display:inline-flex;
  align-items:center;
  border-bottom:2px solid transparent;
  transition:color .16s ease,border-color .16s ease;
}
.cx-nav a:not(:where(.r-btn)):hover{ color:var(--r-accent); border-bottom-color:var(--r-accent); }
.cx-navbtn{
  min-width:46px;
  min-height:46px;
  border:2px solid var(--r-line);
  background:transparent;
  color:var(--r-fg);
  border-radius:0;
}
.cx-navbtn:hover{ border-color:var(--r-accent); color:var(--r-accent); }

/* fixed phone bar: machine paint */
.cx-bar{
  background:var(--r-inverse-accent);
  color:#F7F2E8;
  border-top:3px solid #F1EBE0;
}
.cx-bar a:not(:where(.r-btn)){
  font-family:var(--r-display);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
  color:#F7F2E8;
  min-height:48px;
}

/* ---------- hero ---------- */
.r-hero,.r-hero--anchored,.r-hero--statement{
  background:var(--d-ink-black);
  color:#F1EBE0;
  border-bottom:0;
}
.r-hero--anchored{ min-height:min(84vh,760px); display:flex; align-items:flex-end; }
.r-hero-scrim{
  background:
    linear-gradient(to top,rgba(10,8,6,.95) 0%,rgba(10,8,6,.74) 38%,rgba(10,8,6,.18) 88%),
    linear-gradient(to right,rgba(10,8,6,.82) 0%,rgba(10,8,6,.15) 62%);
}
.r-hero-in{ padding-block:clamp(48px,9vw,110px); }
.r-hero-col{ max-width:min(100%,58ch); }
.r-poster-h1,.r-statement-h1,.r-hero h1{
  font-size:var(--cx-h1);
  line-height:.9;
  letter-spacing:.015em;
  text-shadow:0 2px 24px rgba(0,0,0,.55);
}
.r-hero-sub{
  font-size:clamp(1rem,1.5vw,1.1875rem);
  color:#DFD6C7;
  max-width:44ch;
  margin-top:1.1em;
  border-left:2px solid var(--r-accent);
  padding-left:1em;
}
.r-hero-btns{ margin-top:clamp(22px,3vw,34px); gap:12px; }
.r-hero-stats{
  margin-top:clamp(30px,4vw,48px);
  border-top:1px solid rgba(241,235,224,.22);
  padding-top:18px;
  gap:0;
}
.r-hero-stat{ padding:0 clamp(14px,2vw,26px); border-left:1px solid rgba(241,235,224,.18); }
.r-hero-stat:first-child{ border-left:0; padding-left:0; }
.r-hero-stat-n{
  font-family:var(--r-display);
  font-weight:700;
  font-size:clamp(2rem,4.4vw,3.25rem);
  line-height:1;
  color:var(--r-accent);
  font-variant-numeric:tabular-nums;
}
.r-hero-stat-l{
  font-size:var(--r-micro);
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#BDB3A4;
  margin-top:.5em;
}

/* ---------- photographs: one grade, hard edges ---------- */
.r-section img:not([class*="logo"]),
.r-hero img,
.r-ctaband-img img{
  filter:saturate(.8) contrast(1.12) brightness(.93) sepia(.1);
  transition:filter .4s ease,transform .5s ease;
}
.r-svc-img,.r-tile-img,.r-split-img,.r-zig-img,.r-ctaband-img,.r-hero-img{
  display:block;
  overflow:hidden;
  background:#0D0B09;
  box-shadow:inset 0 0 0 1px rgba(241,235,224,.16);
}
[data-theme="dark"] .r-svc-img,[data-theme="dark"] .r-split-img,[data-theme="dark"] .r-tile-img{
  box-shadow:inset 0 0 0 1px rgba(23,20,15,.22);
}
.r-svc-img,.r-svc-img img{ aspect-ratio:4/3; }
.r-split-img,.r-split-img img,.r-zig-img,.r-zig-img img{ aspect-ratio:5/4; }
.r-tile-img,.r-tile-img img{ aspect-ratio:1/1; }
.r-svc-img img,.r-tile-img img,.r-split-img img,.r-zig-img img{
  width:100%; height:100%; object-fit:cover; display:block;
}

/* ---------- services: photo cards ---------- */
.r-svc-grid{ gap:clamp(18px,2.4vw,28px); }
.r-svc-card{
  background:var(--r-surface);
  border:1px solid var(--r-line);
  border-top:var(--d-rule) solid var(--r-line);
  border-radius:0;
  overflow:hidden;
  transition:border-color .22s ease,background-color .22s ease,transform .22s ease;
}
.r-svc-card:hover{ border-top-color:var(--r-accent); transform:translateY(-3px); }
.r-svc-card:hover .r-svc-img img{ filter:saturate(1) contrast(1.06) brightness(1.02) sepia(0); transform:scale(1.045); }
.r-svc-scrim{ background:linear-gradient(to top,rgba(10,8,6,.95) 0%,rgba(10,8,6,.9) 50%,rgba(10,8,6,.86) 100%); }
.r-svc-body{ padding:clamp(18px,2vw,26px); }
.r-svc-index{
  font-family:var(--r-display);
  font-weight:700;
  font-size:var(--r-micro);
  letter-spacing:.22em;
  color:var(--r-accent-text);
  font-variant-numeric:tabular-nums;
  display:block;
  margin-bottom:.7em;
  padding-bottom:.6em;
  border-bottom:1px solid var(--r-line);
}
.r-svc-title{ font-size:1.25rem; letter-spacing:.06em; }
.r-svc-desc{ color:var(--r-muted); font-size:.9375rem; margin-top:.7em; }
.r-svc-rail{ display:flex; flex-wrap:wrap; gap:8px; margin-top:1em; }
.r-chip{
  font-size:var(--r-micro);
  text-transform:uppercase;
  letter-spacing:.14em;
  border:1px solid var(--r-line);
  padding:.45em .8em;
  border-radius:0;
  color:var(--r-muted);
}
.r-chip:hover{ border-color:var(--r-accent); color:var(--r-accent-text); }

/* ---------- zigzag ---------- */
.r-zig-row{ padding-block:clamp(26px,4vw,48px); border-top:1px solid var(--r-line); align-items:center; }
.r-zig-row:first-child{ border-top:0; }
.r-zig-row h3{ font-size:clamp(1.5rem,3vw,2.125rem); letter-spacing:.03em; }
.r-zig-row p{ color:var(--r-muted); max-width:52ch; }

/* ---------- splits ---------- */
.r-split-grid{ gap:clamp(24px,4vw,56px); align-items:start; }
.r-split-text h2{ margin-bottom:.5em; }
.r-split-text p{ color:var(--r-muted); }
.r-split-card{
  background:var(--r-surface);
  border:1px solid var(--r-line);
  border-left:var(--d-rule) solid var(--r-accent);
  border-radius:0;
  padding:clamp(20px,2.4vw,30px);
}
.r-split-card p{ color:var(--r-fg); }
.r-textlink{
  font-family:var(--r-display);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.9375rem;
  color:var(--r-accent-text);
  border-bottom:2px solid currentColor;
  padding-bottom:2px;
  display:inline-block;
  min-height:32px;
}
.r-textlink:hover{ color:var(--r-fg); }

/* asymmetric split on desktop: text narrower than picture */
@media (min-width:900px){
  .r-split-grid{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); }
}

/* ---------- why / sticky reasons ---------- */
.r-why-rail h2{ position:static; }
.r-why-list{ border-top:1px solid var(--r-line); }
.r-why-row{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:clamp(14px,2vw,26px);
  padding:clamp(18px,2.4vw,28px) 0;
  border-bottom:1px solid var(--r-line);
  transition:background-color .2s ease;
}
.r-why-row:hover{ background:rgba(226,96,31,.06); }
.r-why-n{
  font-family:var(--r-display);
  font-weight:700;
  font-size:clamp(1.75rem,3.4vw,2.5rem);
  line-height:1;
  color:transparent;
  -webkit-text-stroke:1.5px var(--r-accent);
  font-variant-numeric:tabular-nums;
}
.r-why-row h3{ font-size:1.125rem; }
.r-why-row p{ color:var(--r-muted); font-size:.9375rem; margin-top:.4em; }

/* ---------- process: ghost numerals ---------- */
.r-process-grid{ gap:0; }
.r-step{
  padding:clamp(20px,2.6vw,32px) clamp(16px,2vw,28px);
  border-top:var(--d-rule) solid var(--r-line);
  border-right:1px solid var(--r-line);
  background:transparent;
  border-radius:0;
}
.r-step:last-child{ border-right:0; }
.r-step:hover{ border-top-color:var(--r-accent); }
.r-step-n{
  font-family:var(--r-display);
  font-weight:700;
  font-size:clamp(3rem,6.5vw,4.75rem);
  line-height:.86;
  color:transparent;
  -webkit-text-stroke:2px var(--r-line);
  font-variant-numeric:tabular-nums;
  display:block;
  margin-bottom:.25em;
  transition:-webkit-text-stroke-color .25s ease;
}
.r-step:hover .r-step-n{ -webkit-text-stroke-color:var(--r-accent); }
.r-step h3{ font-size:1.0625rem; }
.r-step p{ color:var(--r-muted); font-size:.9375rem; margin-top:.5em; }

/* ---------- circle triad ---------- */
.r-triad{ --r-radius:0; }
.r-triad-item{ text-align:left; }
.r-triad-circle,[class*="triad"] [class*="circle"]{
  border-radius:0;
  border:2px solid var(--r-accent);
  background:transparent;
  color:var(--r-fg);
  font-family:var(--r-display);
  font-weight:700;
  font-variant-numeric:tabular-nums;
}

/* ---------- heritage numeral ---------- */
.r-heritage-n,[class*="heritage"] [class*="-n"]{
  font-family:var(--r-display);
  font-weight:700;
  font-size:clamp(6rem,20vw,15rem);
  line-height:.78;
  color:transparent;
  -webkit-text-stroke:2px var(--r-accent);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}

/* ---------- stats / proof ---------- */
.r-stats{ display:grid; gap:0; }
.r-stat{ padding:clamp(18px,2.4vw,28px) 0; border-top:1px solid var(--r-line); }
.r-stat-n{
  font-family:var(--r-display);
  font-weight:700;
  font-size:clamp(2.25rem,5vw,3.5rem);
  line-height:1;
  color:var(--r-accent);
  font-variant-numeric:tabular-nums;
}
.r-stat-l{
  font-size:var(--r-micro);
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--r-muted);
  margin-top:.6em;
}
.r-proof-list{ display:grid; gap:10px; }
.r-proof-mark{ color:var(--r-accent); }

/* ---------- ledger / priced cards ---------- */
.r-ledger-row{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:clamp(14px,2vw,28px);
  align-items:baseline;
  padding:clamp(16px,2.2vw,26px) 0;
  border-bottom:1px solid var(--r-line);
}
.r-ledger-row:first-child{ border-top:var(--d-rule) solid var(--r-fg); }
.r-ledger-n{
  font-family:var(--r-display);
  font-weight:700;
  font-variant-numeric:tabular-nums;
  color:var(--r-accent-text);
  letter-spacing:.14em;
  font-size:.875rem;
}
.r-ledger-body h3{ font-size:1.125rem; }
.r-ledger-body p{ color:var(--r-muted); font-size:.9375rem; }
.r-ledger-link{ color:var(--r-accent-text); text-transform:uppercase; letter-spacing:.12em; font-size:var(--r-micro); }
.r-pcards-card,[class*="pcards"] [class*="card"]{
  background:var(--r-surface);
  border:1px solid var(--r-line);
  border-radius:0;
}

/* ---------- gallery tiles ---------- */
.r-gallery-grid{ gap:clamp(12px,1.6vw,20px); }
.r-tile{ position:relative; overflow:hidden; background:#0D0B09; }
.r-tile:hover img{ transform:scale(1.05); filter:saturate(1) contrast(1.06) brightness(1) sepia(0); }
.r-tile-cap{
  background:linear-gradient(to top,rgba(10,8,6,.92),rgba(10,8,6,.15));
  color:#F1EBE0;
  font-size:var(--r-micro);
  text-transform:uppercase;
  letter-spacing:.16em;
  padding:34px 14px 12px;
  text-shadow:0 1px 3px rgba(0,0,0,.8);
}
@media (min-width:860px){
  /* photos pinned unevenly, like a shop wall */
  .r-gallery-grid .r-tile:nth-child(even){ margin-top:clamp(20px,3vw,44px); }
}

/* ---------- towns / brand band: plat-map hairlines ---------- */
[data-theme="brand"]{
  background-image:
    repeating-linear-gradient(to right,rgba(226,96,31,.10) 0 1px,transparent 1px 64px),
    repeating-linear-gradient(to bottom,rgba(226,96,31,.07) 0 1px,transparent 1px 64px);
  background-position:center;
}
[data-theme="brand"] .r-grid > *{
  background:rgba(13,11,9,.6);
  border:1px solid var(--r-line);
  border-left:var(--d-rule) solid var(--r-accent);
  border-radius:0;
  padding:clamp(16px,2vw,24px);
  transition:background-color .2s ease,border-color .2s ease;
}
[data-theme="brand"] .r-grid > *:hover{ background:rgba(13,11,9,.85); }
[data-theme="brand"] h3{ font-size:1.0625rem; letter-spacing:.08em; }
[data-theme="brand"] p{ color:var(--r-muted); font-size:.9375rem; }

/* ---------- reviews ---------- */
.r-reviews-mount{
  border:1px solid var(--r-line);
  border-top:var(--d-rule) solid var(--r-accent);
  padding:clamp(16px,2.2vw,28px);
  background:var(--r-surface);
}
.r-reviews-note{
  font-size:var(--r-micro);
  text-transform:uppercase;
  letter-spacing:.16em;
  color:var(--r-muted);
  margin-top:1em;
}
.r-reviews-links{ display:flex; flex-wrap:wrap; gap:12px; margin-top:1em; }

/* ---------- rails, carousels, teams ---------- */
.r-rail-item,.r-carousel-item,.r-team-card{
  background:var(--r-surface);
  border:1px solid var(--r-line);
  border-radius:0;
}
.r-carousel-dot{ border-radius:0; }

/* ---------- prose, faq, areas, territories ---------- */
.r-prose-in p{ color:var(--r-muted); }
.r-prose-in p:first-of-type{ color:var(--r-fg); font-size:1.1875rem; line-height:1.58; }
.r-prose-in h2,.r-prose-in h3{ margin-top:1.6em; }
.r-prose-in h3{ padding-top:.8em; border-top:1px solid var(--r-line); }
.r-prose-in ul li{ margin-bottom:.4em; }
.r-faq-list{ border-top:var(--d-rule) solid var(--r-fg); }
.r-faq-item{
  border-bottom:1px solid var(--r-line);
  padding:clamp(16px,2vw,24px) 0;
}
.r-faq-item h3,.r-faq-item summary{
  font-family:var(--r-display);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:1.0625rem;
  color:var(--r-fg);
  min-height:32px;
}
.r-faq-item summary:hover{ color:var(--r-accent-text); }
.r-faq-item p{ color:var(--r-muted); margin-top:.6em; max-width:60ch; }
.r-areas-list{ display:flex; flex-wrap:wrap; gap:8px 26px; }
.r-areas-list li{
  font-family:var(--r-display);
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:1rem;
}
.r-areas-list li::before{ content:"—"; color:var(--r-accent); margin-right:.5em; }
.r-terr-row,[class*="terr"] [class*="row"]{
  border-top:1px solid var(--r-line);
  padding:clamp(16px,2vw,24px) 0;
}
.r-terr h3{ font-size:1.125rem; }

/* ---------- marquee ---------- */
.r-marquee{
  border-block:1px solid var(--r-line);
  background:var(--r-surface);
  padding-block:14px;
}
.r-marquee-track{
  font-family:var(--r-display);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.9375rem;
  color:var(--r-muted);
}

/* ---------- THE BOLD MOVE: the call slab ---------- */
.r-ctaband{
  background:var(--r-bg);
  border-top:12px solid #F1EBE0;   /* paint stripe across the machine */
  padding-block:clamp(64px,10vw,132px);
  position:relative;
  overflow:hidden;
}
.r-ctaband::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:6px;
  background:repeating-linear-gradient(90deg,rgba(13,11,9,.55) 0 22px,transparent 22px 44px);
}
.r-ctaband-in{ position:relative; z-index:1; }
.r-ctaband h2{
  font-size:clamp(2.5rem,8vw,4.75rem);
  line-height:.9;
  max-width:16ch;
  color:#F7F2E8;
}
.r-ctaband p{ color:#F7EADE; max-width:46ch; margin-top:1em; font-size:1.0625rem; }
.r-ctaband .r-btns{ margin-top:clamp(24px,3vw,36px); }
.r-ctaband .r-eyebrow{ color:#F7F2E8; }
.r-ctaband .r-eyebrow-rule{ background:#F7F2E8; }
.r-ctaband-img img{ filter:saturate(.35) contrast(1.2) brightness(.6); opacity:.5; }

/* ---------- contact ---------- */
.r-contact-grid{ gap:clamp(26px,4vw,56px); align-items:start; }
.r-contact-tel{ display:block; }
.r-contact-num{
  font-family:var(--r-display);
  font-weight:700;
  font-size:clamp(2.25rem,6vw,3.75rem);
  line-height:1;
  color:var(--r-accent);
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
  display:inline-block;
  min-height:48px;
  border-bottom:var(--d-rule) solid transparent;
  transition:border-color .2s ease,color .2s ease;
}
.r-contact-num:hover{ border-bottom-color:var(--r-accent); }
.r-contact-expect{
  border-top:1px solid var(--r-line);
  margin-top:1.4em;
  padding-top:1.2em;
  font-size:.9375rem;
  color:var(--r-muted);
}
.r-rows-row,[class*="r-rows"] [class*="row"]{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:16px 0;
  border-bottom:1px solid var(--r-line);
}

/* ---------- form ---------- */
.cx-form{ background:var(--r-surface); border:1px solid var(--r-line); border-top:var(--d-rule) solid var(--r-accent); padding:clamp(20px,2.6vw,32px); }
.cx-field label,.cx-form label{
  font-size:var(--r-micro);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:600;
  color:var(--r-muted);
}
.cx-form input,.cx-form select,.cx-form textarea{
  background:var(--r-bg);
  color:var(--r-fg);
  border:1px solid var(--r-line);
  border-radius:0;
  font-family:var(--r-body);
  font-size:1rem;
  min-height:48px;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.cx-form textarea{ min-height:132px; }
.cx-form input:focus,.cx-form select:focus,.cx-form textarea:focus{
  border-color:var(--r-accent);
  box-shadow:inset 0 -3px 0 var(--r-accent);
  outline:none;
}
.cx-form input::placeholder,.cx-form textarea::placeholder{ color:var(--r-muted); opacity:.75; }
.cx-actions{ margin-top:18px; }

/* ---------- placeholder ---------- */
.r-placeholder{
  background:repeating-linear-gradient(45deg,#211D18 0 12px,#1A1712 12px 24px);
  border:1px dashed var(--r-line);
  color:var(--r-muted);
  font-size:var(--r-micro);
  text-transform:uppercase;
  letter-spacing:.18em;
  border-radius:0;
}

/* ---------- footer ---------- */
.cx-foot,.r-foot,.r-foot2{
  --r-bg:#0D0B09; --r-fg:#F1EBE0; --r-muted:#8F887C; --r-line:#2B2620; --r-accent:#E2601F;
  background:var(--r-bg);
  color:var(--r-fg);
  border-top:var(--d-rule) solid var(--r-accent);
}
.cx-fh,.r-foot-grid h3{
  font-family:var(--r-display);
  font-size:var(--r-micro);
  text-transform:uppercase;
  letter-spacing:.22em;
  color:var(--r-muted);
  padding-bottom:.7em;
  border-bottom:1px solid var(--r-line);
  margin-bottom:1em;
}
.cx-foot a:not(:where(.r-btn)),.r-foot a:not(:where(.r-btn)){ color:var(--r-fg); text-decoration:none; }
.cx-foot a:not(:where(.r-btn)):hover,.r-foot a:not(:where(.r-btn)):hover{ color:var(--r-accent); }
.cx-fcol li,.r-foot-grid li{ margin-bottom:.45em; font-size:.9375rem; }
.r-foot-logo{ max-height:54px; width:auto; }
.r-foot-sub,.r-foot2 small{
  font-size:var(--r-micro);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--r-muted);
}

/* ---------- utility pages ---------- */
.cx-util{ background:var(--r-bg); color:var(--r-fg); }
.cx-util-head{ border-bottom:var(--d-rule) solid var(--r-line); padding-bottom:1em; margin-bottom:2em; }
.cx-util h1{ font-size:clamp(2rem,5vw,3rem); }
.cx-util p{ color:var(--r-muted); }

/* ---------- small end ---------- */
@media (max-width:719px){
  :root{ --cx-gap:18px; --cx-band:clamp(48px,11vw,72px); }
  .r-hero--anchored{ min-height:74vh; }
  .r-hero-col{ max-width:none; }
  .r-step{ border-right:0; }
  .r-ctaband{ border-top-width:8px; }
  .r-head--center{ text-align:left; }
  .r-heritage{ padding-bottom:calc(var(--cx-band) + var(--cx-bar-h) + 12px); }
}
@media (prefers-reduced-motion:reduce){
  *{ transition-duration:.01ms !important; }
}

/* ---- repair ---- */
section#hero .r-eyebrow,.r-hero .r-eyebrow,.r-claim .r-eyebrow{
  background:var(--d-ink-black);
  color:#F07A34;
  padding:.5em .75em;
  border-left:3px solid #F07A34;
}
section#hero .r-eyebrow-rule,.r-hero .r-eyebrow-rule,.r-claim .r-eyebrow-rule{ background:#F07A34; }
.cx-form select{
  -webkit-appearance:none;
  appearance:none;
  background-color:var(--r-bg);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23E2601F' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:12px 8px;
  color:var(--r-fg);
  padding-right:40px;
}

/* normalizer: a head re-aligned to the left keeps its lead with it */
.r-head--center.r-head--center p, .r-head--center.r-head--center .r-lead { margin-inline: 0; }
