:root{
  --ink:#111111; --ink-2:#1C1C1C; --ink-3:#2A2A2A;
  --lime:#8CFF00; --lime-press:#78E000; --lime-ink:#3B7300; --lime-tint:#EFFFD9;
  --bg:#F4F5F1; --card:#FFFFFF; --line:#E2E4DC; --text:#16181A; --muted:#5B6067; --muted-2:#8A8F96;
  --alert:#C41E2A;
  --r-lg:0; --r:0; --r-sm:0;
  --max:1240px; --max-wide:1480px;
  --shadow:0 1px 2px rgba(17,17,17,.05),0 8px 28px rgba(17,17,17,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:"Inter Tight",Inter,sans-serif;line-height:1.12;margin:0;letter-spacing:-.02em}
p{margin:0}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--lime)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.wrap-wide{max-width:none;margin:0 auto;padding:0 clamp(24px,3vw,56px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--lime);color:var(--ink);padding:10px 16px;font-weight:700;z-index:100;border-radius:0}
.skip:focus{top:12px}
svg.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* review notes */
.rn{display:block;margin-top:14px;font-size:12.5px;line-height:1.45;color:#6B5A00;background:#FFF6CC;border:1px dashed #D9B800;border-radius:0;padding:8px 10px}
.rn b{font-weight:700}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:0;font-weight:700;font-size:15.5px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;transition:background .15s,transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-lime{background:var(--lime);color:var(--ink)}
.btn-lime:hover{background:var(--lime-press)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:var(--ink-3)}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(255,255,255,.04)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:#fff}
.pill{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text);background:#fff;border:1px solid var(--line);padding:6px 14px 6px 10px;border-radius:0}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--ink) inset}
.pill.dark{background:var(--ink-2);border-color:var(--ink-3);color:#fff}
.sec{padding:104px 0}
.head-c{text-align:center;max-width:720px;margin:0 auto 52px}
.head-c h2,.h2{font-size:clamp(30px,3.6vw,46px);margin-top:16px}
.head-c p{color:var(--muted);margin-top:14px;font-size:17px}
.hl{background:linear-gradient(transparent 62%,var(--lime) 62%);padding:0 2px}

/* util bar */
.masthead{position:relative;z-index:40}
.masthead::before{content:"";position:absolute;left:0;right:0;top:0;bottom:44px;background:var(--ink);z-index:-1}
.masthead.is-stuck::before{bottom:0}
.masthead.is-stuck{padding-bottom:44px}
.util{color:#D6D8DB;font-size:13.5px}
.util .wrap-wide{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:52px;padding-left:calc(clamp(24px,3vw,56px) + 28px);padding-right:calc(clamp(24px,3vw,56px) + 28px)}
.util a{text-decoration:none;color:#fff}
.util .l{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.util .l span{display:inline-flex;gap:8px;align-items:center}
.util svg.i{width:16px;height:16px;color:var(--lime)}
.util .r{display:flex;gap:10px;align-items:center}
.soc{width:30px;height:30px;border-radius:0;display:grid;place-items:center;background:var(--ink-3)}
.soc:hover{background:var(--lime);color:var(--ink)}
.soc svg{width:15px;height:15px;fill:currentColor}

/* header */
header.site{position:relative;z-index:40;margin-bottom:-44px}
.hbox{background:#fff;display:flex;align-items:center;gap:28px;height:88px;padding-right:28px;box-shadow:0 18px 40px rgba(0,0,0,.18)}
header.site .logo{align-self:flex-end;height:102px;display:flex;align-items:center;padding:0 28px;background:#fff;border-bottom:4px solid var(--lime);box-shadow:0 -8px 20px rgba(0,0,0,.12)}
.logo img{height:58px;width:auto}
header.site.stuck{position:fixed;top:0;left:0;right:0;margin:0;animation:drop .25s ease-out}
@keyframes drop{from{transform:translateY(-100%)}to{transform:none}}
nav.main{flex:1;display:flex;justify-content:center}

/* hero */
.hero{position:relative;background:var(--ink)}
.hero-img{position:absolute;inset:0;overflow:hidden}
.hero-img img,.hero-img video{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block}
.vid-btn{position:absolute;right:clamp(24px,3vw,56px);bottom:150px;z-index:2;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;background:rgba(17,17,17,.72);color:#fff;border:1px solid rgba(255,255,255,.35);font:600 13px Inter;cursor:pointer;backdrop-filter:blur(4px)}
.vid-btn:hover{background:var(--ink);border-color:var(--lime)}
.vid-btn svg.i{width:16px;height:16px}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.55) 0%,rgba(10,10,10,.15) 55%,rgba(10,10,10,0) 100%),linear-gradient(0deg,rgba(10,10,10,.45),transparent 40%)}
.hero .wrap-wide{position:relative;min-height:740px;display:flex;align-items:flex-end;padding-top:124px;padding-bottom:150px}
.hcard{background:var(--ink);color:#fff;border-radius:0;padding:40px 44px 36px;max-width:640px;box-shadow:0 30px 60px rgba(0,0,0,.35);border-top:6px solid var(--lime)}
.live{display:flex;align-items:center;gap:12px;margin-bottom:24px;font:700 12.5px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.live i{position:relative;width:10px;height:10px;flex:none;background:var(--lime);border-radius:50%}
.live i::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--lime);animation:ping 1.8s ease-out infinite}
@keyframes ping{from{transform:scale(1);opacity:.7}to{transform:scale(2.8);opacity:0}}
.live span{color:#A9ADB3;letter-spacing:.08em;padding-left:12px;border-left:1px solid #3A3D42}
.stars{color:#F5B400;letter-spacing:1px}
.hcard h1{font-size:clamp(36px,4.4vw,58px);font-weight:800}
.hcard h1 em{font-style:normal;color:var(--lime)}
.hcard .lead{color:#C9CCD0;margin-top:18px;font-size:17px;max-width:520px}
.hcard .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hcard .micro{margin-top:18px;font-size:13.5px;color:#A9ADB3;display:flex;gap:8px;align-items:flex-start}
.hcard .micro b{color:#fff}
.hcard .micro svg{color:#FF6B73;width:18px;height:18px;margin-top:2px}

/* location strip */
.locstrip{position:relative;z-index:2;margin-top:-92px}
.locstrip .box{background:#fff;border-radius:0;box-shadow:var(--shadow);padding:24px 28px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;border:1px solid var(--line)}
.locstrip .t b{font-family:"Inter Tight";font-size:22px;display:block;line-height:1.15}
.locstrip .t span{font-size:13.5px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:0;background:var(--bg);border:1px solid var(--line);font-weight:600;font-size:14.5px;text-decoration:none}
.chip svg.i{width:16px;height:16px;color:var(--lime-ink)}
.chip:hover{background:var(--lime);border-color:var(--lime)}
.chip:hover svg.i{color:var(--ink)}

/* locations */
.loc{padding-top:96px}
.loc .head-c{max-width:780px}

/* tires */
.tires{background:#000;color:#fff;padding:104px 0;overflow:hidden}
.tires .g{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.tires h2{font:800 clamp(36px,4.4vw,62px)/1.04 "Inter Tight";text-transform:uppercase;letter-spacing:-.01em}
.tires h2 em{font-style:normal;color:var(--lime)}
.tires ul{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:16px}
.tires li{display:flex;gap:14px;align-items:flex-start;font-size:17px;color:#D4D6D9}
.tires li b{color:#fff}
.tires li .ck{width:26px;height:26px;flex:none;background:var(--lime);color:var(--ink);display:grid;place-items:center;margin-top:1px}
.tires li .ck svg.i{width:16px;height:16px;stroke-width:3}
.tires .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.tires figure{margin:0}
.tires figure img{width:100%;height:auto}
.tires .rn{margin-top:20px}
.loc-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:28px;align-items:start}
.map{position:sticky;top:112px;background:var(--ink);border-radius:0;overflow:hidden;color:#fff}
.map svg.m{display:block;width:100%;height:auto}
.map .lake{fill:#1B2A33}
.map .lake-l{fill:#5E7A8A;font:600 13px Inter;letter-spacing:.3em}
.map .rd{stroke:#3A3D42;stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.map .rd.tp{stroke:#4A4E54}
.map .sh rect{fill:#2B2E33;stroke:#575B62}
.map .sh text{fill:#C9CCD0;font:700 11px Inter;text-anchor:middle}
.map .city circle{fill:#3B82F6;stroke:#0B0C0E;stroke-width:2}
.map .city text{fill:#6FA8FF;font:700 13px Inter}
.map .pin{cursor:pointer}
.map .pin .halo{fill:var(--lime);opacity:0;transition:opacity .2s}
.map .pin .dot{fill:var(--lime);stroke:var(--ink);stroke-width:3}
.map .pin text{fill:#fff;font:700 14px "Inter Tight";paint-order:stroke;stroke:var(--ink);stroke-width:5px;stroke-linejoin:round}
.map .pin.on .halo{opacity:.28}
.map .pin.on .dot{r:11}
.map .pin.on text{fill:var(--lime)}
.map .you{fill:#fff;stroke:#0B0C0E;stroke-width:3}
.map .legend{display:flex;gap:20px;flex-wrap:wrap;padding:16px 22px;border-top:1px solid var(--ink-3);font-size:13px;color:#B9BDC2}
.map .legend span{display:inline-flex;align-items:center;gap:8px}
.map .legend i{width:12px;height:12px;border-radius:50%;background:var(--lime);border:2px solid #000;display:inline-block}
.map .legend i.c{background:#3B82F6;border-color:#3B82F6;width:8px;height:8px}
.map .legend i.r{width:22px;height:4px;border-radius:0;background:#4A4E54;border:0}
.finder{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.finder .btn{min-height:46px;font-size:14.5px;padding:0 18px}
.finder output{font-size:13.5px;color:var(--muted)}
.lcards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lc{background:#fff;border:1px solid var(--line);border-radius:0;padding:20px 20px 18px;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative}
.lc.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--lime),var(--shadow);transform:translateY(-2px)}
.lc .tag{position:absolute;top:16px;right:16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--lime);color:var(--ink);border-radius:0;padding:3px 9px}
.lc .tag.near{background:var(--ink);color:var(--lime)}
.lc h3{font-size:21px;display:flex;align-items:center;gap:8px}
.lc h3 svg.i{color:var(--lime-ink)}
.lc address{font-style:normal;color:var(--muted);font-size:14.5px;margin-top:6px;line-height:1.5}
.lc .meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.lc .meta span{font-size:12px;font-weight:600;background:var(--bg);border-radius:0;padding:3px 8px;color:#3D4249}
.lc .dist{font-weight:700;color:var(--ink)}
.lc .acts{display:flex;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.lc .acts a{font-size:14px;font-weight:700;text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.lc .acts a:hover{text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px}
.lc .acts svg.i{width:16px;height:16px}
.areas{margin-top:18px;background:#fff;border:1px dashed #C9CCC2;border-radius:0;padding:16px 20px;font-size:14.5px;color:var(--muted)}
.areas b{color:var(--text)}
.areas a{font-weight:600;color:var(--text)}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sc{background:#fff;border-radius:0;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;text-decoration:none;transition:transform .2s,box-shadow .2s}
.sc:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.sc .ph{aspect-ratio:16/10;overflow:hidden;position:relative}
.sc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.sc:hover .ph img{transform:scale(1.04)}
.sc .bd{padding:0 24px 24px;position:relative}
.sc .ic{width:56px;height:56px;border-radius:0;background:var(--lime);display:grid;place-items:center;margin-top:-28px;position:relative;border:4px solid #fff;color:var(--ink)}
.sc .ic svg.i{width:24px;height:24px}
.sc h3{font-size:21px;margin-top:16px}
.sc p{color:var(--muted);font-size:15px;margin-top:8px}
.sc .go{position:absolute;right:20px;top:-22px;width:44px;height:44px;border-radius:0;background:var(--ink);color:var(--lime);display:grid;place-items:center}
.more{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;align-items:center;margin-top:34px;font-size:15px;color:var(--muted)}
.more a{font-weight:600;color:var(--text);text-decoration:none;border-bottom:2px solid var(--lime)}

/* about */
.about{background:#fff}
.ab-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:44px}
.ab-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.st{background:var(--bg);border-radius:0;padding:22px}
.st b{font-family:"Inter Tight";font-size:44px;line-height:1;display:block;letter-spacing:-.03em}
.st b small{color:var(--lime-ink);font-size:.7em}
.st span{color:var(--muted);font-size:14px;margin-top:8px;display:block}
.st.dark{background:var(--ink);color:#fff}
.st.dark b{color:var(--lime)}
.st.dark span{color:#B9BDC2}
.feat{display:flex;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.feat:last-child{border-bottom:0}
.feat .ic{width:48px;height:48px;border-radius:0;background:var(--lime-tint);display:grid;place-items:center;color:var(--lime-ink);flex:none}
.feat h3{font-size:18px}
.feat p{color:var(--muted);font-size:15px;margin-top:4px}
.collage{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:14px;min-height:520px}
.collage figure{margin:0;border-radius:0;overflow:hidden;position:relative}
.collage figure:first-child{grid-row:span 2}
.collage img{width:100%;height:100%;object-fit:cover}
.collage figcaption{position:absolute;left:14px;bottom:14px;background:rgba(17,17,17,.82);color:#fff;font-size:13px;font-weight:600;padding:6px 12px;border-radius:0}
.affil{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.wc{position:relative;background:var(--ink);color:#fff;padding:36px 36px 96px;border-top:4px solid var(--lime);overflow:hidden}
.wc h3{font:800 22px/1.15 "Inter Tight";text-transform:uppercase;letter-spacing:.01em;color:var(--lime)}
.wc p{color:#D4D6D9;margin-top:14px;font-size:15.5px;line-height:1.65}
.wc .wi{position:absolute;right:28px;bottom:24px;width:60px;height:60px;color:#3A3D42;stroke-width:1.5}
.affil span{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:0;padding:10px 14px;font-weight:700;font-size:14px}
.affil svg.i{color:var(--lime-ink);width:18px;height:18px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
.step{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:0;padding:28px}
.step .n{width:54px;height:54px;flex:none;border-radius:0;border:2px solid var(--ink);display:grid;place-items:center;font:800 20px "Inter Tight"}
.step:first-child .n{background:var(--lime);border-color:var(--lime)}
.step h3{font-size:19px}
.step p{color:var(--muted);font-size:15px;margin-top:6px}

/* testimonials */
.tst{background:var(--ink);color:#fff;padding:104px 0}
.tst-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:44px}
.tst h2{font-size:clamp(30px,3.6vw,46px);margin-top:16px;max-width:620px}
.tst-side{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.rating{display:flex;align-items:center;gap:14px;background:var(--ink-2);border:1px solid var(--ink-3);padding:12px 18px}
.rating .g{width:40px;height:40px;background:#fff;display:grid;place-items:center}
.rating b{display:block;font-family:"Inter Tight";font-size:18px}
.rating span{font-size:13px;color:#B9BDC2}
.rv-grid{columns:3 300px;column-gap:20px}
.rv{break-inside:avoid;margin:0 0 20px;color:#fff;background:var(--ink-2);border:1px solid var(--ink-3);border-top:3px solid var(--lime);padding:24px 24px 22px}
.rv-top{display:flex;justify-content:space-between;align-items:center}
.rv .stars{font-size:16px}
.rv .gl{width:18px;height:18px;opacity:.5}
.rv blockquote{margin:14px 0 0;font:500 17px/1.55 Inter;color:#E6E8EA}
.rv:first-child blockquote{font:600 21px/1.45 "Inter Tight";color:#fff}
.rv figcaption{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--ink-3)}
.rv .av{width:38px;height:38px;flex:none;background:var(--lime);color:var(--ink);display:grid;place-items:center;font:800 16px "Inter Tight"}
.rv figcaption b{display:block;font-size:15px}
.rv figcaption small{color:#9A9EA4;font-size:13px}
.tst-foot{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:16px}
.tst-foot .rn{margin:0;flex:1;min-width:280px}

/* contact */
.ct-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.formcard{background:#fff;border:1px solid var(--line);border-radius:0;padding:36px}
.formcard h3,.info h3{font-size:24px}
.formcard .sub,.info .sub{color:var(--muted);font-size:15px;margin-top:6px}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.fg .full{grid-column:1/-1}
label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
label .opt{font-weight:500;color:var(--muted-2)}
input,select,textarea{width:100%;font:inherit;font-size:15.5px;border:1.5px solid #CDD0C7;border-radius:0;padding:12px 14px;background:#fff;color:var(--text);min-height:50px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--ink)}
.locrow{display:flex;gap:8px}
.locrow .btn{min-height:50px;padding:0 16px;font-size:14px;border-radius:0;white-space:nowrap}
.hint{font-size:12.5px;color:var(--muted);margin-top:6px}
.err{color:var(--alert);font-size:13px;font-weight:600;margin-top:6px;display:none}
.inv input{border-color:var(--alert)}
.inv .err{display:block}
.safe{display:flex;gap:10px;align-items:flex-start;background:#FFF1F2;border:1px solid #F5C2C6;color:#7A1018;border-radius:0;padding:12px 14px;font-size:14px;margin-top:16px}
.safe svg.i{color:var(--alert);margin-top:2px}
.formcard .btn{width:100%;margin-top:20px}
.done{display:none;text-align:center;padding:30px 10px}
.done .ok{width:64px;height:64px;border-radius:0;background:var(--lime);display:grid;place-items:center;margin:0 auto 16px}
.done h3{font-size:26px}
.done p{color:var(--muted);margin-top:10px}
.info{padding:36px 8px 0}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.tile{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:0;padding:18px;text-decoration:none}
.tile .ic{width:44px;height:44px;border-radius:0;background:var(--bg);display:grid;place-items:center;flex:none}
.tile small{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.tile b{font-size:15.5px;display:block;margin-top:2px;line-height:1.35}
.tile.main{grid-column:1/-1;background:var(--ink);color:#fff;border-color:var(--ink)}
.tile.main .ic{background:var(--lime);color:var(--ink)}
.tile.main small{color:var(--lime)}
.tile.main b{font-family:"Inter Tight";font-size:28px}
.depts{margin-top:18px;font-size:14.5px;background:#fff;border:1px solid var(--line);border-radius:0;padding:16px 18px}
.depts summary{font-weight:700;cursor:pointer}
.depts p{color:var(--muted);margin-top:8px}

/* faq */
.faq{max-width:860px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:0;margin-bottom:12px}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-weight:700;font-size:17px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";width:32px;height:32px;border-radius:0;background:var(--bg);display:grid;place-items:center;font-size:20px;flex:none}
.faq details[open] summary::after{content:"–";background:var(--lime)}
.faq details p{padding:0 24px 22px;color:var(--muted)}

/* blog */
.bl-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px}
.bl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post{background:#fff;border:1px solid var(--line);border-radius:0;overflow:hidden;text-decoration:none;display:flex;flex-direction:column}
.post .ph{aspect-ratio:16/10;overflow:hidden}
.post .ph img{width:100%;height:100%;object-fit:cover}
.post .bd{padding:22px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.post .cat{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lime-ink)}
.post h3{font-size:19px;line-height:1.3}
.post .rm{margin-top:auto;font-weight:700;font-size:14px;display:inline-flex;gap:6px;align-items:center}

/* cta banner */

/* footer */
footer.site{background:#0A0A0A;color:#fff;border-top:4px solid var(--lime);font-size:16px;overflow:hidden}
.fcta{display:flex;justify-content:space-between;align-items:center;gap:32px 48px;flex-wrap:wrap;padding:72px 0 64px;border-bottom:1px solid var(--ink-3)}
.fcta .k{display:block;font:700 13px/1 Inter;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin-bottom:16px}
.fcta h2{font:800 clamp(38px,5vw,72px)/.95 "Inter Tight";letter-spacing:-.03em}
.fcta h2 a{color:#fff;text-decoration:none;white-space:nowrap}
.fcta h2 a:hover{color:var(--lime)}
.fcta .acts{display:flex;gap:12px;flex-wrap:wrap}
.fcta .btn{min-height:58px;padding:0 28px;font-size:17px}
.fgrid{display:grid;grid-template-columns:1.4fr .9fr .8fr 1.6fr 1.2fr;gap:48px;padding:72px 0 0}
.flogo img{width:260px;height:auto;margin-bottom:24px}
.fgrid p{color:#BFC2C6;max-width:36ch;font-size:15.5px}
.fgrid h4{font:800 13px/1 Inter;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin:6px 0 22px;padding-bottom:14px;border-bottom:2px solid var(--lime);display:inline-block}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.fgrid ul a{color:#D4D6D9;font-weight:500;text-decoration:none}
.fgrid ul a:hover{color:var(--lime)}
.floc{grid-template-columns:1fr 1fr;gap:16px 24px!important}
.floc a b{display:block;color:#fff;font-weight:700}
.floc a span{color:#9A9EA4;font-size:13.5px}
.floc a:hover b{color:var(--lime)}
.fgrid .tel{font:800 clamp(26px,2.2vw,32px)/1 "Inter Tight";white-space:nowrap;letter-spacing:-.02em;color:#fff;display:block;margin-bottom:14px;text-decoration:none}
.fgrid .tel:hover{color:var(--lime)}
.fsoc{display:flex;gap:8px;margin-top:22px}
.fsoc .soc{background:var(--ink-3);color:#fff}
.fmark{font:800 clamp(40px,10.6vw,200px)/.8 "Inter Tight";letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px #2C2F33;white-space:nowrap;text-align:center;margin:72px 0 -.12em;user-select:none}
.fbot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--ink-3);padding:26px 0 30px;color:#8A8F96;font-size:13.5px;flex-wrap:wrap;position:relative;background:#0A0A0A}
.fbot a{color:#D4D6D9;font-weight:600}
.fbot a:hover{color:#fff}

/* floating widgets: accessibility + quick request */
.fx{position:fixed;z-index:60;bottom:24px}
.a11y-btn{left:24px;width:54px;height:54px;border-radius:0;display:grid;place-items:center;background:var(--ink);color:#fff;border:2px solid #fff;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.a11y-btn:hover{background:var(--ink-3)}
.a11y-btn svg{width:28px;height:28px}
.fab{right:24px;display:inline-flex;align-items:center;gap:10px;min-height:58px;padding:0 24px 0 20px;border-radius:0;background:var(--lime);color:var(--ink);border:2px solid var(--ink);font:700 16px/1 Inter;cursor:pointer;box-shadow:0 12px 30px rgba(17,17,17,.28);transition:transform .2s,background .15s}
.fab:hover{background:var(--lime-press);transform:translateY(-2px)}
.fab svg{width:21px;height:21px}
.fab .pulse{width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 0 rgba(17,17,17,.5);animation:pulse 1.8s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(17,17,17,0)}100%{box-shadow:0 0 0 0 rgba(17,17,17,0)}}
.scrim{position:fixed;inset:0;z-index:70;background:rgba(10,10,10,.55);backdrop-filter:blur(2px)}
.panel{position:fixed;z-index:80;bottom:96px;background:#fff;border:1px solid var(--line);border-radius:0;box-shadow:0 30px 70px rgba(0,0,0,.3);max-height:calc(100vh - 120px);overflow:auto;overscroll-behavior:contain}
.panel[hidden],.scrim[hidden]{display:none}
.panel-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1;border-top:5px solid var(--lime)}
.panel-h h2{font:800 22px/1.1 "Inter Tight"}
.panel-h .k{display:block;font:700 11px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--lime-ink);margin-bottom:6px}
.x{flex:none;width:40px;height:40px;border-radius:0;display:grid;place-items:center;background:var(--bg);border:1px solid var(--line);cursor:pointer;color:var(--ink)}
.x:hover{background:var(--ink);color:#fff}
.x svg{width:18px;height:18px}
.panel-b{padding:20px}
.a11y-panel{left:24px;width:340px}
.a11y-panel .grp{font:700 11.5px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.tsize{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}
.tsize button,.tog{font:600 15px/1.2 Inter;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:0;cursor:pointer}
.tsize button{height:48px}
.tsize button:nth-child(2){font-size:18px}.tsize button:nth-child(3){font-size:21px}
.tsize button[aria-pressed=true],.tog[aria-pressed=true]{border-color:var(--ink);background:var(--lime-tint)}
.togs{display:grid;gap:8px}
.tog{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:52px;padding:10px 14px;text-align:left}
.tog i{flex:none;width:40px;height:24px;border-radius:0;background:#C9CCC2;position:relative;transition:background .15s}
.tog i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:0;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.tog[aria-pressed=true] i{background:var(--ink)}
.tog[aria-pressed=true] i::after{transform:translateX(16px);background:var(--lime)}
.a11y-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:13.5px}
.a11y-foot button{font:700 14px Inter;background:none;border:0;color:var(--ink);cursor:pointer;padding:6px 0;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px}
.a11y-foot a{color:var(--muted)}
.qf-panel{right:24px;width:440px}
.qf-call{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--ink);color:#D4D6D9;border-radius:0;margin-bottom:18px;font-size:14px}
.qf-call svg{color:var(--lime)}
.qf-call a{color:var(--lime);font-weight:700;white-space:nowrap;text-decoration:none}
.qf .fld{margin-bottom:16px}
.qf .fld.inv input{border-color:var(--alert)}
.qf .fld.inv .err{display:block}
.qf .locrow .btn{min-height:50px}
.qf .nearest{font-size:13px;color:var(--lime-ink);font-weight:700;margin-top:6px;min-height:1px}
.qf fieldset{border:0;padding:0;margin:0 0 4px}
.qf legend{font-weight:600;font-size:14px;margin-bottom:8px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{margin:0;height:46px;display:grid;place-items:center;border:1.5px solid #CDD0C7;border-radius:0;cursor:pointer;font-weight:600}
.seg input:checked+label{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.seg input:focus-visible+label{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--lime)}
.qf .warn{display:none;margin-top:10px}
.qf .warn.on{display:flex}
.qf .submit{width:100%;margin-top:18px}
.qf .fine{font-size:12.5px;color:var(--muted);margin-top:12px;line-height:1.5}
.qf-ok{text-align:center;padding:10px 4px 4px}
.qf-ok .tick{width:64px;height:64px;border-radius:0;background:var(--lime);display:grid;place-items:center;margin:0 auto 16px}
.qf-ok h3{font-size:26px;margin-bottom:8px}
.qf-ok p{color:var(--muted);font-size:15px;margin-bottom:10px}
.qf-ok .ref{display:inline-block;font:700 15px/1 Inter;letter-spacing:.08em;padding:10px 14px;background:var(--bg);border:1px solid var(--line);border-radius:0;margin:4px 0 16px}

/* accessibility preferences (applied to <html>) */
html.a11y-t1 main,html.a11y-t1 footer,html.a11y-t1 .panel{zoom:1.12}
html.a11y-t2 main,html.a11y-t2 footer,html.a11y-t2 .panel{zoom:1.25}
html.a11y-contrast{--muted:#24272B;--muted-2:#3D4249;--line:#8A8F96;--bg:#FFFFFF;--lime-ink:#2A5200}
html.a11y-contrast .hcard .lead,html.a11y-contrast .tst .quote .who span,html.a11y-contrast .rating span,html.a11y-contrast .fgrid p,html.a11y-contrast .floc a span{color:#fff}
html.a11y-contrast .hero-img::after{background:rgba(0,0,0,.6)}
html.a11y-contrast input,html.a11y-contrast select,html.a11y-contrast textarea{border-color:#3D4249}
html.a11y-links main a:not(.btn):not(.sc):not(.post):not(.tile):not(.chip),html.a11y-links footer a:not(.btn),html.a11y-links .panel a:not(.btn){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
html.a11y-spacing main :is(p,li,span,label),html.a11y-spacing footer :is(p,li){line-height:1.9;letter-spacing:.03em;word-spacing:.12em}
html.a11y-motion{scroll-behavior:auto}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition:none!important}
html.a11y-focus :focus-visible{outline:4px solid var(--ink)!important;outline-offset:3px!important;box-shadow:0 0 0 9px var(--lime)!important}

/* mobile sticky */
.mbar{display:none}

@media (max-width:1100px){
  nav.main{display:none}
  .hbox{justify-content:space-between}
  .loc-grid{grid-template-columns:1fr}
  .map{position:relative;top:0}
  .lcards{grid-template-columns:repeat(3,1fr)}
  .fgrid{grid-template-columns:1fr 1fr 1fr}
  .fgrid>div:first-child{grid-column:1/-1}
}
@media (max-width:900px){
  .sec{padding:76px 0}
  .locstrip .box{grid-template-columns:1fr;gap:16px}
  .svc-grid,.bl-grid{grid-template-columns:1fr 1fr}
  .ab-grid,.ct-grid,.tires .g{grid-template-columns:1fr}
  .steps,.why{grid-template-columns:1fr}
  .lcards{grid-template-columns:1fr 1fr}
  .ab-top,.bl-top{flex-direction:column;align-items:flex-start}
    .info{padding:8px 0 0}
}
@media (max-width:640px){
  .wrap,.wrap-wide{padding:0 16px}
  .util .l span.hide-m,.util .r{display:none}
  .util .wrap-wide{justify-content:center;min-height:42px;padding:0 16px}
  header.site{margin-bottom:-36px}
  .masthead.is-stuck{padding-bottom:36px}
  .masthead::before{bottom:36px}
  .hbox{height:72px;padding-right:12px;gap:12px}
  header.site .logo{height:82px;padding:0 14px}
  .logo img{height:40px}
  .hero .wrap-wide{min-height:0;padding-top:200px;padding-bottom:120px}
  .hero-img::after{background:linear-gradient(0deg,rgba(10,10,10,.7),rgba(10,10,10,.1) 60%)}
  .hcard{padding:28px 22px 26px}
  .vid-btn{top:96px;bottom:auto;right:16px;padding:0 12px}
  .vid-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .hcard .ctas .btn{width:100%}
  .locstrip{margin-top:-80px}
  .locstrip .box{padding:20px}
  .svc-grid,.bl-grid,.lcards,.stats,.tiles,.fg{grid-template-columns:1fr}
  .collage{min-height:420px}
  .formcard{padding:24px 18px}
  .locrow{flex-direction:column}
  .fgrid{grid-template-columns:1fr 1fr;gap:40px 24px}
  .fgrid>div:nth-child(4),.fgrid>div:nth-child(5){grid-column:1/-1}
  .fcta{padding:56px 0 48px}
  .fcta .acts,.fcta .btn{width:100%}
  .fmark{margin-top:56px}
    .callbox b{font-size:24px}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;background:#fff;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
  .mbar .btn{min-height:50px;font-size:15px;padding:0 12px}
  .fbot{padding-bottom:84px}
  .fab{display:none}
  .a11y-btn{left:auto;right:12px;bottom:84px;width:48px;height:48px}
  .panel{left:8px!important;right:8px!important;width:auto!important;bottom:8px;max-height:calc(100vh - 16px)}
}

/* ===== multi-page additions (2026-10-29) ===== */
[hidden]{display:none!important}
code{font:600 .92em ui-monospace,Menlo,monospace;background:rgba(0,0,0,.06);padding:1px 4px}
.hero-img{background:#1a1a1a}
.hero-img video{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.hero-img video.on{opacity:1}
.falso{margin-top:16px;font-size:13.5px;color:#9A9EA4}
.falso a{color:#D4D6D9;font-weight:600}
.lc h3 a{text-decoration:none}
.lc h3 a:hover{text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px}

/* header dropdowns */

/* mobile menu */

/* choice chips (replace native selects) */
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-weight:600;font-size:14px;margin-bottom:8px;padding:0}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts label{margin:0;display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border:1.5px solid #CDD0C7;background:#fff;cursor:pointer;font-weight:600;font-size:14.5px}
.opts label:hover{border-color:var(--ink)}
.opts input:checked+label{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.opts input:focus-visible+label{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--lime)}

/* inner-page hero */
.phero{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.phero .wrap-wide{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center;padding-top:124px;padding-bottom:72px}
.phero.no-img .wrap-wide{grid-template-columns:minmax(0,1fr)}
.phero.no-img .wrap-wide>div{max-width:860px}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 22px;padding:0;font-size:13.5px;color:#A9ADB3}
.crumbs li+li::before{content:"/";margin-right:6px;color:#5B6067}
.crumbs a{color:#D4D6D9;text-decoration:none}
.crumbs a:hover{color:var(--lime)}
.kick{display:inline-flex;align-items:center;gap:10px;font:700 12.5px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);margin-bottom:18px}
.kick i{width:10px;height:10px;background:var(--lime);border-radius:50%;position:relative}
.kick i::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--lime);animation:ping 1.8s ease-out infinite}
.phero h1{font-size:clamp(34px,4.2vw,56px);font-weight:800}
.phero h1 em{font-style:normal;color:var(--lime)}
.phero .lead{color:#C9CCD0;margin-top:18px;font-size:17.5px;max-width:620px}
.phero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.phero .ticks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.phero .ticks li{display:flex;gap:12px;align-items:center;font-weight:600}
.phero .ticks .ck{width:24px;height:24px;flex:none;background:var(--lime);color:var(--ink);display:grid;place-items:center}
.phero .ticks .ck svg.i{width:15px;height:15px;stroke-width:3}
.phero .facts{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:26px;padding-top:20px;border-top:1px solid #2A2A2A;font-size:14px;color:#B9BDC2}
.phero .facts span{display:inline-flex;gap:8px;align-items:center}
.phero .facts svg.i{width:17px;height:17px;color:var(--lime)}
.phero figure{margin:0;position:relative;align-self:stretch;min-height:420px}
.phero figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-bottom:6px solid var(--lime)}
.phero figure figcaption{position:absolute;left:0;bottom:6px;background:var(--lime);color:var(--ink);font-weight:700;font-size:13.5px;padding:8px 14px}
.phero .micro{margin-top:18px;font-size:13.5px;color:#A9ADB3;display:flex;gap:8px;align-items:flex-start}
.phero .micro b{color:#fff}
.phero .micro svg{color:#FF6B73;width:18px;height:18px;margin-top:2px}

/* inner-page blocks */
.sec.white{background:#fff}
.sec.tight{padding:72px 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.top{align-items:start}
.split figure{margin:0;position:relative}
.split figure img{width:100%;height:100%;object-fit:cover;min-height:420px}
.prose h2{font-size:clamp(28px,3vw,40px);margin:14px 0 18px}
.prose p{color:#3D4249;font-size:17px;line-height:1.7}
.prose p+p{margin-top:14px}
.checks{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-weight:600}
.checks .ck{width:24px;height:24px;flex:none;background:var(--lime);color:var(--ink);display:grid;place-items:center;margin-top:1px}
.checks .ck svg.i{width:15px;height:15px;stroke-width:3}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.cards.four{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);padding:28px;position:relative}
.card .ic{width:52px;height:52px;background:var(--lime);color:var(--ink);display:grid;place-items:center;margin-bottom:18px}
.card .ic svg.i{width:24px;height:24px}
.card h3{font-size:20px}
.card p{color:var(--muted);font-size:15.5px;margin-top:8px}
.card ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:14.5px}
.card ul li{display:flex;gap:10px;align-items:flex-start}
.card ul li::before{content:"";width:8px;height:8px;background:var(--lime);border:2px solid var(--ink);flex:none;margin-top:7px}
.band{background:var(--ink);color:#fff}
.band .head-c p{color:#B9BDC2}
.band .card{background:var(--ink-2);border-color:var(--ink-3);border-top:4px solid var(--lime)}
.band .card h3{color:#fff}
.band .card p{color:#C9CCD0}
.band .card .ic{background:transparent;border:2px solid var(--lime);color:var(--lime)}
.trust{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.trust .t{background:#fff;border:1px solid var(--line);padding:18px}
.trust h3{font:800 16px "Inter Tight";letter-spacing:.04em;display:flex;align-items:center;gap:8px}
.trust h3 svg.i{color:var(--lime-ink);width:18px;height:18px}
.trust p{font-size:13.5px;color:var(--muted);margin-top:6px;line-height:1.5}
.mission{background:var(--lime);color:var(--ink);padding:28px 32px;margin-top:20px}
.mission h3{font-size:14px;letter-spacing:.14em;text-transform:uppercase}
.mission p{font:600 20px/1.45 "Inter Tight";margin-top:10px}
.steps .meta{display:inline-block;margin-top:12px;font-size:12.5px;font-weight:700;letter-spacing:.04em;background:var(--bg);padding:4px 9px}
.routes{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.route{display:flex;gap:16px;background:#fff;border:1px solid var(--line);padding:20px}
.route .ic{width:44px;height:44px;flex:none;background:var(--ink);color:var(--lime);display:grid;place-items:center}
.route h3{font-size:17px}
.route p{color:var(--muted);font-size:14.5px;margin-top:4px}
.yards{background:#fff;border:1px solid var(--line);border-left:6px solid var(--lime);padding:22px 26px;display:grid;grid-template-columns:auto 1fr 1fr auto;gap:24px;align-items:center}
.yards .k{font:700 11.5px/1.3 Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);max-width:110px}
.yards b{display:block;font:800 19px "Inter Tight"}
.yards span{font-size:14px;color:var(--muted)}
.yards .d{display:inline-block;margin-top:4px;font-size:12.5px;font-weight:700;background:var(--lime-tint);color:var(--lime-ink);padding:2px 8px}
.area-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.ctaband{background:var(--lime);color:var(--ink);padding:56px 0}
.ctaband .g{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.ctaband h2{font-size:clamp(28px,3.2vw,42px)}
.ctaband p{margin-top:12px;font-size:16.5px;color:#1f2a10}
.ctaband .acts{display:grid;gap:10px}
.ctaband .btn-ink{min-height:60px;font-size:17px}
.ctaband .alt{font-size:14.5px;text-align:center}
.ctaband .alt a{font-weight:700}
.rv-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rv-row .rv{margin:0}

/* blog post */
.post-head .meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:14px;color:#B9BDC2;align-items:center}
.post-head .meta b{color:#fff}
.post-head .meta .av{width:36px;height:36px;object-fit:cover;border:2px solid var(--lime)}
.post-hero{margin:-40px auto 0;position:relative;z-index:2}
.post-hero img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-bottom:6px solid var(--lime)}
.article{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start;padding:56px 0 96px}
.toc{position:sticky;top:110px;font-size:14px;border-top:4px solid var(--ink);padding-top:16px;max-height:calc(100vh - 130px);overflow:auto}
.toc .k{font:700 11.5px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.toc a{display:block;padding:6px 10px;text-decoration:none;color:var(--muted);border-left:3px solid transparent}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);border-color:var(--lime);background:#fff;font-weight:600}
.toc .call{margin-top:20px;background:var(--ink);color:#C9CCD0;padding:16px;font-size:13.5px}
.toc .call a{color:var(--lime);font:800 20px "Inter Tight";padding:4px 0 0;border:0}
.body{max-width:740px;font-size:18px;line-height:1.75;color:#24272B}
.body>*+*{margin-top:18px}
.body h2{font-size:clamp(26px,2.6vw,34px);margin-top:52px;scroll-margin-top:110px}
.body h3{font-size:21px;margin-top:34px;scroll-margin-top:110px}
.body ul,.body ol{padding-left:22px}
.body li+li{margin-top:8px}
.body li::marker{color:var(--lime-ink);font-weight:700}
.body a{text-decoration-color:var(--lime);text-decoration-thickness:3px;text-underline-offset:3px;font-weight:600}
.body .answer{background:#fff;border:1px solid var(--line);border-left:6px solid var(--lime);padding:22px 26px}
.body .answer p{font-size:18px}
.tbl{overflow-x:auto;border:1px solid var(--line);background:#fff}
.tbl table{border-collapse:collapse;width:100%;font-size:15.5px;line-height:1.45}
.tbl th{background:var(--ink);color:#fff;text-align:left;padding:12px 16px;font-weight:700}
.tbl td{padding:12px 16px;border-top:1px solid var(--line);vertical-align:top}
.tbl td:nth-child(2){font-weight:700;white-space:nowrap}
.body .note{font-size:14.5px;color:var(--muted)}
.inline-cta{background:var(--ink);color:#fff;padding:28px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;border-top:5px solid var(--lime)}
.inline-cta b{font:800 22px/1.2 "Inter Tight";display:block}
.inline-cta span{color:#B9BDC2;font-size:15px}
.body .faq-list h3{font-size:19px;margin-top:26px}
.body .faq-list p{margin-top:8px}

/* blog index */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:32px}
.filters button{font:600 14.5px Inter;min-height:42px;padding:0 16px;border:1.5px solid #CDD0C7;background:#fff;cursor:pointer;color:var(--ink)}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.post .when{font-size:13px;color:var(--muted)}
.post.feature{grid-column:span 2;flex-direction:row}
.post.feature .ph{flex:1.2;aspect-ratio:auto}
.post.feature .bd{flex:1;padding:32px}
.post.feature h3{font-size:clamp(22px,2.2vw,30px)}
.post .ph.ph-blank{background:var(--ink);display:grid;place-items:center;color:var(--lime);font:800 15px "Inter Tight";letter-spacing:.14em;text-transform:uppercase}
.post[hidden]{display:none}

@media (max-width:1100px){
  .trust{grid-template-columns:repeat(3,1fr)}
  .cards.four{grid-template-columns:repeat(2,1fr)}
  .article{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;max-height:none}
  .toc ol{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .phero .wrap-wide,.split,.ctaband .g{grid-template-columns:1fr}
  .phero figure{min-height:260px}
  .cards,.rv-row{grid-template-columns:1fr 1fr}
  .routes{grid-template-columns:1fr}
  .yards{grid-template-columns:1fr 1fr}
  .yards .k{grid-column:1/-1;max-width:none}
  .post.feature{grid-column:auto;flex-direction:column}
  .post.feature .ph{aspect-ratio:16/10}
  .post.feature .bd{padding:22px 24px 26px}
}
@media (max-width:640px){
  .phero .wrap-wide{padding-top:96px;padding-bottom:48px;gap:28px}
  .phero .ctas .btn{width:100%}
  .cards,.cards.two,.cards.four,.trust,.rv-row,.yards{grid-template-columns:1fr}
  .split figure img{min-height:260px}
  .toc ol{grid-template-columns:1fr}
  .inline-cta{grid-template-columns:1fr}
  .body{font-size:17px}
  .post-hero{margin-top:0}
  .post-hero.wrap{padding:0}
  .opts label{min-height:44px}
}
.phero>.wrap{padding-top:124px;padding-bottom:32px}
@media (max-width:640px){.phero>.wrap{padding-top:96px}}
@media (max-width:640px){.tbl td:nth-child(2){white-space:normal}.tbl table{min-width:520px}}
.opts,.seg{position:relative}.opts input,.seg input{left:0;top:0;width:1px;height:1px;margin:0}

/* ---- generated pages (tools/gen.py) ---- */
mark.fix{background:#FFF27A;color:inherit;padding:0 2px;box-shadow:inset 0 -2px 0 #E0C800}
.band mark.fix,.tst mark.fix,.hcard mark.fix{color:#111}
.hcard .ticks{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.hcard .ticks li{display:flex;gap:10px;align-items:center;font-weight:600;font-size:15px}
.hcard .ticks .ck{width:22px;height:22px;flex:none;background:var(--lime);color:var(--ink);display:grid;place-items:center}
.hcard .ticks .ck svg.i{width:14px;height:14px;stroke-width:3}
.affil-n{text-align:center;margin-top:24px;color:var(--muted);font-size:15px}
.affil-n b{color:var(--ink);font-size:20px}
.affil-n a{color:var(--ink);font-weight:700}
.feat-card{padding:32px;border-top:6px solid var(--lime)}
.feat-card p{color:var(--muted);margin-top:10px}
.sc-all{background:var(--ink);color:#fff;border-color:var(--ink)}
.sc-all .bd{display:flex;flex-direction:column;justify-content:flex-end;min-height:100%;padding-top:24px}
.sc-all .go{top:20px;background:var(--lime);color:var(--ink)}
.sc-all h3{color:var(--lime)}
.sc-all p{color:#C9CCD0}
a.route{color:inherit;text-decoration:none;transition:border-color .15s}
a.route:hover,a.route:focus-visible{border-color:var(--ink)}
.routes.cities{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.yardlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.yardlist li{background:#fff;border:1px solid var(--line);padding:18px 20px;display:grid;gap:4px}
.yardlist span{color:var(--muted);font-size:14.5px}
.yardlist a{font-weight:700;font-size:14px;color:var(--ink);margin-top:6px}
.poslist{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.poslist li{display:flex;gap:10px;align-items:center;background:var(--bg-2,#F4F5F6);padding:12px 14px;font-weight:600;font-size:15px}
.poslist svg.i{color:var(--ink);width:16px;height:16px;flex:none}
.wrap.narrow{max-width:880px}
.app .step-f{border:0;border-top:1px solid var(--line);margin:28px 0 0;padding:24px 0 0}
.app .step-f>legend{font-family:"Inter Tight",Inter,sans-serif;font-size:20px;font-weight:800;padding:0 12px 0 0;margin:0}
.app .step-f>.sub{margin-top:8px}
.field>label:not(.btn),.field>.lbl{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.field input:not([type=radio]):not([type=checkbox]):not([type=file]),.field textarea{width:100%}
.field.inv textarea{border-color:var(--alert)}
fieldset.field{border:0;margin:0;padding:0;min-width:0}
.grp{border:1px solid var(--line);margin-top:14px;background:#fff}
.grp>summary{cursor:pointer;padding:14px 18px;font-weight:700;list-style:none;display:flex;justify-content:space-between}
.grp>summary::after{content:"+";font-weight:800}
.grp[open]>summary::after{content:"–"}
.grp>.fg{padding:0 18px 18px;margin-top:4px}
.upl{display:grid;gap:6px;align-content:start}
.upl input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.upl .btn{justify-self:start;padding:10px 16px;font-size:14px}
.upl input:focus-visible+.fname,.upl label.btn:focus-within{outline:2px solid var(--ink)}
.upl .fname{font-size:13.5px;color:var(--muted);word-break:break-all}
.opts.agree label{display:block;font-weight:500;line-height:1.5;padding:14px 16px;text-align:left}
.app .btn[type=submit]{margin-top:28px}
.inv.agree label,.agree.inv label{border-color:var(--alert)}
#a-cert-err{display:none}
.agree.inv+#a-cert-err{display:block}
.av-ph{width:36px;height:36px;background:var(--ink);color:var(--lime);display:inline-grid;place-items:center;font-weight:800;font-size:15px}
@media (max-width:640px){.poslist{grid-template-columns:1fr}.app .step-f>legend{font-size:18px}}
.formcard .upl .btn{width:auto;margin-top:0}
.grp>summary{justify-content:flex-start;gap:6px}
.grp>summary::after{margin-left:auto}
.lbl .opt,summary .opt,legend .opt{font-weight:500;color:var(--muted-2)}

/* ===== Logicore peg (2026-10-29): sky, giant condensed wordmark, hairline grid ===== */
:root{
  --sky-1:#1858C4; --sky-2:#2C7BE0; --sky-3:#62A8EF;
  --display:Anton,"Inter Tight",Impact,sans-serif;
  --gutter:clamp(24px,3vw,56px);
  --hair:rgba(255,255,255,.28);
  --clouds:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900'%3E%3Cfilter id='c' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0022 .0075' numOctaves='5' seed='11'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 4.2 0 0 0 -2.62'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)'/%3E%3C/svg%3E");
  --sky:var(--clouds) center/cover no-repeat,linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 48%,var(--sky-3) 100%);
}
h1,h2{font-family:var(--display);font-weight:400!important;text-transform:uppercase;letter-spacing:.004em;line-height:1.02}
.body h2,.body h3,.toc h2,footer h2{font-family:"Inter Tight",Inter,sans-serif;text-transform:none;letter-spacing:-.02em;font-weight:800!important;line-height:1.15}
.head-c h2,.h2{font-size:clamp(34px,4.2vw,58px)}

/* masthead floats over the sky hero on every page */
.masthead{position:absolute;top:0;left:0;right:0}
.masthead::before{display:none}
.masthead.is-stuck{padding-bottom:0}
.util{color:rgba(255,255,255,.86);border-bottom:1px solid var(--hair)}
.util .wrap-wide{padding-left:var(--gutter);padding-right:var(--gutter);min-height:44px}
.soc{background:rgba(255,255,255,.14)}
header.site{margin-bottom:0}
.hbox{background:transparent;box-shadow:none;height:84px;padding-right:0;gap:0;border-bottom:1px solid var(--hair);color:#fff}
header.site .logo{align-self:stretch;height:auto;padding:0 28px 0 0;background:none;border:0;box-shadow:none}
.logo img{height:52px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
nav.main{align-self:stretch;justify-content:flex-start}
header.site.stuck{background:rgba(17,17,17,.96);backdrop-filter:blur(10px)}
header.site.stuck .hbox{--hair:rgba(255,255,255,.14)}
header.site.stuck .hbox{border-bottom:0}

/* home hero: wordmark behind, rig in front, panel on top */
.hero.peg{background:var(--sky);overflow:hidden}
.hero.peg::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--hair),var(--hair)) var(--gutter) 0/1px 100% no-repeat,linear-gradient(var(--hair),var(--hair)) calc(100% - var(--gutter)) 0/1px 100% no-repeat}
.hero.peg .word{position:absolute;left:0;right:0;top:clamp(140px,11vw,170px);margin:0;text-align:center;color:#fff;font:400 min(16.4vw,300px)/.8 var(--display);text-transform:uppercase;letter-spacing:-.004em;white-space:nowrap;user-select:none;text-shadow:0 10px 40px rgba(10,40,100,.18)}
.hero.peg .hero-img::after{background:linear-gradient(180deg,rgba(10,10,10,.6) 0%,rgba(10,10,10,.15) 45%,rgba(10,10,10,.5) 100%),linear-gradient(90deg,rgba(10,10,10,.45) 0%,rgba(10,10,10,0) 60%)}
.hero.peg .word{z-index:1;text-shadow:0 6px 40px rgba(0,0,0,.35)}
.hero.peg .vid-btn{z-index:4}
.hero.peg .wrap-wide{z-index:3;min-height:calc(min(16.4vw,300px)*.8 + 730px);padding-bottom:140px;pointer-events:none}
.hero.peg .hcard{pointer-events:auto;max-width:700px;padding:28px 34px 26px;border-top:0;background:linear-gradient(135deg,rgba(14,14,14,.9),rgba(14,14,14,.68));backdrop-filter:blur(12px);box-shadow:0 30px 60px rgba(8,30,80,.35)}
.hcard h1{font-size:clamp(40px,4vw,58px)}
.hero.peg .live{margin-bottom:16px}
.hero.peg .lead{max-width:none;margin-top:14px;font-size:16px}
.hcard .ticks{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px}
.hcard .ticks li{font-size:13px}
.hero.peg .ctas{margin-top:20px}
.hero.peg .micro{margin-top:14px}

/* inner page hero: same sky, outline wordmark under the nav, hairline gutters */
.phero{background:linear-gradient(90deg,rgba(22,80,184,.92) 0%,rgba(22,80,184,.55) 42%,rgba(22,80,184,0) 68%),var(--sky)}
.phero .meta,.phero .meta b{color:rgba(255,255,255,.9)}
.phero::before{content:"Hook-N-Haul";position:absolute;left:0;right:0;top:-.06em;text-align:center;font:400 min(15vw,260px)/1 var(--display);text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.38);pointer-events:none}
.phero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--hair),var(--hair)) var(--gutter) 0/1px 100% no-repeat,linear-gradient(var(--hair),var(--hair)) calc(100% - var(--gutter)) 0/1px 100% no-repeat}
.phero .wrap-wide,.phero>.wrap{padding-top:200px;z-index:1}
.phero h1{font-size:clamp(40px,4.8vw,72px)}
.phero.post-head h1{font-size:clamp(34px,3.6vw,54px)}
.phero h1 em,.hcard h1 em{color:var(--lime);text-shadow:0 2px 0 rgba(0,0,0,.35)}
.phero .lead{color:rgba(255,255,255,.9)}
.phero .kick{color:#fff}
.phero .facts{border-top-color:var(--hair);color:rgba(255,255,255,.88)}
.phero .crumbs,.phero .crumbs a{color:rgba(255,255,255,.82)}
.phero figure img{border:6px solid #fff;box-shadow:0 30px 60px rgba(8,30,80,.35)}
.phero figure figcaption{left:6px;bottom:6px}
.phero .micro{color:rgba(255,255,255,.85)}

@media (max-width:1100px){
}
@media (max-width:1100px) and (min-width:641px){.hcall{padding:0 18px}}
@media (max-width:900px){
  .hero.peg .word{position:relative;top:auto;padding-top:136px;font-size:16.6vw}
  .hero.peg .wrap-wide{min-height:0;padding-top:28px;padding-bottom:120px}
  .phero::before{font-size:17vw}
}
@media (max-width:640px){
  .hbox{height:68px}
  header.site .logo{padding-right:12px}
  .logo img{height:38px}
  .phero .wrap-wide,.phero>.wrap{padding-top:150px}
  .hero.peg .word{padding-top:124px}
  .phero::after,.hero.peg::before{display:none}
}

/* ---- 24/7 mega menu and header (2026-10-29): the same parts as the 24/7 site (247-platform sites/fleet: Chrome.tsx,
   fleet.css): hairline-split bar, full-width mega panel with link columns and two picture cards, phone + request pair,
   and the mobile menu dropping under the bar as an accordion. HNH colours: ink + lime where 24/7 uses blue. ---- */
.hbox{position:relative}
nav.main{display:flex;align-items:stretch;align-self:stretch;flex:1;justify-content:flex-start;margin:0;font:500 15px/1 Inter,sans-serif}
.dd{position:static;display:flex}
.dd-t,nav.main .nl{display:flex;align-items:center;gap:9px;padding:0 clamp(12px,1.4vw,22px);margin:0;background:none;border:0;border-left:1px solid var(--hair);font:inherit;color:#fff;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
nav.main .nl:last-child{border-right:1px solid var(--hair)}
.dd-t:hover,nav.main .nl:hover{background:rgba(255,255,255,.08)}
.dd-t[aria-current],nav.main .nl[aria-current]{box-shadow:inset 0 -3px 0 var(--lime)}
.dd-t i{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.dd.open .dd-t{background:#fff;color:var(--ink)}
.dd.open .dd-t i{transform:translateY(1px) rotate(-135deg)}
.dd-t.hot::after{content:"7";order:1;font:800 11px/18px Inter;background:var(--lime);color:var(--ink);padding:0 6px}
.dd-t.hot i{order:2}
.mega{position:absolute;left:0;right:0;top:100%;z-index:60;background:#fff;color:var(--text);border:1px solid var(--line);border-top:3px solid var(--lime);box-shadow:0 30px 60px -24px rgba(0,0,0,.45);visibility:hidden;opacity:0;transform:translateY(-10px);transition:opacity .25s,transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s .45s;max-height:calc(100vh - 140px);overflow:auto;overscroll-behavior:contain}
.dd.open .mega{visibility:visible;opacity:1;transform:none;transition:opacity .25s,transform .45s cubic-bezier(.2,.8,.2,1)}
.mega-in{display:grid;grid-template-columns:270px 270px minmax(0,1fr)}
.mega-in.one{grid-template-columns:270px minmax(0,1fr)}
.mcol{padding:24px 22px 30px;border-right:1px solid var(--line)}
.mlabel{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;font:700 11.5px/16px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.mlabel::before{content:"";width:8px;height:8px;background:var(--lime);box-shadow:0 0 0 1px var(--ink)}
.mcol ul{list-style:none;margin:0;padding:0;display:grid;gap:13px;justify-items:start}
.mcol a{padding:0 0 3px;font:500 15px/1.35 Inter;color:var(--text);text-decoration:none;border-bottom:1px dashed #B9BDB2;transition:color .2s,border-color .2s}
.mcol a:hover{color:var(--ink);border-bottom:1px solid var(--lime-ink)}
.mcol a[aria-current]{border-bottom:2px solid var(--lime)}
.mcards{display:grid;grid-template-columns:repeat(2,minmax(0,300px));justify-content:end;gap:14px;padding:14px}
.mcard{display:flex;flex-direction:column;min-height:300px;padding:12px;background:var(--bg);overflow:hidden}
.mcard.tint{background:var(--lime-tint)}
.mcard .mt{font:800 16px/1.2 "Inter Tight",Inter,sans-serif;color:var(--ink);margin-bottom:12px}
.mcard img{flex:1;min-height:0;width:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.mcard:hover img{transform:scale(1.05)}
.mbtn{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:12px 14px;background:var(--ink);color:#fff;font:600 14.5px/1 Inter;text-decoration:none}
.mbtn svg.i{width:16px;height:16px;color:var(--lime);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.mbtn:hover svg.i{transform:translateX(4px)}
.mcard.tint .mbtn{background:var(--lime);color:var(--ink)}
.mcard.tint .mbtn svg.i{color:var(--ink)}
/* right side: live phone + request button (24/7 .hdr-cta) */
.hdr-cta{display:flex;align-items:stretch;margin-left:auto}
.hdr-tel,.hdr-req{display:flex;align-items:center;gap:12px;padding:0 22px;white-space:nowrap;text-decoration:none}
.hdr-tel{color:#fff;font:800 19px/1 "Inter Tight",Inter,sans-serif;font-variant-numeric:tabular-nums}
.hdr-tel small{display:block;margin-bottom:5px;font:700 10.5px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.hdr-tel .live{flex:none;width:8px;height:8px;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.25)}
.hdr-tel svg.i,.hdr-req svg.i{width:16px;height:16px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.hdr-tel:hover svg.i,.hdr-req:hover svg.i{transform:translateX(4px)}
.hdr-req{background:var(--lime);color:var(--ink);font:700 15px/1 Inter}
.hdr-req:hover{background:#fff}
.hdr-call{display:none}
.menu-btn{display:none}
header.site.stuck .mega{max-height:calc(100vh - 90px)}
@media (max-width:1240px){
  .mega-in{grid-template-columns:230px 230px minmax(0,1fr)}
  .mega-in.one{grid-template-columns:230px minmax(0,1fr)}
  .mcards{grid-template-columns:repeat(2,minmax(0,230px))}
  .hdr-tel{display:none}
}
/* mobile menu: the same nav drops under the bar; mega panels become accordions without the cards */
@media (max-width:1100px){
  .hdr-cta{display:none}
  .hdr-call{display:grid;place-items:center;align-self:stretch;width:60px;margin-left:auto;background:var(--lime);color:var(--ink)}
  .menu-btn{display:flex;align-items:center;gap:10px;align-self:stretch;width:auto;height:auto;padding:0 18px;border:0;border-left:1px solid var(--hair);background:none;color:#fff;font:600 15px Inter;cursor:pointer}
  .menu-btn svg.i{width:20px;height:20px}
  nav.main{display:none}
  header.site.open nav.main{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;z-index:60;padding:6px 20px 24px;background:#fff;border-top:3px solid var(--lime);box-shadow:0 30px 60px -20px rgba(0,0,0,.5);max-height:calc(100vh - 130px);max-height:calc(100svh - 130px);overflow:auto;overscroll-behavior:contain}
  header.site.open .dd{flex-direction:column}
  header.site.open .dd-t,header.site.open nav.main .nl{justify-content:space-between;width:100%;padding:18px 0;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:700 19px "Inter Tight",Inter,sans-serif;background:none;box-shadow:none}
  header.site.open .dd-t.hot::after{margin-left:auto;margin-right:10px}
  .mega{position:static;display:none;visibility:visible;opacity:1;transform:none;border:0;box-shadow:none;max-height:none;transition:none}
  .dd.open .mega{display:block}
  .mega-in,.mega-in.one{grid-template-columns:1fr}
  .mcol{border:0;padding:16px 0 10px}
  .mcol a{font-size:16px}
  .mcards{display:none}
  html.menu-open{overflow:hidden}
}
@media (max-width:640px){
  .hdr-call{width:54px}
  .menu-btn{padding:0 14px}
  .menu-btn span{display:none}
}
@media (max-width:1100px){html.menu-open :is(.mbar,.fx){display:none}}

/* ---- 24/7 locations directory (2026-10-29), from the 24/7 site's service-areas strip (Pages.tsx AreasStrip/AreaRow):
   intro with counts on the left (sticky on desktop), numbered rows on a hairline grid on the right. Each row draws its
   own border so a short last row leaves no grey block. Home adds the map above the rows; location pages mark their own row. ---- */
.areas-strip{padding:clamp(64px,8vw,112px) 0;background:var(--bg)}
.areas-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,5vw,80px);align-items:start}
.areas-intro{position:sticky;top:120px}
.areas-intro h2{margin:16px 0 0}
.areas-intro>p{margin:22px 0 0;max-width:46ch;color:var(--muted)}
.areas-count{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;margin:28px 0 0;border-top:1px solid #C9CCC2}
.areas-count>div{display:flex;flex-direction:column;padding:16px 28px 0 0;margin-right:28px;border-right:1px solid var(--line)}
.areas-count>div:last-child{border-right:0;margin-right:0}
.areas-count dt{order:2;font:700 11.5px/16px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.areas-count dd{order:1;margin:0 0 6px;font:400 clamp(38px,3.6vw,54px)/1 var(--display);color:var(--ink)}
.areas-intro .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.areas-intro .finder{margin:28px 0 0}
.areas-intro .between{margin-top:22px;padding:16px 18px;background:var(--ink);color:#C9CCD0;font-size:14.5px;line-height:1.55}
.areas-intro .between b{display:block;color:var(--lime);font:800 17px/1.3 "Inter Tight",Inter,sans-serif;margin-bottom:4px}
.areas-intro .between a{color:#fff;font-weight:700;text-decoration-color:var(--lime)}
.area-list{list-style:none;margin:0;padding:0 1px 1px 0;display:grid;grid-template-columns:1fr 1fr}
.area-list li{position:relative;display:flex;background:#fff;border:1px solid var(--line);margin:0 -1px -1px 0}
.area-list li:hover,.area-list li.on{z-index:1}
.area-list li>a:first-child{flex:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:18px 20px;min-height:78px;color:var(--text);text-decoration:none;box-shadow:inset 3px 0 0 transparent;transition:box-shadow .2s,background .2s}
.area-list .no{font:600 12px/1 Inter;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--muted)}
.area-list .nm{display:flex;flex-direction:column;gap:3px;min-width:0}
.area-list b{font:800 19px/1.15 "Inter Tight",Inter,sans-serif;color:var(--ink)}
.area-list small{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.area-list .dist{font-weight:700;color:var(--ink)}
.area-list .tag{font:700 10.5px/1 Inter;letter-spacing:.08em;text-transform:uppercase;background:var(--lime);color:var(--ink);padding:5px 7px}
.area-list .tag.here{background:var(--ink);color:var(--lime)}
.area-list svg.go{width:18px;height:18px;color:var(--muted);transition:transform .2s,color .2s}
.area-list .dir{flex:none;display:grid;place-items:center;width:52px;border-left:1px solid var(--line);color:var(--ink)}
.area-list .dir:hover{background:var(--lime)}
.area-list li>a:first-child:hover,.area-list li.on>a:first-child,.area-list a[aria-current]{background:var(--lime-tint);box-shadow:inset 3px 0 0 var(--lime-ink)}
.area-list li>a:first-child:hover :is(.no,svg.go){color:var(--ink)}
.area-list li>a:first-child:hover svg.go{transform:translateX(3px)}
.area-list li>a:first-child:focus-visible{outline:3px solid var(--ink);outline-offset:-3px;box-shadow:inset 0 0 0 6px var(--lime)}
.area-list li.near{outline:2px solid var(--ink);outline-offset:-2px;z-index:2}
.area-list li.near .no{color:var(--ink)}
.area-list li.also b{color:var(--text)}
/* home: map above the rows */
.loc .areas-main .map{position:relative;top:0;margin:0 0 18px}
.loc .areas-main .areas{margin-top:18px}
.loc.sec .areas-intro .head-c,.loc .areas-intro{text-align:left}
@media (max-width:1100px){.areas-wrap{grid-template-columns:1fr}.areas-intro{position:static}}
@media (max-width:640px){
  .area-list{grid-template-columns:1fr}
  .area-list li>a:first-child{padding:14px 16px;min-height:66px;gap:12px}
  .areas-count>div{padding-right:18px;margin-right:18px}
}
.area-list li>a:first-child{grid-template-columns:auto minmax(0,1fr) auto}
.area-list b{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.area-list small{white-space:normal;overflow:visible;line-height:1.4}
@media (min-width:1101px){.loc .areas-wrap{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,4vw,64px)}}
.area-list b{flex-wrap:nowrap}.area-list b .tag{flex:none}
/* the rows keep the .lc class the map script uses; drop the old location-card box */
.area-list li.lc{padding:0;border:1px solid var(--line);box-shadow:none;transform:none;transition:none}
.area-list li.lc.on{border-color:var(--line);box-shadow:none;transform:none}
.area-list .tag{position:static}

/* ---- Inner page hero, cleaned up (2026-10-29, user: "messy"). Same idea as the home hero: the page's own photo
   full-bleed behind a dark fade, one text column on the left. No outline wordmark, clouds, gutter lines or framed
   photo. Pages without a photo get plain ink. ---- */
.phero{background:radial-gradient(1100px 520px at 88% -10%,rgba(140,255,0,.09),transparent 60%),var(--ink);border-bottom:4px solid var(--lime)}
.phero::before,.phero::after{content:none;display:none}
.phero:has(>.wrap-wide>figure) .wrap-wide{position:static;display:block}
.phero .wrap-wide>div,.phero>.wrap>div{position:relative;z-index:2;max-width:780px}
.phero .wrap-wide,.phero>.wrap{padding-top:176px;padding-bottom:84px}
.phero figure{position:absolute;inset:0;margin:0;min-height:0;z-index:0}
.phero figure img{border:0;box-shadow:none}
.phero figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.75) 0,rgba(10,10,10,0) 240px),linear-gradient(90deg,rgba(10,10,10,.94) 0%,rgba(10,10,10,.82) 38%,rgba(10,10,10,.35) 70%,rgba(10,10,10,.2) 100%)}
.phero figure figcaption{left:auto;right:var(--gutter);bottom:40px;z-index:1;font-size:12.5px;padding:7px 12px}
.phero h1{font-size:clamp(36px,3.9vw,60px);line-height:.98;max-width:22ch;text-shadow:none}
.phero h1 em{text-shadow:none}
.phero.post-head h1{font-size:clamp(32px,3.3vw,50px);max-width:26ch}
.phero .lead{max-width:620px;font-size:17px;color:rgba(255,255,255,.86)}
.phero .ticks{display:flex;flex-wrap:wrap;gap:10px 24px}
.phero .ticks li{font-size:14.5px}
.phero .ticks .ck{width:20px;height:20px}
.phero .ticks .ck svg.i{width:13px;height:13px}
.phero .crumbs{margin-bottom:22px}
.phero .facts{border-top-color:rgba(255,255,255,.16)}
.phero .micro{color:rgba(255,255,255,.72)}
@media (max-width:900px){
  .phero .wrap-wide,.phero>.wrap{padding-top:140px;padding-bottom:64px}
  .phero figure::after{background:linear-gradient(180deg,rgba(10,10,10,.82) 0%,rgba(10,10,10,.72) 50%,rgba(10,10,10,.88) 100%)}
  .phero figure figcaption{display:none}
}
@media (max-width:640px){
  .phero .wrap-wide,.phero>.wrap{padding-top:128px;padding-bottom:56px}
  .phero .ticks{flex-direction:column;gap:8px}
}
.phero .ticks li{display:block;position:relative;padding-left:32px;line-height:1.4}
.phero .ticks .ck{position:absolute;left:0;top:0}
.phero mark.fix{color:var(--ink);padding:0 3px}

/* ===== Greenway peg (2026-10-29, user: "lets try this", ../reference/hooknhaul-peg-greenway.webp): light and calm.
   White header and heroes, big sentence-case Manrope headlines, a wide photo under the hero headline, left-aligned
   section heads, a dark band for locations, hairline lists, ink panels. HNH ink + lime replace the peg's green.
   Square corners stay (the 24/7 rule). The Logicore version is kept at v/logicore/. ===== */
:root{--display:Manrope,Inter,sans-serif;--bg:#F5F6F2;--line:#E3E5DE;--hair:var(--line)}
h1,h2{font-family:Manrope,Inter,sans-serif;font-weight:500!important;text-transform:none;letter-spacing:-.035em;line-height:1.04}
h3,h4{font-family:Manrope,Inter,sans-serif;font-weight:700;letter-spacing:-.02em}
.body h2,.body h3,.toc h2,footer h2{font-family:Manrope,Inter,sans-serif;font-weight:700!important;letter-spacing:-.025em}
.sec{padding:clamp(72px,8vw,120px) 0}
.sec.white,.about{background:#fff}
.pill{background:none;border:0;padding:0;font:600 13px/1 Inter;letter-spacing:.02em;color:var(--muted)}
.pill::before{width:8px;height:8px;border-radius:0;background:var(--lime);box-shadow:0 0 0 1px var(--ink)}
.pill.dark{background:none;color:rgba(255,255,255,.7)}
.hl{background:linear-gradient(transparent 70%,var(--lime) 70%)}
.btn{min-height:50px;font-weight:600;font-size:15px}
.btn-line{border-width:1.5px}

/* section heads: heading left, intro right (peg "Our services") */
.head-c{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:clamp(32px,6vw,96px);align-items:end;max-width:none;text-align:left;margin:0 0 clamp(36px,4vw,56px)}
.head-c>*{grid-column:1}
.head-c>p{grid-column:2;grid-row:1/span 3;margin:0;max-width:52ch;align-self:end}
.head-c h2,.h2{font-size:clamp(32px,3.6vw,52px);margin-top:14px}
.head-c:not(:has(>p)){display:block}

/* header: one white bar, no util row (the peg's plain nav) */
.util{display:none}
.masthead{position:relative;background:#fff;border-bottom:1px solid var(--line)}
.masthead.is-stuck{padding-bottom:80px}
.hbox{height:80px;color:var(--ink)}
.logo img{height:46px;filter:none}
.dd-t,nav.main .nl{color:var(--ink);border-left:0;font-weight:500}
nav.main .nl:last-child{border-right:0}
.dd-t:hover,nav.main .nl:hover{background:var(--bg)}
.dd.open .dd-t{background:var(--ink);color:#fff}
.hdr-tel{color:var(--ink)}
.hdr-tel small{color:var(--muted)}
.hdr-req{background:var(--ink);color:#fff}
.hdr-req svg.i{color:var(--lime)}
.hdr-req:hover{background:var(--ink-3)}
header.site.stuck{background:rgba(255,255,255,.97);backdrop-filter:blur(10px);box-shadow:0 10px 30px -12px rgba(17,17,17,.18)}
.mega{border-top:1px solid var(--line)}
@media (max-width:1100px){.menu-btn{color:var(--ink);border-left:1px solid var(--line)}}

/* home hero: headline + side text on white, then one wide photo (the video) */
.gw-hero{background:#fff;padding:clamp(40px,5vw,72px) 0 0}
.gw-top{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(280px,1fr);gap:clamp(28px,5vw,88px);align-items:start}
.gw-hero h1{font-size:clamp(40px,4.5vw,86px);line-height:.98;letter-spacing:-.045em;color:var(--ink)}
.gw-l2{display:block;white-space:nowrap}
.gw-hero h1 em{font-style:normal}
.gw-badge{display:inline-flex;align-items:center;vertical-align:.08em;margin-right:.22em}
.gw-badge img{width:.62em;height:.62em;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}
.gw-badge img+img{margin-left:-.16em}
.gw-badge i{display:grid;place-items:center;width:.62em;height:.62em;margin-left:-.1em;background:var(--lime);color:var(--ink);border:3px solid #fff}
.gw-badge i svg.i{width:.3em;height:.3em;stroke-width:2.5}
.gw-side .live{color:var(--ink);margin-bottom:14px}
.gw-side .live i,.gw-side .live i::after{background:#22c55e}
.gw-side .live span{color:var(--muted);border-left-color:var(--line)}
.gw-side .lead{color:var(--muted);font-size:16.5px;line-height:1.6}
.gw-side .ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.gw-side .micro{margin-top:14px;font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:flex-start}
.gw-side .micro b{color:var(--ink)}
.gw-side .micro svg{color:var(--alert);width:17px;height:17px;margin-top:1px}
.gw-media{position:relative;margin-top:clamp(32px,4vw,56px);aspect-ratio:21/8;min-height:340px;overflow:hidden;background:#1a1a1a}
.gw-media .hero-img{position:absolute;inset:0}
.gw-media .hero-img::after{background:linear-gradient(0deg,rgba(10,10,10,.35),transparent 45%)}
.gw-media .vid-btn{top:20px;right:20px;bottom:auto}
.gw-float{position:absolute;left:24px;bottom:24px;z-index:2;background:#fff;padding:18px 22px;max-width:380px;box-shadow:0 20px 40px -16px rgba(0,0,0,.4)}
.gw-float .k{display:block;font:600 12px/1 Inter;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.gw-float .ticks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gw-float .ticks li{display:flex;gap:10px;align-items:center;font-weight:600;font-size:14.5px}
.gw-float .ck{width:20px;height:20px;flex:none;background:var(--lime);display:grid;place-items:center}
.gw-float .ck svg.i{width:13px;height:13px;stroke-width:3}
.gw-locs{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}
.gw-locs .t b{display:block;font:700 19px/1.2 Manrope}
.gw-locs .t span{font-size:13.5px;color:var(--muted)}
.chip{background:#fff}

/* who we are: text + 2x2 stats, affiliations as a hairline row */
.gw-who-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.gw-who-g h2{font-size:clamp(32px,3.6vw,52px);margin-top:14px}
.gw-who-g p{color:var(--muted);margin-top:18px;max-width:48ch;font-size:16.5px}
.gw-arrow{margin-top:28px;padding-right:6px;gap:16px}
.gw-arrow span{display:grid;place-items:center;width:38px;height:38px;background:var(--lime);color:var(--ink)}
.gw-stats{display:grid;grid-template-columns:1fr 1fr;margin:0}
.gw-stats>div{display:flex;flex-direction:column;padding:28px 0 28px 28px;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.gw-stats>div:nth-child(-n+2){border-top:0}
.gw-stats dd{order:1;margin:0;font:500 clamp(48px,5vw,76px)/1 Manrope;letter-spacing:-.04em;color:var(--ink)}
.gw-stats dt{order:2;margin-top:10px;font-size:14px;color:var(--muted)}
.gw-who .trust{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);gap:0}
.gw-who .trust .t{padding:24px 24px 0 0;margin-right:24px;border-right:1px solid var(--line);background:none;border-top:0;border-left:0;border-bottom:0;box-shadow:none}
.gw-who .trust .t:last-child{border-right:0;margin-right:0}
.gw-who .trust h3{display:flex;gap:8px;align-items:center;font-size:17px}
.gw-who .trust h3 svg.i{color:var(--lime-ink);width:18px;height:18px}
.gw-who .trust p{font-size:14px;color:var(--muted);margin-top:6px}
.gw-who .affil-n{margin-top:28px;font-size:14.5px;color:var(--muted)}

/* locations: the peg's dark "track" band */
.gw-band{background:var(--ink);color:#fff}
.gw-band h2{color:#fff}
.gw-band .hl{background:none;color:var(--lime);padding:0}
.gw-band .areas-intro>p{color:#B9BDC2}
.gw-band .areas-count{border-top-color:rgba(255,255,255,.18)}
.gw-band .areas-count>div{border-right-color:rgba(255,255,255,.14)}
.gw-band .areas-count dt{color:#9A9EA4}
.gw-band .areas-count dd{color:#fff;font-family:Manrope;font-weight:500;letter-spacing:-.04em}
.gw-band #near-out{color:#B9BDC2}
.gw-band .between{background:var(--ink-2);border:1px solid var(--ink-3)}
.gw-band .map{border:1px solid var(--ink-3)}
.gw-band .area-list li{background:var(--ink);border-color:rgba(255,255,255,.12)}
.gw-band .area-list li.lc{border-color:rgba(255,255,255,.12)}
.gw-band .area-list li>a:first-child{color:#fff}
.gw-band .area-list b,.gw-band .area-list li.also b{color:#fff}
.gw-band .area-list small,.gw-band .area-list .no,.gw-band .area-list svg.go{color:#9A9EA4}
.gw-band .area-list .dist{color:var(--lime)}
.gw-band .area-list .dir{color:#fff;border-left-color:rgba(255,255,255,.12)}
.gw-band .area-list .dir:hover{color:var(--ink)}
.gw-band .area-list li>a:first-child:hover,.gw-band .area-list li.on>a:first-child{background:rgba(140,255,0,.08);box-shadow:inset 3px 0 0 var(--lime)}
.gw-band .area-list li>a:first-child:hover :is(.no,svg.go){color:var(--lime)}
.gw-band .area-list li.near{outline-color:var(--lime)}
.gw-band .areas a:not(.btn){color:#fff}
.gw-band .areas{color:#B9BDC2;background:none;border-color:rgba(255,255,255,.2)}

/* why: photo + big word list (peg "Security / Reliability / ...") */
.gw-why-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:center}
.gw-why figure{margin:0}
.gw-why figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gw-why figcaption{margin-top:14px;font-size:14px;color:var(--muted);max-width:44ch}
.gw-word{border-bottom:1px solid var(--line)}
.gw-word h3{margin:0}
.gw-word button{display:flex;align-items:center;gap:16px;width:100%;padding:20px 0;background:none;border:0;cursor:pointer;text-align:left;font:500 clamp(26px,2.8vw,40px)/1.1 Manrope;letter-spacing:-.035em;color:#B5B9B0;transition:color .2s}
.gw-word button:hover,.gw-word.on button{color:var(--ink)}
.gw-word .dot{display:grid;place-items:center;width:34px;height:34px;flex:none;background:var(--lime);color:var(--ink);opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s}
.gw-word.on .dot{opacity:1;transform:none}
.gw-word p{display:none;padding:0 0 22px;color:var(--muted);max-width:56ch}
.gw-word.on p{display:block}

/* services: plain cards, icon left, arrow right; hover turns ink (peg "Our services") */
.gw-svc{gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.gw-svc .sc{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px;min-height:260px;gap:0;transition:background .25s,color .25s}
.gw-svc .sc:hover{transform:none;box-shadow:none;background:var(--ink);color:#fff}
.gw-svc .sc-h{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto;padding-bottom:36px}
.gw-svc .sc .ic{margin:0;width:48px;height:48px;border:1px solid var(--line);background:none;color:var(--ink)}
.gw-svc .sc .go{position:static;width:38px;height:38px;background:none;border:1px solid var(--line);color:var(--ink);transition:background .25s,color .25s,transform .25s}
.gw-svc .sc h3{font-size:20px;margin:0}
.gw-svc .sc p{font-size:14.5px;margin-top:10px}
.gw-svc .sc:hover .ic{border-color:rgba(255,255,255,.2);color:var(--lime)}
.gw-svc .sc:hover .go{background:var(--lime);border-color:var(--lime);color:var(--ink);transform:rotate(45deg)}
.gw-svc .sc:hover p{color:#B9BDC2}
.gw-svc .sc-all{background:var(--lime-tint)}

/* steps: big numbers in a list, photo beside */
.gw-steps{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.gw-steps .steps{grid-template-columns:1fr;gap:0}
.gw-steps-ph{margin:0;position:relative}
.gw-steps-ph img{width:100%;aspect-ratio:1/1;object-fit:cover}
.gw-steps-ph::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1.5px dashed var(--lime-ink);z-index:-1}
.step{background:none;border:0;border-top:1px solid var(--line);padding:28px 0;gap:28px}
.step:last-child{border-bottom:1px solid var(--line)}
.step .n,.step:first-child .n{width:auto;height:auto;border:0;background:none;display:block;font:400 clamp(44px,4.4vw,64px)/.9 Manrope;letter-spacing:-.05em;color:var(--ink)}
.step h3{font-size:21px}
.step .meta{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:600;color:var(--lime-ink)}
.steps:not(.gw-steps .steps) .step{border-bottom:1px solid var(--line)}

/* promise: ink card, photo, light card, photo */
.gw-promise{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.7fr) minmax(0,1fr) minmax(0,.7fr);gap:14px}
.gw-promise figure{margin:0}
.gw-promise figure img{width:100%;height:100%;object-fit:cover;min-height:420px}
.gw-pcard{background:var(--ink);color:#fff;padding:clamp(28px,3vw,44px)}
.gw-pcard h2{font-size:clamp(28px,2.6vw,40px);margin-top:14px}
.gw-pcard>p{color:#C9CCD0;margin-top:16px;font-size:15px}
.gw-pcard .checks li{color:#D4D6D9}
.gw-pcard .checks strong{color:#fff}
.gw-pcard .btn{margin-top:24px}
.gw-acard{background:var(--lime-tint);padding:28px;display:flex;flex-direction:column}
.gw-acard h3{font-size:22px;margin-top:12px}
.gw-acard>p{color:var(--muted);font-size:15px;margin-top:10px}
.gw-acard .btn{margin-top:auto}
.gw-acard .checks{margin:16px 0 24px}

/* testimonials: kept dark, flatter */
.tst h2{font-size:clamp(32px,3.6vw,52px)}
.rv{border-top:0;background:var(--ink-2)}
.rv:first-child blockquote{font:500 21px/1.45 Manrope}

/* contact: photo with the form card over it, contact tiles below */
.gw-ct{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}
.gw-ct figure{margin:0;position:sticky;top:110px;height:min(720px,80vh)}
.gw-ct figure img{width:100%;height:100%;object-fit:cover}
.gw-ct .formcard{margin:56px 0 0 -96px;position:relative;z-index:1;border:0;box-shadow:0 30px 60px -24px rgba(17,17,17,.3)}
.gw-info{padding:56px 0 0}
.gw-info .tiles{grid-template-columns:repeat(5,minmax(0,1fr))}
.gw-info .tile.main{grid-column:auto}
.gw-info .tile.main b{font-size:20px}
.gw-info .depts,.gw-info .rn{max-width:760px}

/* faq: heading left, accordion right */
.gw-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.gw-faq .head-c{display:block;margin:0;position:sticky;top:120px}
.gw-faq .head-c p{margin-top:16px}
.gw-faq .faq{max-width:none;margin:0}
.faq details{background:none;border:0;border-bottom:1px solid var(--line);margin:0}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{padding:24px 0;font:600 18px/1.35 Manrope;letter-spacing:-.01em}
.faq summary::after{content:"";width:36px;height:36px;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238CFF00' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E") center/18px no-repeat;transition:transform .25s}
.faq details[open] summary::after{content:"";background-color:var(--lime);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");transform:rotate(90deg)}
.faq details p{padding:0 56px 24px 0}

/* coverage: aerial photo with a white card, cities below */
.gw-aerial-ph{position:relative;min-height:520px}
.gw-aerial-ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.35)}
.gw-aerial-card{position:absolute;right:28px;top:28px;max-width:420px;background:#fff;padding:28px;box-shadow:0 20px 40px -16px rgba(0,0,0,.35)}
.gw-aerial-card h2{font-size:clamp(24px,2.2vw,32px);margin-top:12px}
.gw-aerial-card p{color:var(--muted);margin-top:12px;font-size:15px}
.gw-aerial .routes{margin-top:14px;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.gw-aerial .route{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}

/* cta band and footer */
.ctaband h2{font-size:clamp(28px,3vw,44px)}
footer.site{background:var(--ink);border-top:0}
.fcta h2{font:500 clamp(40px,5.4vw,84px)/.95 Manrope;letter-spacing:-.045em}
.fgrid h4{font:600 13px/1 Inter;letter-spacing:.06em;border-bottom:0;padding-bottom:0;color:#9A9EA4}
.fmark{display:none}
.fbot{background:var(--ink);margin-top:64px}

/* inner page heroes: white, headline left, intro right, the page photo as a wide band below */
.phero{background:#fff;color:var(--ink);border-bottom:0}
.phero .wrap-wide,.phero>.wrap{padding-top:clamp(40px,5vw,72px);padding-bottom:0}
.phero:not(:has(figure)) .wrap-wide,.phero:not(:has(figure))>.wrap{padding-bottom:clamp(40px,5vw,64px)}
.phero:not(:has(figure)){border-bottom:1px solid var(--line)}
.phero .wrap-wide>div,.phero>.wrap>div{max-width:none;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);column-gap:clamp(28px,5vw,88px);align-items:start}
.phero .wrap-wide>div>*,.phero>.wrap>div>*{grid-column:2}
.phero :is(.crumbs,.kick){grid-column:1/-1}
.phero h1{grid-column:1;grid-row:3/span 8;align-self:start;font-size:clamp(38px,4.6vw,76px);line-height:1;letter-spacing:-.045em;max-width:none;color:var(--ink)}
.phero.post-head h1{font-size:clamp(34px,3.8vw,60px)}
.phero h1 em{color:var(--ink);font-style:normal;background:linear-gradient(transparent 72%,var(--lime) 72%)}
.phero .crumbs,.phero .crumbs a{color:var(--muted)}
.phero .crumbs li+li::before{color:#C3C6BE}
.phero .kick{color:var(--ink)}
.phero .kick i,.phero .kick i::after{background:#22c55e}
.phero .lead{color:var(--muted);margin-top:0;font-size:16.5px}
.phero .ticks{flex-direction:column;gap:8px;margin-top:18px}
.phero .ticks li{font-size:14.5px;color:var(--ink)}
.phero .btn-ghost{border-color:var(--ink);color:var(--ink);background:none;border-width:1.5px}
.phero .btn-ghost:hover{background:var(--ink);color:#fff}
.phero .ctas{margin-top:22px}
.phero .micro{color:var(--muted)}
.phero .micro b{color:var(--ink)}
.phero .micro svg{color:var(--alert)}
.phero .facts{border-top-color:var(--line);color:var(--muted)}
.phero .facts svg.i{color:var(--lime-ink)}
.phero .meta,.phero .meta b{color:var(--muted)}
.phero figure{position:relative;inset:auto;margin:clamp(32px,4vw,56px) 0 0;aspect-ratio:21/7;min-height:300px;overflow:hidden}
.phero figure::after{background:linear-gradient(0deg,rgba(10,10,10,.3),transparent 40%)}
.phero figure figcaption{left:24px;right:auto;bottom:24px;display:block}

@media (max-width:1100px){
  .gw-top,.gw-who-g,.gw-why-g,.gw-steps,.gw-faq,.gw-ct{grid-template-columns:1fr}
  .gw-locs{grid-template-columns:1fr}
  .gw-who .trust{grid-template-columns:repeat(3,1fr)}
  .gw-promise{grid-template-columns:1fr 1fr}
  .gw-promise figure img{min-height:280px}
  .gw-ct figure{position:relative;top:0;height:360px}
  .gw-ct .formcard{margin:-80px 16px 0}
  .gw-info .tiles{grid-template-columns:1fr 1fr}
  .gw-info .tile.main{grid-column:1/-1}
  .gw-faq .head-c{position:static}
  .gw-steps-ph{display:none}
  .phero .wrap-wide>div,.phero>.wrap>div{grid-template-columns:1fr}
  .phero .wrap-wide>div>*,.phero>.wrap>div>*,.phero h1{grid-column:1;grid-row:auto}
  .phero h1{margin-bottom:18px}
}
@media (max-width:900px){
  .head-c{display:block}
  .head-c>p{margin-top:14px}
  .svc-grid.gw-svc{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .masthead.is-stuck{padding-bottom:68px}
  .gw-hero h1{font-size:clamp(36px,10.4vw,56px)}
  .gw-l2{white-space:normal}
  .gw-media{aspect-ratio:auto;min-height:0;display:flex;flex-direction:column}
  .gw-media .hero-img{position:relative;aspect-ratio:4/3}
  .gw-float{position:static;max-width:none;box-shadow:none;border:1px solid var(--line);border-top:0}
  .gw-stats>div{padding:20px 0 20px 18px}
  .gw-who .trust{grid-template-columns:1fr}
  .gw-who .trust .t{border-right:0;margin-right:0;padding:18px 0;border-bottom:1px solid var(--line)}
  .gw-promise{grid-template-columns:1fr}
  .gw-promise figure{display:none}
  .svc-grid.gw-svc{grid-template-columns:1fr}
  .gw-svc .sc{min-height:0}
  .gw-info .tiles{grid-template-columns:1fr}
  .gw-aerial-ph{min-height:0;display:flex;flex-direction:column}
  .gw-aerial-ph>img{position:relative;height:240px}
  .gw-aerial-card{position:static;max-width:none;box-shadow:none;border:1px solid var(--line);border-top:0}
  .faq details p{padding-right:0}
  .phero figure{aspect-ratio:4/3;min-height:0;margin-left:calc(-1*clamp(24px,3vw,56px));margin-right:calc(-1*clamp(24px,3vw,56px))}
  .phero figure figcaption{display:none}
  .gw-word button{font-size:26px}
}
.gw-svc .sc-all,.gw-svc .sc-all h3{color:var(--ink)}
.gw-svc .sc-all p{color:var(--muted)}
.gw-svc .sc-all:hover,.gw-svc .sc-all:hover h3{background:var(--ink);color:#fff}
@media (min-width:1101px){.gw-promise{grid-template-columns:minmax(0,1.6fr) minmax(0,.6fr) minmax(0,1fr) minmax(0,.6fr)}}
.gw-promise .checks li{display:block;position:relative;padding-left:34px}
.gw-promise .checks .ck{position:absolute;left:0;top:2px}
/* placement needs the same weight as the column-2 default above */
.phero .wrap-wide>div>:is(.crumbs,.kick),.phero>.wrap>div>:is(.crumbs,.kick){grid-column:1/-1}
.phero .wrap-wide>div>h1,.phero>.wrap>div>h1{grid-column:1;grid-row:3/span 8}
.phero .wrap-wide>div>:not(h1,.crumbs,.kick):nth-child(3),.phero>.wrap>div>:not(h1,.crumbs,.kick):nth-child(3){margin-top:0}
@media (max-width:1100px){.phero .wrap-wide>div>h1,.phero>.wrap>div>h1{grid-row:auto}}
.hbox{border-bottom:0}

/* ink nav bar + bigger Quick request; quick request fits without scrolling (2026-10-29) */
.masthead{background:var(--ink);border-bottom:0}
.hbox{color:#fff}
.dd-t,nav.main .nl{color:#fff}
.dd-t:hover,nav.main .nl:hover{background:var(--ink-3)}
.dd.open .dd-t{background:var(--lime);color:var(--ink)}
.hdr-tel{color:#fff}
.hdr-tel small{color:rgba(255,255,255,.6)}
.hdr-req{height:56px;background:var(--lime);color:var(--ink);font:800 17px/1 Inter;padding:0 32px;gap:14px}
.hdr-req svg.i{color:var(--ink);width:20px;height:20px}
.hdr-req:hover{background:#fff}
header.site.stuck{background:rgba(17,17,17,.97);box-shadow:0 10px 30px -12px rgba(0,0,0,.5)}
@media (max-width:1100px){.menu-btn{color:#fff;border-left:1px solid rgba(255,255,255,.14)}}
@media (max-width:640px){.hdr-req{height:48px;padding:0 16px;font-size:15px}}

.qf[hidden]{display:none}
.qf-panel .panel-h{padding:14px 20px}
.qf-panel .panel-b{padding:16px 20px}
.qf-call{margin-bottom:14px}
.qf .fld{margin-bottom:12px}
.qf .submit{margin-top:12px}
.qf .fine{margin-top:8px;font-size:12px}
@media (min-width:901px){
  .qf-panel{width:min(820px,calc(100vw - 48px));bottom:88px;max-height:calc(100vh - 96px)}
  .qf-panel.qf-top{top:80px;bottom:auto;max-height:calc(100vh - 92px)}
  .qf:not(.qf2){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;align-items:start}
  .qf:not(.qf2)>.qf-call,.qf:not(.qf2)>.submit,.qf:not(.qf2)>.fine{grid-column:1/-1}
  .qf:not(.qf2) #qfPhoneW{grid-column:1;grid-row:2}
  .qf:not(.qf2) #qfLocW{grid-column:1;grid-row:3}
  .qf:not(.qf2)>.qf-pair{grid-column:1;grid-row:4}
  .qf:not(.qf2)>fieldset.fld{grid-column:2;grid-row:2/span 2}
  .qf:not(.qf2)>fieldset:not(.fld){grid-column:2;grid-row:4}
}
@media (max-width:900px){
  .qf-panel .panel-h{padding:12px 16px}
  .qf-panel .panel-h h2{font-size:20px}
  .qf-panel .panel-b{padding:12px 16px}
  .qf-call{padding:9px 12px;font-size:13px;margin-bottom:10px}
  .qf .fld{margin-bottom:10px}
  .qf label,.qf legend{font-size:13.5px;margin-bottom:5px}
  .qf .fld input{min-height:44px;height:44px}
  .qf .locrow{flex-direction:row}
  .qf .locrow .btn{min-height:44px;padding:0 14px}
  .qf .opts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .qf .opts label{min-height:44px;padding:4px 10px;font-size:13.5px;line-height:1.2}
  .qf .seg label{height:44px}
  .qf .submit{margin-top:10px}
  .qf .fine{font-size:11.5px;margin-top:6px;line-height:1.4}
}
@media (max-width:900px){
  .qf-panel{top:0!important;bottom:0!important;left:0!important;right:0!important;max-height:none!important;border:0}
  .qf-panel .panel-h .k{display:none}
  .qf .opts label{min-height:40px}
}
.qf-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:12px}
@media (max-width:900px){.qf-pair{column-gap:10px}}

/* track a request (2026-10-29) */
.trk-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,4vw,56px);align-items:start}
.trk-h{font-size:26px;margin:0 0 18px}
.trk-find .btn{width:100%;margin-top:6px}
.trk-call{margin:16px 0 0}
.trk-miss{margin-top:14px;padding:12px 14px;border-left:4px solid var(--alert);background:#FFF4F4;font-size:14.5px}
.trk-card{border:1px solid var(--line);background:#fff;outline:0}
.trk-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;background:var(--ink);color:#fff}
.trk-top .k{display:block;font:700 11px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:6px}
.trk-top b{font:700 22px/1 Inter;letter-spacing:.06em}
.trk-state{background:var(--lime);color:var(--ink);font:800 13px/1 Inter;letter-spacing:.08em;text-transform:uppercase;padding:9px 12px}
.trk-steps{list-style:none;margin:0;padding:24px 24px 8px}
.trk-steps li{position:relative;display:grid;grid-template-columns:1fr auto;column-gap:16px;padding:0 0 22px 38px;color:var(--muted)}
.trk-steps li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border:2px solid var(--line);background:#fff;box-sizing:border-box}
.trk-steps li:not(:last-child)::after{content:"";position:absolute;left:8px;top:22px;bottom:2px;width:2px;background:var(--line)}
.trk-steps li b{grid-column:1;color:inherit;font-weight:700}
.trk-steps li span{grid-column:1;font-size:14px}
.trk-steps li time{grid-column:2;grid-row:1;font:600 13px/1.6 Inter}
.trk-steps li.past,.trk-steps li.now{color:var(--ink)}
.trk-steps li.past::before{background:var(--ink);border-color:var(--ink)}
.trk-steps li.past::after{background:var(--ink)}
.trk-steps li.now::before{background:var(--lime);border-color:var(--ink)}
.trk-steps li.now b::after{content:"Now";margin-left:10px;font:800 10.5px/1 Inter;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--lime);padding:3px 6px;vertical-align:2px}
.trk-dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--line)}
.trk-dl>div{padding:14px 24px;border-bottom:1px solid var(--line)}
.trk-dl>div:nth-child(odd){border-right:1px solid var(--line)}
.trk-dl dt{font:700 11px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.trk-dl dd{margin:0;font-weight:600}
.trk-alerts{padding:20px 24px 24px;background:var(--bg)}
.trk-alerts h3{font-size:20px;margin:0 0 4px}
.trk-alerts>p{color:var(--muted);font-size:14.5px;margin:0 0 12px}
.trk-alerts label{font-weight:600;font-size:14px;display:block;margin-bottom:6px}
.trk-alerts .locrow{flex-direction:row}
@media (max-width:900px){.trk-grid{grid-template-columns:1fr}}
@media (max-width:640px){.trk-dl{grid-template-columns:1fr}.trk-dl>div:nth-child(odd){border-right:0}.trk-top,.trk-steps,.trk-dl>div,.trk-alerts{padding-left:16px;padding-right:16px}}

/* inner-page Google reviews: the 24/7 card slider (row runs off the right edge, dots + Back/Next under it) */
.tst:has(.rv-rail){padding:clamp(56px,6vw,80px) 0}
.tst:has(.rv-rail) .tst-head{margin-bottom:28px}
.rv-rail{--inset:max(24px,calc((100% - var(--max)) / 2 + 24px))}
.rv-row.rv-scroll{display:flex;gap:4px;overflow-x:auto;padding:0 var(--inset);scroll-padding:0 var(--inset);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
.rv-scroll::-webkit-scrollbar{display:none}
.rv-scroll:focus-visible{outline:3px solid var(--lime);outline-offset:-3px}
.rv-scroll .rv{flex:none;width:clamp(260px,24vw,330px);scroll-snap-align:start;margin:0;padding:20px 20px 18px;display:flex;flex-direction:column;border:0;border-top:3px solid var(--lime)}
.rv-scroll .rv blockquote,.rv-scroll .rv:first-child blockquote{font:500 15px/1.5 Inter;color:#E6E8EA;margin:10px 0 16px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.rv-scroll .rv figcaption{margin-top:auto;padding-top:12px;border-top:1px solid var(--ink-3)}
.rv-scroll .rv .av{width:32px;height:32px;font-size:14px}
.rail-ctl{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:24px}
.rail-dots{display:flex;gap:2px}
.rail-dots button{width:22px;height:22px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.rail-dots button::before{content:"";width:6px;height:6px;background:var(--ink-3);transition:background .3s,width .3s}
.rail-dots button[aria-current]::before{background:var(--lime);width:14px}
.rail-btns{display:flex;gap:6px}
.rail-btns button{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 16px 0 6px;border:0;background:var(--lime);color:var(--ink);font:700 14px/1 Inter;cursor:pointer;transition:background .2s,opacity .2s}
.rail-btns button:last-child{padding:0 6px 0 16px}
.rail-btns button svg{width:32px;height:32px;padding:8px;background:rgba(17,17,17,.1)}
.rail-btns .prev svg{transform:scaleX(-1)}
.rail-btns button:hover{background:#fff}
.rail-btns button:disabled{opacity:.3;cursor:default;background:var(--lime)}
@media (max-width:640px){.rv-scroll .rv{width:82vw}.rail-btns span{display:none}.rail-btns button,.rail-btns button:last-child{padding:0 6px}}

/* loading icon: logo + square lime spinner only while the next page is on its way, never on arrival (2026-10-30) */
.pl{position:fixed;inset:0;z-index:300;background:var(--ink);display:grid;place-content:center;justify-items:center;gap:26px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s,visibility .35s}
.pl img{width:min(220px,56vw);height:auto}
.pl-spin{width:38px;height:38px;border:4px solid rgba(140,255,0,.18);border-top-color:var(--lime);animation:pl-spin .8s linear infinite}
html.pl-go .pl{opacity:1;visibility:visible;transition-delay:.12s}
@keyframes pl-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.pl-spin{animation-duration:2.4s}}
@media print{.pl{display:none}}

/* calls are buttons, never plain text (2026-10-29) */
.btn-call{min-height:60px;justify-content:center;gap:14px;background:#fff;color:var(--ink);border:2px solid var(--ink);text-align:left}
.btn-call span{display:grid;line-height:1.15;font:800 19px/1.15 Inter;letter-spacing:-.01em}
.btn-call small{font:600 12px/1.3 Inter;color:var(--muted);letter-spacing:0}
.btn-call svg.i{width:22px;height:22px}
.btn-call:hover{background:var(--ink);color:#fff}
.btn-call:hover small{color:rgba(255,255,255,.7)}
.ctaband .acts .alt,.acts .alt{margin:0;font-size:13.5px;text-align:center}
a.qf-call{text-decoration:none;color:#fff;gap:14px;padding:10px 14px 10px 10px;transition:background .2s}
a.qf-call:hover{background:var(--ink-3)}
a.qf-call>svg.i{flex:none;width:40px;height:40px;padding:10px;background:var(--lime);color:var(--ink)}
a.qf-call span{display:grid;line-height:1.2}
a.qf-call small{font-size:12.5px;color:rgba(255,255,255,.7)}
a.qf-call b{font:800 20px/1.15 Inter;color:var(--lime);letter-spacing:-.01em}
a.qf-call em{margin-left:auto;font-style:normal;font-size:12px;color:rgba(255,255,255,.6);text-align:right;max-width:9em}
@media (max-width:900px){a.qf-call{padding:8px 12px 8px 8px}a.qf-call>svg.i{width:36px;height:36px;padding:9px}a.qf-call b{font-size:18px}}
/* a number inside a sentence still reads as a button */
:is(main,.panel,footer) a[href^="tel:"]:not([class]){display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;margin:2px 0;background:var(--ink);color:var(--lime);font-weight:800;text-decoration:none;white-space:nowrap;line-height:1.4;vertical-align:baseline}
:is(main,.panel,footer) a[href^="tel:"]:not([class])::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center/contain no-repeat}
:is(main,.panel,footer) a[href^="tel:"]:not([class]):hover{background:var(--lime);color:var(--ink)}
.tst :is(a[href^="tel:"]:not([class])),.band a[href^="tel:"]:not([class]){background:var(--lime);color:var(--ink)}
.tst:has(.rv-rail) .tst-foot{margin-top:32px}

/* floating nav: an inset translucent ink bar that stays on screen, blurring the page under it (2026-10-29) */
.masthead,.masthead.is-stuck{position:sticky;top:0;z-index:50;background:none;padding:8px clamp(6px,.5vw,10px) 0}
header.site,header.site.stuck{position:relative;margin:0;animation:none;background:rgba(17,17,17,.74);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px -18px rgba(0,0,0,.55)}
header.site .wrap-wide{padding:0 0 0 22px}
header.site .hdr-cta{align-items:center;padding-right:12px}
.dd-t:hover,nav.main .nl:hover{background:rgba(255,255,255,.08)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){header.site,header.site.stuck{background:rgba(17,17,17,.96)}}
@media (min-width:901px){.qf-panel.qf-top{top:104px;max-height:calc(100vh - 116px)}}
@media (max-width:640px){
  .masthead,.masthead.is-stuck{padding:6px 6px 0}
  header.site .wrap-wide{padding-left:14px}
  header.site .hdr-cta{padding-right:0}
}

/* Areas We Serve on service pages: town tiles instead of chips (2026-10-29) */
.ar{background:var(--bg)}
.ar .head-c{margin-bottom:36px}
.ar-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.ar-tiles li{display:flex;min-width:0}
.ar-tiles a:not(.btn){position:relative;flex:1;display:flex;flex-direction:column;gap:6px;min-height:188px;padding:22px 22px 20px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.ar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:auto;padding-bottom:22px}
.ar-top svg.i{width:26px;height:26px;color:var(--lime-ink)}
.ar .tag{font:700 11px/1 Inter;letter-spacing:.12em;text-transform:uppercase;padding:6px 9px;background:var(--lime);color:var(--ink)}
.ar .tag.near{background:none;border:1px solid var(--line);color:var(--muted)}
.ar-tiles b{font:700 clamp(22px,1.9vw,27px)/1.1 Manrope,Inter,sans-serif;letter-spacing:-.02em}
.ar-tiles a small{font-size:13.5px;color:var(--muted);padding-right:30px}
.ar-tiles svg.go{position:absolute;right:20px;bottom:20px;width:20px;height:20px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ar-tiles a:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.ar-tiles a:hover small{color:rgba(255,255,255,.7)}
.ar-tiles a:hover .ar-top svg.i,.ar-tiles a:hover svg.go{color:var(--lime)}
.ar-tiles a:hover .tag.near{border-color:rgba(255,255,255,.3);color:#fff}
.ar-tiles a:hover svg.go{transform:translateX(5px)}
.ar-else{flex-direction:column;gap:8px;padding:22px;background:var(--ink);color:#fff}
.ar-else b{font-size:21px;line-height:1.2}
.ar-else>small{font-size:13.5px;color:rgba(255,255,255,.7);margin-bottom:auto;padding-bottom:16px}
.ar-else .btn-call{width:100%;min-height:54px;border-color:var(--lime);background:var(--lime)}
.ar-else .btn-call span{font-size:17px}
.ar-else .btn-call small{color:#2b4a06}
.ar-else .btn-call:hover{background:#fff;border-color:#fff;color:var(--ink)}
@media (max-width:1100px){.ar-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .ar-tiles a:not(.btn){min-height:150px;padding:16px}
  .ar-top{padding-bottom:16px}
  .ar-tiles a small{padding-right:0;font-size:12.5px}
  .ar-tiles svg.go{display:none}
  .ar-tiles .ar-else{grid-column:1/-1}
}

/* nav call button pulses: a lime border that glows outward (2026-10-29) */
.hdr-tel,.hdr-call{position:relative;isolation:isolate}
.hdr-tel{align-self:center;height:56px;margin-right:10px;border:2px solid var(--lime);box-shadow:0 0 14px -2px rgba(140,255,0,.45)}
.hdr-tel::after,.hdr-call::after{content:"";position:absolute;inset:-2px;border:2px solid var(--lime);pointer-events:none;animation:call-pulse 2s ease-out infinite}
.hdr-tel:hover{background:rgba(140,255,0,.12)}
@keyframes call-pulse{0%{opacity:.9;transform:scale(1);box-shadow:0 0 0 0 rgba(140,255,0,.5)}70%{opacity:0;transform:scale(1.08,1.3);box-shadow:0 0 18px 4px rgba(140,255,0,0)}100%{opacity:0}}
@media (max-width:1100px){.hdr-call{align-self:center;height:48px;width:48px;margin-right:10px}}
@media (prefers-reduced-motion:reduce){.hdr-tel::after,.hdr-call::after{animation:none;opacity:0}}
.ar-tiles a small{min-height:2.9em;line-height:1.45}
.ar-else .btn-call{padding:0 14px;gap:10px}.ar-else .btn-call small{white-space:nowrap;font-size:11px}
.ar-else .btn-call:hover small{color:var(--muted)}
@media (max-width:640px){
  .ar-tiles{grid-template-columns:1fr}
  .ar-tiles a:not(.btn){display:grid;grid-template-columns:auto 1fr auto;column-gap:14px;row-gap:2px;align-items:center;min-height:0;padding:16px}
  .ar-top{display:contents}
  .ar-top svg.i{grid-row:1/span 2;width:22px;height:22px}
  .ar-tiles a .tag{grid-column:3;grid-row:1/span 2}
  .ar-tiles b{grid-column:2;grid-row:1;font-size:20px}
  .ar-tiles a small{grid-column:2;grid-row:2;min-height:0}
}
.ar .tag{white-space:nowrap}@media (max-width:640px){.ar .tag{font-size:10px;padding:5px 7px}.ar-tiles b{white-space:nowrap}}

/* nav fits on laptop widths: the logo never shrinks, links and buttons pad less */
header.site .logo{flex:none}
@media (max-width:640px){.masthead,.masthead.is-stuck{padding:6px 6px 0}}
@media (min-width:1101px) and (max-width:1380px){
  header.site .logo{padding-right:14px}
  .dd-t,nav.main .nl{padding:0 12px}
  .hdr-tel{padding:0 14px}
  .hdr-tel>svg.i{display:none}
  .hdr-req{padding:0 20px}
}

/* buttons size to their label: a wrapped label keeps a tight line height, and the card button doesn't stretch */
.btn{line-height:1.2;text-align:center}
.gw-acard .btn{align-self:flex-start;max-width:100%}

/* glass buttons: every button gets a translucent fill that blurs what's behind it, like the floating nav */
.btn,.hdr-req,.hdr-tel,.fab,a.qf-call{-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.btn-lime,.hdr-req,.fab{background:rgba(140,255,0,.82)}
.btn-lime:hover,.hdr-req:hover,.fab:hover{background:rgba(140,255,0,.95)}
.btn-ink{background:rgba(17,17,17,.72)}
.btn-ink:hover{background:rgba(42,42,42,.86)}
.btn-ghost{background:rgba(255,255,255,.12)}
.btn-ghost:hover{background:rgba(255,255,255,.22)}
.btn-line{background:rgba(255,255,255,.4)}
.btn-line:hover{background:rgba(17,17,17,.8)}
.btn-call{background:rgba(255,255,255,.55)}
.btn-call:hover{background:rgba(17,17,17,.8)}
.hdr-tel{background:rgba(255,255,255,.06)}
.hdr-tel:hover{background:rgba(140,255,0,.14)}
a.qf-call{background:rgba(17,17,17,.76)}
a.qf-call:hover{background:rgba(17,17,17,.9)}
.ar-else .btn-call{background:rgba(140,255,0,.85)}
.ar-else .btn-call:hover{background:rgba(255,255,255,.9)}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .btn-lime,.hdr-req,.fab{background:var(--lime)} .btn-ink{background:var(--ink)} .btn-call{background:#fff}
}

/* form send errors (CMS site: the form posts to PULSE) */
.send-err{color:#B42318;font-weight:600;margin:0 0 12px}
.send-err[hidden]{display:none}
/* CTA band: soft lime wash instead of full lime; the lime stays as a top rule and on the buttons */
.ctaband{background:var(--lime-tint);border-top:6px solid var(--lime)}
.ctaband p{color:var(--ink-2,#2a2a2a)}
.ctaband .btn-call{background:#fff}

/* home hero (Nicole 2026-10-29): "Northeast Ohio" smaller, then a "Need service now?" call button under the headline */
.gw-l2{font-size:.62em;margin-top:.12em}
.gw-now{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:clamp(20px,2.4vw,32px)}
.gw-now p{font:700 clamp(18px,1.5vw,24px)/1.25 Manrope;letter-spacing:-.02em;color:var(--ink);margin:0}
.gw-now-call{min-height:64px;padding:0 28px;gap:14px;border:2px solid var(--ink)}
.gw-now-call span{display:grid;text-align:left;font:800 20px/1.15 Inter;letter-spacing:-.01em}
.gw-now-call small{font:700 12px/1.3 Inter;letter-spacing:.06em;text-transform:uppercase}
.gw-now-call svg.i{width:22px;height:22px}
@media (max-width:640px){.gw-now-call{width:100%;justify-content:center}}
.gw-now-call{position:relative}
.gw-now-call::after{content:"";position:absolute;inset:-2px;border:2px solid var(--lime);pointer-events:none;animation:call-pulse 2s ease-out infinite}
@media (prefers-reduced-motion:reduce){.gw-now-call::after{animation:none;opacity:0}}

/* home hero v2: the money line is the headline; "Need service now?" leads the side column, full width */
.gw-hero h1{font-size:clamp(36px,3.9vw,74px)}
.gw-side .ctas{display:grid;grid-template-columns:1fr;gap:10px}
.gw-side .ctas .btn{width:100%;justify-content:center}
.gw-side .gw-now-call{min-height:68px}

/* phone bar: "Call our dispatch for service" sits on two tight lines */
@media (max-width:900px){.mbar .btn{line-height:1.12;text-align:left;font-size:14px;padding:0 10px;gap:8px}}

/* Bulkshift peg (2026-10-30): full-bleed photo hero with the header laid over it, headline on the
   right over the sky, three short captions along the bottom. HNH ink + lime, square corners, Manrope. */

/* header over the photo: clear at the top, the ink glass bar once scrolled */
body[data-page="home"] .masthead{position:absolute;top:0;left:0;right:0;padding:clamp(10px,1.2vw,18px) clamp(10px,1.6vw,28px) 0}
body[data-page="home"] .masthead.is-stuck{position:fixed;padding:8px clamp(6px,.5vw,10px) 0}
body[data-page="home"] .masthead:not(.is-stuck) header.site{background:none;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}

.bs-hero{position:relative;min-height:max(640px,100svh);display:flex;color:#fff;background:#0b0b0b;overflow:hidden;isolation:isolate}
.bs-hero .hero-img{position:absolute;inset:0;z-index:-1}
.bs-hero .hero-img img,.bs-hero .hero-img video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:38% 50%}
.bs-hero .hero-img::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(8,8,8,.15) 0%,rgba(8,8,8,.35) 42%,rgba(8,8,8,.72) 100%),
  linear-gradient(0deg,rgba(8,8,8,.85) 0%,rgba(8,8,8,0) 38%),
  linear-gradient(180deg,rgba(8,8,8,.55) 0%,rgba(8,8,8,0) 22%)}
.bs-hero .vid-btn{top:auto;bottom:clamp(200px,20vw,240px);right:clamp(20px,3vw,56px)}
.bs-in{position:relative;flex:1;display:grid;grid-template-rows:1fr auto;padding-top:clamp(130px,15vw,200px);padding-bottom:clamp(84px,7vw,104px)}
.bs-main{grid-column:1;justify-self:end;width:min(100%,46rem);align-self:center}
.bs-eye{display:inline-flex;align-items:center;gap:10px;font:500 15px/1.3 Manrope;color:rgba(255,255,255,.86)}
.bs-eye i{position:relative;width:9px;height:9px;background:var(--lime);flex:none}
.bs-eye i::after{content:"";position:absolute;inset:0;background:var(--lime);animation:ping 1.8s ease-out infinite}
.bs-hero h1{margin-top:22px;color:#fff;font:600 clamp(42px,5.4vw,92px)/1.02 Manrope;letter-spacing:-.045em;text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.bs-hero h1 em{font-style:normal;color:var(--lime)}
.bs-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.bs-ctas .btn{min-height:60px}
.bs-ctas .btn-glass{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.bs-ctas .btn-glass:hover{background:#fff;color:var(--ink)}
.bs-hero .micro{margin-top:16px;display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:rgba(255,255,255,.78)}
.bs-hero .micro b{color:#fff}
.bs-hero .micro svg{width:17px;height:17px;margin-top:1px;color:#ffb020;flex:none}
.bs-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,72px);margin-top:clamp(40px,6vw,80px);padding-top:22px;border-top:1px solid rgba(255,255,255,.22)}
.bs-foot p{font:500 15px/1.5 Manrope;color:rgba(255,255,255,.88);max-width:34ch}
.bs-foot b{display:block;margin-bottom:6px;font:600 12px/1 Inter;letter-spacing:.09em;text-transform:uppercase;color:var(--lime)}
.bs-foot a{color:#fff;text-underline-offset:3px}
@media (max-width:900px){
  .bs-hero{min-height:max(600px,100svh)}
  .bs-hero .hero-img img{object-position:30% 50%}
  .bs-hero .hero-img::after{background:linear-gradient(0deg,rgba(8,8,8,.92) 0%,rgba(8,8,8,.55) 55%,rgba(8,8,8,.35) 100%)}
  .bs-in{padding-top:110px}
  .bs-main{justify-self:start;align-self:end}
  .bs-ctas .btn{width:100%;justify-content:center}
  .bs-foot{grid-template-columns:1fr;gap:16px;margin-top:32px}
  .bs-foot p:nth-child(n+2){display:none}
}

/* ---------- whole home page: Bulkshift's near-black page, white statements, one white band between pixel edges ---------- */
body[data-page="home"]{--bs:#0B0B0B;--bs-2:#141414;--bs-line:rgba(255,255,255,.14);--bs-mut:rgba(255,255,255,.62);background:var(--bs);color:#fff}
body[data-page="home"] .rn{display:none}
body[data-page="home"] main .sec,body[data-page="home"] main .tst{background:var(--bs);color:#fff}
body[data-page="home"] main .sec.bs-light{background:#fff;color:var(--ink)}
body[data-page="home"] main :is(.sec,.tst):not(.bs-light) :is(h2,h3){color:#fff}
body[data-page="home"] main :is(.sec,.tst):not(.bs-light) :is(.head-c p,p.sub){color:var(--bs-mut)}
body[data-page="home"] main .pill,body[data-page="home"] main .pill.dark{font:500 14px/1.2 Manrope;letter-spacing:0;color:var(--bs-mut)}
body[data-page="home"] main .bs-light .pill{color:var(--muted)}
body[data-page="home"] main .head-c h2{font-size:clamp(34px,3.8vw,58px);line-height:1.06}
body[data-page="home"] main :is(.sec,.tst):not(.bs-light) .btn-line{color:#fff;border-color:rgba(255,255,255,.4);background:none}
body[data-page="home"] main :is(.sec,.tst):not(.bs-light) .btn-line:hover{background:#fff;color:var(--ink)}
body[data-page="home"] main :is(.sec,.tst):not(.bs-light) .btn-ink{background:#fff;color:var(--ink)}

/* who we are: small label left, the sentence large on the right, stats as big numbers on hairlines */
body[data-page="home"] .gw-who-g{display:block}
body[data-page="home"] .gw-who-g>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:clamp(32px,6vw,96px);row-gap:18px;align-items:start}
body[data-page="home"] .gw-who-g>div>.pill{grid-column:1;grid-row:1}
body[data-page="home"] .gw-who-g>div>h2{grid-column:1;grid-row:2;font-size:clamp(20px,1.6vw,24px);margin:0;color:var(--bs-mut)!important;letter-spacing:-.01em;line-height:1.3}
body[data-page="home"] .gw-who-g>div>p{grid-column:2;grid-row:1/span 3;margin:0;max-width:none;font:500 clamp(28px,3vw,46px)/1.16 Manrope;letter-spacing:-.035em;color:#fff;text-indent:clamp(0px,14vw,240px)}
body[data-page="home"] .gw-who-g>div>a{grid-column:1;grid-row:3;justify-self:start}
body[data-page="home"] .gw-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(56px,7vw,104px);border-top:1px solid var(--bs-line)}
body[data-page="home"] .gw-stats>div,body[data-page="home"] .gw-stats>div:nth-child(-n+2){border:0;border-left:1px solid var(--bs-line);padding:28px 0 0 24px}
body[data-page="home"] .gw-stats>div:first-child{border-left:0;padding-left:0}
body[data-page="home"] .gw-stats dd{color:#fff;font-size:clamp(52px,6vw,96px)}
body[data-page="home"] .gw-stats dt{color:var(--bs-mut)}
body[data-page="home"] .gw-who .trust{border-top-color:var(--bs-line)}
body[data-page="home"] .gw-who .trust .t{border-right-color:var(--bs-line)}
body[data-page="home"] .gw-who .trust h3 svg.i{color:var(--lime)}
body[data-page="home"] .gw-who .trust p,body[data-page="home"] .gw-who .affil-n{color:var(--bs-mut)}
body[data-page="home"] .gw-who .affil-n b{color:#fff}

/* locations stay the dark band, on the page's own black */
body[data-page="home"] .gw-band{background:var(--bs-2)!important}

/* the white band: "why" word list beside its photo, like the peg's industries list */
body[data-page="home"] .gw-why .gw-word{border-bottom-color:var(--line)}
body[data-page="home"] .gw-why .gw-word button{color:#C4C7C0}
body[data-page="home"] .gw-why .gw-word.on button,body[data-page="home"] .gw-why .gw-word button:hover{color:var(--ink)}
body[data-page="home"] .gw-why figure img{filter:grayscale(1) contrast(1.05)}

/* services: line-icon tiles on hairlines instead of photo cards */
body[data-page="home"] #services .svc-grid{gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
body[data-page="home"] #services .sc{background:none;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px;transition:background .2s}
body[data-page="home"] #services .sc:hover{background:var(--bg);transform:none;box-shadow:none}
/* keep the text dark on the light hover: the shared Greenway rules (.gw-svc .sc:hover) turn it white for their black
   hover, and give "Explore all" a black title bar, which read as white-on-grey here */
body[data-page="home"] #services .sc:hover,body[data-page="home"] #services .sc:hover h3{color:var(--ink);background:var(--bg)}
body[data-page="home"] #services .sc:hover h3{background:none}
body[data-page="home"] #services .sc:hover p{color:var(--muted)}
body[data-page="home"] #services .sc:hover .ic{border-color:var(--ink);color:var(--ink)}
body[data-page="home"] #services .sc .ph{display:none}
body[data-page="home"] #services .sc-h{display:flex;justify-content:space-between;align-items:flex-start}
body[data-page="home"] #services .sc .ic{margin:0;width:64px;height:64px;background:none;border:1.5px solid var(--ink);color:var(--ink)}
body[data-page="home"] #services .sc .ic svg.i{width:30px;height:30px;stroke-width:1.4}
body[data-page="home"] #services .sc .go{position:static;width:40px;height:40px;background:none;color:var(--ink);border:1px solid var(--line)}
body[data-page="home"] #services .sc:hover .go{background:var(--lime);border-color:var(--lime)}
body[data-page="home"] #services .sc .bd{padding:0}
body[data-page="home"] #services .sc h3{font:600 20px/1.25 Manrope;letter-spacing:-.02em;margin-top:40px}

/* steps and the diesel card on black */
body[data-page="home"] .step{border-color:var(--bs-line)!important}
body[data-page="home"] .step .n{color:var(--lime)!important}
body[data-page="home"] .step p{color:var(--bs-mut)}
body[data-page="home"] .step .meta{background:none;border:1px solid rgba(140,255,0,.45);color:var(--lime)}
body[data-page="home"] .gw-steps-ph::before{border-color:rgba(140,255,0,.45)}
body[data-page="home"] .gw-pcard{background:var(--bs-2);border:1px solid var(--bs-line)}
body[data-page="home"] .gw-acard{background:var(--lime);color:var(--ink)}
body[data-page="home"] .gw-acard :is(h3,p,li){color:var(--ink)!important}
body[data-page="home"] .gw-acard .pill{color:rgba(17,17,17,.7)}
body[data-page="home"] .gw-acard .btn-ink{background:var(--ink)!important;color:#fff!important}
body[data-page="home"] .gw-promise figure img{filter:saturate(.85)}

/* reviews: big white quote on black */
body[data-page="home"] .tst .rv{background:var(--bs-2);border-color:var(--bs-line)}
body[data-page="home"] .tst .rv blockquote{color:#fff}

/* contact: the form stays a white card; the tiles go dark */
body[data-page="home"] #contact .gw-ct figure img{filter:grayscale(.3)}
body[data-page="home"] #contact .formcard{border:0;color:var(--ink)}
body[data-page="home"] #contact .formcard :is(h3,h2){color:var(--ink)}
body[data-page="home"] #contact .formcard p.sub{color:var(--muted)}
body[data-page="home"] #contact .info .tile{background:var(--bs-2);border-color:var(--bs-line);color:#fff}
body[data-page="home"] #contact .info .tile small{color:var(--bs-mut)}
body[data-page="home"] #contact .info .tile.main{background:var(--lime);color:var(--ink)}
body[data-page="home"] #contact .info .tile.main small{color:rgba(17,17,17,.7)}
body[data-page="home"] #contact .depts{border-color:var(--bs-line);color:var(--bs-mut)}

/* FAQ, coverage and blog on black */
body[data-page="home"] .faq details,body[data-page="home"] .faq details:first-child{border-color:var(--bs-line)}
body[data-page="home"] .faq summary{color:#fff}
body[data-page="home"] .faq details p{color:var(--bs-mut)}
body[data-page="home"] .faq summary::after{background-color:var(--bs-2)}
body[data-page="home"] .gw-aerial .routes,body[data-page="home"] .gw-aerial .route{border-color:var(--bs-line)}
body[data-page="home"] .gw-aerial .route{background:none;color:#fff}
body[data-page="home"] .gw-aerial .route p{color:var(--bs-mut)}
body[data-page="home"] .gw-aerial .route .ic{background:var(--bs-2)}
body[data-page="home"] .gw-aerial-card{background:var(--bs);border:1px solid var(--bs-line)}
body[data-page="home"] .gw-aerial-card p{color:var(--bs-mut)}
body[data-page="home"] .post{background:none;border:0;border-top:1px solid var(--bs-line);color:#fff}
body[data-page="home"] .post .bd{padding:20px 0 0}
body[data-page="home"] .post .cat{color:var(--lime)}
body[data-page="home"] .post .rm{color:#fff}
body[data-page="home"] .post .ph img{filter:grayscale(.2)}

/* closing call: the peg's big "Let's build" line, the number as one large button */
body[data-page="home"] .ctaband{background:var(--bs);border-top:1px solid var(--bs-line);padding:clamp(80px,9vw,140px) 0;color:#fff}
body[data-page="home"] .ctaband .g{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:end}
body[data-page="home"] .ctaband h2{color:#fff;font-size:clamp(40px,5vw,80px);line-height:1.02;letter-spacing:-.045em}
body[data-page="home"] .ctaband p{color:var(--bs-mut)}
body[data-page="home"] .ctaband .btn-call{background:var(--lime);color:var(--ink);min-height:76px;font-size:22px}
body[data-page="home"] .ctaband .btn-ink{background:none;color:#fff;border:1px solid rgba(255,255,255,.4)}
body[data-page="home"] .ctaband .alt,body[data-page="home"] .ctaband .alt a{color:var(--bs-mut)}
body[data-page="home"] footer.site{border-top:1px solid var(--bs-line)}

/* pixel edges where black meets the white band (the peg's mosaic) */
.bs-px{display:block;width:100%;height:auto;line-height:0;background:var(--bs)}
.bs-px svg{display:block;width:100%;height:clamp(60px,9vw,130px)}

@media (max-width:900px){
  body[data-page="home"] .gw-who-g>div{grid-template-columns:1fr}
  body[data-page="home"] .gw-who-g>div>*{grid-column:1!important;grid-row:auto!important}
  body[data-page="home"] .gw-who-g>div>p{text-indent:0}
  body[data-page="home"] .gw-stats{grid-template-columns:1fr 1fr}
  body[data-page="home"] .gw-stats>div:nth-child(3){border-left:0;padding-left:0}
  body[data-page="home"] .gw-stats>div:nth-child(n+3){border-top:1px solid var(--bs-line)}
  body[data-page="home"] .ctaband .g{grid-template-columns:1fr}
  body[data-page="home"] .gw-stats dd{font-size:clamp(40px,12vw,56px)}
  body[data-page="home"] #services .sc{padding:22px}
  body[data-page="home"] #services .sc h3{margin-top:22px}
}

/* ---------- footer: the peg's closing line, the number huge and underlined, square-bullet columns, a photo breaking
   up into pixels at the very bottom. Accents in white like the peg (lime stays on the floating call buttons). ---------- */
.ctaband{display:none}
footer.site.bs-foot-site{background:#000;color:#fff;border:0;padding:clamp(80px,9vw,140px) 0 0;font-size:16px}
.bf-top{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}
.bf-h{margin:0;max-width:none;font:500 clamp(40px,5.4vw,88px)/1.04 Manrope!important;letter-spacing:-.045em;color:#9B9C9A!important;text-transform:none}
.bf-h span{display:block;padding-left:clamp(0px,17vw,260px)}
.bf-totop{flex:none;margin-top:12px;font:500 15px/1.3 Manrope;color:#fff;text-underline-offset:4px}
.bf-totop:hover{color:var(--lime)}
.bf-call{display:inline-flex;flex-direction:column;gap:10px;margin-top:clamp(28px,3vw,44px);color:#fff;text-decoration:none}
.bf-call small{font:500 15px/1 Manrope;color:#9B9C9A}
.bf-call span{display:inline-flex;align-items:center;gap:.28em;font:500 clamp(44px,6.4vw,104px)/1 Manrope;letter-spacing:-.045em;padding-bottom:.08em;border-bottom:clamp(3px,.35vw,6px) solid #fff;transition:color .2s,border-color .2s}
.bf-call svg.i{width:.62em;height:.62em;padding:.12em;background:#fff;color:#000;stroke-width:2.2;transition:background .2s}
.bf-call:hover span{color:var(--lime);border-color:var(--lime)}
.bf-call:hover svg.i{background:var(--lime)}
.bf-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px);margin-top:clamp(96px,12vw,200px)}
.bf-intro p{max-width:30ch;font:400 16px/1.55 Manrope;color:rgba(255,255,255,.82)}
.bf-btn{margin-top:22px;min-height:46px;background:#fff;color:#000;font:600 15px/1 Manrope}
.bf-btn:hover{background:var(--lime)}
footer.bs-foot-site h4{margin:0 0 22px;font:400 16px/1.2 Manrope;color:rgba(255,255,255,.72);letter-spacing:0;text-transform:none}
footer.bs-foot-site ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
footer.bs-foot-site li a{display:flex;align-items:center;gap:16px;color:#fff;text-decoration:none;font:500 16.5px/1.25 Manrope}
footer.bs-foot-site li a::before{content:"";width:8px;height:8px;flex:none;background:#fff}
footer.bs-foot-site li a:hover{color:var(--lime)}
footer.bs-foot-site li a:hover::before{background:var(--lime)}
.bf-base{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;margin-top:clamp(56px,6vw,88px);padding-bottom:clamp(36px,4vw,56px)}
.bf-logo img{display:block;width:150px;height:auto}
.bf-base p{margin:0;text-align:center;font:400 15px/1.4 Manrope;color:rgba(255,255,255,.72)}
.bf-soc{display:flex;gap:10px}
.bf-soc a{display:grid;place-items:center;width:40px;height:40px;color:#fff}
.bf-soc svg{width:20px;height:20px;fill:currentColor}
.bf-soc a:last-child svg{fill:none}
.bf-soc a:hover{color:var(--lime)}
.bf-photo{position:relative;height:clamp(220px,26vw,400px);overflow:hidden}
.bf-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;filter:brightness(.62) saturate(.8)}
.bf-photo svg{position:absolute;left:0;right:0;top:0;width:100%;height:70%}
@media (max-width:900px){
  .bf-top{flex-direction:column-reverse}
  .bf-h span{padding-left:0;display:inline}
  .bf-grid{grid-template-columns:1fr 1fr;margin-top:72px}
  .bf-intro{grid-column:1/-1}
  .bf-base{grid-template-columns:1fr;justify-items:start}
  .bf-base p{text-align:left}
  .bf-call span{font-size:clamp(36px,11vw,56px)}
}

/* pixel bands drawn like the reference: white page behind, black squares on top (2026-10-30) */
.bs-px{background:#fff}
.bs-px svg{height:auto;aspect-ratio:32/5}
/* the last section before the footer sits on white, so the band runs white into the black footer */
body[data-page="home"] main .sec.bs-light .post{border-top-color:var(--line);color:var(--ink)}
body[data-page="home"] main .sec.bs-light .post .rm{color:var(--ink)}
body[data-page="home"] main .sec.bs-light .post .cat{color:var(--lime-ink)}
body[data-page="home"] main .sec.bs-light .bl-top .btn-line{color:var(--ink);border-color:var(--ink)}
main>*:last-child:not(.sec){margin-bottom:0}
main>.wrap:has(>.rn:only-child){display:none}

/* How It Works sits inside the white band too (2026-10-30) */
body[data-page="home"] .bs-light .step{border-color:var(--line)!important}
body[data-page="home"] .bs-light .step .n{color:var(--ink)!important}
body[data-page="home"] .bs-light .step p{color:var(--muted)}
body[data-page="home"] .bs-light .step .meta{border-color:var(--lime-ink);color:var(--lime-ink)}
body[data-page="home"] .bs-light .gw-steps-ph::before{border-color:var(--lime-ink)}
body[data-page="home"] main .bs-light .head-c p{color:var(--muted)}

/* everything from the top band down to the footer is white; the only other band runs into the footer (2026-10-30) */
body[data-page="home"] main .tst.bs-light{background:#fff;color:var(--ink)}
body[data-page="home"] .tst.bs-light .rating{background:var(--ink)}
body[data-page="home"] .bs-light#contact .formcard{border:1px solid var(--line)}
body[data-page="home"] .bs-light#contact .info .tile{background:var(--bg);border-color:var(--line);color:var(--ink)}
body[data-page="home"] .bs-light#contact .info .tile small{color:var(--muted)}
body[data-page="home"] .bs-light#contact .info .tile.main{background:var(--lime)}
body[data-page="home"] .bs-light#contact .info h3{color:var(--ink)}
body[data-page="home"] .bs-light#contact .depts{border-color:var(--line);color:var(--muted)}
body[data-page="home"] .bs-light .faq details,body[data-page="home"] .bs-light .faq details:first-child{border-color:var(--line)}
body[data-page="home"] .bs-light .faq summary{color:var(--ink)}
body[data-page="home"] .bs-light .faq details p{color:var(--muted)}
body[data-page="home"] .bs-light .faq summary::after{background-color:var(--ink)}
body[data-page="home"] .bs-light .faq details[open] summary::after{background-color:var(--lime)}
body[data-page="home"] .bs-light.gw-aerial .routes,body[data-page="home"] .bs-light.gw-aerial .route{border-color:var(--line)}
body[data-page="home"] .bs-light.gw-aerial .route{color:var(--ink)}
body[data-page="home"] .bs-light.gw-aerial .route p{color:var(--muted)}
body[data-page="home"] .bs-light.gw-aerial .route .ic{background:var(--ink)}
body[data-page="home"] .bs-light .gw-aerial-card{background:#fff;border:0}
body[data-page="home"] .bs-light .gw-aerial-card h2{color:var(--ink)}
body[data-page="home"] .bs-light .gw-aerial-card p{color:var(--muted)}

/* ---------- Bulkshift on every other page (2026-10-30): the same black top with the header laid over it, a pixel
   band into one white stretch, and the footer's band out of it. The page photo fills the hero behind the words. ---------- */
body:not([data-page="home"]) .masthead{position:absolute;top:0;left:0;right:0;padding:clamp(10px,1.2vw,18px) clamp(10px,1.6vw,28px) 0}
body:not([data-page="home"]) .masthead.is-stuck{position:fixed;padding:8px clamp(6px,.5vw,10px) 0}
body:not([data-page="home"]) .masthead:not(.is-stuck) header.site{background:none;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}

.phero,.phero:not(:has(figure)){position:relative;isolation:isolate;background:#0B0B0B;color:#fff;border:0}
.phero .wrap-wide,.phero>.wrap{position:relative;padding-top:clamp(150px,14vw,210px);padding-bottom:clamp(64px,6vw,96px)}
.phero:not(:has(figure)) .wrap-wide,.phero:not(:has(figure))>.wrap{padding-bottom:clamp(64px,6vw,96px)}
.phero:has(figure){min-height:min(88svh,860px);display:flex;align-items:flex-end}
.phero:has(figure)>.wrap-wide{flex:1}
.phero figure{position:absolute;inset:0;margin:0;aspect-ratio:auto;min-height:0;z-index:-1}
.phero figure img{border:0}
.phero figure::after{background:linear-gradient(90deg,rgba(8,8,8,.84) 0%,rgba(8,8,8,.66) 45%,rgba(8,8,8,.6) 100%),linear-gradient(0deg,rgba(8,8,8,.9) 0%,rgba(8,8,8,0) 50%),linear-gradient(180deg,rgba(8,8,8,.6) 0%,rgba(8,8,8,0) 26%)}
.phero figure figcaption{display:none}
.phero h1{color:#fff;font-weight:600;letter-spacing:-.045em;text-wrap:balance}
.phero h1 em{color:var(--lime);background:none}
.phero .crumbs,.phero .crumbs a{color:rgba(255,255,255,.7)}
.phero .crumbs li+li::before{color:rgba(255,255,255,.35)}
.phero .kick{color:rgba(255,255,255,.86)}
.phero .kick i,.phero .kick i::after{background:var(--lime)}
.phero .lead{color:rgba(255,255,255,.84)}
.phero .ticks li{color:#fff}
.phero .micro{color:rgba(255,255,255,.75)}
.phero .micro b{color:#fff}
.phero .micro svg{color:#ffb020}
.phero .facts{border-top-color:rgba(255,255,255,.2);color:rgba(255,255,255,.82)}
.phero .facts svg.i{color:var(--lime)}
.phero .meta,.phero .meta b{color:rgba(255,255,255,.72)}
.phero .btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.phero .btn-ghost:hover{background:#fff;color:var(--ink)}
.phero .btn-ink{background:#fff;color:var(--ink)}
.phero .btn-ink:hover{background:var(--lime)}
.phero mark.fix{color:var(--ink)}

/* the white stretch: every section between the two bands on white, the dark bands and reviews included */
body:not([data-page="home"]) main :is(.sec,.tst,.areas-strip,.ar){background:#fff;color:var(--ink)}
body:not([data-page="home"]) main .band :is(h2,h3:not(.card h3)),body:not([data-page="home"]) main .tst :is(h2,.tst-head h3){color:var(--ink)}
body:not([data-page="home"]) main .band .head-c p,body:not([data-page="home"]) main .tst .head-c p{color:var(--muted)}
body:not([data-page="home"]) main .tst .rating{background:var(--ink)}
body:not([data-page="home"]) main :is(.band,.tst) :is(.pill,.pill.dark){color:var(--muted)}
body:not([data-page="home"]) main .tst .rating b{color:#fff}
body:not([data-page="home"]) main .sec+.sec,body:not([data-page="home"]) main .sec+.tst,body:not([data-page="home"]) main .tst+.sec{border-top:1px solid var(--line)}
body:not([data-page="home"]) main .head-c h2{font-size:clamp(34px,3.8vw,58px);line-height:1.06}
@media (max-width:900px){
  .phero:has(figure){min-height:0}
  .phero figure::after{background:linear-gradient(180deg,rgba(8,8,8,.78) 0%,rgba(8,8,8,.7) 50%,rgba(8,8,8,.9) 100%)}
  .phero .wrap-wide,.phero>.wrap{padding-top:120px}
}

/* home hero centred (user, 2026-10-30) */
.bs-main{justify-self:center;width:min(100%,62rem);text-align:center}
.bs-hero h1{margin-left:auto;margin-right:auto}
.bs-ctas,.bs-hero .micro{justify-content:center}
.bs-hero .micro{text-align:left;width:fit-content;margin-left:auto;margin-right:auto}
@media (max-width:900px){.bs-main{justify-self:center;align-self:end}}
.bs-eye{display:block}
.bs-eye i{display:inline-block;margin-right:10px;vertical-align:0}

/* Call buttons stand out on every page (2026-10-30): solid lime, bold ink text, a soft shadow and a ringing phone; no border.
   Replaces the see-through "glass" look, which read as dull grey on the white pages. The header call keeps its own style. */
main a.btn[href^="tel:"],main a.btn-call,a.qf-call,main a.tile.main[href^="tel:"]{background:var(--lime)!important;color:var(--ink)!important;border:0!important;box-shadow:0 10px 24px -10px rgba(60,110,0,.55);font-weight:800;-webkit-backdrop-filter:none;backdrop-filter:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
main a.btn[href^="tel:"]:hover,main a.btn-call:hover,a.qf-call:hover,main a.tile.main[href^="tel:"]:hover{background:#A6FF3D!important;transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(60,110,0,.6)}
main a.btn[href^="tel:"]:active,main a.btn-call:active,a.qf-call:active,main a.tile.main[href^="tel:"]:active{transform:translateY(0);box-shadow:0 6px 14px -8px rgba(60,110,0,.5)}
main a.btn-call small,main a.btn-call:hover small,a.qf-call small,a.qf-call em,main a.tile.main small{color:#2b4a06!important}
a.qf-call b,main a.tile.main b{color:var(--ink)!important}
a.qf-call>svg.i,main a.tile.main .ic{background:var(--ink)!important;color:var(--lime)!important}
/* On the black heroes, a lime glow instead. */
.phero a.btn[href^="tel:"],.bs-hero a.btn[href^="tel:"]{box-shadow:0 0 0 0 rgba(140,255,0,.55),0 10px 30px -8px rgba(140,255,0,.55);animation:hnh-call-glow 2.4s ease-out infinite}
.phero a.btn[href^="tel:"]:hover,.bs-hero a.btn[href^="tel:"]:hover{box-shadow:0 0 0 4px rgba(140,255,0,.35),0 12px 34px -8px rgba(140,255,0,.7)}
@keyframes hnh-call-glow{0%{box-shadow:0 0 0 0 rgba(140,255,0,.55),0 10px 30px -8px rgba(140,255,0,.55)}70%{box-shadow:0 0 0 14px rgba(140,255,0,0),0 10px 30px -8px rgba(140,255,0,.55)}100%{box-shadow:0 0 0 0 rgba(140,255,0,0),0 10px 30px -8px rgba(140,255,0,.55)}}
/* The phone icon rings now and then. */
main a[href^="tel:"]:is(.btn,.btn-call,.tile) svg.i,a.qf-call>svg.i{transform-origin:50% 50%;animation:hnh-ring 3.2s ease-in-out infinite}
@keyframes hnh-ring{0%,82%,100%{transform:rotate(0)}85%{transform:rotate(-14deg)}88%{transform:rotate(12deg)}91%{transform:rotate(-10deg)}94%{transform:rotate(8deg)}97%{transform:rotate(-4deg)}}
@media (prefers-reduced-motion:reduce){main a[href^="tel:"] svg.i,a.qf-call>svg.i,.phero a.btn[href^="tel:"],.bs-hero a.btn[href^="tel:"]{animation:none}}
a.qf-call b{white-space:nowrap}
@media (max-width:520px){a.qf-call em{display:none}}
/* Footer "Quick request" (2026-10-30): lime with a soft lime glow on the black footer, like the call buttons. */
.btn.bf-btn{background:var(--lime);color:var(--ink);min-height:56px;padding:0 30px;font:800 16px/1 Manrope;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 12px 30px -10px rgba(140,255,0,.55);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn.bf-btn:hover{background:#A6FF3D;transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(140,255,0,.7)}

/* Popups (quick request, accessibility) are white cards: keep their text dark on the black home page too */
.panel{color:var(--text)}

/* careers: apply as a chat, /careers/apply/ (apply.js, 2026-11-07) */
.ac-wrap{max-width:820px;margin:0 auto}
.ac{display:flex;flex-direction:column;height:min(780px,calc(100vh - 110px));min-height:540px;background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -34px rgba(0,0,0,.35)}
.ac-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--ink);color:#fff;border-top:5px solid var(--lime)}
.ac-who{display:flex;align-items:center;gap:12px;min-width:0}
.ac-who b{display:block;font:800 16px/1.15 "Inter Tight"}
.ac-who small{display:block;margin-top:3px;font-size:12.5px;color:rgba(255,255,255,.66);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-ava{flex:none;width:40px;height:40px;display:grid;place-items:center;background:var(--lime);color:var(--ink)}
.ac-ava svg.i{width:24px;height:24px}
.ac-restart{flex:none;min-height:36px;padding:0 12px;background:none;border:1px solid rgba(255,255,255,.28);color:#fff;font:600 13px Inter;cursor:pointer}
.ac-restart:hover{border-color:var(--lime);color:var(--lime)}
.ac-confirm{position:absolute;z-index:3;right:12px;top:calc(100% + 8px);width:min(300px,calc(100% - 24px));padding:14px;background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:0 20px 40px -12px rgba(0,0,0,.35)}
.ac-confirm p{font-weight:600;margin-bottom:10px}
.ac-confirm .btn{min-height:42px;margin-right:8px}
.ac-bar{height:4px;background:var(--line);flex:none}
.ac-bar i{display:block;height:100%;width:0;background:var(--lime);transition:width .35s ease}
.ac-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;padding:18px 16px 10px;background:var(--bg)}
.ac-sec{display:flex;align-items:center;gap:12px;padding:10px 0 2px;font:700 11px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ac-sec::before,.ac-sec::after{content:"";flex:1;height:1px;background:#D9DCD6}
.ac-row{display:flex;flex-direction:column;max-width:86%}
.ac-row.bot{align-self:flex-start;align-items:flex-start}
.ac-row.me{align-self:flex-end;align-items:flex-end}
.ac-b{padding:11px 14px;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.ac-b p+p{margin-top:8px}
.bot .ac-b{background:#fff;color:var(--text);border:1px solid var(--line);border-left:3px solid var(--lime)}
.me .ac-b{background:var(--ink);color:#fff;white-space:pre-line}
.me .ac-b.skipped{background:#3A3B3A;color:#D4D6D9;font-style:italic}
.bot.note .ac-b{border-left-color:var(--muted-2);color:var(--muted);font-size:13.5px}
.bot.typing .ac-b{display:flex;gap:5px;padding:15px 16px}
.bot.typing .ac-b span{width:7px;height:7px;background:var(--muted-2);animation:ac-dot 1s infinite ease-in-out}
.bot.typing .ac-b span:nth-child(2){animation-delay:.15s}
.bot.typing .ac-b span:nth-child(3){animation-delay:.3s}
@keyframes ac-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.ac-edit{display:inline-flex;align-items:center;gap:4px;margin-top:3px;padding:4px 0;background:none;border:0;color:var(--muted);font:600 12px Inter;cursor:pointer}
.ac-edit svg.i{width:13px;height:13px}
.ac-edit:hover{color:var(--ink);text-decoration:underline}
.ac-dock{flex:none;max-height:58%;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 16px;background:#fff;border-top:1px solid var(--line)}
.ac-dock:has(.ac-done){max-height:none}
.ac-chips{display:flex;flex-wrap:wrap;gap:8px}
.ac-chips.wide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.ac-chip{min-height:44px;padding:8px 14px;background:#fff;border:1.5px solid #CDD0C7;color:var(--text);font:600 14.5px/1.25 Inter;text-align:left;cursor:pointer}
.ac-chip:hover{border-color:var(--ink)}
.ac-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.ac-chip.multi{display:inline-flex;align-items:center;gap:9px}
.ac-chip.multi::before{content:"";flex:none;width:16px;height:16px;border:1.5px solid #8A8F96;background:#fff}
.ac-chip.multi[aria-pressed=true]::before{border-color:var(--lime);background:var(--lime);box-shadow:inset 0 0 0 3px var(--ink)}
.ac-chip:focus-visible,.ac-send:focus-visible,.ac-drop:focus-visible,.ac-cert:focus-visible,.ac-x:focus-visible,.ac-edit:focus-visible,.ac-skip:focus-visible,.ac-link:focus-visible,.ac-restart:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--lime)}
.ac-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:12px}
.ac-go{min-height:48px}
.ac .btn:disabled{opacity:.45;cursor:not-allowed}
.ac-skip,.ac-link{padding:10px 2px;background:none;border:0;color:var(--muted);font:600 14px Inter;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ac-compose>.ac-skip,.ac-compose>.ac-link{margin-top:6px;margin-right:12px}
.ac-skip:hover,.ac-link:hover{color:var(--ink)}
.ac-line{display:flex;gap:8px}
.ac-line input,.ac-line textarea{flex:1;min-width:0}
.ac-line.tall textarea{min-height:96px}
.ac-line.tall .ac-send{align-self:flex-end}
.ac-line+.ac-line,.ac-chips+.ac-line{margin-top:10px}
.ac-send{flex:none;width:50px;min-height:50px;display:grid;place-items:center;background:var(--lime);border:0;color:var(--ink);cursor:pointer}
.ac-send:hover{background:#A6FF3D}
.ac-send svg.i{width:20px;height:20px}
.ac-err{margin-top:8px;color:var(--alert);font-size:13.5px;font-weight:600}
.ac-err:empty{display:none}
.ac [aria-invalid=true]{border-color:var(--alert)}
.ac-cardform{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.ac-f{grid-column:1/-1;min-width:0}
.ac-f.half{grid-column:span 2}
.ac-f.quarter{grid-column:span 1}
.ac-f label{display:block;margin-bottom:5px;font:600 13px/1.3 Inter}
.ac-f input{min-height:46px}
.ac-f textarea{min-height:72px}
.ac-cardform>.ac-actions,.ac-cardform>.ac-err{grid-column:1/-1;margin-top:2px}
.ac-seg{display:flex;flex-wrap:wrap;gap:8px;border:0;margin:0;padding:0}
.ac-seg legend{width:100%;margin-bottom:6px;padding:0;font:600 13px/1.3 Inter}
.ac-seg .ac-chip{min-width:84px;text-align:center}
.ac-drop{width:100%;display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg);border:1.5px dashed #9A9F96;color:var(--text);text-align:left;cursor:pointer}
.ac-drop:hover{border-color:var(--ink)}
.ac-drop svg.i{flex:none;width:24px;height:24px}
.ac-drop b{display:block;font:700 15px/1.3 Inter}
.ac-drop small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}
.ac-files{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}
.ac-files:empty{display:none}
.ac-files li{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 12px;background:#fff;border:1px solid var(--line)}
.ac-files li span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600}
.ac-files li small{flex:none;font-size:12.5px;color:var(--muted)}
.ac-x{flex:none;width:36px;height:36px;display:grid;place-items:center;background:none;border:0;color:var(--muted);cursor:pointer}
.ac-x:hover{background:var(--bg);color:var(--ink)}
.ac-x svg.i{width:16px;height:16px}
.ac-sum{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 16px;margin:0 0 14px;font-size:14px}
.ac-sum dt{color:var(--muted);font-weight:600}
.ac-sum dd{margin:0;overflow-wrap:anywhere}
.ac-cert{width:100%;display:flex;gap:12px;padding:12px 14px;background:var(--bg);border:1.5px solid #CDD0C7;color:var(--text);font:500 13.5px/1.5 Inter;text-align:left;cursor:pointer}
.ac-cert i{flex:none;width:20px;height:20px;margin-top:1px;background:#fff;border:1.5px solid var(--ink)}
.ac-cert[aria-checked=true]{border-color:var(--ink)}
.ac-cert[aria-checked=true] i{background:var(--ink);box-shadow:inset 0 0 0 4px var(--lime)}
.ac-eeo{margin:10px 0 14px;font-size:12.5px;line-height:1.5;color:var(--muted)}
.ac-submit{width:100%;min-height:52px}
.ac-review .human-check{margin-bottom:10px}
.ac-done{padding:18px 6px 8px;text-align:center}
.ac-done:focus{outline:none}
.ac-tick{width:60px;height:60px;display:grid;place-items:center;margin:0 auto 14px;background:var(--lime);color:var(--ink)}
.ac-tick svg.i{width:28px;height:28px}
.ac-done h2{font:800 26px/1.15 "Inter Tight";margin-bottom:6px}
.ac-done p{color:var(--muted);font-size:15px;margin:6px auto;max-width:46ch}
.ac-done .ac-ref b{color:var(--text);letter-spacing:.06em}
.ac-done .ac-up{color:var(--text);font-weight:600}
.ac-done .ac-warn{color:var(--alert);font-weight:600}
.ac-done .btn{margin-top:14px}
.ac-note{margin-top:14px;text-align:center;font-size:13px;color:var(--muted)}
.ac-tools{display:flex;align-items:center;gap:8px}
.ac-a11y{display:none;flex:none;width:36px;height:36px;place-items:center;background:none;border:1px solid rgba(255,255,255,.28);color:#fff;cursor:pointer}
.ac-a11y svg.i{width:20px;height:20px}
.ac-a11y:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
@media (max-width:640px){
  body:has(#applyChat) .a11y-btn{display:none}
  .ac-a11y{display:grid}
  .ac{height:calc(100svh - 92px);min-height:500px;margin:0 -16px;border-left:0;border-right:0;scroll-margin-top:92px}
  .ac-head{padding:10px 12px}
  .ac-log{padding:14px 12px 8px}
  .ac-row{max-width:92%}
  .ac-dock{padding:12px;max-height:62%}
  .ac-chip{font-size:14px;padding:8px 12px}
  .ac-chips.wide .ac-chip{font-size:13.5px;padding:6px 10px}
  .ac-cardform{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ac-f.half{grid-column:1/-1}
}
.poslist a{color:inherit;text-decoration:none}
.poslist a:hover{text-decoration:underline;text-underline-offset:3px}
.ap-cta h2{font:800 clamp(26px,3vw,34px)/1.1 "Inter Tight";margin:10px 0 0}
.ap-steps{list-style:none;margin:20px 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ap-steps li{display:flex;align-items:center;gap:10px;padding:12px;background:var(--bg);font-weight:600;font-size:14.5px}
.ap-steps b{flex:none;width:26px;height:26px;display:grid;place-items:center;background:var(--ink);color:var(--lime);font:800 13px/1 "Inter Tight"}
@media (max-width:640px){.ap-steps{grid-template-columns:1fr}.ap-cta .btn{width:100%}}
/* the apply chat fills the screen: no Quick request button or phone call bar over it */
body:has(#applyChat) .fab,body:has(#applyChat) .mbar{display:none!important}

/* quick request in three steps: 1. where, 2. what, 3. how to reach you (2026-11-07) */
.qf-panel:has(.qf2){width:min(560px,calc(100vw - 48px))}
.qf-panel:has(.qf2) .panel-h .k{display:none}
.qf-panel .qf-sub{font-size:13.5px;color:var(--muted);margin-top:4px}
.qf2 .qf-call{justify-content:space-between;padding:9px 9px 9px 16px;margin-bottom:14px}
.qf2 .qf-call>span:first-child{display:grid;gap:3px}
.qf2 .qf-call b{font-size:21px}
.qf2 .qf-call-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;background:var(--ink);color:var(--lime);font:800 15px/1 Inter;flex:none}
.qf2 .qf-call .qf-call-btn svg{color:var(--lime);width:18px;height:18px;transform-origin:50% 50%;animation:hnh-ring 3.2s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.qf2 .qf-call .qf-call-btn svg{animation:none}}
.qf2 .qf-step{margin:0 0 13px}
.qf2 .qf-step>label,.qf2 .qf-step>legend{display:flex;align-items:center;gap:10px;font:700 15px/1.2 Inter;color:var(--text);margin-bottom:8px;padding:0}
.qf2 .n{width:24px;height:24px;display:grid;place-items:center;background:var(--ink);color:var(--lime);font:800 13px/1 "Inter Tight";flex:none}
.qf2 .locrow{flex-direction:row}
.qf2 .qf-gps{flex:none;width:50px;height:50px;display:grid;place-items:center;border:1.5px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer}
.qf2 .qf-gps svg{width:22px;height:22px}
.qf2 .qf-gps:hover{background:var(--ink);color:var(--lime)}
.qf2 .qf-gps:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--lime)}
.qf2 .nearest:empty{display:none}
.qf-radios{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative}
.qf-radios input{position:absolute;left:0;top:0;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.qf-radios label{display:flex;align-items:center;gap:11px;min-height:44px;margin:0;padding:6px 12px;border:1.5px solid #CDD0C7;background:#fff;cursor:pointer;font:600 14.5px/1.25 Inter;color:var(--text)}
.qf-radios label::before{content:"";flex:none;width:18px;height:18px;border:1.5px solid #8A8F96;background:#fff}
.qf-radios label:hover{border-color:var(--ink)}
.qf-radios input:checked+label{border-color:var(--ink);background:var(--lime-tint)}
.qf-radios input:checked+label::before{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 4px var(--lime)}
.qf-radios input:focus-visible+label{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--lime)}
.qf2 .qf-step .fld{margin-bottom:8px}
.qf2 .qf-pair .fld{margin-bottom:0}
.qf2 input::placeholder{color:#7A7F86}
.qf2 .submit{margin-top:2px}
.qf2 .fine{text-align:center}
.qf2 .fine b{color:var(--text)}
html.a11y-contrast .qf-radios label,html.a11y-contrast .qf-radios label::before{border-color:#3D4249}
@media (max-width:900px){
  .qf-panel .qf-sub{font-size:12.5px;margin-top:3px}
  .qf2 .qf-call{padding:8px 8px 8px 14px;margin-bottom:12px}
  .qf2 .qf-call b{font-size:19px}
  .qf2 .qf-step{margin-bottom:12px}
  .qf2 .qf-step>label,.qf2 .qf-step>legend{font-size:14.5px;margin-bottom:7px}
  .qf2 .qf-gps{width:46px;height:44px}
  .qf-radios{gap:6px}
  .qf-radios label{min-height:44px;padding:6px 10px;font-size:13.5px;gap:9px}
  .qf2 .qf-step .fld{margin-bottom:8px}
}
@media (max-width:360px){.qf-radios{grid-template-columns:1fr}}

/* ===== Talk to RIG (voice.js, only where the site shows it): the call-dispatch choice and the call panel ===== */
.vmenu{position:fixed;z-index:90;width:300px;max-width:calc(100vw - 16px);background:#fff;border:2px solid var(--ink);box-shadow:0 20px 50px rgba(0,0,0,.3)}
.vmenu[hidden]{display:none}
.vmenu a,.vmenu button{display:grid;gap:3px;width:100%;padding:14px 16px;text-align:left;background:#fff;border:0;color:var(--ink);font:inherit;cursor:pointer;text-decoration:none}
.vmenu a+button{border-top:1px solid var(--line)}
.vmenu b{font:700 16px/1.2 Inter}
.vmenu small{font:500 13px/1.3 Inter;color:var(--muted)}
.vmenu a:hover,.vmenu button:hover,.vmenu a:focus-visible,.vmenu button:focus-visible{background:var(--lime-tint)}
.voice-panel{right:24px;width:380px}
.voice-panel p{margin:0 0 14px;color:var(--muted);font-size:15px;line-height:1.45}
.voice-panel .btn{width:100%;justify-content:center;min-height:52px}
.voice-panel .btn+.btn{margin-top:10px}
.voice-panel .vstatus{min-height:22px;margin:14px 0 0;color:var(--ink);font-weight:700}

/* Dispatch request (qf3): the paper Dispatch Form in the quick request panel. Step 1 is required, steps 2-6 optional. */
.qf-panel:has(.qf3){width:min(600px,calc(100vw - 32px))}
.qd-prog{display:flex;gap:4px;list-style:none;margin:0 0 16px;padding:0;counter-reset:qd}
.qd-prog li{flex:1;min-width:0;counter-increment:qd;border-top:3px solid var(--line);padding-top:6px;font:600 12px/1.2 Inter;color:var(--muted);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qd-prog li[hidden]{display:none}
.qd-prog li.past{border-color:var(--ink);color:var(--text)}
.qd-prog li.on{border-color:var(--lime-ink);color:var(--text);font-weight:800}
.qd-h{font:800 18px/1.2 "Inter Tight";margin:0 0 6px;outline:0}
.qd-pg[data-pg="1"] .qd-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.qd-sub{font-size:13.5px;color:var(--muted);margin:0 0 14px}
.qd-pg .fld{margin-bottom:12px}
.qd-pg .fld:not(.qf-step)>label{display:block;font:600 13.5px/1.2 Inter;margin-bottom:6px}
.qd-pg .opt{font-weight:400;color:var(--muted)}
.qd-pg input:not([type=radio]):not([type=checkbox]),.qd-pg textarea{width:100%;min-width:0}
.qd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.qd-grid .qd-wide{grid-column:1/-1}
.qd-grid[hidden],.qd-if[hidden]{display:none}
.qd-pair2{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:0 12px}
.qd-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.qd-vin,.qd-st{text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.seg.seg2{grid-template-columns:repeat(2,minmax(0,1fr))}
.seg label{min-width:0;padding:0 6px;text-align:center;font-size:14px}
.qf .qd-warn{gap:8px;align-items:flex-start;font-size:13.5px;color:var(--alert);font-weight:600}
.qf .qd-warn svg{flex:none;width:18px;height:18px;margin-top:1px}
.qd-more{width:100%;margin-top:10px}
.qd-tires{border:1px solid var(--line);background:var(--bg);padding:12px;margin-bottom:14px;display:grid;gap:10px}
.qd-axle{display:grid;grid-template-columns:3.75rem auto;align-items:start;gap:8px}
.qd-axle>span{font:700 12.5px/1 Inter;color:var(--muted);padding-top:13px}
.qd-row{display:grid;grid-template-columns:repeat(2,minmax(0,3.25rem)) 1.25rem repeat(2,minmax(0,3.25rem));gap:6px;position:relative}
.qd-axle>.qd-row{grid-column:2}
.qd-axle>span{grid-row:1/span 2}
.qd-row i{display:block}
.qd-row i.ax{align-self:center;border-top:3px solid var(--ink-3)}
.qd-row input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.qd-row label{height:40px;display:grid;place-items:center;border:1.5px solid #8A8F96;background:#fff;font:700 12px/1 Inter;cursor:pointer;margin:0;color:var(--text)}
.qd-row label:hover{border-color:var(--ink)}
.qd-row input:checked+label{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.qd-row input:focus-visible+label{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 6px var(--lime)}
.qd-count{font:700 13px/1 Inter;color:var(--lime-ink);margin:0;min-height:1px}
.qd-count:empty{display:none}
.qd-nav{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.qd-nav[hidden]{display:none}
.qd-nav .btn{min-height:48px}
.qd-nav [data-next]{margin-left:auto}
.qd-nav [hidden]{display:none}
.qd-flip{transform:rotate(180deg)}
.qd-now{background:none;border:0;padding:8px 4px;font:700 14px/1 Inter;color:var(--text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.qd-now:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.qd-sum{border:1px solid var(--line);background:var(--bg);padding:12px 14px;margin:4px 0 14px;display:grid;gap:8px}
.qd-sum:empty{display:none}
.qd-sum .qd-sub{margin:0}
.qd-sum-h{font:700 12px/1 Inter;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}
.qd-sum-r{display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto;gap:10px;align-items:baseline;font-size:13.5px}
.qd-sum-r span{overflow-wrap:anywhere}
.qd-edit{background:none;border:0;padding:2px 0;font:700 13px/1 Inter;color:var(--lime-ink);text-decoration:underline;cursor:pointer}
.qd-pg[data-pg="6"] textarea{min-height:84px}
@media (max-width:560px){
  .qd-grid,.qd-2{grid-template-columns:minmax(0,1fr)}
  .qd-prog li{font-size:0;padding-top:0;height:6px;border-top-width:4px}
  .qd-nav .btn{padding-left:14px;padding-right:14px}
  .qd-sum-r{grid-template-columns:minmax(0,1fr) auto}
  .qd-sum-r b{grid-column:1/-1}
}
.qd-cta{display:grid;gap:14px;align-content:start}
.qd-cta h3{margin:0}
.qd-cta .sub{margin:0}
.qd-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14.5px}
.qd-list li{display:flex;gap:10px;align-items:baseline}
.qd-list li::before{content:"";flex:none;width:10px;height:10px;background:var(--lime);border:2px solid var(--ink);transform:translateY(1px)}
.qd-cta .btn{justify-self:start}
@media (max-width:560px){.qd-cta .btn{justify-self:stretch}}
.qf3 .btn-line{background:#fff;color:var(--ink);border:1.5px solid var(--ink)}
.qf3 .btn-line:hover{background:var(--ink);color:var(--lime)}
.qf3 .btn-line:hover svg{color:var(--lime)}

/* Header only (Nicole, 2026-11-09): the header's Call and Quick request are the site's only two, at every width.
   No phone bottom bar or floating button any more, so the footer and accessibility button sit where they did. */
@media (max-width:1240px){
  .hdr-tel{display:flex;padding:0 14px;font-size:17px}
  .hdr-tel small,.hdr-tel>svg.i{display:none}
}
@media (max-width:1100px){
  .hdr-cta{display:flex;margin-left:auto;padding-right:0}
  .hdr-tel{display:none}
  .hdr-req{height:48px;padding:0 16px;font-size:15px;gap:8px;align-self:center}
  .hdr-call{margin-left:10px}
}
@media (max-width:900px){
  .fbot{padding-bottom:30px}
  .a11y-btn{bottom:12px}
}
@media (max-width:480px){
  header.site .logo{max-width:118px;flex-shrink:1;min-width:0}
  header.site .logo img{width:100%;height:auto}
  .hdr-req{padding:0 11px;font-size:14px;height:44px}
  .hdr-req svg.i{display:none}
  .hdr-call{flex:none;width:44px;height:44px;margin-left:8px;margin-right:6px}
  .menu-btn{flex:none;padding:0 10px}
}
