/* ==========================================================
   JBrick Heating & Cooling
   Site by My Web Sidekick — https://www.mywebsidekick.com
   ========================================================== */

:root{
  --navy-ink:#08182E;
  --navy:#0F2C4D;
  --navy-2:#17416E;
  --blue:#2A6AA8;
  --blue-soft:#E4EDF6;
  --amber:#E8A33D;
  --amber-dk:#C9862A;
  --brick:#BE5A34;
  --cream:#F7F3EA;
  --cream-2:#FCFAF5;
  --ink:#1E2A38;
  --ink-2:#54646F;
  --rule:#E0D9CB;
  --rule-dk:rgba(255,255,255,.18);
  --max:1200px;
  --r:6px;
  --shadow:0 10px 34px rgba(8,24,46,.09);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--cream-2);color:var(--ink);font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

h1,h2,h3,h4{font-family:'Zilla Slab','Georgia',serif;font-weight:600;line-height:1.14;color:var(--navy);letter-spacing:-0.01em}
h1{font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.08}
h2{font-size:clamp(1.7rem,3vw,2.5rem)}
h3{font-size:1.25rem}
h4{font-size:1.05rem}
p{color:var(--ink-2)}
.lede{font-size:clamp(1.06rem,1.4vw,1.22rem);line-height:1.62;max-width:60ch;color:var(--ink-2)}
.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--brick);margin-bottom:14px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.pad{padding:78px 0}
.pad-sm{padding:54px 0}
.center{text-align:center}
.mw{max-width:680px}
.mw.center{margin-left:auto;margin-right:auto}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Inter',sans-serif;font-weight:600;font-size:.97rem;padding:15px 28px;border-radius:var(--r);border:2px solid transparent;transition:.16s;cursor:pointer;line-height:1.2}
.btn-primary{background:var(--amber);border-color:var(--amber);color:var(--navy-ink)}
.btn-primary:hover{background:var(--amber-dk);border-color:var(--amber-dk)}
.btn-navy{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2);border-color:var(--navy-2)}
.btn-o{background:transparent;border-color:var(--navy);color:var(--navy)}
.btn-o:hover{background:var(--navy);color:#fff}
.btn-o-lt{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.btn-o-lt:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-lt{background:#fff;border-color:#fff;color:var(--navy)}
.btn-lt:hover{background:var(--amber);border-color:var(--amber);color:var(--navy-ink)}
.tlink{font-weight:600;color:var(--blue);border-bottom:1.5px solid rgba(42,106,168,.35);padding-bottom:1px}
.tlink:hover{color:var(--navy);border-bottom-color:var(--navy)}

/* ---------- top notice ---------- */
.notice{background:var(--navy-ink);color:#C6D6E8;font-size:.85rem}
.notice .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.notice strong{color:#fff;font-weight:600}
.notice a{color:var(--amber);font-weight:600;white-space:nowrap}
.notice a:hover{color:#fff}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:100;background:rgba(252,250,245,.97);backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid var(--rule)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0}
.mark{display:flex;align-items:center;gap:11px;flex-shrink:0}
.mark .box{width:40px;height:40px;background:var(--navy);color:#fff;border-radius:var(--r);display:grid;place-items:center;font-family:'Zilla Slab',serif;font-weight:700;font-size:1.06rem}
.mark .nm{font-family:'Zilla Slab',serif;font-weight:700;font-size:1.2rem;color:var(--navy);line-height:1.05;white-space:nowrap}
.mark .nm span{display:block;font-family:'Inter',sans-serif;font-weight:500;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:3px}
nav.links{display:flex;gap:24px;align-items:center}
nav.links a{font-size:.95rem;font-weight:500;color:var(--ink);padding:5px 0;border-bottom:2px solid transparent}
nav.links a:hover{color:var(--navy)}
nav.links a.on{color:var(--navy);font-weight:600;border-bottom-color:var(--amber)}
.hd-r{display:flex;align-items:center;gap:14px;flex-shrink:0}
.hd-tel{font-family:'Zilla Slab',serif;font-weight:700;font-size:1.16rem;color:var(--navy);white-space:nowrap}
.burger{display:none;width:42px;height:38px;border:1px solid var(--rule);border-radius:var(--r);background:#fff;cursor:pointer;position:relative}
.burger i{position:absolute;left:11px;right:11px;height:2px;background:var(--navy);border-radius:2px}
.burger i:nth-child(1){top:12px}.burger i:nth-child(2){top:18px}.burger i:nth-child(3){top:24px}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:52% 46%}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(102deg,rgba(8,24,46,.95) 0%,rgba(8,24,46,.86) 40%,rgba(15,44,77,.55) 100%)}
.hero-in{position:relative;z-index:2;padding:92px 24px 82px;max-width:704px}
.hero h1{color:#fff}
.hero .eyebrow{color:var(--amber)}
.hero .lede{color:rgba(255,255,255,.85);margin-top:20px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.stars-line{display:flex;align-items:center;gap:10px;margin-top:24px;font-size:.9rem;color:rgba(255,255,255,.82);flex-wrap:wrap}
.stars{color:var(--amber);letter-spacing:2px}

/* page banner (interior pages) */
.banner{background:var(--navy);color:#fff;position:relative;overflow:hidden}
.banner-bg{position:absolute;inset:0}
.banner-bg img{width:100%;height:100%;object-fit:cover}
.banner-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,24,46,.94),rgba(15,44,77,.72))}
.banner-in{position:relative;z-index:2;padding:66px 24px 62px;max-width:744px}
.banner h1{color:#fff}
.banner .eyebrow{color:var(--amber)}
.banner .lede{color:rgba(255,255,255,.85);margin-top:16px}
.crumb{font-size:.82rem;color:rgba(255,255,255,.6);margin-bottom:16px}
.crumb a:hover{color:#fff}

/* ---------- trust strip ---------- */
.trust{background:var(--cream);border-bottom:1px solid var(--rule)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:30px 0}
.trust-item{display:flex;gap:12px;align-items:flex-start}
.trust-item .dot{width:9px;height:9px;border-radius:50%;background:var(--amber);margin-top:8px;flex-shrink:0}
.trust-item strong{display:block;color:var(--navy);font-weight:600;font-size:.99rem;font-family:'Zilla Slab',serif}
.trust-item span{font-size:.87rem;color:var(--ink-2)}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--rule);border-radius:9px;padding:28px 26px;transition:.2s;display:flex;flex-direction:column}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:#CFC7B6}
.card .ic{width:44px;height:44px;border-radius:9px;background:var(--blue-soft);color:var(--navy);display:grid;place-items:center;margin-bottom:16px}
.card .ic svg{width:22px;height:22px}
.card h3{margin-bottom:8px}
.card p{font-size:.95rem;flex:1}
.card .more{margin-top:16px;font-size:.9rem;font-weight:600;color:var(--blue)}
.card:hover .more{color:var(--navy)}
.card.feat{background:var(--navy);border-color:var(--navy)}
.card.feat h3{color:#fff}
.card.feat p{color:rgba(255,255,255,.8)}
.card.feat .ic{background:rgba(255,255,255,.12);color:var(--amber)}
.card.feat .more{color:var(--amber)}

/* ---------- photo band (kept from v2) ---------- */
.band{display:grid;grid-template-columns:repeat(3,1fr)}
.band figure{position:relative;aspect-ratio:4/3;overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.band figure:hover img{transform:scale(1.05)}
.band figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 20px 16px;background:linear-gradient(transparent,rgba(8,24,46,.9));color:#fff;font-size:.86rem;font-weight:500}

/* ---------- work gallery (kept from v2) ---------- */
.grid-log{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:9px;overflow:hidden}
.grid-log figure{background:#fff;display:flex;flex-direction:column}
.grid-log .ph{aspect-ratio:1/1;overflow:hidden}
.grid-log img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.grid-log figure:hover img{transform:scale(1.05)}
.grid-log figcaption{padding:14px 16px 17px;border-top:1px solid var(--rule)}
.grid-log .ct{font-family:'Zilla Slab',serif;font-weight:600;font-size:1.02rem;color:var(--navy);line-height:1.2}
.grid-log .cm{font-size:.8rem;color:var(--ink-2);margin-top:4px}
.grid-log .tall{grid-column:span 2;grid-row:span 2}
.grid-log .tall .ph{flex:1;aspect-ratio:auto;min-height:0}
.grid-log .tall .ct{font-size:1.2rem}

/* ---------- split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.narrow-l{grid-template-columns:.85fr 1.15fr}
.split-photo{border-radius:9px;overflow:hidden;box-shadow:var(--shadow)}
.split-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.split-photo.wide img{aspect-ratio:4/3}
.ph-note{background:var(--cream);border:2px dashed var(--rule);border-radius:9px;aspect-ratio:4/5;display:grid;place-items:center;text-align:center;padding:26px;color:var(--ink-2);font-size:.88rem}

/* ---------- checks list ---------- */
.checks{list-style:none;margin-top:24px}
.checks li{display:grid;grid-template-columns:26px 1fr;gap:14px;padding:12px 0;align-items:start}
.checks li svg{width:20px;height:20px;color:var(--amber);margin-top:4px}
.checks strong{display:block;color:var(--navy);font-family:'Zilla Slab',serif;font-weight:600;font-size:1.06rem;margin-bottom:2px}
.checks p{font-size:.95rem;margin:0}
.on-dark .checks strong{color:#fff}
.on-dark .checks p{color:rgba(255,255,255,.78)}

/* ---------- dark section ---------- */
.dark{background:var(--navy);color:#fff}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark p,.dark .lede{color:rgba(255,255,255,.8)}
.dark .eyebrow{color:var(--amber)}
.deep{background:var(--navy-ink);color:#fff}
.deep h2,.deep h3{color:#fff}
.deep p,.deep .lede{color:rgba(255,255,255,.78)}
.deep .eyebrow{color:var(--amber)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.step .n{width:38px;height:38px;border-radius:50%;background:var(--amber);color:var(--navy-ink);display:grid;place-items:center;font-family:'Zilla Slab',serif;font-weight:700;font-size:1.02rem;margin-bottom:14px}
.step h3{font-size:1.1rem;margin-bottom:6px}
.step p{font-size:.93rem}

/* ---------- pricing ---------- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pc{background:#fff;border:1px solid var(--rule);border-radius:9px;padding:30px 26px;display:flex;flex-direction:column}
.pc.hi{border:2px solid var(--navy);position:relative}
.pc.hi::before{content:"Most requested";position:absolute;top:-12px;left:24px;background:var(--navy);color:#fff;font-size:.72rem;font-weight:600;padding:4px 12px;border-radius:20px}
.pc .amt{font-family:'Zilla Slab',serif;font-weight:700;font-size:2.4rem;color:var(--navy);line-height:1;margin:14px 0 4px}
.pc .amt small{display:block;font-family:'Inter',sans-serif;font-size:.85rem;font-weight:500;color:var(--ink-2);margin-top:7px}
.pc ul{list-style:none;margin:18px 0 24px;flex:1}
.pc ul li{padding-left:24px;position:relative;font-size:.94rem;color:var(--ink-2);margin-bottom:9px}
.pc ul li::before{content:"";position:absolute;left:2px;top:9px;width:9px;height:5px;border-left:2px solid var(--amber);border-bottom:2px solid var(--amber);transform:rotate(-45deg)}
.note{background:var(--blue-soft);border-left:4px solid var(--blue);border-radius:0 var(--r) var(--r) 0;padding:22px 26px;font-size:.96rem;margin-top:26px}
.note strong{color:var(--navy)}

/* ---------- service list (services page) ---------- */
.slist{border-top:1px solid var(--rule);margin-top:8px}
.srow{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;padding:32px 0;border-bottom:1px solid var(--rule)}
.srow h3{margin-bottom:6px}
.srow .fuel{font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--brick)}
.srow ul{list-style:none;margin-top:12px;columns:2;column-gap:30px}
.srow ul li{padding-left:20px;position:relative;font-size:.93rem;color:var(--ink-2);margin-bottom:7px;break-inside:avoid}
.srow ul li::before{content:"";position:absolute;left:2px;top:10px;width:7px;height:7px;border-radius:50%;background:var(--amber)}

/* ---------- reviews ---------- */
.rev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.rev{background:#fff;border:1px solid var(--rule);border-radius:9px;padding:26px 24px;display:flex;flex-direction:column}
.rev .stars{margin-bottom:12px;font-size:.95rem}
.rev p{font-size:.95rem;flex:1;color:var(--ink)}
.rev .who{font-family:'Zilla Slab',serif;font-weight:600;color:var(--navy);margin-top:16px}
.rev .src{font-size:.79rem;color:var(--ink-2);margin-top:2px}
.dark .rev,.deep .rev{background:rgba(255,255,255,.06);border-color:var(--rule-dk)}
.dark .rev p,.deep .rev p{color:rgba(255,255,255,.87)}
.dark .rev .who,.deep .rev .who{color:#fff}
.dark .rev .src,.deep .rev .src{color:rgba(255,255,255,.55)}

/* ---------- towns ---------- */
.towns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.town{background:#fff;border:1px solid var(--rule);border-radius:30px;padding:8px 17px;font-size:.89rem;color:var(--navy);font-weight:500}
.dark .town,.deep .town{background:rgba(255,255,255,.08);border-color:var(--rule-dk);color:#fff}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;font-family:'Zilla Slab',serif;font-weight:600;font-size:1.13rem;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{width:26px;height:26px;border-radius:50%;background:var(--blue-soft);color:var(--navy);display:grid;place-items:center;flex-shrink:0;font-size:1.1rem;line-height:1;font-family:'Inter',sans-serif}
.faq details[open] summary .pm{background:var(--amber)}
.faq details p{padding:0 0 22px;max-width:76ch;font-size:.98rem}

/* ---------- contact ---------- */
.ct-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}
.cinfo{list-style:none;margin-top:8px}
.cinfo li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid var(--rule-dk)}
.cinfo .ic{width:38px;height:38px;border-radius:9px;background:rgba(255,255,255,.1);display:grid;place-items:center;color:var(--amber)}
.cinfo .ic svg{width:19px;height:19px}
.cinfo .k{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:3px}
.cinfo .v{color:#fff;font-size:1.04rem;font-weight:500}
.cinfo .v a:hover{color:var(--amber)}
form.card-form{background:#fff;border-radius:9px;padding:34px;box-shadow:var(--shadow)}
form.card-form h3{margin-bottom:4px}
form.card-form .sub{font-size:.92rem;margin-bottom:22px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fld{margin-bottom:15px}
.fld label{display:block;font-size:.83rem;font-weight:600;color:var(--navy);margin-bottom:6px}
.fld input,.fld select,.fld textarea{width:100%;padding:12px 14px;border:1.5px solid var(--rule);border-radius:var(--r);font-family:inherit;font-size:.97rem;color:var(--ink);background:var(--cream-2)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(42,106,168,.13)}
.fld textarea{min-height:96px;resize:vertical}
form.card-form button{width:100%}
.fnote{font-size:.85rem;color:var(--ink-2);text-align:center;margin-top:13px}

/* ---------- cta band ---------- */
.cta{background:var(--navy-ink);color:#fff;text-align:center}
.cta h2{color:#fff;margin-bottom:12px}
.cta p{color:rgba(255,255,255,.8);max-width:56ch;margin:0 auto 26px}
.cta .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ---------- footer ---------- */
footer{background:var(--navy-ink);color:rgba(255,255,255,.62);font-size:.93rem;border-top:1px solid var(--rule-dk)}
.f-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.1fr;gap:38px;padding:56px 0 40px}
.f-grid h4{color:#fff;font-size:.85rem;letter-spacing:.11em;text-transform:uppercase;font-family:'Inter',sans-serif;font-weight:700;margin-bottom:16px}
.f-grid ul{list-style:none}
.f-grid li{margin-bottom:10px}
.f-grid a:hover{color:var(--amber)}
.f-brand .mark .nm{color:#fff}
.f-brand .mark .nm span{color:rgba(255,255,255,.55)}
.f-brand p{color:rgba(255,255,255,.62);margin-top:16px;max-width:36ch;font-size:.92rem}
.f-bot{border-top:1px solid var(--rule-dk);padding:18px 0 24px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.82rem}
.f-bot a{color:rgba(255,255,255,.75);border-bottom:1px solid rgba(255,255,255,.3)}
.f-bot a:hover{color:#fff}

/* ---------- mobile call bar ---------- */
.callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--amber);box-shadow:0 -3px 16px rgba(8,24,46,.22)}
.callbar a{display:block;text-align:center;padding:15px;color:var(--navy-ink);font-weight:700;font-size:1rem}

/* ---------- responsive ---------- */
@media(max-width:1060px){
  .cards,.price-grid{grid-template-columns:repeat(2,1fr)}
  .rev-grid{grid-template-columns:repeat(2,1fr)}
  .split,.split.narrow-l,.ct-grid{grid-template-columns:1fr;gap:38px}
  .split-photo,.ph-note{max-width:460px}
  .steps{grid-template-columns:repeat(2,1fr);gap:30px}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .grid-log{grid-template-columns:repeat(2,1fr)}
  .grid-log .tall{grid-column:span 2;grid-row:span 1}
  .grid-log .tall .ph{aspect-ratio:16/10;flex:none}
  .f-grid{grid-template-columns:1fr 1fr}
  .srow{grid-template-columns:1fr;gap:14px}
}
@media(max-width:860px){
  nav.links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:8px 24px 18px;border-bottom:1px solid var(--rule);box-shadow:var(--shadow)}
  nav.links.open{display:flex}
  nav.links a{width:100%;padding:14px 0;border-bottom:1px solid var(--rule)}
  .burger{display:block}
  .hd-tel{display:none}
  .pad{padding:56px 0}
  .cards,.price-grid,.rev-grid,.steps,.f-grid,.f2{grid-template-columns:1fr}
  .band{grid-template-columns:1fr}
  .grid-log{grid-template-columns:1fr}
  .grid-log .tall{grid-column:span 1}
  .grid-log .tall .ph{aspect-ratio:1/1}
  .srow ul{columns:1}
  .callbar{display:block}
  body{padding-bottom:54px}
  .hero-in{padding:58px 24px 54px}
  .banner-in{padding:48px 24px 46px}
  .notice{font-size:.78rem}
  .notice .wrap{justify-content:center}
}
@media(max-width:560px){
  .hd-r .btn{display:none}
  .notice .wrap span{display:none}
  .notice .wrap::before{content:"No heat or no AC? Call us:";color:#fff;font-weight:600}
}

/* form always reads on light card, even inside dark sections */
.dark form.card-form h3,.deep form.card-form h3{color:var(--navy)}
.dark form.card-form p,.deep form.card-form p,
.dark form.card-form label,.deep form.card-form label{color:var(--ink-2)}
.dark form.card-form label,.deep form.card-form label{color:var(--navy)}
.dark form.card-form .fnote,.deep form.card-form .fnote{color:var(--ink-2)}

/* tune-up price table inside a pricing card */
.ptab{width:100%;border-collapse:collapse;margin:14px 0 2px}
.ptab th,.ptab td{padding:9px 0;border-bottom:1px solid var(--rule);text-align:left;font-size:.95rem}
.ptab th{font-weight:500;color:var(--ink-2)}
.ptab td{text-align:right;font-family:'Zilla Slab',serif;font-weight:700;font-size:1.35rem;color:var(--navy)}
.ptab tr:last-child th,.ptab tr:last-child td{border-bottom:none}

/* team member role label */
.card .role{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brick);margin:-4px 0 10px}

/* four-across card grid (crew, credentials) */
.cards.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1060px){.cards.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.cards.four{grid-template-columns:1fr}}

/* ---------- service area: secondary town list ---------- */
.also-lbl{font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2);margin:26px 0 8px}
.also{font-size:.92rem;line-height:1.85;color:var(--ink-2)}
.dark .also,.deep .also{color:rgba(255,255,255,.7)}
.dark .also-lbl,.deep .also-lbl{color:rgba(255,255,255,.5)}

/* ---------- brands ---------- */
.brands{display:flex;flex-wrap:wrap;gap:12px}
.brand{background:#fff;border:1px solid var(--rule);border-radius:var(--r);padding:14px 22px;font-family:'Zilla Slab',serif;font-weight:600;font-size:1.1rem;color:var(--navy)}
.brand.hi{background:var(--navy);border-color:var(--navy);color:#fff}
.bgroups{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.bgroup{background:#fff;border:1px solid var(--rule);border-radius:9px;padding:24px 26px}
.bgroup h4{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brick);font-family:'Inter',sans-serif;margin-bottom:10px}
.blist{font-size:.93rem;line-height:1.8;color:var(--ink-2)}

/* ---------- FAQ page groups ---------- */
.faq-group{margin-bottom:46px}
.faq-h{font-size:1.5rem;margin-bottom:6px;padding-bottom:12px;border-bottom:3px solid var(--amber);display:inline-block}
.faq-group .faq{border-top:none}

@media(max-width:860px){.bgroups{grid-template-columns:1fr}}

/* quick jump links */
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.jump a{background:#fff;border:1px solid var(--rule);border-radius:30px;padding:9px 18px;font-size:.9rem;font-weight:600;color:var(--navy)}
.jump a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ---------- logo ---------- */
.logo-img{height:44px;width:auto}
.logo-img.foot{height:52px}
@media(max-width:860px){.logo-img{height:38px}}

/* ---------- "brands we install" strip ---------- */
.plogos{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.plogo{text-align:center}
.pl-box{background:#fff;border:1px solid var(--rule);border-radius:9px;height:74px;display:grid;place-items:center;padding:10px;transition:.18s}
.plogo:hover .pl-box{border-color:var(--navy);box-shadow:var(--shadow)}
.pl-box img{max-height:42px;width:auto;max-width:100%}
.pl-name{font-family:'Zilla Slab',serif;font-weight:700;font-size:1.02rem;color:var(--navy);line-height:1.15}
.pl-cat{font-size:.76rem;color:var(--ink-2);margin-top:9px}
@media(max-width:1060px){.plogos{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.plogos{grid-template-columns:repeat(2,1fr)}}

/* ---------- before / after ---------- */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.ba{background:#fff;border:1px solid var(--rule);border-radius:9px;overflow:hidden}
.ba-imgs{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--rule)}
.ba-half{position:relative;background:#fff}
.ba-half img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.ba-tag{position:absolute;top:10px;left:10px;z-index:2;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:20px;color:#fff}
.ba-tag.before{background:var(--brick)}
.ba-tag.after{background:#2E7D52}
.ba figcaption{padding:16px 20px 18px;font-size:.92rem;color:var(--ink-2);border-top:1px solid var(--rule)}
.ba-inline{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}
.dark .ba figcaption,.deep .ba figcaption{color:var(--ink-2)}
@media(max-width:1060px){.ba-grid,.ba-inline{grid-template-columns:1fr;gap:30px}}
