/*
Theme Name: legacy-innovations-24
Template: twentytwentyfive
Description: Generated from tokens.json by build_gutenberg.py. Edit the tokens file, not this theme.
Version: 1.0
*/

/* ==========================================================================
   Legacy Innovations 24 — Industrial
   Ported from 03-delivery/legacy-industrial-mockup-2026-08-19/styles.css.

   What changed, and why, so the next person does not re-derive it:

   1. `section {}` became `.section {}`. The page body is now core blocks, and
      a wp:group saves as a <div>, not a <section>.
   2. `.svc-photo` was its own empty <div> in the mockup. Here the card photo is
      `.svc::before`, so the client never sees an empty locked block in the
      editor with nothing to type in.
   3. Buttons are core wp:button blocks. Core wraps the anchor, so `.btn` now
      sits on the wrapper and the paint lands on `.wp-block-button__link`.
   4. The "Where we work" tabs and the ignition-source diagram were driven by
      app.js and an inline SVG. Neither survives as an editable block, so the
      tabs are a plain grid of building types and the diagram is gone. The
      words are unchanged.
   5. Photography: none has been supplied. Every background-image list still
      ends in the gradient the mockup used as its fallback, so the cards look
      deliberate rather than broken until the files land in assets/a/.
   ========================================================================== */

:root{
  --ink:#0F1318; --body:#4A525E; --muted:#5B6370;
  --accent:#E39A0C; --accent-light:#FBF2DF; --accent-bright:#F5B733;
  --amber:#B9791A; --amber-bg:#FBF2E2;
  --green:#1E8E5A; --green-bg:#E9F6EF;
  --border:#DEE1E5; --line:#DEE1E5; --card:#F4F5F6;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
body{
  margin:0; background:#fff; color:var(--body);
  font-family:'Barlow',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
  font-size:17px; line-height:1.6;
}

/* core block wrappers carry no styling of their own here — the design does it */
.wp-block-group{margin:0;}
.wp-block-buttons{display:flex; gap:12px; flex-wrap:wrap; margin:0;}
.wp-block-button{margin:0;}
.wp-site-blocks > *{margin-block-start:0;}
.entry-content > *{margin-block-start:0;}

.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}
h1,h2,h3{color:var(--ink); letter-spacing:-.015em;}
p{margin:0 0 14px;}
.section{padding:64px 0; border-top:1px solid var(--border); scroll-margin-top:78px;}
.lede{font-size:18.5px; color:var(--ink); max-width:66ch;}

/* ---------- type system ---------- */
h1,h2,h3,.kicker,nav a,.btn .wp-block-button__link,.btn-ghost .wp-block-button__link,
.wordmark .wm-1,.wordmark .wm-2,.fact .fv,.area,.step .sn,.cred-card .tagline,
.band-inner p,label{
  font-family:'Barlow Condensed','Barlow',Arial Narrow,Arial,sans-serif;
  text-transform:uppercase;
}
h1{font-size:64px; line-height:.98; letter-spacing:.005em; font-weight:800; margin:0 0 18px;}
h2{font-size:40px; line-height:1.02; letter-spacing:.005em; font-weight:800; margin:0 0 14px;}
h3{font-size:21px; letter-spacing:.02em; font-weight:700; margin:0 0 6px;}
.kicker{font-size:13px; letter-spacing:.22em; font-weight:700; color:var(--accent); margin-bottom:10px;}

/* ---------- buttons ---------- */
.wp-block-button .wp-block-button__link{
  display:inline-block; background:var(--accent); color:#0F1318; border:none;
  font-size:16px; letter-spacing:.07em; font-weight:700;
  padding:11px 20px; border-radius:8px; text-decoration:none; white-space:nowrap;
}
.wp-block-button .wp-block-button__link:hover{background:#F5B733; color:#0F1318;}
.wp-block-button.btn-ghost .wp-block-button__link{
  background:none; color:var(--ink); border:1px solid var(--border);
}
.wp-block-button.btn-ghost .wp-block-button__link:hover{
  background:none; border-color:var(--accent); color:var(--accent);
}
.wp-block-button.btn-sm .wp-block-button__link{
  font-size:13.5px; padding:10px 15px; border-radius:6px; letter-spacing:.05em;
}

/* ---------- header (template part) ---------- */
.site-header{position:sticky; top:0; z-index:20; background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:saturate(160%) blur(8px); backdrop-filter:saturate(160%) blur(8px);
  border-bottom:1px solid var(--border);}
.site-header .wrap{max-width:1240px;}
.hrow{display:flex; align-items:center; justify-content:space-between; gap:26px; padding:14px 0;}
.brand{display:block; line-height:0; flex-shrink:0;}
.brand img{height:46px; width:auto; display:block;}
.site-header nav{display:flex; gap:20px; align-items:center; flex:1; justify-content:flex-end;}
.site-header nav a{font-size:14.5px; letter-spacing:.07em; color:var(--body);
  text-decoration:none; font-weight:600; white-space:nowrap;}
.site-header nav a:hover{color:var(--accent);}
.site-header .hbtn{display:inline-block; background:var(--accent); color:#0F1318;
  font-family:'Barlow Condensed',Arial,sans-serif; text-transform:uppercase;
  font-weight:700; font-size:14.5px; letter-spacing:.07em; padding:12px 18px;
  border-radius:8px; text-decoration:none; white-space:nowrap;}
.site-header .hbtn:hover{background:#F5B733;}

.navdrop{position:relative; display:flex; align-items:center;}
.navdrop-t{display:inline-flex; align-items:center; gap:5px; padding:14px 0;}
.navdrop-t .chev{transition:transform .16s ease; margin-top:1px;}
.navdrop-m{position:absolute; top:100%; left:-16px; min-width:278px; padding:8px;
  background:#fff; border:1px solid var(--border); border-radius:14px;
  box-shadow:0 18px 44px rgba(12,18,26,.16), 0 2px 6px rgba(12,18,26,.06);
  display:flex; flex-direction:column; gap:1px;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s; z-index:60;}
.navdrop:hover .navdrop-m,.navdrop:focus-within .navdrop-m{
  opacity:1; visibility:visible; transform:translateY(0);}
.navdrop:hover .chev{transform:rotate(180deg);}
.navdrop-m a{display:block; padding:10px 12px; border-radius:9px; font-size:14.5px;
  letter-spacing:.02em; text-transform:none; color:var(--ink); white-space:nowrap;}
.navdrop-m a:hover,.navdrop-m a:focus-visible{background:var(--accent-light); color:var(--ink);}
.navdrop-m .navdrop-all{margin-top:5px; padding-top:12px; border-top:1px solid var(--border);
  border-radius:0 0 9px 9px; font-size:13.5px; color:var(--muted); font-weight:700;
  text-transform:uppercase; letter-spacing:.07em;}
.navdrop-m .navdrop-all:hover{background:transparent; color:var(--accent);}

/* the industrial signature */
.stripe{height:7px; background:repeating-linear-gradient(135deg,var(--accent) 0 14px,#0F1318 14px 28px);}

/* ---------- hero ---------- */
.hero{position:relative; overflow:hidden; color:#CDD2D8;
  background:
    radial-gradient(1000px 420px at 78% -8%, rgba(227,154,12,.16), transparent 62%),
    linear-gradient(168deg,#0F1318 0%,#1A212A 52%,#090C10 100%);}
.hero::before{content:''; position:absolute; inset:0; opacity:.55;
  background-image:url('assets/a/hero.webp'); background-size:cover;
  background-position:center 40%; filter:grayscale(.2) contrast(1.05);}
.hero::after{content:''; position:absolute; inset:0;
  background:linear-gradient(100deg,rgba(9,12,16,.88) 0%,rgba(12,16,21,.64) 42%,rgba(9,12,16,.36) 100%);}
.hero > *{position:relative; z-index:2;}
.hero .wrap{padding-top:82px; padding-bottom:78px;}
.hero .kicker{color:#F0C069;}
.hero h1{font-size:66px; color:#fff; max-width:27ch;}
.hero .hero-sub{font-family:'Barlow',-apple-system,Arial,sans-serif; text-transform:none;
  font-size:19px; font-weight:400; line-height:1.55; color:#BCC2CA; letter-spacing:0;
  max-width:62ch; margin:0 0 4px;}
.hero .wp-block-buttons{margin-top:28px;}
.hero .wp-block-button.btn-ghost .wp-block-button__link{color:#fff; border-color:rgba(255,255,255,.28);}
.hero .wp-block-button.btn-ghost .wp-block-button__link:hover{border-color:#F0C069; color:#F0C069;}

.cred-strip{display:flex; flex-wrap:wrap; gap:10px; margin-top:34px;}
.cred-strip p{margin:0; border:1px solid rgba(240,192,105,.32); background:rgba(16,20,26,.60);
  border-radius:999px; padding:8px 15px; font-size:13px; color:#EDE0C6; font-weight:600;}

/* ---------- facts strip ---------- */
/* 21 Sep 2026, Tim: the strip is a brand-colour band, with the three cards
   floating on it — a gap from the hero above, air below, and colour showing
   between and around the cards. It used to be one hairline-divided white box
   pulled 34px up into the hero. */
.facts{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
  background:var(--accent); border:none; border-radius:18px; padding:16px;
  position:relative; z-index:5; box-shadow:0 10px 34px rgba(15,19,24,.18);}
/* 21 Sep 2026: WordPress's flow layout zeroes the first child's top margin with
   `:root :where(.is-layout-flow) > :first-child` (0,2,0), which beat a bare `.facts`.
   Three classes here so the gap from the hero and the air below actually render. */
.wp-block-group.wrap > .facts{margin-top:28px; margin-bottom:34px;}
.fact{background:#fff; border-radius:11px; padding:22px 24px;}
.fact .fv{font-size:26px; font-weight:800; color:var(--ink); letter-spacing:.01em; margin:0;}
.fact .fl{font-size:13.5px; color:var(--muted); margin:3px 0 0;}

/* ---------- service cards ---------- */
.svc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:30px;}
.svc-grid.three{grid-template-columns:repeat(3,1fr);}
.svc{border:1px solid var(--border); border-radius:14px; background:var(--card);
  overflow:hidden; display:flex; flex-direction:column;}
.svc::before{content:''; display:block; height:240px; background-size:cover;
  background-position:center; background-color:#1A212A;
  border-bottom:1px solid var(--border);}
.svc.p1::before{background-image:url('assets/a/heights.webp'),linear-gradient(140deg,#1A212A,#22435F);}
.svc.p2::before{background-image:url('assets/a/dust.webp'),linear-gradient(140deg,#12171D,#333B45);}
.svc.p3::before{background-image:url('assets/a/duct.webp'),linear-gradient(140deg,#0F1318,#1D2E44);}
.svc.p4::before{background-image:url('assets/a/machinery.webp'),linear-gradient(140deg,#171D25,#2C3A46);}
.svc.p5::before{background-image:url('assets/a/silo.webp'),linear-gradient(140deg,#141A21,#26404F);}
.svc.p6::before{background-image:url('assets/a/roof.webp'),linear-gradient(140deg,#111519,#2E3742);}
.svc.p7::before{background-image:url('assets/a/pressure.webp'),linear-gradient(140deg,#131A22,#2A4152);}
.svc.p8::before{background-image:url('assets/a/newbuild.webp'),linear-gradient(140deg,#12171D,#243748);}
/* the three principles cards, #principles */
.svc.p-equip::before{background-image:url('assets/a/equip.webp'),linear-gradient(140deg,#12171D,#2A4152);}
.svc.p-plant::before{background-image:url('assets/a/plant.webp'),linear-gradient(140deg,#141A21,#26404F);}
.svc.p-access::before{background-image:url('assets/a/access.webp'),linear-gradient(140deg,#171D25,#2C3A46);}
.svc-body{padding:24px 22px; flex:1; display:flex; flex-direction:column;}
.svc-body h3{margin-bottom:8px;}
.svc-body p{font-size:15px; margin:0 0 12px;}
.svc-body p:last-of-type{margin-bottom:0;}
.svc-body .env{font-size:13px; color:var(--muted); margin-top:auto; padding-top:12px;
  border-top:1px solid var(--border);}
.svc-cta{margin-top:18px; flex-wrap:nowrap;}

/* ---------- credentials ---------- */
.cred-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:28px;}
.cred-card{border:1px solid var(--border); border-radius:14px; padding:24px; background:#fff;}
.cred-card p{font-size:14.5px; margin:0 0 10px;}
.cred-card p:last-child{margin-bottom:0;}
.cred-card .tagline{display:inline-block; font-size:10.5px; font-weight:800; text-transform:uppercase;
  letter-spacing:.06em; background:var(--green-bg); color:var(--green); padding:3px 10px;
  border-radius:999px; margin:0 0 10px;}
.cred-card .code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px;
  color:var(--ink); background:var(--card); border:1px solid var(--border);
  border-radius:6px; padding:2px 7px;}

/* ---------- principles ---------- */
.prin-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:30px;}
.prin{border:1px solid var(--border); border-radius:14px; background:var(--card); padding:24px 22px;}
.prin::before{content:''; display:block; width:52px; height:52px; border-radius:12px;
  background:var(--accent-light) center/26px 26px no-repeat; margin-bottom:14px;}
.prin.i-compliance::before{background-image:url('assets/icons/compliance.svg');}
.prin.i-safety::before{background-image:url('assets/icons/safety.svg');}
.prin.i-plan::before{background-image:url('assets/icons/management-plan.svg');}
.prin.i-quality::before{background-image:url('assets/icons/quality.svg');}
.prin h3{margin:0 0 8px;}
.prin p{font-size:15px; margin:0;}

/* ---------- hazard band ---------- */
.hazard{background:var(--ink); color:#C6CBD2;}
.hazard h2{color:#fff;}
.hazard .kicker{color:#F0C069;}
.hazard p{font-size:16px; color:#AAB1BA; max-width:74ch;}

/* ---------- building types (was the tabbed panel) ---------- */
.types{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:28px;}
.type{border:1px solid var(--border); border-radius:14px; background:var(--card); padding:22px;}
.type h3{font-size:16.5px;}
.type p{font-size:14.5px; margin:0; color:var(--muted);}
.where-photo{height:260px; border-radius:14px; margin-bottom:30px; border:1px solid var(--border);
  background-image:url('assets/a/warehouse.webp'),linear-gradient(140deg,#1A212A,#22435F);
  background-size:cover; background-position:center;}

/* ---------- how a job runs ---------- */
.steps{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:28px;}
.step{border-top:3px solid var(--accent); padding-top:16px;}
.step .sn{font-size:13px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent); margin:0 0 6px;}
.step p{font-size:14.5px; margin:0; color:var(--body);}

/* ---------- full-bleed quote band ---------- */
.band{position:relative; padding:0; border:none; min-height:300px; display:flex; align-items:center;
  background-image:url('assets/a/atmosphere.webp'),linear-gradient(120deg,#090C10,#12233B);
  background-size:cover; background-position:center; background-attachment:fixed;}
.band::before{content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(9,12,16,.88) 0%,rgba(9,12,16,.58) 55%,rgba(9,12,16,.34) 100%);}
.band .wrap{position:relative; z-index:2; width:100%;}
.band p{margin:0; color:#fff; font-size:38px; font-weight:800; letter-spacing:-.015em;
  max-width:16ch; line-height:1.04;
  font-family:'Barlow Condensed','Barlow',Arial Narrow,Arial,sans-serif; text-transform:uppercase;}

/* ---------- audience ---------- */
.aud-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:28px;}
.aud{border:1px solid var(--border); border-radius:14px; padding:22px; background:var(--card);}
.aud h3{font-size:15.5px;}
.aud p{font-size:14.5px; margin:0; color:var(--muted);}

/* ---------- service areas ---------- */
.area-list{display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.area-list p{border:1px solid var(--border); background:#fff; border-radius:999px;
  padding:9px 18px; font-size:16.5px; color:var(--ink); font-weight:700;
  letter-spacing:.05em; margin:0;}

/* ---------- contact ---------- */
.contact{position:relative; background:var(--ink); border-top:none; overflow:hidden;}
.contact::before{content:''; position:absolute; inset:0; opacity:.5;
  background-image:url('assets/a/heights.webp'); background-size:cover; background-position:center 35%;}
.contact::after{content:''; position:absolute; inset:0;
  background:linear-gradient(100deg,rgba(9,12,16,.92) 0%,rgba(9,12,16,.72) 50%,rgba(9,12,16,.45) 100%);}
.contact > *{position:relative; z-index:2;}
.contact h2{color:#fff;}
.contact .lede{color:#D6DAE0;}
.contact .contact-sub{font-size:14.5px; color:#989EA6; margin-top:20px;}
.enq-slot{background:rgba(255,255,255,.05); border:1px dashed rgba(255,255,255,.22);
  border-radius:14px; padding:26px; margin-top:26px; max-width:640px;}
.enq-slot p{color:#B6BCC4; font-size:15px; margin:0;}

/* ---------- closing ---------- */
.closing{background:var(--ink); text-align:center; border:none;}
.closing h2{color:#fff;}
.closing p{color:#A8AFB8; font-size:17px; margin-bottom:26px;}
.closing .wp-block-buttons{justify-content:center;}

/* ---------- service sub-pages ---------- */
.hero.sub .wrap{padding-top:64px; padding-bottom:56px;}
.hero.sub h1{font-size:56px; max-width:20ch; margin-bottom:14px;}
.hero.sub .hero-sub{max-width:56ch;}
.hero.sub::before{opacity:.42;}
.hero.p-heights::before{background-image:url('assets/a/heights.webp');}
.hero.p-dust::before{background-image:url('assets/a/dust.webp');}
.hero.p-duct::before{background-image:url('assets/a/duct.webp');}
.hero.p-machinery::before{background-image:url('assets/a/machinery.webp'),url('assets/a/hero.webp');}
.hero.p-silo::before{background-image:url('assets/a/silo.webp'),url('assets/a/hero.webp');}
.hero.p-roof::before{background-image:url('assets/a/roof.webp'),url('assets/a/hero.webp');}
.hero.p-pressure::before{background-image:url('assets/a/pressure.webp'),url('assets/a/hero.webp');}
.hero.p-newbuild::before{background-image:url('assets/a/newbuild.webp'),url('assets/a/hero.webp');}
.crumb{display:inline-block; font-family:'Barlow Condensed',Arial,sans-serif; text-transform:uppercase;
  letter-spacing:.14em; font-size:13px; font-weight:700; color:var(--accent);
  text-decoration:none; margin:0 0 18px;}
.crumb a{color:inherit; text-decoration:none;}
.crumb a:hover{color:#F5B733;}
.proc{margin:30px 0 0;}
.proc .pstep{display:flex; gap:22px; padding:24px 0; border-top:1px solid var(--line);}
.proc .pstep:first-child{border-top:none;}
.proc .pn{flex-shrink:0; width:52px; font-family:'Barlow Condensed',Arial,sans-serif;
  font-weight:800; font-size:34px; line-height:1; color:var(--accent); letter-spacing:.01em; margin:0;}
.proc .ptext h3{margin-bottom:6px;}
.proc .ptext p{margin:0; font-size:16px; max-width:74ch;}
.hazard .proc .pn{color:#F5C877;}

/* ---------- footer (template part) ---------- */
.site-footer{background:var(--ink); color:#9AA0A8; padding:48px 0 40px; font-size:14px;}
.foot-row{display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap;}
.site-footer .brand img{height:42px;}
.foot-services{font-size:13.5px; line-height:1.7;}
.foot-note{font-size:12px; color:#8D939B; margin-top:32px; padding-top:22px;
  border-top:1px solid rgba(255,255,255,.09); line-height:1.6;}

/* ---------- responsive ---------- */
@media (max-width:1240px){
  .site-header nav{gap:13px;}
  .site-header nav a,.navdrop-t{font-size:13.5px;}
  .site-header .hbtn{font-size:13px; padding:11px 13px;}
}
@media (max-width:1040px){
  .site-header nav{gap:12px;}
  .site-header nav a,.navdrop-t{font-size:12.5px; letter-spacing:.03em;}
  .site-header .brand img{height:34px;}
  .site-header .hbtn{font-size:12.5px; padding:10px 12px;}
}
@media (max-width:980px){ .prin-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:920px){
  .site-header nav{display:none;}
  .site-header .brand img{height:31px;}
}
@media (max-width:860px){
  h1{font-size:44px;} .hero h1{font-size:44px;} .hero.sub h1{font-size:38px;}
  h2{font-size:30px;}
  .facts,.svc-grid,.svc-grid.three,.aud-grid,.steps,.types{grid-template-columns:1fr;}
  .cred-grid{grid-template-columns:1fr; gap:26px;}
  .section{padding:48px 0;}
  .band{background-attachment:scroll; min-height:230px;}
  .band p{font-size:28px;}
  .where-photo{height:170px;}
  .svc::before{height:170px;}
  .hero .hero-sub{font-size:17px;}
  .proc .pstep{gap:14px;} .proc .pn{width:40px; font-size:26px;}
}
@media (max-width:620px){ .prin-grid{grid-template-columns:1fr;} }
@media (max-width:430px){
  .svc-cta{flex-wrap:wrap;}
  .wp-block-button .wp-block-button__link{white-space:normal; text-align:center;}
}

/* Added 9 Sep 2026 with the manifesto pass: the header phone number, and the
   contact block's phone/email line. AJ's details reached the site for the
   first time in this build, so these two rules did not exist before. */
.site-header .hphone{display:inline-block; font-family:'Barlow Condensed',Arial,sans-serif;
  font-weight:700; font-size:17px; letter-spacing:.05em; color:var(--accent);
  text-decoration:none; white-space:nowrap; margin-right:16px;}
.site-header .hphone:hover{color:#F5B733;}
.contact .contact-lines{font-family:'Barlow Condensed',Arial,sans-serif; font-weight:700;
  font-size:clamp(22px,3.2vw,30px); letter-spacing:.02em; color:var(--accent);
  margin-top:26px; line-height:1.35;}
.contact .contact-lines strong{font-weight:700;}
.site-footer .foot-services a{color:var(--accent); text-decoration:none;}
.site-footer .foot-services a:hover{text-decoration:underline;}
@media (max-width:900px){ .site-header .hphone{display:none;} }

/* ==========================================================================
   21 Sep 2026, Tim: lighter hero scrim, so the photograph reads through it.
   The card padding and three-across patches that sat here were deleted on
   21 Sep when the page source was fixed — `.svc-body`, `p1`-`p8`,
   `.p-equip`/`.p-plant`/`.p-access` and `.svc-grid.three` are in the markup
   now and the rules above match on their own.
   ========================================================================== */

/* --- hero: let the photograph through --- */
.hero::before{opacity:.82;}
.hero::after{background:linear-gradient(100deg,rgba(9,12,16,.74) 0%,rgba(12,16,21,.42) 44%,rgba(9,12,16,.18) 100%);}
.hero.sub::before{opacity:.78;}
.hero.sub::after{background:linear-gradient(100deg,rgba(9,12,16,.80) 0%,rgba(9,12,16,.52) 50%,rgba(9,12,16,.26) 100%);}
/* the headline carries its own shadow now the scrim is thinner */
.hero h1,.hero .hero-sub,.hero .kicker{text-shadow:0 1px 18px rgba(9,12,16,.55);}


/* 17 Oct 2026 — contrast pass before AJ's review. Brand amber (#E39A0C) is 2.36:1 on white,
   so amber TEXT on a light ground uses a darker shade of the same amber (#8A5A00, 5.9:1).
   Amber on the dark ground is unchanged (7.9:1). --muted lifted from 3.89:1 to 6.1:1 on white. */
:root{--accent-text:#8A5A00;}
.kicker,.step .sn,.proc .pn{color:var(--accent-text);}
.site-header .hphone{color:var(--accent-text);}
.site-header .hphone:hover{color:var(--ink);}
.hero .kicker{color:#F0C069;}
.contact .kicker,.closing .kicker,.hazard .kicker,.band .kicker{color:var(--accent);}
/* 17 Oct 2026 — links inside the dark hazard/reference block inherited the ink colour (1.00:1, invisible). */
.hazard a{color:#F0C069; text-decoration:underline;}
