/* Jam One Autoglass & Service — site styles (2026-10 rebuild). Day + night themes, no blur, 11px floor. */
:root{
  --bg:#F4F7FA;--bg-2:#E9F0F5;--surface:#FFFFFF;--line:rgba(10,36,64,.12);--line-strong:rgba(10,36,64,.26);
  --ink:#0A2440;--ink-2:#2A4563;--ink-3:#4A6280;
  --navy:#06345D;--navy-2:#0D4A80;--sky:#00A6E6;--green:#1A8848;--green-deep:#12693A;--green-soft:#E3F2E8;
  --btn:#12693A;--btn-hover:#0D5530;--on-btn:#FFFFFF;
  --band:#06345D;--on-band:#FFFFFF;--on-band-2:#C8D9E8;
  --field:#FFFFFF;--err:#B3261E;--focus:#0D4A80;
  --display:'Outfit','Helvetica Neue',Arial,sans-serif;--sans:'Chivo','Helvetica Neue',Arial,sans-serif;--mono:'Chivo Mono',ui-monospace,Menlo,Consolas,monospace;
  --r:4px;--ease:cubic-bezier(.4,0,.15,1);
  /* aliases used by site.js-driven markup */
  --paper:var(--surface);--paper-2:var(--bg-2);--accent:var(--btn);--on-accent:var(--on-btn);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#071726;--bg-2:#0D2236;--surface:#0F2840;--line:rgba(200,220,240,.14);--line-strong:rgba(200,220,240,.3);
  --ink:#EAF1F7;--ink-2:#C2D3E2;--ink-3:#97AEC4;
  --navy:#0A2B4A;--navy-2:#7FB8E8;--sky:#3CC3F5;--green:#3DBF71;--green-deep:#5BD08A;--green-soft:#12331F;
  --btn:#1A8848;--btn-hover:#1F9A52;--band:#0A2238;--on-band-2:#B5C9DB;--field:#0B2135;--err:#FF8A80;--focus:#7FB8E8;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#071726;--bg-2:#0D2236;--surface:#0F2840;--line:rgba(200,220,240,.14);--line-strong:rgba(200,220,240,.3);
  --ink:#EAF1F7;--ink-2:#C2D3E2;--ink-3:#97AEC4;
  --navy:#0A2B4A;--navy-2:#7FB8E8;--sky:#3CC3F5;--green:#3DBF71;--green-deep:#5BD08A;--green-soft:#12331F;
  --btn:#1A8848;--btn-hover:#1F9A52;--band:#0A2238;--on-band-2:#B5C9DB;--field:#0B2135;--err:#FF8A80;--focus:#7FB8E8;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;overflow-x:hidden}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p a,li a.u,.u{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--green)}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .5em;color:var(--ink);font-weight:800;letter-spacing:0}
h1{font-size:clamp(20px,2vw,23px);font-weight:800;max-width:34em}
h2{font-size:19px}
h3{font-size:18px}
h4{font-size:15px}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.container{width:100%;max-width:1160px;margin:0 auto;padding:0 16px}
@media (min-width:700px){.container{padding:0 28px}}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--surface);padding:10px 14px;border-radius:var(--r)}
.skip:focus{left:12px}
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:120;pointer-events:none}
.progress i{display:block;height:100%;width:0;background:var(--green)}

/* header */
#hdr{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:1px solid var(--line)}
#hdr.scrolled{box-shadow:0 8px 20px -18px rgba(4,22,42,.6)}
#hdr .row{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px}
.brand{flex:none;display:flex;align-items:center}
.brand img{height:46px;width:auto}
.brand .dk{display:none}
:root[data-theme="dark"] .brand .lt,:root[data-theme="dark"] .ft-logo .lt{display:none}
:root[data-theme="dark"] .brand .dk,:root[data-theme="dark"] .ft-logo .dk{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand .lt{display:none}:root:not([data-theme="light"]) .brand .dk{display:block}}
#hdr nav{margin:0}
#hdr nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
#hdr nav a{display:block;padding:8px 10px;border-radius:3px;font-weight:600;font-size:15px;color:var(--ink-2)}
#hdr nav a:hover,#hdr nav a[aria-current=page]{color:var(--ink);background:var(--bg-2)}
.hdr-cta{display:flex;align-items:center;gap:10px}
.hdr-phone{display:flex;flex-direction:column;line-height:1.15;font-weight:700;font-size:15px;color:var(--ink)}
.hdr-phone small{font-size:12px;font-weight:600;color:var(--ink-3)}
.hdr-phone .ph-ic{display:none}
.theme-btn{width:40px;height:40px;border-radius:4px;border:1.5px solid var(--line-strong);display:grid;place-items:center;color:var(--ink);flex:none}
.theme-btn svg{width:18px;height:18px}
.theme-btn .moon{display:none}
:root[data-theme="dark"] .theme-btn .sun{display:none}:root[data-theme="dark"] .theme-btn .moon{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-btn .sun{display:none}:root:not([data-theme="light"]) .theme-btn .moon{display:block}}
.menu-btn{display:none;width:44px;height:44px;border-radius:var(--r);position:relative;flex:none}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{position:absolute;left:11px;right:11px;height:2.5px;border-radius:2px;background:var(--ink);content:""}
.menu-btn span{top:21px}.menu-btn span::before{top:-7px;left:0;right:0}.menu-btn span::after{top:7px;left:0;right:0}
.drawer{display:none}
@media (max-width:1020px){
  #hdr nav{display:none}
  .hdr-cta{margin-left:auto}
  .menu-btn{display:block}
  .drawer{display:block;position:fixed;inset:0;z-index:150;visibility:hidden;pointer-events:none}
  .drawer.on{visibility:visible;pointer-events:auto}
  .drawer .scrim{position:absolute;inset:0;background:rgba(4,22,42,.6);opacity:0;transition:opacity .3s}
  .drawer.on .scrim{opacity:1}
  .drawer .sheet{position:absolute;top:0;right:0;bottom:0;width:min(340px,88vw);background:var(--surface);padding:24px 24px 30px;transform:translateX(100%);transition:transform .35s var(--ease);display:flex;flex-direction:column;gap:2px;overflow:auto}
  .drawer.on .sheet{transform:none}
  .drawer .sheet img{height:56px;width:auto;align-self:flex-start;margin-bottom:18px;background:#fff;border-radius:var(--r);padding:4px 8px}
  .drawer .sheet a{font-weight:600;font-size:20px;padding:10px 0;color:var(--ink)}
  .drawer .sheet a.btn{margin-top:18px;font-size:16px;color:var(--on-btn);justify-content:center}
  .drawer .sheet a.call{font-family:var(--sans);font-size:16px;margin-top:8px;min-height:44px}
  .drawer .x{position:absolute;top:16px;right:16px;width:44px;height:44px;font-size:30px;line-height:1;color:var(--ink)}
}
@media (max-width:600px){.hdr-phone{display:none}.brand img{height:40px}#hdr .row{gap:10px;min-height:62px}.hdr-cta .btn-sm{padding:0 12px}}
@media (max-width:360px){.hdr-cta .btn-sm{display:none}}

/* buttons: header + drawer only; page actions use the dispatch bar */
.btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:4px;background:var(--btn);color:var(--on-btn);font-weight:800;font-size:16px;border:2px solid var(--btn);transition:background-color .2s,border-color .2s}
.btn:hover{background:var(--btn-hover);border-color:var(--btn-hover)}
.btn-sm{min-height:40px;padding:0 14px;font-size:14.5px}
.arr{transition:transform .2s}
a:hover>.arr{transform:translateX(3px)}
.call{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink)}
.call svg{width:18px;height:18px;color:var(--green)}
/* dispatch bar: one segmented strip (main action | quote | phone), never a pill pair */
.dispatch{display:inline-flex;flex-wrap:wrap;align-items:stretch;margin-top:20px;border:2px solid var(--navy);border-radius:4px;background:var(--surface);max-width:100%}
.dispatch a{display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 18px;font-weight:800;font-size:15.5px;color:var(--ink)}
.dispatch a+a{border-left:2px solid var(--navy)}
.dispatch .d-main{background:var(--btn);color:var(--on-btn)}
.dispatch .d-main:hover{background:var(--btn-hover)}
.dispatch .d-alt:hover,.dispatch .d-tel:hover{background:var(--bg-2)}
.dispatch .d-tel{font-family:var(--mono);font-weight:700;letter-spacing:.01em}
.dispatch .d-tel svg{width:17px;height:17px;color:var(--green)}
:root[data-theme="dark"] .dispatch,:root[data-theme="dark"] .dispatch a+a{border-color:var(--line-strong)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .dispatch,:root:not([data-theme="light"]) .dispatch a+a{border-color:var(--line-strong)}}
@media (max-width:560px){.dispatch{display:flex;flex-direction:column;width:100%}.dispatch a+a{border-left:0;border-top:2px solid var(--navy)}.dispatch a{justify-content:space-between}}

/* home hero: the view through their windshield (logo shape), a work-ticket under it */
.hero{padding:22px 0 0}
.shield{position:relative;aspect-ratio:21/8;overflow:hidden;background:var(--navy);border:7px solid var(--navy);border-radius:46% 46% 14px 14px/26% 26% 14px 14px;clip-path:polygon(4% 0,96% 0,100% 100%,0 100%)}
.shield video{width:100%;height:100%;object-fit:cover}
.shield .sw{position:absolute;top:-10%;height:120%;width:3.2%;transform:skewX(-38deg)}
.shield .sw1{right:15%;background:var(--sky)}
.shield .sw2{right:10.5%;background:var(--green)}
.ticket{position:relative;margin:-46px 0 0 clamp(0px,4vw,48px);max-width:640px;background:var(--surface);border:2px solid var(--navy);border-top:6px solid var(--navy);padding:20px 22px 22px}
.ticket .dispatch{margin-top:16px}
.code{font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-deep);margin:0 0 10px}
.lede{font-size:17px;color:var(--ink-2);max-width:38em;margin:0}
@media (max-width:760px){.shield{aspect-ratio:16/10;border-width:5px}.ticket{margin:-28px 0 0;padding:16px}}
@media (prefers-reduced-motion:reduce){.shield video{display:none}.shield{background:var(--navy) url(realassets/hero-poster.webp) center/cover}}
/* inner pages */
.lead{padding:30px 0 0}
.strip{margin:26px 0 0;border-top:6px solid var(--navy);aspect-ratio:32/8;overflow:hidden;background:var(--bg-2)}
.strip img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.strip{aspect-ratio:16/7}}
.crumbs{font-size:13px;color:var(--ink-3);margin:0 0 14px}
.crumbs a{text-decoration:underline;text-underline-offset:3px}

/* sections */
.s{padding:48px 0;border-top:1px solid var(--line)}
.s.tint{background:var(--surface)}
.s.band{background:var(--band);color:var(--on-band)}
.s.band h2,.s.band h3{color:#fff}
.s.band p,.s.band li{color:var(--on-band-2)}
.s.band .call{color:#fff}
.s-hd{max-width:44em;margin-bottom:18px}
.k{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 16px}
.s-hd p{color:var(--ink-2)}
@media (max-width:700px){.s{padding:40px 0}}
.prose{max-width:44em}
.prose ul{padding-left:20px}
.prose li{margin-bottom:6px}

.board{list-style:none;margin:0;padding:0;border-top:2px solid var(--navy)}
.board a{display:grid;grid-template-columns:64px minmax(0,1.1fr) minmax(0,1.4fr) 28px;gap:16px;align-items:baseline;padding:18px 4px;border-bottom:1px solid var(--line-strong);transition:background-color .2s}
.board a:hover{background:var(--bg-2)}
.board .unit{font-family:var(--mono);font-weight:700;font-size:13.5px;color:var(--green-deep);letter-spacing:.06em}
.board b{font-size:18px;font-weight:800}
.board .d{color:var(--ink-3);font-size:15.5px}
.board .go{font-size:20px;color:var(--navy-2);justify-self:end}
@media (max-width:700px){.board a{grid-template-columns:52px minmax(0,1fr) 22px}.board .d{grid-column:2}.board .go{grid-row:1;grid-column:3}}
/* rate card */
.rates{width:100%;border-collapse:collapse;border-top:2px solid var(--navy)}
.rates th,.rates td{padding:15px 4px;border-bottom:1px solid var(--line-strong);vertical-align:baseline}
.rates th{text-align:left;font-weight:800;font-size:17px}
.rates th a:hover{text-decoration:underline;text-underline-offset:3px}
.rates td{text-align:right;font-family:var(--mono);font-size:14.5px;color:var(--ink-2)}
@media (max-width:520px){.rates th,.rates td{display:block;text-align:left;border:0;padding:0}.rates tr{display:block;padding:12px 0;border-bottom:1px solid var(--line-strong)}}
/* photo strip: colour and life, hard edges */
.photos{display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:100%;overflow:hidden;height:clamp(150px,22vw,280px);border-top:6px solid var(--navy);border-bottom:6px solid var(--green)}
.photos img{width:100%;height:100%;min-height:0;object-fit:cover}
@media (max-width:640px){.photos{grid-template-columns:1fr 1fr}.photos img:nth-child(3){display:none}}
/* service area plate */
.area{background:linear-gradient(rgba(6,52,93,.86),rgba(6,52,93,.86)),url(realassets/stock/gta-aerial.webp) center/cover;color:#fff;padding:52px 0}
.area .k{color:#BFD7EC}
.area p{color:#E3EEF7}
.area .towns a{color:#fff}
.area .towns li::after{color:rgba(255,255,255,.5)}

.list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;list-style:none;margin:0;padding:0}
.list li{border-top:1px solid var(--line);padding:16px 0}
.list a{display:block}
.list b{display:block;font-weight:800;font-size:17px}
.list span{font-size:15px;color:var(--ink-3)}
@media (max-width:700px){.list{grid-template-columns:1fr}}

.steps{list-style:none;margin:0;padding:0;counter-reset:st;border-top:2px solid var(--navy)}
.steps li{counter-increment:st;display:grid;grid-template-columns:44px 1fr;column-gap:12px;padding:14px 0;border-bottom:1px solid var(--line-strong)}
.steps li::before{content:counter(st,decimal-leading-zero);grid-row:span 2;font-family:var(--mono);font-weight:700;font-size:14px;color:var(--green-deep);padding-top:2px}
.steps b{display:block;font-weight:800}
.steps p{margin:0;font-size:15.5px;color:var(--ink-2)}

.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,60px);align-items:start}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.pic{border-radius:0;overflow:hidden;border:1px solid var(--line)}
.pic img{width:100%;height:auto}
.price{display:inline-block;padding:12px 16px;border:2px solid var(--navy);font-family:var(--mono);font-weight:700;color:var(--ink)}
.note{font-size:15px;color:var(--ink-3)}
.towns{display:flex;flex-wrap:wrap;gap:6px 0;list-style:none;margin:14px 0 0;padding:0;font-family:var(--mono);font-size:15px;font-weight:700}
.towns li:not(:last-child)::after{content:"/";margin:0 12px;color:var(--ink-3);font-weight:500}
.towns a{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.towns a:hover,.towns a[aria-current=page]{text-decoration-color:var(--green)}

.faq .qa{border-top:1px solid var(--line);padding:14px 0}
.faq .qa:last-child{border-bottom:1px solid var(--line)}
.faq .qa h3{font-weight:800;font-size:17px;margin:0 0 4px}
.faq .qa p{color:var(--ink-2);margin:0;max-width:44em}

.s.close{border-top:2px solid var(--navy)}
.endcta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px}
.endcta .dispatch{margin-top:0}
.endcta h2{margin-bottom:4px}
.endcta p{margin:0}

.hours{border-collapse:collapse;width:100%;max-width:420px;font-size:16px}
.hours td{padding:7px 0;border-bottom:1px solid var(--line)}
.hours td:last-child{text-align:right;font-weight:600}
.hours tr.today td{color:var(--green-deep);font-weight:700}
.nap{font-style:normal;line-height:1.7}

/* quote form (markup + ids from the live site; site.js drives it) */
.acct{display:inline-flex;flex-wrap:wrap;gap:0;border:2px solid var(--navy);border-radius:var(--r);overflow:hidden;margin:0 0 6px;padding:0;list-style:none}
.acct li{position:relative}
.acct input{position:absolute;opacity:0;width:1px;height:1px}
.acct label{display:inline-flex;align-items:center;min-height:46px;padding:0 16px;border-radius:0;border:0;background:var(--field);font-weight:600;font-size:15.5px;cursor:pointer}
.acct input:checked+label{border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1.5px var(--green)}
.acct input:focus-visible+label{outline:3px solid var(--focus);outline-offset:3px}
.fleet-box[hidden]{display:none}
.fleet-box{margin-top:14px;padding:16px;border-radius:var(--r);border:1.5px dashed var(--line-strong)}
.dmg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.dmg li{position:relative}
.dmg label{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;border-radius:var(--r);background:var(--surface);border:1.5px solid var(--line-strong);text-align:center;font-weight:600;font-size:14.5px;line-height:1.25;height:100%;cursor:pointer}
.dmg label:hover{border-color:var(--green)}
.dmg svg{width:76px;height:56px}
@media (max-width:520px){.dmg{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dmg svg{width:64px;height:48px}}
.qwrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(24px,4vw,48px);align-items:start}
@media (max-width:960px){.qwrap{grid-template-columns:1fr}}
.qform fieldset{border:0;margin:0 0 30px;padding:0;min-width:0}
.qform legend{font-weight:700;font-size:20px;color:var(--ink);padding:0;margin-bottom:6px}
.qform .hint{font-size:15px;color:var(--ink-3);margin:0 0 14px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;min-width:0}
.field label,.field .lab{font-weight:600;font-size:15.5px;color:var(--ink)}
.field label .opt,.qform legend .opt{font-weight:500;color:var(--ink-3);font-size:14.5px}
.field input[type=text],.field input[type=tel],.field input[type=email],.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:var(--r);border:1.5px solid var(--line-strong);background:var(--field);color:var(--ink);font:inherit;font-size:16.5px}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--navy-2) 22%,transparent)}
.field.bad input,.field.bad select,.field.bad textarea{border-color:var(--err)}
.field .err{display:none;color:var(--err);font-weight:600;font-size:15px}
.field.bad .err{display:block}
.grid3{display:grid;grid-template-columns:1.1fr 1.2fr .9fr;gap:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.grid3,.grid2{grid-template-columns:1fr;gap:0}}
.qform .dmg input,.seg input{position:absolute;opacity:0;width:1px;height:1px}
.qform .dmg input:checked+label{border-color:var(--green);box-shadow:inset 0 0 0 2px var(--green);background:var(--green-soft)}
.qform .dmg input:focus-visible+label,.seg input:focus-visible+label{outline:3px solid var(--focus);outline-offset:3px}
.seg{display:inline-flex;flex-wrap:wrap;gap:0;border:2px solid var(--navy);border-radius:var(--r);overflow:hidden;margin:0;padding:0;list-style:none}
.seg li{position:relative}
.seg label{display:inline-flex;align-items:center;min-height:46px;padding:0 14px;border-radius:0;border:0;background:var(--field);font-weight:600;font-size:15px;cursor:pointer}
.seg input:checked+label{border-color:var(--green);background:var(--green-soft);box-shadow:inset 0 0 0 1.5px var(--green)}
.qnote{display:none;font-size:15px;color:var(--ink-2);background:var(--green-soft);border-radius:var(--r);padding:10px 12px;margin:14px 0 0}
.qnote.on{display:block}
.errsum{display:none;border:2px solid var(--err);border-radius:var(--r);padding:16px 20px;margin-bottom:24px;background:color-mix(in srgb,var(--err) 8%,var(--surface))}
.errsum.on{display:block}
.errsum h2{font-size:18px;color:var(--err);margin-bottom:6px}
.errsum ul{margin:0;padding-left:20px}
.errsum a{color:var(--ink);text-decoration:underline;font-weight:600}
.submit-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:8px}
.qside{position:sticky;top:90px;background:var(--band);color:var(--on-band);border-radius:4px;padding:24px 22px}
.qside h3{color:#fff;margin-bottom:10px}
.qside p,.qside li{color:var(--on-band-2);font-size:15.5px}
.qside ul{padding-left:18px;margin:0 0 14px}
.qside .call{color:#fff}
@media (max-width:960px){.qside{position:static}}
.summary{display:none;border-radius:var(--r);border:2px solid var(--green);padding:24px;background:var(--green-soft)}
.summary.on{display:block}
.summary h2{font-size:22px;margin-bottom:8px}
.summary dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 22px;margin:18px 0 22px;font-size:16px}
.summary dt{font-weight:600;color:var(--ink-3)}
.summary dd{margin:0;color:var(--ink);overflow-wrap:anywhere}
.summary .actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.summary .sum-line{font-weight:600;color:var(--ink)}
.linkbtn{font-weight:600;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
@media (max-width:520px){.summary dl{grid-template-columns:1fr;gap:2px}.summary dd{margin-bottom:10px}}
.dmg-field{margin-bottom:0}
.field.bad .dmg label{border-color:var(--err)}
.chips-field{margin:14px 0 0;max-width:240px}
.qform .notes-hint{margin:0}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.consent{margin:0 0 22px}
.field .ck{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.ck input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--green)}
.field.bad .ck span{color:var(--err)}
.net-err{border:2px solid var(--err);border-radius:var(--r);padding:16px 20px;margin:0 0 22px;background:color-mix(in srgb,var(--err) 8%,var(--surface))}
.net-err p{margin:0 0 12px;font-weight:600;color:var(--ink)}
.net-err a{color:var(--ink);text-decoration:underline;font-weight:700;white-space:nowrap}
.qsending #qSend{opacity:.7;pointer-events:none}

/* footer */
.ft{background:var(--band);color:var(--on-band-2);padding:52px 0 26px;font-size:15px}
.ft .row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:30px}
.ft-logo{display:inline-block;background:#fff;border-radius:var(--r);padding:6px 10px}
.ft-logo img{height:44px;width:auto}
.ft-logo .dk{display:none}
.ft h4{color:#fff;font-size:15px;margin:4px 0 12px}
.ft ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ft a:hover{color:#fff;text-decoration:underline}
.ft .legal{margin-top:40px;font-size:13.5px;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
.ft .flag{display:inline-block;width:18px;height:11px;vertical-align:-1px;margin-right:6px;background:linear-gradient(90deg,#DC1014 0 26%,#fff 26% 74%,#DC1014 74%)}
@media (max-width:900px){.ft .row{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ft .row{grid-template-columns:1fr}}

/* chat (ids/classes from the live site; site.js + card-ask-client.js drive it) */
.chat-fab{position:fixed;right:16px;bottom:16px;z-index:70;display:flex;align-items:center;gap:10px;height:54px;padding:0 16px 0 12px;border-radius:4px;background:var(--navy);color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 14px 26px -14px rgba(4,22,42,.7);font-weight:700;font-size:15px}
.chat-fab img{width:40px;height:16px;object-fit:contain;background:#fff;border-radius:4px;padding:1px 2px;box-sizing:content-box}
.chat-fab.aside{opacity:0;pointer-events:none}
@media (max-width:640px){.chat-fab{padding:0 10px;height:50px}.chat-fab .t{display:none}}
.chat{position:fixed;right:16px;bottom:80px;z-index:95;width:min(380px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 120px));display:none;flex-direction:column;background:var(--surface);border:2px solid var(--navy);border-radius:4px;box-shadow:0 30px 60px -20px rgba(4,22,42,.6);overflow:hidden}
.chat.on{display:flex}
.chat-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--navy);color:#fff}
.chat-hd .id{display:flex;align-items:center;gap:12px}
.chat-hd .av img{height:26px;width:auto;background:#fff;border-radius:4px;padding:2px 4px}
.chat-hd b{display:block;font-size:16px}
.chat-hd small{font-size:13.5px;color:#C9D8E6}
.chat-hd button{color:#fff;font-size:28px;width:40px;height:40px;line-height:1}
.chat-log{padding:14px;overflow:auto;display:flex;flex-direction:column;gap:10px;flex:1;min-height:180px}
.msg{max-width:86%;padding:10px 14px;border-radius:var(--r);font-size:15px;line-height:1.45}
.msg.bot{background:var(--bg-2);color:var(--ink);border-bottom-left-radius:0}
.msg.you{background:var(--navy-2);color:#fff;margin-left:auto;border-bottom-right-radius:0}
:root[data-theme="dark"] .msg.you{color:#071726}
.msg.typing{opacity:.6}
.chat-sugg{display:flex;flex-direction:column;align-items:flex-start;padding:0 14px 8px}
.chat-sugg button{min-height:40px;font-size:15px;font-weight:600;color:var(--green-deep);text-align:left}
.chat-sugg button::after{content:" \2192"}
.chat form{display:flex;gap:8px;padding:12px;background:var(--bg-2)}
.chat input{flex:1;min-width:0;min-height:44px;padding:0 12px;border-radius:var(--r);border:1.5px solid var(--line-strong);background:var(--field);color:var(--ink);font-size:16px}
.chat form button{background:var(--btn);color:var(--on-btn);border-radius:var(--r);padding:0 16px;font-weight:700}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.ft .pwr{margin:12px 0 0;font-size:13px;color:var(--on-band-2)}
.ft .pwr a{text-decoration:underline;text-underline-offset:2px}
@media (max-width:560px){.towns{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.towns li::after{content:none!important}}
.acct li+li label,.seg li+li label{border-left:2px solid var(--navy)}
.acct input:checked+label,.seg input:checked+label{background:var(--navy);color:#fff;box-shadow:none}
/* damage picker: one joined grid, not rounded icon cards */
.dmg{gap:0;border:2px solid var(--navy);border-radius:var(--r);overflow:hidden}
.dmg label{border-radius:0;border:0;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.qform .dmg input:checked+label{background:var(--navy);color:#fff;box-shadow:none}
.qform .dmg input:checked+label svg{filter:none}
:root[data-theme="dark"] .ticket{border-color:var(--line-strong)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ticket{border-color:var(--line-strong)}}
.board b,.rates th,.faq .qa h3,.steps b,.list b{font-family:var(--display);font-weight:700}
