/* Spark & Sons — site-2026.css
   4px spacing scale · fluid type · cable blue on paper, hi-vis as a mark · square photographs · no motion */
@font-face{font-family:"Archivo";src:url("../assets/fonts/archivo-latin-wdth-normal.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../assets/fonts/ibm-plex-sans-latin-wght-normal.woff2") format("woff2");font-weight:100 700;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo Fallback";src:local("Arial"),local("Arimo"),local("Liberation Sans"),local("Helvetica");size-adjust:96%;ascent-override:92%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:"Plex Fallback";src:local("Arial"),local("Arimo"),local("Liberation Sans"),local("Helvetica");size-adjust:101%;ascent-override:100%;descent-override:26%;line-gap-override:0%}

:root{
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --gutter:clamp(20px,4vw,56px);--wrap:1240px;--wrap-narrow:820px;
  --sec:56px;
  --f-display:"Archivo","Archivo Fallback",Arial,"Helvetica Neue",sans-serif;
  --f-body:"IBM Plex Sans","Plex Fallback",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --t-display:clamp(3.25rem,1.6rem + 5vw,5.75rem);
  --t-h1:clamp(2.75rem,1.4rem + 4.6vw,5rem);
  --t-h2:clamp(2rem,1.3rem + 2.6vw,3.5rem);
  --t-h3:clamp(1.375rem,1.2rem + .6vw,1.75rem);
  --t-lead:clamp(1.125rem,1.05rem + .35vw,1.3125rem);
  --t-body:1rem;--t-label:.875rem;
  --r-ctl:2px;
  --header:72px;
  --bg:#f3f1ec;--surface:#fbfaf7;--surface-2:#e8e5dd;--line:#d6d2c7;--line-strong:#6d6a62;
  --ink:#14171a;--muted:#4a4f55;
  --brand:#1b44b5;--brand-btn:#1b44b5;--brand-btn-h:#12328b;--on-brand:#fff;
  --night:#14171a;--night-2:#1d2125;--on-night:#f3f1ec;--on-night-muted:#bcc1c7;--night-line:#3b4148;
  --volt:#ffc400;--volt-tint:#fff3c4;
  --danger:#b3261e;--danger-h:#8c1d17;--ok:#1f6b3a;--field:#fff;
  color-scheme:light;
}
@media (min-width:768px){:root{--sec:80px}}
@media (min-width:1280px){:root{--sec:104px}}

*,*::before,*::after{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header) + var(--s5))}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:var(--t-body);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100svh;display:flex;flex-direction:column}
main{flex:1}
img,picture,svg{display:block;max-inline-size:100%}
img{block-size:auto;border-radius:0}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
::selection{background:var(--volt);color:var(--ink)}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:800;font-stretch:84%;letter-spacing:-.015em;line-height:1.04}
h1{font-size:var(--t-h1);font-stretch:78%;letter-spacing:-.02em;line-height:.98}
h2{font-size:var(--t-h2);font-stretch:80%}
h3{font-size:var(--t-h3);line-height:1.15;letter-spacing:-.005em;font-weight:750}
em{font-style:normal;color:var(--brand);box-shadow:inset 0 -.13em 0 var(--volt)}
.night em,.night h1 em,.night h2 em,.night h3 em,.oncall em{color:var(--volt);box-shadow:none}
.volt-band em,.em-band em,.sd-x--red em{color:inherit;box-shadow:none}
p{max-inline-size:68ch}
.lead{font-size:var(--t-lead);line-height:1.55;color:var(--muted);max-inline-size:58ch}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.night :focus-visible,.strip :focus-visible,.oncall :focus-visible,.site-footer :focus-visible,.em-band :focus-visible,.sd-x--red :focus-visible{outline-color:#fff}
.volt-band :focus-visible{outline-color:var(--ink)}
.wrap{inline-size:100%;max-inline-size:calc(var(--wrap) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}
.wrap--narrow{max-inline-size:calc(var(--wrap-narrow) + var(--gutter) * 2)}
.section{padding-block:var(--sec)}
.surface{background:var(--surface);border-block:1px solid var(--line)}
.night{background:var(--night);color:var(--on-night)}
.night .lead,.night p{color:var(--on-night-muted)}
.sr-only{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;inset-inline-start:var(--s4);inset-block-start:-100px;z-index:100;background:var(--brand-btn);color:#fff;padding:var(--s3) var(--s5);border-radius:var(--r-ctl);text-decoration:none}
.skip-link:focus{inset-block-start:var(--s2)}
.kicker{display:flex;align-items:center;gap:var(--s3);font-family:var(--f-body);font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--brand);line-height:1.4;margin-block-end:var(--s4)}
.kicker::before{content:"";inline-size:12px;block-size:12px;background:var(--volt);outline:2px solid var(--ink);outline-offset:-2px;flex:none}
.night .kicker,.oncall .kicker{color:var(--volt)}
.night .kicker::before,.oncall .kicker::before{outline-color:var(--volt)}
.volt-band .kicker,.em-band .kicker,.sd-x--red .kicker{color:inherit}
.em-band .kicker::before,.sd-x--red .kicker::before{outline-color:#fff}
.hi-tag{display:inline-block;background:var(--volt);color:var(--ink);font-size:var(--t-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.3;padding:var(--s1) var(--s3);margin-block-end:var(--s4)}
.stock{font-size:var(--t-label);color:var(--muted);line-height:1.4;margin-block-start:var(--s2)}
.night .stock{color:var(--on-night-muted)}
.tnum{font-variant-numeric:tabular-nums lining-nums}
.h-sm{font-size:var(--t-h3);margin-block-end:var(--s3)}
.h-md{font-size:clamp(1.75rem,1.4rem + 1.2vw,2.5rem);margin-block-end:var(--s4)}

/* top strip */
.strip{background:var(--night);color:var(--on-night);font-size:.9375rem}
.strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:0 var(--s5);min-block-size:44px}
.strip p{max-inline-size:none;display:flex;align-items:center;gap:var(--s5)}
.strip a{color:#fff;display:inline-flex;align-items:center;gap:var(--s2);min-block-size:44px;min-inline-size:44px;text-decoration:none;white-space:nowrap}
.strip a:hover{text-decoration:underline}
.strip .st-e{color:var(--volt);font-weight:700}
.strip .st-l,.strip .st-o{display:none}
.strip .st-r{margin-inline-start:auto}
@media (min-width:520px){.strip .st-o{display:inline-flex}}
@media (min-width:960px){.strip .st-l{display:flex;color:var(--on-night-muted)}}

/* header */
.site-header{position:sticky;inset-block-start:0;z-index:50;background:var(--bg);border-block-end:1px solid var(--line-strong)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);min-block-size:var(--header)}
.brand{display:inline-flex;align-items:center;gap:var(--s3);font-family:var(--f-display);font-size:1.5rem;font-weight:800;font-stretch:84%;letter-spacing:-.01em;text-decoration:none;color:var(--ink);line-height:1;min-block-size:44px;white-space:nowrap}
.brand svg{inline-size:36px;block-size:36px;flex:none}
.brand small{font-family:var(--f-body);font-size:var(--t-label);font-weight:600;font-stretch:100%;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-inline-start:var(--s1)}
.nav{display:none;align-self:stretch}
.nav a.nl{display:inline-flex;align-items:center;min-block-size:44px;padding-inline:var(--s3);text-decoration:none;color:var(--ink);font-weight:500;white-space:nowrap}
.nav a.nl:hover{color:var(--brand);text-decoration:underline}
.nav [aria-current="page"]{color:var(--brand);font-weight:700;box-shadow:inset 0 -4px 0 var(--volt)}
.nav>a.nl[aria-current="page"]{align-self:center}
.has-mega{position:static;display:flex;align-items:center;align-self:stretch}
.mega-btn{display:none;place-items:center;inline-size:44px;block-size:44px;margin-inline-start:-10px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}
.js .mega-btn.js-only{display:inline-grid}
.mega-btn:hover{color:var(--ink)}
.mega-btn svg{inline-size:14px;block-size:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mega-btn[aria-expanded="true"]{color:var(--brand)}
html:not(.js) .has-mega>a.nl::after{content:"";inline-size:7px;block-size:7px;margin-inline-start:var(--s2);border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
/* mega panel: solid, full width, hangs from the header's bottom edge, scrolls inside itself on short screens */
.mega{display:none;position:absolute;inset-inline:0;inset-block-start:calc(100% + 1px);z-index:2;max-block-size:calc(100svh - var(--header) - 48px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-block-end:4px solid var(--volt);box-shadow:0 28px 40px -28px rgba(20,23,26,.45)}
.has-mega.is-open>.mega{display:block}
html:not(.js) .has-mega:hover>.mega,html:not(.js) .has-mega:focus-within>.mega{display:block}
.mega-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:var(--s8);inline-size:100%;max-inline-size:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding:var(--s5) var(--gutter) var(--s6)}
.mega-main{display:grid;align-content:start;gap:var(--s4);min-inline-size:0}
.mega-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s1) var(--s5);padding-block-end:var(--s3);border-block-end:2px solid var(--ink)}
.mega-k{font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--brand);line-height:1.4}
.mega-sum{font-family:var(--f-display);font-weight:750;font-stretch:84%;font-size:1.5rem;line-height:1.25;letter-spacing:-.005em}
.mega-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s7);align-items:start}
.mega-gl{font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-block:var(--s3) var(--s1);max-inline-size:none}
.mega-list{list-style:none;margin:0;padding:0}
.mega-list a{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--s4);align-items:center;min-block-size:68px;padding-block:var(--s2);border-block-end:1px solid var(--line);color:var(--ink);text-decoration:none}
.mega-list picture{display:block;inline-size:56px;block-size:56px;background:var(--surface-2)}
.mega-list img{display:block;inline-size:56px;block-size:56px;object-fit:cover;border-radius:0}
.mega-list .mt{display:grid;gap:2px;min-inline-size:0}
.mega-list b{font-family:var(--f-display);font-weight:750;font-stretch:90%;font-size:1.125rem;line-height:1.2}
.mega-list small{color:var(--muted);font-size:var(--t-label);line-height:1.35}
.mega-list a:hover,.mega-list a:focus-visible{background:var(--volt-tint)}
.mega-list a:hover b,.mega-list a:focus-visible b{color:var(--brand);text-decoration:underline}
.mega-list a:focus-visible,.mega-all:focus-visible,.mega-feat:focus-visible{outline-offset:-3px}
.mega-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3) var(--s5);padding-block-start:var(--s2)}
.mega-van{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s5);color:var(--muted);font-size:var(--t-label);max-inline-size:none}
.mega-van .mega-k{color:var(--ink)}
.mega-van b{color:var(--ink)}
.mega-all{display:inline-flex;align-items:center;gap:var(--s4);min-block-size:44px;padding-inline:var(--s4);border:1px solid var(--ink);color:var(--ink);font-weight:700;text-decoration:none;background:var(--bg)}
.mega-all::after,.mega-go::after{content:"→"}
.mega-all:hover{background:var(--ink);color:#fff}
.mega-feat{display:grid;align-content:start;gap:var(--s2);padding:var(--s4);background:var(--night);color:var(--on-night);text-decoration:none;border-block-start:4px solid var(--volt)}
.mega-feat picture{display:block;margin-block-end:var(--s2)}
.mega-feat img{display:block;inline-size:100%;block-size:auto;aspect-ratio:16/9;object-fit:cover;border-radius:0}
.mega-fk{font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--volt)}
.mega-feat b{font-family:var(--f-display);font-weight:800;font-stretch:82%;font-size:1.75rem;line-height:1.08;letter-spacing:-.01em}
.mega-feat small{color:var(--on-night-muted);font-size:var(--t-body);line-height:1.45}
.mega-go{display:inline-flex;align-items:center;gap:var(--s2);min-block-size:44px;font-weight:700;color:#fff}
.mega-feat:hover b,.mega-feat:focus-visible b{text-decoration:underline}
.mega-feat:hover .mega-go{color:var(--volt)}
@media (max-width:1099.98px){.mega{display:none!important}}
.hdr-actions{display:flex;align-items:center;gap:var(--s2)}
.hdr-actions>.btn{display:none;white-space:nowrap}
.icon-btn{display:inline-flex;align-items:center;gap:var(--s2);justify-content:center;min-inline-size:44px;min-block-size:44px;padding-inline:var(--s3);border:1px solid var(--ink);border-radius:var(--r-ctl);background:transparent;color:var(--ink);cursor:pointer;-webkit-appearance:none;appearance:none;font:600 1rem var(--f-body)}
.icon-btn:hover{background:var(--ink);color:#fff}
.icon-btn svg{inline-size:20px;block-size:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.m-menu{position:static}
.m-menu summary{list-style:none;cursor:pointer}
.m-menu summary::-webkit-details-marker{display:none}
.m-menu .i-close{display:none}
.m-menu[open] .i-open{display:none}
.m-menu[open] .i-close{display:block}
.m-panel{position:absolute;inset:calc(100% + 1px) 0 auto 0;z-index:2;max-block-size:calc(100svh - var(--header) - 48px);overflow:auto;overscroll-behavior:contain;background:var(--bg);color:var(--ink);border-block-end:4px solid var(--volt);padding:var(--s3) var(--gutter) var(--s6);box-shadow:0 24px 40px -24px rgba(20,23,26,.45)}
.m-panel a{display:flex;align-items:center;justify-content:space-between;min-block-size:52px;border-block-end:1px solid var(--line);font-family:var(--f-display);font-size:1.5rem;font-weight:800;font-stretch:84%;text-decoration:none;color:var(--ink)}
.m-panel a.sub{font-family:var(--f-body);font-size:1rem;font-weight:400;font-stretch:100%;min-block-size:44px;padding-inline-start:var(--s4);color:var(--muted)}
.m-panel a[aria-current="page"]:not(.btn){color:var(--brand);font-weight:800;box-shadow:inset 4px 0 0 var(--volt);padding-inline-start:var(--s3)}
.m-panel a.sub[aria-current="page"]{padding-inline-start:var(--s4);font-weight:700}
.m-panel a:hover:not(.btn){color:var(--brand);background:var(--volt-tint)}
.m-panel .btn{margin-block-start:var(--s5);inline-size:100%;font-family:var(--f-body);font-size:1rem;font-weight:600;font-stretch:100%;justify-content:center;color:#fff;border-block-end:1px solid var(--brand-btn)}
.m-panel .btn:hover{color:#fff}
.m-panel a.m-tel{font-family:var(--f-body);font-size:1.0625rem;font-weight:600;font-stretch:100%;justify-content:space-between}
@media (min-width:1100px){
  .nav{display:flex;align-items:center;gap:0}
  .m-menu{display:none}
  .hdr-actions>.btn{display:inline-flex}
}
@media (min-width:1100px) and (max-width:1279.98px){.site-header .wrap{gap:var(--s3)}.nav a.nl{padding-inline:var(--s2)}.brand small{display:none}.hdr-actions>.btn{padding-inline:var(--s4)}}
@media (max-width:539px){.brand small{display:none}}
@media (max-width:379px){.site-header .wrap{gap:var(--s2)}.brand{font-size:1.3125rem}.brand svg{inline-size:32px;block-size:32px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-block-size:48px;padding:var(--s3) var(--s5);border:1px solid var(--brand-btn);border-radius:var(--r-ctl);background:var(--brand-btn);color:var(--on-brand);font:600 1rem/1.2 var(--f-body);text-decoration:none;cursor:pointer;-webkit-appearance:none;appearance:none}
.btn:hover{background:var(--brand-btn-h);border-color:var(--brand-btn-h);color:#fff}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.night .btn--ghost,.oncall .btn--ghost{color:#fff;border-color:#9aa1a8}
.night .btn--ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.night .btn:not(.btn--ghost),.oncall .btn:not(.btn--ghost){border-color:#fff}
.btn--night{background:var(--night);border-color:var(--night);color:#fff}
.btn--night:hover{background:#2c3238;border-color:#2c3238;color:#fff}
.em-band .btn--night,.sd-x--red .btn--night{border-color:#fff}
.em-band .btn--night:hover,.sd-x--red .btn--night:hover{background:#000;border-color:#fff}
.volt-band .btn--night{border-color:var(--night)}
.btn--sm{min-block-size:44px;padding-inline:var(--s4)}
.btn--lg{min-block-size:56px;padding-inline:var(--s6);font-size:1.125rem}
.btn[disabled]{background:var(--surface-2);color:var(--muted);border-color:var(--line-strong);cursor:not-allowed}
.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4)}
.tlink{display:inline-flex;align-items:center;gap:var(--s2);min-block-size:44px;color:var(--brand);font-weight:700;text-decoration:underline;text-underline-offset:.28em}
.tlink:hover{text-decoration:none;background:var(--volt-tint)}
.tlink::after{content:"→"}
.night .tlink{color:#fff}

/* images: square corners; only .img-fade (hero + primary features) is feathered */
.ph{margin:0}
.ph img{inline-size:100%;block-size:auto;border-radius:0}
.ph--43 img{aspect-ratio:4/3;object-fit:cover}
.ph--11 img{aspect-ratio:1/1;object-fit:cover}
.ph--169 img{aspect-ratio:16/9;object-fit:cover}
.ph figcaption{font-size:var(--t-label);color:var(--muted);line-height:1.4;margin-block-start:var(--s2)}
.img-fade{-webkit-mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.45) 7%,#000 26%),linear-gradient(to bottom,#000 72%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,rgba(0,0,0,.45) 7%,#000 26%),linear-gradient(to bottom,#000 72%,transparent 100%);mask-composite:intersect}
@media (max-width:899px){.img-fade{-webkit-mask-image:linear-gradient(to bottom,#000 68%,transparent 100%);mask-image:linear-gradient(to bottom,#000 68%,transparent 100%)}}
@media (forced-colors:active){.img-fade{-webkit-mask-image:none;mask-image:none}}
/* ===== forms ===== */
.form{display:grid;gap:var(--s5);align-content:start}
.form-card{padding:var(--s6);background:var(--surface);border:1px solid var(--line-strong)}
@media (max-width:479px){.form-card{padding:var(--s5)}}
.form-grid{display:grid;gap:var(--s5)}
@media (min-width:640px){.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .span-2{grid-column:1/-1}}
.field{display:grid;gap:var(--s2);align-content:start}
.field>label,.field>.legend,legend{font-size:var(--t-body);font-weight:600;color:var(--ink)}
fieldset{border:0;padding:0;margin:0;min-inline-size:0}
legend{padding:0;margin-block-end:var(--s2)}
.form legend.step-h{font-family:var(--f-display);font-size:var(--t-h3);font-weight:500;margin-block-end:var(--s4)}
.hint{color:var(--muted);font-size:var(--t-body);line-height:1.45}
.err{display:none;color:var(--danger);font-size:var(--t-body);font-weight:600}
.err:not(:empty){display:block}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=search],select,textarea{inline-size:100%;min-block-size:48px;padding:var(--s3) var(--s4);font:400 1rem/1.4 var(--f-body);color:var(--ink);background:var(--field);border:1px solid var(--line-strong);border-radius:var(--r-ctl);-webkit-appearance:none;appearance:none}
textarea{min-block-size:128px;resize:vertical;line-height:1.5}
::placeholder{color:var(--muted);opacity:1}
input:hover,select:hover,textarea:hover{border-color:var(--ink)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
[aria-invalid="true"]{border-color:var(--danger)!important}
select{padding-inline-end:var(--s8);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 24px) 50%,calc(100% - 18px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;cursor:pointer}
select option{background:var(--surface);color:var(--ink)}
@supports (appearance:base-select){
  select,::picker(select){appearance:base-select}
  select::picker-icon{display:none}
  select{background-image:none;padding-inline-end:var(--s4);display:flex;align-items:center;justify-content:space-between}
  select::after{content:"";inline-size:8px;block-size:8px;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(45deg) translateY(-2px);flex:none}
  ::picker(select){background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-ctl);padding:var(--s1);margin-block:var(--s1)}
  option{min-block-size:44px;padding:var(--s2) var(--s3);display:flex;align-items:center;border-radius:0}
  option:hover,option:focus-visible{background:var(--surface-2)}
  option:checked{background:var(--brand-btn);color:#fff}
  option::checkmark{display:none}
}
.check{display:flex;align-items:center;gap:var(--s3);min-block-size:44px;cursor:pointer;line-height:1.4}
.check input{inline-size:22px;block-size:22px;accent-color:var(--brand-btn);margin:0;flex:none}
.seg{display:flex;flex-wrap:wrap;gap:var(--s2)}
.seg label{position:relative}
.seg input{position:absolute;inset:0;inline-size:100%;block-size:100%;opacity:0;margin:0;cursor:pointer}
.seg span{display:inline-flex;align-items:center;justify-content:center;min-block-size:44px;min-inline-size:44px;padding:var(--s2) var(--s4);border:1px solid var(--line-strong);border-radius:var(--r-ctl);font-weight:500;background:var(--field);color:var(--ink)}
.seg input:hover+span{border-color:var(--ink)}
.seg input:checked+span{background:var(--brand-btn);border-color:var(--brand-btn);color:#fff}
.seg input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}
.status{min-block-size:1.5em}
.status[data-ok]{color:var(--ok);font-weight:600}
.note{padding:var(--s4) var(--s5);border-inline-start:4px solid var(--volt);background:var(--surface);color:var(--ink)}
.note p{max-inline-size:none}
.summary{display:grid;gap:var(--s2)}
.summary dl{display:grid;gap:var(--s3)}
.summary dl>div{display:grid;gap:2px;padding-block-end:var(--s3);border-block-end:1px solid var(--line)}
.summary dt{color:var(--muted);font-weight:600}
.summary dd{font-size:1.125rem}
.confirm{padding:var(--s6);border:2px solid var(--brand);background:var(--surface);display:grid;gap:var(--s4);justify-items:start}
.confirm h2{font-size:var(--t-h2)}
.confirm p{font-size:1.125rem}


/* ===== footer (compact) ===== */
.site-footer{margin-block-start:auto;background:var(--night);color:var(--on-night);border-block-start:4px solid var(--volt)}
.f-main{display:grid;gap:var(--s4) var(--s6);padding-block:var(--s6)}
.f-brand .brand{color:#fff}
.f-brand p{color:var(--on-night-muted);margin-block-start:var(--s2);max-inline-size:34ch}
.f-brand address{font-style:normal;color:var(--on-night);margin-block-start:var(--s2)}
.f-col h2{font-family:var(--f-body);font-stretch:100%;font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--volt);margin-block-end:var(--s1);line-height:1.4}
.f-col ul{list-style:none;padding:0}
.f-col a{display:inline-flex;align-items:center;gap:var(--s2);min-block-size:44px;min-inline-size:44px;color:var(--on-night);text-decoration:none;line-height:1.25}
.f-col a:hover{color:#fff;text-decoration:underline}
.f-sv ul,.f-pages ul{display:grid;column-gap:var(--s5)}
.f-sv ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.f-pages ul{grid-template-columns:repeat(2,minmax(0,1fr))}
.f-soc{display:flex;flex-wrap:wrap;column-gap:var(--s4)}
@media (min-width:640px){.f-main{grid-template-columns:repeat(2,minmax(0,1fr))}.f-brand{grid-column:1/-1}}
@media (min-width:1000px){.f-main{grid-template-columns:minmax(0,1.15fr) minmax(0,1.5fr) minmax(0,1.3fr) minmax(0,1.3fr);gap:var(--s4)}.f-brand{grid-column:auto}.f-sv ul,.f-pages ul{column-gap:var(--s3)}.f-col a{overflow-wrap:anywhere}}
@media (min-width:1240px){.f-main{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(0,1.5fr) minmax(0,1.1fr);gap:var(--s4) var(--s5)}.f-sv ul,.f-pages ul{column-gap:var(--s4)}}
.f-bar{border-block-start:1px solid var(--night-line);color:var(--on-night-muted)}
.f-bar .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--s6);padding-block:var(--s2)}
.f-bar p{max-inline-size:76ch;font-size:var(--t-label);line-height:1.5;padding-block:var(--s2);color:var(--on-night-muted)}
.f-bar p+p{display:flex;gap:var(--s5)}
.f-bar a{display:inline-flex;align-items:center;min-block-size:44px;min-inline-size:44px;color:var(--on-night)}
.f-bar a:hover{color:#fff}
.site-footer [aria-current="page"]{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:.3em}

/* ===== shared ===== */
.crumbs{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin-block-end:var(--s4);font-size:var(--t-label);color:var(--muted)}
.crumbs li+li::before{content:"/";margin-inline:var(--s2)}
.crumbs a{display:inline-flex;align-items:center;min-block-size:44px;min-inline-size:44px;color:var(--muted)}
.crumbs a:hover{color:var(--brand)}
.crumbs [aria-current]{display:inline-flex;align-items:center;min-block-size:44px;color:var(--ink);font-weight:600}
.pg-head{padding-block:var(--s5) var(--s7);position:relative}
.pg-head::after{content:"";position:absolute;inset-inline:0;inset-block-end:0;block-size:10px;background:repeating-linear-gradient(135deg,var(--volt) 0 12px,var(--night) 12px 24px)}
.pg-head .lead{margin-block-start:var(--s4)}
.pg-head h1{max-inline-size:16ch}
.sv-head::after,.sf-head::after,.ab-head::after{display:none}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s4) var(--s6);margin-block-end:var(--s7)}
.sec-head h2{max-inline-size:18ch}
.sec-head .lead{margin-block-start:var(--s3)}
.oncall{background:var(--night);color:var(--on-night);border-block-start:4px solid var(--volt)}
.oncall__in{display:grid;gap:var(--s5);align-items:center;padding-block:var(--s7)}
.oncall h2{font-size:var(--t-h2);margin-block-end:var(--s2)}
.oncall .lead{color:var(--on-night-muted)}
.oncall__nums{list-style:none;padding:0;display:grid;gap:var(--s2)}
.oncall__nums li{display:flex;align-items:baseline;gap:var(--s4);border-block-end:1px solid var(--night-line);padding-block:var(--s2);flex-wrap:wrap}
.oncall__nums li span{min-inline-size:6.5rem;font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--on-night-muted)}
.oncall__nums a{display:inline-flex;align-items:center;min-block-size:44px;font-family:var(--f-display);font-weight:800;font-stretch:84%;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.25rem);color:#fff;text-decoration:none}
.oncall__nums a:hover{color:var(--volt);text-decoration:underline}
@media (min-width:900px){.oncall__in{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:var(--s8)}}
.em-band{background:var(--danger);color:#fff}
.em-band__in{display:grid;gap:var(--s5);align-items:center;padding-block:var(--s7)}
.em-band h2{font-size:var(--t-h2);margin-block-end:var(--s3);max-inline-size:18ch}
.em-band .lead,.em-band p{color:#fff}
.em-tel{font-family:var(--f-display);font-weight:800;font-stretch:84%;font-size:clamp(1.75rem,1.3rem + 2vw,2.75rem);min-block-size:72px;padding-inline:var(--s6);letter-spacing:.005em}
@media (min-width:900px){.em-band__in{grid-template-columns:minmax(0,1fr) auto;gap:var(--s8)}}
.volt-band{background:var(--volt);color:var(--ink)}
.volt-band .lead,.volt-band p{color:var(--ink)}
.quote{margin:0;padding-inline-start:var(--s5);border-inline-start:4px solid var(--volt)}
.quote blockquote p{font-size:1.1875rem;line-height:1.5;color:var(--ink);max-inline-size:52ch}
.quote figcaption{display:grid;margin-block-start:var(--s3);color:var(--muted)}
.quote figcaption b{color:var(--ink)}
.pr{display:grid;justify-items:end;text-align:end;line-height:1.1;white-space:nowrap}
.pr small{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.pr b{font-family:var(--f-display);font-weight:800;font-stretch:84%;font-size:1.75rem;color:var(--ink)}
.ticks{list-style:none;padding:0;display:grid;gap:var(--s2)}
.ticks li{display:flex;gap:var(--s3);align-items:baseline;line-height:1.45}
.ticks li::before{content:"";inline-size:10px;block-size:10px;flex:none;background:var(--volt);outline:2px solid var(--ink);outline-offset:-2px;transform:translateY(-1px)}
.ticks--lg li{font-size:1.125rem;font-weight:600}
.crosses{list-style:none;padding:0;display:grid;gap:var(--s2)}
.crosses li{display:flex;gap:var(--s3);align-items:baseline}
.crosses li::before{content:"×";font-weight:800;color:var(--danger);font-size:1.25rem;line-height:1}
.areas{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s3)}
.areas a{display:inline-flex;align-items:center;min-block-size:56px;padding-inline:var(--s5);border:1px solid var(--ink);background:var(--bg);font-family:var(--f-display);font-weight:750;font-stretch:88%;font-size:1.25rem;text-decoration:none;color:var(--ink)}
.areas a:hover{background:var(--ink);color:#fff}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5) var(--s5)}
.stats>div{border-block-start:4px solid var(--ink);padding-block-start:var(--s3)}
.stats dt{font-family:var(--f-display);font-weight:900;font-stretch:72%;font-size:clamp(3rem,2rem + 4vw,5.25rem);line-height:.95;color:var(--brand);letter-spacing:-.01em}
.stats dd{margin:var(--s2) 0 0;color:var(--muted);line-height:1.4}
@media (min-width:900px){.stats--row{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* ===== home ===== */
.hm-hero{padding-block:var(--s5) var(--s7)}
.hm-hero__grid{display:grid;gap:var(--s6);align-items:center}
.hm-hero h1{font-size:var(--t-display);font-stretch:74%;max-inline-size:14ch;margin-block-end:var(--s5)}
.hm-hero .lead{margin-block-end:var(--s5);max-inline-size:46ch}
.hm-facts{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);margin-block-start:var(--s6);padding-block-start:var(--s4);border-block-start:2px solid var(--ink);color:var(--muted)}
.hm-facts b{color:var(--ink)}
@media (min-width:1000px){.hm-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:var(--s6)}.hm-hero{padding-block:var(--s7) var(--s8)}}
.plate{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-strong);border:1px solid var(--line-strong);border-block-start:4px solid var(--ink)}
.plate li{background:var(--bg);padding:var(--s4) var(--s4) var(--s5);display:grid;gap:var(--s1);align-content:start}
.cert-k{font-family:var(--f-display);font-weight:900;font-stretch:78%;font-size:2rem;line-height:1;letter-spacing:-.005em}
.cert-s{font-size:var(--t-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand)}
.cert-d{font-size:.9375rem;color:var(--muted);line-height:1.45}
@media (min-width:700px){.plate{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1140px){.plate{grid-template-columns:repeat(6,minmax(0,1fr))}}
.sched{list-style:none;padding:0;border-block-start:4px solid var(--ink)}
.sched li{border-block-end:1px solid var(--line-strong)}
.sched a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"way grp pr" "st st st";gap:var(--s2) var(--s4);align-items:center;padding:var(--s4) var(--s2);color:var(--ink);text-decoration:none}
.sched .way{grid-area:way;display:flex;align-items:baseline;gap:var(--s2)}
.sched .way small{font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.sched .way b{font-family:var(--f-display);font-weight:900;font-stretch:72%;font-size:2rem;line-height:1;color:var(--brand)}
.sched .grp{grid-area:grp;font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted)}
.sched .st{grid-area:st;display:grid;gap:var(--s1)}
.sched .st b{font-family:var(--f-display);font-weight:800;font-stretch:84%;font-size:clamp(1.375rem,1.2rem + .8vw,1.875rem);line-height:1.1}
.sched .st span{color:var(--muted);max-inline-size:60ch}
.sched .pr{grid-area:pr}
.sched a:hover{background:var(--volt-tint)}
.sched a:hover .st b{color:var(--brand);text-decoration:underline}
@media (min-width:860px){.sched a{grid-template-columns:96px 112px minmax(0,1fr) 120px;grid-template-areas:"way grp st pr";gap:var(--s5);padding-block:var(--s5)}}
.steps{list-style:none;padding:0;display:grid;gap:var(--s6)}
.steps li{position:relative;border-block-start:2px solid var(--night-line);padding-block-start:var(--s5)}
.steps li::before{content:"";position:absolute;inset-block-start:-7px;inset-inline-start:0;inline-size:12px;block-size:12px;background:var(--volt)}
.steps b{display:block;font-family:var(--f-display);font-weight:900;font-stretch:70%;font-size:clamp(4rem,3rem + 4vw,6rem);line-height:.9;color:var(--volt);margin-block-end:var(--s3)}
.steps h3{color:#fff;margin-block-end:var(--s2);font-size:1.75rem}
@media (min-width:860px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s7)}}
.hm-cmp__grid{display:grid;gap:var(--s6);align-items:center}
.hm-cmp__tx .lead{margin-block:var(--s4) var(--s4)}
@media (min-width:900px){.hm-cmp__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s8)}}
.cmp{max-inline-size:100%}
.cmp--lg{max-inline-size:1000px}
.cmp-stage{position:relative;display:grid;gap:var(--s4);grid-template-columns:repeat(2,minmax(0,1fr))}
.cmp-stage figure{margin:0}
.cmp-stage img{inline-size:100%;aspect-ratio:4/3;object-fit:cover}
.cmp-stage figcaption{font-weight:700;margin-block-start:var(--s2)}
.cmp-tag,.cmp-line,.cmp-handle,.cmp-range{display:none}
.js .cmp-stage{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--night);touch-action:pan-y}
.js .cmp-stage figure{position:absolute;inset:0}
.js .cmp-stage img{block-size:100%;aspect-ratio:auto}
.js .cmp-stage picture{block-size:100%}
.js .cmp-a{z-index:0}
.js .cmp-b{z-index:1;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.js .cmp-tag{display:block;position:absolute;inset-block-start:var(--s3);padding:var(--s1) var(--s3);background:var(--night);color:#fff;font-size:var(--t-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;z-index:2}
.js .cmp-tag--b{inset-inline-start:var(--s3)}
.js .cmp-tag--a{inset-inline-end:var(--s3)}
.js .cmp-line{display:block;position:absolute;inset-block:0;inset-inline-start:var(--pos);inline-size:4px;margin-inline-start:-2px;background:var(--volt);z-index:2;box-shadow:0 0 0 1px var(--night)}
.js .cmp-handle{display:grid;place-items:center;position:absolute;inset-block-start:50%;inset-inline-start:var(--pos);inline-size:48px;block-size:48px;margin:-24px 0 0 -24px;background:var(--volt);border:2px solid var(--night);z-index:3;pointer-events:none}
.cmp-handle svg{inline-size:24px;block-size:24px;fill:none;stroke:var(--night);stroke-width:2.2;stroke-linecap:square;stroke-linejoin:miter}
.js .cmp-range{display:block;position:absolute;inset:0;inline-size:100%;block-size:100%;margin:0;opacity:0;z-index:4;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.js .cmp-stage:has(.cmp-range:focus-visible) .cmp-handle{outline:3px solid var(--brand);outline-offset:3px;background:#fff}
.js .cmp .nojs-only{display:none}
.cmp .stock{margin-block-start:var(--s3)}
.hm-rec__grid{display:grid;gap:var(--s7)}
.quotes{display:grid;gap:var(--s6);align-content:start}
@media (min-width:1000px){.hm-rec__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s9)}}
.hm-cta__in{display:grid;gap:var(--s6);align-items:center}
.hm-cta h2{font-size:var(--t-h1);font-stretch:76%;max-inline-size:16ch;margin-block-end:var(--s4)}
.hm-cta .lead{margin-block-end:var(--s5)}
.hm-cta__call{background:var(--night);color:var(--on-night);padding:var(--s6)}
.hm-cta__call .kicker{color:var(--volt)}
.hm-cta__call .kicker::before{outline-color:var(--volt)}
.hm-cta__call h3{color:#fff;margin-block-end:var(--s2)}
.hm-cta__call p{color:var(--on-night-muted)}
.hm-cta__call .oncall__nums{margin-block-start:var(--s3)}
@media (min-width:900px){.hm-cta__in{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--s8)}}

/* ===== services index ===== */
.sv-head{padding-block:var(--s5) var(--s7);border-block-end:1px solid var(--line-strong)}
.sv-head__grid{display:grid;gap:var(--s6);align-items:end}
.sv-jump ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
.sv-jump a{display:grid;gap:2px;min-block-size:64px;align-content:center;padding:var(--s2) var(--s4);border:1px solid var(--ink);text-decoration:none;background:var(--bg)}
.sv-jump b{font-family:var(--f-display);font-weight:800;font-stretch:88%;font-size:1.25rem}
.sv-jump span{font-size:var(--t-label);color:var(--muted)}
.sv-jump a:hover{background:var(--ink);color:#fff}
.sv-jump a:hover span{color:var(--on-night-muted)}
@media (min-width:900px){.sv-head__grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s8)}}
.sv-grp{padding-block:var(--s7);border-block-end:1px solid var(--line-strong)}
.sv-grp__grid{display:grid;gap:var(--s5)}
.sv-grp__h h2{font-size:clamp(2.25rem,1.5rem + 3vw,4rem);font-stretch:74%}
.sv-grp__h p{color:var(--muted);font-weight:600;margin-block-start:var(--s1)}
.sv-rows{list-style:none;padding:0;border-block-start:4px solid var(--ink)}
.sv-rows li{border-block-end:1px solid var(--line-strong)}
.sv-row{display:grid;grid-template-columns:96px minmax(0,1fr);grid-template-areas:"img tx" "img pr";gap:var(--s2) var(--s4);align-items:start;padding:var(--s4) var(--s2);text-decoration:none;color:var(--ink)}
.sv-row__img{grid-area:img}
.sv-row__img img{inline-size:96px;block-size:96px;object-fit:cover}
.sv-row__tx{grid-area:tx;display:grid;gap:var(--s1)}
.sv-row__tx b{font-family:var(--f-display);font-weight:800;font-stretch:84%;font-size:1.5rem;line-height:1.1}
.sv-row__tx>span{color:var(--muted)}
.sv-row .pr{grid-area:pr;justify-items:start;text-align:start}
.sv-row__go{font-weight:700;color:var(--brand);min-block-size:24px}
.sv-row__go::after{content:" →"}
.sv-row:hover{background:var(--volt-tint)}
.sv-row:hover b{color:var(--brand);text-decoration:underline}
@media (min-width:760px){.sv-row{grid-template-columns:200px minmax(0,1fr) 110px;grid-template-areas:"img tx pr";gap:var(--s5);align-items:center;padding:var(--s4) var(--s3)}.sv-row__img img{inline-size:200px;block-size:150px}.sv-row .pr{justify-items:end;text-align:end}}
@media (min-width:1000px){.sv-grp__grid{grid-template-columns:260px minmax(0,1fr);gap:var(--s8)}.sv-grp__h{position:sticky;inset-block-start:calc(var(--header) + var(--s5));align-self:start}}
.sv-note{padding-block:var(--s6)}

/* ===== service detail ===== */
.sd-hero{padding-block:var(--s5) var(--s7)}
.sd-hero__grid{display:grid;gap:var(--s6);align-items:center}
.sd-hero h1{font-size:var(--t-h1);margin-block-end:var(--s4)}
.sd-hero .ticks{margin-block:var(--s5)}
@media (min-width:1000px){.sd-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:var(--s7)}}
.sd-body__grid{display:grid;gap:var(--s7);align-items:start}
.sd-body__tx{display:grid;gap:var(--s4);max-inline-size:62ch}
.sd-body__tx p{color:var(--ink);font-size:1.0625rem}
.sd-body__tx .lead{color:var(--ink);font-size:var(--t-lead)}
.sd-price{background:var(--surface);border:1px solid var(--line-strong);border-block-start:6px solid var(--volt);padding:var(--s5);display:grid;gap:var(--s3);justify-items:start}
.sd-price__n{display:grid;line-height:1}
.sd-price__n small{font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-block-end:var(--s1)}
.sd-price__n b{font-family:var(--f-display);font-weight:900;font-stretch:74%;font-size:clamp(3.25rem,2.4rem + 3vw,4.75rem);color:var(--brand);line-height:.95}
@media (min-width:900px){.sd-body__grid{grid-template-columns:minmax(0,1fr) 340px;gap:var(--s9)}.sd-price{position:sticky;inset-block-start:calc(var(--header) + var(--s5))}}
.sd-x{background:var(--surface);border-block:1px solid var(--line-strong);padding-block:var(--s8)}
.sd-x__in{display:grid;gap:var(--s6);align-items:start}
.sd-x h2{font-size:var(--t-h2);margin-block-end:var(--s4);max-inline-size:14ch}
.sd-x .lead a{color:var(--brand);font-weight:600}
@media (min-width:900px){.sd-x__in{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--s8)}.sd-x__in--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.codes{display:grid;gap:var(--s3)}
.codes>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:var(--s4);align-items:center;border:1px solid var(--line-strong);background:var(--bg)}
.codes dt{display:grid;place-items:center;align-self:stretch;min-block-size:72px;font-family:var(--f-display);font-weight:900;font-stretch:80%;font-size:1.75rem;color:#fff;background:var(--muted)}
.codes>div:nth-child(1) dt{background:var(--danger)}
.codes>div:nth-child(2) dt{background:#8a4b00}
.codes>div:nth-child(3) dt{background:var(--brand)}
.codes dd{margin:0;padding:var(--s3) var(--s4) var(--s3) 0}
.sd-x--red{background:var(--danger);color:#fff;border-color:var(--danger-h)}
.sd-x--red h2{color:#fff}
.sd-x--red .em-tel{margin-block-start:var(--s3)}
.wait{list-style:none;padding:0;counter-reset:w;display:grid;gap:var(--s3)}
.wait li{counter-increment:w;display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--s3);align-items:start;font-size:1.125rem;line-height:1.5;padding-block:var(--s3);border-block-end:1px solid rgba(255,255,255,.4)}
.wait li::before{content:counter(w);font-family:var(--f-display);font-weight:900;font-stretch:72%;font-size:2.25rem;line-height:1}
.wait--light li{border-block-end-color:var(--line-strong)}
.wait--light li::before{color:var(--brand)}
.sd-rel .rel{list-style:none;padding:0;display:grid;gap:var(--s3)}
.rel a{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s4);align-items:center;text-decoration:none;color:var(--ink);border:1px solid var(--line-strong);background:var(--surface);padding:var(--s2) var(--s4) var(--s2) var(--s2)}
.rel__img img{inline-size:96px;block-size:72px;object-fit:cover}
.rel b{display:block;font-family:var(--f-display);font-weight:800;font-stretch:86%;font-size:1.25rem;line-height:1.15}
.rel small{color:var(--muted);font-size:var(--t-label)}
.rel a:hover{background:var(--volt-tint)}
.rel a:hover b{color:var(--brand);text-decoration:underline}
@media (min-width:760px){.sd-rel .rel{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ===== safety ===== */
.sf-head{padding-block:var(--s5) var(--s7)}
.sf-head__grid{display:grid;gap:var(--s6);align-items:center}
.sf-head h1{max-inline-size:14ch}
@media (min-width:1000px){.sf-head__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--s7)}}
.reg{list-style:none;padding:0;border-block-start:4px solid var(--ink)}
.reg li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--s1) var(--s4);padding-block:var(--s5);border-block-end:1px solid var(--line-strong);align-items:baseline}
.reg__n{grid-row:1/span 3;font-weight:700;color:var(--muted)}
.reg__k{font-family:var(--f-display);font-weight:900;font-stretch:74%;font-size:clamp(2.5rem,1.8rem + 3vw,4.25rem);line-height:.95;letter-spacing:-.01em}
.reg__s{font-size:var(--t-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.reg__d{font-size:1.125rem;max-inline-size:52ch}
@media (min-width:900px){.reg li{grid-template-columns:56px minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.5fr);gap:var(--s5)}.reg__n{grid-row:auto}}
.tips{list-style:none;padding:0;counter-reset:t;display:grid;gap:var(--s6)}
.tips li{counter-increment:t;border-block-start:2px solid var(--night-line);padding-block-start:var(--s4)}
.tips li::before{content:counter(t,decimal-leading-zero);display:block;font-family:var(--f-display);font-weight:900;font-stretch:70%;font-size:2.75rem;line-height:1;color:var(--volt);margin-block-end:var(--s3)}
.tips h3{color:#fff;margin-block-end:var(--s2)}
@media (min-width:700px){.tips{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6) var(--s7)}}
@media (min-width:1100px){.tips{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ===== gallery ===== */
.gl-cmp .sec-head .lead{max-inline-size:52ch}
.jobs{list-style:none;padding:0;display:grid;gap:var(--s7) var(--s6)}
.job h3{margin-block:var(--s1) var(--s2)}
.job p{color:var(--muted)}
.job .job__tag{font-size:var(--t-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-block-start:var(--s3)}
@media (min-width:700px){.jobs{grid-template-columns:repeat(2,minmax(0,1fr))}.job--1{grid-column:1/-1}.job--6{grid-column:1/-1}}
@media (min-width:1000px){.jobs{grid-template-columns:repeat(12,minmax(0,1fr))}.job--1{grid-column:span 8}.job--2{grid-column:span 4;align-self:end}.job--3,.job--4,.job--5{grid-column:span 4}.job--6{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:0 var(--s7);align-content:center}.job--6 .ph{grid-row:1/span 3}.job--6 .job__tag{align-self:end}.job--6 p:last-child{align-self:start}}

/* ===== about ===== */
.ab-head{padding-block:var(--s5) var(--s7)}
.ab-head__grid{display:grid;gap:var(--s6);align-items:center}
.ab-head h1{max-inline-size:12ch}
@media (min-width:1000px){.ab-head__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s7)}}
.ab-story__grid{display:grid;gap:var(--s7);align-items:start}
.ab-story__tx{display:grid;gap:var(--s4);justify-items:start}
.ab-story__tx p{font-size:1.125rem;max-inline-size:56ch}
.ab-story__tx p:first-child{font-size:var(--t-lead);font-weight:500;border-inline-start:4px solid var(--volt);padding-inline-start:var(--s4)}
@media (min-width:900px){.ab-story__grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:var(--s9)}}
.team{list-style:none;padding:0;display:grid;gap:var(--s6)}
.team li{display:grid;gap:var(--s2);align-content:start;border-block-start:4px solid var(--ink);padding-block-start:var(--s4)}
.team__m{display:grid;place-items:center;inline-size:72px;block-size:72px;background:var(--night);color:var(--volt);font-family:var(--f-display);font-weight:900;font-stretch:76%;font-size:1.75rem;margin-block-end:var(--s2)}
.team p{color:var(--muted)}
@media (min-width:800px){.team{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s7)}}

/* ===== advice ===== */
.ad-toc{background:var(--night);color:var(--on-night)}
.ad-toc ul{list-style:none;padding:0;display:grid}
.ad-toc a{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:var(--s3);padding:var(--s3) var(--s2);min-block-size:64px;color:#fff;text-decoration:none;border-block-end:1px solid var(--night-line);align-content:center}
.ad-toc a span{grid-row:1/span 2;font-family:var(--f-display);font-weight:900;font-stretch:72%;font-size:1.75rem;color:var(--volt);align-self:center}
.ad-toc b{font-family:var(--f-display);font-weight:750;font-stretch:88%;font-size:1.0625rem;line-height:1.2}
.ad-toc small{color:var(--on-night-muted);font-size:var(--t-label)}
.ad-toc a:hover{background:var(--night-2)}
.ad-toc a:hover b{text-decoration:underline}
@media (min-width:900px){.ad-toc ul{grid-template-columns:repeat(4,minmax(0,1fr))}.ad-toc a{border-block-end:0;border-inline-end:1px solid var(--night-line);padding-inline:var(--s5)}.ad-toc li:last-child a{border-inline-end:0}}
.ad-art{border-block-end:1px solid var(--line-strong)}
.ad-art__grid{display:grid;gap:var(--s6);align-items:start}
.ad-art__tx{display:grid;gap:var(--s4);justify-items:start}
.ad-art__tx p{font-size:1.0625rem;color:var(--ink)}
.ad-art__tx .lead{color:var(--muted);font-size:var(--t-lead)}
.ad-art__meta{font-size:var(--t-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.ad-art h2{font-size:clamp(2rem,1.4rem + 2.4vw,3.25rem);max-inline-size:16ch}
@media (min-width:900px){.ad-art__grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--s9)}.ad-art--r .ad-art__img{order:-1}.ad-art--r .ad-art__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.ad-art__img{position:sticky;inset-block-start:calc(var(--header) + var(--s5))}}
.tipdl{display:grid;gap:var(--s5) var(--s8)}
.tipdl>div{border-block-start:4px solid var(--ink);padding-block-start:var(--s3)}
.tipdl dt{font-family:var(--f-display);font-weight:800;font-stretch:86%;font-size:1.5rem;line-height:1.15;margin-block-end:var(--s2)}
.tipdl dd{margin:0;color:var(--muted)}
@media (min-width:800px){.tipdl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ad-badges{margin-block-start:var(--s6)}

/* ===== FAQ ===== */
.fq__grid{display:grid;gap:var(--s7);align-items:start}
.qa{border-block-start:4px solid var(--ink)}
.qa>div{padding-block:var(--s5);border-block-end:1px solid var(--line-strong)}
.qa dt{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--s2);font-family:var(--f-display);font-weight:800;font-stretch:86%;font-size:clamp(1.375rem,1.2rem + .7vw,1.75rem);line-height:1.15;margin-block-end:var(--s3)}
.qa dt span{color:var(--brand);font-weight:900}
.qa dd{margin:0;padding-inline-start:52px;color:var(--muted);font-size:1.0625rem;max-inline-size:64ch}
.fq__aside{background:var(--surface);border:1px solid var(--line-strong);border-block-start:6px solid var(--volt);padding:var(--s5);display:grid;gap:var(--s3);justify-items:start}
.fq__aside h2{font-size:var(--t-h3)}
@media (min-width:1000px){.fq__grid{grid-template-columns:minmax(0,1fr) 340px;gap:var(--s9)}.fq__aside{position:sticky;inset-block-start:calc(var(--header) + var(--s5))}}

/* ===== contact ===== */
.ct-head{padding-bottom:var(--s8)}
.ct-main__grid{display:grid;gap:var(--s7);align-items:start}
.ct-info{display:grid;gap:var(--s7)}
.ct-lines{list-style:none;padding:0;display:grid}
.ct-lines li{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--s4);border-block-end:1px solid var(--line-strong)}
.ct-lines li:first-child{border-block-start:4px solid var(--ink)}
.ct-lines a{display:inline-flex;align-items:center;min-block-size:56px;font-family:var(--f-display);font-weight:800;font-stretch:84%;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.25rem);text-decoration:none}
.ct-lines li:last-child a{font-family:var(--f-body);font-weight:600;font-size:1.125rem;text-decoration:underline}
.ct-lines a:hover{color:var(--brand)}
.ct-lines span{color:var(--muted);font-weight:600}
@media (min-width:900px){.ct-main__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s9)}}

/* ===== quote ===== */
.qt__grid{display:grid;gap:var(--s7);align-items:start}
.qt-prog{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2)}
.qt-prog li{border-block-start:6px solid var(--line);padding-block-start:var(--s2);font-weight:600;color:var(--muted);font-size:var(--t-label)}
.qt-prog li span{font-family:var(--f-display);font-weight:900;font-stretch:76%;font-size:1.25rem;margin-inline-end:var(--s1)}
.js .qt-prog li.is-done{border-block-start-color:var(--ink);color:var(--ink)}
.js .qt-prog li.is-on{border-block-start-color:var(--volt);box-shadow:inset 0 6px 0 0 var(--volt);color:var(--ink)}
html:not(.js) .qt-prog{display:none}
.qt .form-card fieldset[data-step]+fieldset[data-step]{margin-block-start:var(--s2);padding-block-start:var(--s5);border-block-start:1px solid var(--line-strong)}
.js .qt .form-card fieldset[data-step]+fieldset[data-step]{border-block-start:0;padding-block-start:0}
.note--sm{padding:var(--s2) var(--s4);font-size:.9375rem}
.confirm__ref{font-family:var(--f-display);font-weight:900;font-stretch:76%;font-size:clamp(2.5rem,2rem + 2vw,3.5rem);color:var(--brand)}
.qt-steps{list-style:none;padding:0;display:grid;gap:var(--s4);margin-block-start:var(--s4)}
.qt-steps li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--s3);padding-block-start:var(--s3);border-block-start:2px solid var(--ink)}
.qt-steps b{font-family:var(--f-display);font-weight:900;font-stretch:72%;font-size:2.5rem;line-height:1;color:var(--brand)}
.qt-steps strong{display:block;font-family:var(--f-display);font-weight:800;font-stretch:86%;font-size:1.25rem;margin-block-end:2px}
.qt__aside{display:grid;gap:var(--s7)}
.qt__call{background:var(--night);color:var(--on-night);padding:var(--s5)}
.qt__call h2{color:#fff;margin-block-end:var(--s2)}
.qt__call p{color:var(--on-night-muted)}
.qt__call .kicker{color:var(--volt)}.qt__call .kicker::before{outline-color:var(--volt)}
.qt__call .oncall__nums{margin-block-start:var(--s3)}
.qt__call .oncall__nums a{font-size:1.75rem}
@media (min-width:1000px){.qt__grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:var(--s8)}.qt__aside{position:sticky;inset-block-start:calc(var(--header) + var(--s5))}}

/* ===== 404 / credits / kit ===== */
.nf{min-block-size:60svh;display:grid;align-content:center;gap:var(--s5);padding-block:var(--s9)}
.nf h1{max-inline-size:12ch}
.kit>section{padding-block:var(--s7);border-block-end:1px solid var(--line)}
.credits{display:grid;gap:0;list-style:none;padding:0;border-block-start:4px solid var(--ink)}
.credits li{display:grid;gap:var(--s1);padding-block:var(--s3);border-block-end:1px solid var(--line)}
@media (min-width:900px){.credits li{grid-template-columns:160px 1fr 1fr;gap:var(--s5);align-items:center}}
.credits a{color:var(--brand);display:inline-flex;align-items:center;min-block-size:44px;min-inline-size:44px}
.credits .ph img{inline-size:96px;aspect-ratio:4/3;object-fit:cover}
.kit form>section+section{margin-block-start:var(--s8)}
.kit h2{margin-block-end:var(--s5)}

.js-only{display:none}
.js .js-only{display:block}
.js .btn-row.js-only{display:flex}
.js .btn.js-only{display:inline-flex}
.js .kicker.js-only{display:flex}
[hidden]{display:none!important}
.nojs-only{display:block}.js .nojs-only{display:none}
@media print{
  .site-header,.site-footer,.strip,.mega,.no-print{display:none!important}
  body{background:#fff;color:#000}
}

/* ===== no motion, anywhere (keep last) ===== */
*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
