/* ============================================================
   MTM Electric theme v2
   Structure modeled on a light home-services template:
   two-row header, full-bleed photo hero, alternating photo rows,
   icon cards, colored process band, FAQ accordion, comparison
   cards, review carousel, big dark footer, fixed mobile bar.
   Colors are the brand's: orange does the headlines and buttons,
   deep blue does the dividers, rings, bands, and utility bar.
   ============================================================ */
:root{
  --orange:      #F58B22;
  --orange-deep: #E0761A;
  --orange-lit:  #FBAB24;
  --blue:        #1848A0;
  --blue-deep:   #12377D;
  --blue-mid:    #3576B0;
  --sky:         #4F9DC1;
  --tint:        #EDF3FB;
  --tint-2:      #E2ECF8;
  --paper:       #FFFFFF;
  --ink:         #262626;
  --ink-soft:    #4F5B66;
  --line:        #D6DFEA;
  --charcoal:    #2B2B2B;
  --gold:        #F5B400;

  --font: 'Raleway', system-ui, sans-serif;
  --gutter: clamp(1.1rem, 5vw, 5rem);
  --maxw: 1240px;
  --radius: 22px;
  --pill: 999px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--paper); color:var(--ink); font-family:var(--font);
  font-size:1.1rem; line-height:1.75; font-weight:400; -webkit-font-smoothing:antialiased; }
img,svg{ max-width:100%; }
a{ color:inherit; }
h1,h2,h3,h4{ font-family:var(--font); margin:0; line-height:1.15; letter-spacing:-0.01em; }
h2{ font-size:clamp(1.9rem,3.4vw,2.6rem); font-weight:800; }
h3{ font-size:1.35rem; font-weight:700; }
p{ margin:0 0 1.1rem; }
.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
:focus-visible{ outline:3px solid var(--orange); outline-offset:3px; }
[id]{ scroll-margin-top:7rem; }
.skip{ position:absolute; left:1rem; top:-4rem; z-index:100; background:var(--orange); color:#fff;
  font-weight:700; padding:.7rem 1rem; border-radius:6px; text-decoration:none; }
.skip:focus{ top:1rem; }
.center{ text-align:center; }

/* ---------- buttons: pill shape, white halo on dark backgrounds ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:48px;
  padding:.7rem 2rem; border-radius:var(--pill); font-weight:700; font-size:1rem; letter-spacing:.06em;
  text-transform:uppercase; text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition:background .15s, color .15s, border-color .15s, transform .15s; }
.btn:hover{ transform:translateY(-1px); }
.btn-solid{ background:var(--orange); color:#fff; }
.btn-solid:hover{ background:var(--orange-deep); }
.btn-halo{ background:var(--orange); color:#fff; box-shadow:0 0 0 3px #fff; }
.btn-halo:hover{ background:var(--orange-deep); }
.btn-outline{ background:#fff; color:var(--blue); border-color:var(--blue); }
.btn-outline:hover{ background:var(--blue); color:#fff; }
.btn-blue{ background:var(--blue); color:#fff; }
.btn-blue:hover{ background:var(--blue-deep); }
.btn-block{ width:100%; }

/* ---------- decorative divider: long bar, two short segments, two dots ---------- */
.rule{ display:flex; align-items:center; gap:.5rem; margin:1rem 0 1.5rem; height:8px; }
.rule i{ display:block; height:7px; border-radius:4px; background:var(--blue); }
.rule i:nth-child(1){ width:44%; }
.rule i:nth-child(2){ width:9%; background:var(--blue-mid); }
.rule i:nth-child(3){ width:6%; background:var(--blue-mid); }
.rule i:nth-child(4){ width:7px; background:var(--sky); }
.rule i:nth-child(5){ width:7px; background:var(--sky); opacity:.6; }
.rule.center{ justify-content:center; }
.rule.center i:nth-child(1){ width:120px; }
.rule.center i:nth-child(2){ width:40px; }
.rule.center i:nth-child(3){ width:24px; }

/* ---------- header: logo block left, utility bar + nav right ---------- */
.hdr{ position:sticky; top:0; z-index:60; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.08); }
.hdr-in{ display:grid; grid-template-columns:auto 1fr; align-items:stretch; max-width:1600px; margin-inline:auto; }
.hdr-logo{ display:flex; align-items:center; padding:.55rem 1.6rem .55rem 2rem; }
.hdr-logo svg{ height:64px; width:auto; display:block; }
.hdr-right{ display:grid; grid-template-rows:auto auto; }
.util{ background:var(--blue); color:#fff; display:flex; align-items:center; gap:1.5rem;
  padding:.45rem 2rem .45rem 2.4rem; font-size:.82rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  border-bottom-left-radius:14px; }
.util nav{ display:flex; gap:2rem; }
.util a{ color:#fff; text-decoration:none; opacity:.92; }
.util a:hover{ opacity:1; text-decoration:underline; text-underline-offset:4px; }
.util .spacer{ flex:1; }
.util .social{ display:flex; gap:.55rem; }
.util .social a{ width:28px; height:28px; border-radius:50%; background:#0F2C64; display:grid; place-items:center; }
.util .social svg{ width:14px; height:14px; fill:#fff; }
.util .phone{ font-size:1.25rem; letter-spacing:.02em; text-transform:none; font-weight:600; }
.mainnav{ display:flex; align-items:center; gap:1.6rem; padding:.9rem 2rem .9rem 2.4rem; }
.mainnav nav{ display:flex; gap:clamp(1.1rem,2vw,2.2rem); align-items:center; }
.mainnav nav > a, .mainnav .btn{ white-space:nowrap; }
.mainnav nav > a, .mainnav .navsub-toggle{ text-decoration:none; color:var(--ink); font-weight:700;
  font-size:.92rem; letter-spacing:.06em; text-transform:uppercase; }
.mainnav nav > a:hover{ color:var(--blue); }
.mainnav .spacer{ flex:1; }
.navitem{ position:relative; }
.navsub-toggle{ background:none; border:0; padding:.4rem 0; cursor:pointer; display:inline-flex; align-items:center; gap:.4rem; font-family:inherit; }
.navsub-toggle .chev{ transition:transform .18s; }
.navitem.open .chev{ transform:rotate(180deg); }
.navitem::after{ content:""; position:absolute; left:0; right:0; top:100%; height:1rem; }
.navsub{ list-style:none; margin:.6rem 0 0; padding:.6rem 0; position:absolute; top:100%; left:-.5rem; min-width:290px;
  background:#fff; border-radius:8px; box-shadow:0 18px 40px rgba(0,0,0,.18); display:none; z-index:70; }
.navitem.open .navsub{ display:block; }
@media (hover:hover) and (min-width:1001px){ .navitem:hover .navsub{ display:block; } }
.navsub a{ display:block; padding:.7rem 1.3rem; color:var(--blue); font-weight:700; text-decoration:none; font-size:.95rem; }
.navsub a:hover{ background:var(--tint); }
.navtoggle{ display:none; }
.mob-top{ display:none; }
.mob-nav{ display:none; }

/* ---------- hero: full-bleed photo, dark overlay, big accent headline ---------- */
.hero{ position:relative; min-height:640px; display:grid; place-items:center; text-align:center; color:#fff;
  padding:4rem var(--gutter); overflow:hidden; isolation:isolate; }
picture{ display:contents; }  /* WebP <picture> wrapper must not affect .hero/.shot layout */
.hero img.bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; z-index:-2; }
.hero::before{ content:""; position:absolute; inset:0; background:rgba(10,20,40,.58); z-index:-1; }
.hero .in{ max-width:960px; }
.hero h1{ font-size:clamp(2.6rem,6.2vw,5rem); font-weight:800; color:var(--orange); line-height:1.08;
  text-shadow:0 2px 14px rgba(0,0,0,.35); }
.hero p{ font-size:clamp(1.25rem,2.2vw,1.85rem); font-weight:600; margin:1.2rem auto 1.8rem; max-width:44ch; line-height:1.4;
  text-shadow:0 1px 8px rgba(0,0,0,.4); }
.hero-sub{ min-height:300px; padding:3.2rem var(--gutter); }
.hero-sub h1{ color:#fff; font-size:clamp(2.1rem,4.6vw,3.6rem); }
.hero-sub .crumbs{ margin-bottom:.9rem; }
.crumbs{ font-size:.85rem; font-weight:600; letter-spacing:.04em; }
.crumbs ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; color:#D8E2F0; }
.crumbs li+li::before{ content:"/"; margin-right:.5rem; color:#8FA7C2; }
.crumbs a{ color:#fff; text-decoration:none; }
.crumbs a:hover{ text-decoration:underline; }
.crumbs [aria-current]{ color:var(--orange-lit); }

/* ---------- sections ---------- */
.band{ padding-block:clamp(3.2rem,6vw,5.2rem); }
.band-tint{ background:var(--tint); }
.band-white{ background:#fff; }
.band-blue{ background:var(--blue); color:#fff; }
.band-gray{ background:linear-gradient(rgba(215,220,226,.86),rgba(215,220,226,.86)), var(--gray-photo, #D7DCE2) center/cover; }
.band-dark{ position:relative; color:#fff; isolation:isolate; overflow:hidden; text-align:center; }
.band-dark img.bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.band-dark::before{ content:""; position:absolute; inset:0; background:rgba(8,18,40,.72); z-index:-1; }
.band-dark h2{ font-size:clamp(1.6rem,3vw,2.4rem); }
.band-dark .kicker{ color:var(--orange-lit); font-weight:800; font-size:clamp(1.5rem,2.8vw,2.2rem); margin-bottom:.4rem; }
.band-intro{ color:var(--ink-soft); max-width:70ch; margin:.6rem auto 0; }
.band h2.center{ margin-inline:auto; max-width:24ch; }

/* ---------- alternating photo rows ---------- */
.row2{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; padding-block:1.6rem; }
.row2 .shot{ border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3; background:var(--tint-2); }
.row2 .shot img{ width:100%; height:100%; object-fit:cover; display:block; }
.row2.flip .shot{ order:2; }
.row2 h2{ font-size:clamp(1.6rem,2.6vw,2.15rem); font-weight:700; }
.row2 ul{ margin:.4rem 0 1rem 1.2rem; padding:0; }
.row2 li{ margin:.3rem 0; }
.row2 a{ color:var(--blue); font-weight:700; text-decoration:none; }
.row2 a:hover{ text-decoration:underline; }

/* ---------- why choose: black cards with an icon ring on top ---------- */
.why{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; margin-top:4rem; }
.why-card{ position:relative; background:#111; color:#fff; border:3px solid var(--orange); border-radius:16px;
  padding:3.2rem 1rem 1.6rem; text-align:center; font-weight:700; font-size:1.15rem; line-height:1.3; }
.why-card .ring{ position:absolute; top:-40px; left:50%; transform:translateX(-50%); width:80px; height:80px; border-radius:50%;
  background:#fff; border:4px solid var(--orange); display:grid; place-items:center; }
.why-card .ring svg{ width:38px; height:38px; stroke:var(--blue); fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- process: colored band, white photo cards ---------- */
.process{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin-top:2.4rem; }
.pcard{ background:#fff; color:var(--ink); border-radius:16px; padding:1rem 1rem 1.4rem; text-align:center; }
.pcard .shot{ border-radius:10px; overflow:hidden; aspect-ratio:4/3; margin-bottom:1rem; background:var(--tint-2); }
.pcard .shot img{ width:100%; height:100%; object-fit:cover; display:block; }
.pcard h3{ color:var(--blue); font-size:1.45rem; font-weight:800; margin-bottom:.4rem; }
.pcard p{ margin:0; font-size:1rem; }

/* ---------- FAQ accordion ---------- */
.faqs{ max-width: 920px; margin:2.2rem auto 0; display:grid; gap:1rem; }
.faq{ background:var(--tint); border:2px solid var(--tint-2); border-radius:8px; padding:0 1.4rem; }
.faq summary{ cursor:pointer; list-style:none; padding:1.15rem 2.4rem 1.15rem 0; font-weight:700; font-size:1.18rem; position:relative; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:0; top:.95rem; font-size:1.7rem; line-height:1; font-weight:400; }
.faq[open] summary::after{ content:"\2212"; }
.faq p{ margin:0 0 1.2rem 1.5rem; }

/* ---------- comparison cards with check bullets ---------- */
.compare{ display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; margin-top:2.4rem; }
.ccard{ border:2px solid var(--blue); border-radius:16px; padding:1.8rem 1.8rem 1.4rem; background:#fff; }
.ccard h3{ font-size:1.6rem; font-weight:800; }
.ccard h4{ color:var(--blue); font-weight:800; font-size:1.25rem; margin:1.2rem 0 .6rem; }
.checks{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.checks li{ position:relative; padding-left:2.4rem; }
.checks li::before{ content:""; position:absolute; left:0; top:.2rem; width:1.55rem; height:1.55rem; border-radius:50%; background:var(--blue);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  background-size:62%; background-position:center; background-repeat:no-repeat; }

/* ---------- reviews: dark band, white card carousel ---------- */
.reviews{ display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:1.4rem; margin-top:2.2rem; max-width:1000px; margin-inline:auto; text-align:left; }
.rcard{ background:#fff; color:var(--ink); border-radius:16px; padding:1.8rem 1.6rem; }
.rcard .name{ color:var(--blue); font-weight:800; font-size:1.35rem; }
.rcard .date{ color:#6B7680; font-size:.9rem; margin-bottom:.4rem; }
.rcard .stars{ color:var(--gold); letter-spacing:.1em; font-size:1.2rem; margin-bottom:.6rem; }
.rcard p{ margin:0 0 .6rem; }
.rcard .ctx{ font-size:.95rem; color:var(--ink-soft); }
.rcard .src{ font-size:.85rem; }
.rcard .src a{ color:var(--blue); font-weight:600; display:inline-block; padding:.75rem 0; }
.band-dark .btn{ margin-top:1.6rem; }

/* ---------- areas: cities / zips lists, map ---------- */
.areas{ display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; margin-top:1.6rem; }
.areas h3{ font-size:1.35rem; font-weight:800; margin-bottom:.8rem; }
.chiplist{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.3rem .9rem; }
.chiplist a, .chiplist li{ font-size:.98rem; }
.chiplist a{ color:var(--blue); text-decoration:none; font-weight:600; }
.chiplist a:hover{ text-decoration:underline; }
.zips li{ font-size:.92rem; color:var(--ink-soft); }
.map{ margin-top:2.6rem; border-radius:16px; overflow:hidden; border:2px solid var(--line); }
.map iframe{ display:block; width:100%; height:380px; border:0; }

/* ---------- inner page: two columns, bordered content, sidebar ---------- */
.inner{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:2.6rem; align-items:start; padding-block:3rem; }
.content-box{ border:2px solid var(--line); border-radius:14px; padding:clamp(1.3rem,3vw,2.2rem); }
.content-box h2{ font-size:clamp(1.55rem,2.5vw,2rem); font-weight:800; margin-top:2rem; }
.content-box h2:first-child{ margin-top:0; }
.content-box ul.plain{ margin:.4rem 0 1rem 1.2rem; padding:0; }
.content-box .rule{ margin:.6rem 0 1.2rem; }
.side{ position:sticky; top:130px; display:grid; gap:1.2rem; }
.side .btn{ width:100%; }
.sidelist{ background:var(--tint); border:2px solid var(--tint-2); border-radius:12px; padding:.6rem 1rem; list-style:none; margin:0; }
.sidelist li{ border-bottom:1px solid var(--tint-2); }
.sidelist li:last-child{ border-bottom:0; }
.sidelist a{ display:flex; align-items:center; gap:.7rem; padding:.85rem .2rem; text-decoration:none; color:var(--ink); font-weight:600; }
.sidelist a::before{ content:""; width:1.35rem; height:1.35rem; border-radius:4px; background:var(--blue) no-repeat center/60%
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E"); flex:0 0 auto; }
.sidelist a:hover{ color:var(--blue); }
.sidelist .cur a{ color:var(--blue); }
.cards3{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.2rem; margin:1.2rem 0 .4rem; }
.card{ background:var(--tint); border:2px solid var(--tint-2); border-radius:12px; padding:1.2rem 1.2rem 1.3rem; }
.card h3{ font-size:1.12rem; margin-bottom:.4rem; color:var(--blue); }
.card p{ margin:0; font-size:.98rem; }
.card-link{ display:block; text-decoration:none; color:inherit; }
.card-link:hover{ border-color:var(--blue); }
.card-link .more{ display:inline-block; margin-top:.6rem; color:var(--blue); font-weight:700; font-size:.92rem; }
.steps-list{ counter-reset:s; list-style:none; margin:.6rem 0 1rem; padding:0; display:grid; gap:.9rem; }
.steps-list li{ counter-increment:s; display:grid; grid-template-columns:2.4rem 1fr; gap:.9rem; align-items:start; }
.steps-list li::before{ content:counter(s); width:2.4rem; height:2.4rem; border-radius:50%; background:var(--orange); color:#fff;
  font-weight:800; display:grid; place-items:center; }
.steps-list h3{ font-size:1.12rem; margin-bottom:.2rem; }
.steps-list p{ margin:0; font-size:.98rem; }
.facts{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem 1.5rem; margin:.4rem 0 1.2rem; }
.facts dt{ font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); font-weight:700; }
.facts dd{ margin:.15rem 0 0; font-weight:600; }

/* ---------- contact / form ---------- */
.contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,5vw,4rem); align-items:start; margin-top:2rem; }
.field{ display:block; margin-bottom:1rem; }
.field span{ display:block; font-size:.9rem; font-weight:700; margin-bottom:.35rem; }
.field input,.field select,.field textarea{ width:100%; min-height:48px; padding:.8rem .9rem; font:inherit; font-size:1rem;
  background:#fff; border:2px solid var(--line); border-radius:8px; color:var(--ink); }
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--blue); outline:none; }
.field textarea{ min-height:130px; resize:vertical; }
.formnote{ font-size:.92rem; color:var(--ink-soft); margin-top:.9rem; }
.contactfacts{ margin:0; }
.contactfacts dt{ font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--ink-soft); margin-top:1.3rem; }
.contactfacts dd{ margin:.2rem 0 0; font-size:1.1rem; font-weight:600; }
.contactfacts a{ color:var(--blue); text-decoration:none; display:inline-block; padding:.3rem 0; }
.bigphone{ display:inline-block; font-size:clamp(1.9rem,4vw,2.6rem); font-weight:800; color:var(--blue); text-decoration:none; }

/* ---------- footer ---------- */
.foot{ background:var(--charcoal); color:#D5D5D5; padding:3.6rem 0 2rem; font-size:.98rem; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.4rem; }
.foot svg{ height:58px; width:auto; }
.foot h3{ color:var(--orange-lit); font-size:1.25rem; font-weight:600; margin:0 0 1rem; }
.foot ul{ list-style:none; margin:0; padding:0; display:grid; gap:.55rem; }
.foot a{ color:#E8E8E8; text-decoration:none; }
.foot a:hover{ text-decoration:underline; }
.foot .call{ font-size:1.4rem; font-weight:800; color:#fff; margin:1.4rem 0 .6rem; }
.foot .social{ display:flex; gap:.7rem; }
.foot .social a{ width:34px; height:34px; border-radius:50%; background:#fff; display:grid; place-items:center; }
.foot .social svg{ width:16px; height:16px; fill:var(--charcoal); }
.foot-base{ border-top:1px solid #3d3d3d; margin-top:2.4rem; padding-top:1.4rem; font-size:.88rem; color:#A9A9A9; display:flex; flex-wrap:wrap; gap:.6rem 2rem; justify-content:space-between; }

/* ---------- fixed mobile bar ---------- */
.callbar{ display:none; }

/* ================= responsive ================= */
@media (max-width:1000px){
  .hdr-in{ grid-template-columns:1fr; }
  .hdr-logo{ padding:.55rem 1rem; justify-content:center; }
  .hdr-logo svg{ height:46px; }
  .hdr-right{ display:none; }
  .mob-top{ display:flex; flex-direction:column; align-items:center; gap:.7rem; background:var(--blue); color:#fff; padding:1.3rem 1rem; }
  .mob-top .phone{ font-size:1.6rem; font-weight:700; color:#fff; text-decoration:none; }
  .mob-top .btn{ background:#fff; color:var(--ink); }
  .hero{ min-height:560px; padding:3rem var(--gutter) 3.5rem; }
  .row2, .row2.flip{ grid-template-columns:1fr; }
  .row2.flip .shot{ order:0; }
  .why{ grid-template-columns:1fr; gap:3.4rem; max-width:420px; margin-inline:auto; }
  .process{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; }
  .compare, .areas{ grid-template-columns:1fr; }
  .inner{ grid-template-columns:1fr; }
  .side{ position:static; }
  .contact-grid{ grid-template-columns:1fr; }
  .contact-grid > div{ order:-1; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  body{ padding-bottom:78px; }

  /* mobile menu panel */
  .mob-nav{ position:fixed; left:0; right:0; bottom:78px; top:auto; max-height:70vh; overflow:auto; z-index:80;
    background:#fff; box-shadow:0 -12px 30px rgba(0,0,0,.25); padding:.4rem 1.2rem 1rem; border-radius:16px 16px 0 0; }
  .mob-nav.open{ display:block; }
  .mob-nav a, .mob-nav .navsub-toggle{ display:flex; width:100%; justify-content:space-between; align-items:center; padding:.95rem 0; min-height:48px;
    border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink); font-weight:700; font-size:1.05rem; text-transform:uppercase; letter-spacing:.05em; }
  .mob-nav .navitem{ position:static; }
  .mob-nav .navitem::after{ display:none; }
  .mob-nav .navsub{ position:static; display:none; box-shadow:none; padding:0 0 .4rem 1rem; margin:0; min-width:0; }
  .mob-nav .navitem.open .navsub{ display:block; }
  .mob-nav .navsub a{ text-transform:none; letter-spacing:0; font-size:1rem; border-bottom:1px solid var(--tint-2); padding:.8rem 0; }
  .mob-nav .navsub li:last-child a{ border-bottom:0; }

  .callbar{ display:grid; grid-template-columns:1fr 1fr 1fr; position:fixed; bottom:0; left:0; right:0; z-index:90; height:78px; }
  .callbar a, .callbar button{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.3rem; text-decoration:none;
    font-family:inherit; font-weight:700; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; color:#fff; border:0; cursor:pointer; }
  .callbar svg{ width:26px; height:26px; stroke:#fff; fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
  .callbar .c-menu{ background:var(--blue); }
  .callbar .c-call{ background:#222; }
  .callbar .c-quote{ background:var(--orange); }
}
@media (max-width:560px){ .foot-grid{ grid-template-columns:1fr; } .hero h1{ font-size:2.5rem; } }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } .btn:hover{ transform:none; } }
