@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("../fonts/barlow-condensed-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope";src:url("../fonts/manrope-latin.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("../fonts/ibm-plex-mono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --panel:#0d1b26;
  --panel-2:#142a3a;
  --panel-3:#1d3648;
  --blue:#1769aa;
  --blue-deep:#0d4c7e;
  --blue-pale:#dcecf7;
  --copper:#f3a712;
  --copper-deep:#c97f00;
  --porcelain:#f5f7f8;
  --white:#fff;
  --ink:#13232f;
  --steel:#5e6e7b;
  --muted:#7f8e99;
  --line:#d8e0e7;
  --line-dark:#2c4353;
  --danger:#9e3428;
  --shadow:0 20px 60px rgba(13,27,38,.14);
  --shadow-soft:0 12px 36px rgba(13,27,38,.09);
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Manrope","Segoe UI",Arial,sans-serif;
  --mono:"IBM Plex Mono",monospace;
  --shell:1240px;
  --pad:clamp(1.1rem,3vw,2.25rem);
  --section:clamp(4.75rem,9vw,8rem);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:8rem}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.67;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
p,h1,h2,h3,h4,ul,ol,blockquote{margin-top:0}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:.98;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(3.3rem,7vw,6.7rem);margin-bottom:1.5rem}
h2{font-size:clamp(2.55rem,5vw,4.7rem);margin-bottom:1.25rem}
h3{font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.08}
p{color:var(--steel)}
::selection{background:var(--copper);color:var(--panel)}
:focus-visible{outline:3px solid var(--copper);outline-offset:4px}

.shell{width:min(var(--shell),calc(100% - (var(--pad) * 2)));margin-inline:auto}
.section{padding-block:var(--section);position:relative}
.section--porcelain{background:var(--porcelain)}
.section--dark{background:var(--panel);color:var(--white)}
.section--dark p{color:#b5c1ca}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:9999;background:var(--copper);color:var(--panel);padding:.8rem 1rem;font-weight:800;transition:top .2s}
.skip-link:focus{top:1rem}
.icon{width:1.25rem;height:1.25rem;flex:none}
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;margin-bottom:1rem;color:var(--blue);font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.eyebrow::before{content:"";width:1.75rem;height:2px;background:var(--copper);box-shadow:1.72rem 0 0 -0.3px var(--copper)}
.eyebrow--light{color:#a9d6f4}
.lead-copy{font-size:clamp(1.12rem,2vw,1.32rem);line-height:1.75;color:#344b5b}
.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:3.4rem;padding:.85rem 1.35rem;border:1px solid transparent;border-radius:3px;font-family:var(--body);font-size:.86rem;font-weight:800;line-height:1.1;letter-spacing:.01em;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;overflow:hidden}
.button::after{content:"";position:absolute;right:8px;bottom:7px;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35}
.button:hover{transform:translateY(-2px)}
.button--copper{background:var(--copper);color:var(--panel);box-shadow:0 9px 22px rgba(243,167,18,.24)}
.button--copper:hover{background:#ffb928;box-shadow:0 12px 28px rgba(243,167,18,.32)}
.button--blue{background:var(--blue);color:var(--white);box-shadow:0 9px 22px rgba(23,105,170,.2)}
.button--blue:hover{background:var(--blue-deep)}
.button--outline{border-color:#83919c;color:var(--panel);background:rgba(255,255,255,.42)}
.button--outline:hover{border-color:var(--panel);background:var(--white)}
.button--outline-dark{border-color:#9ba7af;color:var(--panel);background:transparent}
.button--outline-dark:hover{border-color:var(--panel);background:var(--panel);color:var(--white)}
.button--ghost-light{border-color:#536b7b;color:var(--white);background:transparent}
.button--ghost-light:hover{border-color:#c6d5df;background:#1a3040}
.button--full{width:100%}
.text-link{display:inline-flex;align-items:center;gap:.55rem;color:var(--blue);font-weight:800;font-size:.88rem}
.text-link .icon{transition:transform .2s}
.text-link:hover .icon{transform:translateX(4px)}
.text-link--light{color:var(--white)}
.hero-actions{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-top:2rem}
.hero-checks{display:flex;gap:1.15rem 1.5rem;flex-wrap:wrap;padding:0;margin:1.45rem 0 0;list-style:none;color:#3c505e;font-size:.8rem;font-weight:700}
.hero-checks li{display:flex;align-items:center;gap:.45rem}
.hero-checks .icon{width:1rem;color:var(--blue)}
.hero-checks--dark{color:var(--ink)}
.section-heading{margin-bottom:clamp(2.2rem,5vw,4rem)}
.section-heading--split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:clamp(2rem,6vw,6rem);align-items:end}
.section-heading--split h2{margin-bottom:0;max-width:15ch}
.section-heading--split>div+div,.section-heading--split>p{padding-bottom:.35rem}
.section-heading--split p{font-size:1.03rem;margin-bottom:1rem}
.section-heading--center{text-align:center;max-width:850px;margin-inline:auto}
.section-heading--center .eyebrow{justify-content:center}
.breadcrumbs{display:flex;align-items:center;gap:.55rem;margin-bottom:clamp(2rem,5vw,4.5rem);font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--steel)}
.breadcrumbs a:hover{color:var(--blue)}
.breadcrumbs--light{color:#a7bac7}
.breadcrumbs--light a:hover{color:var(--copper)}

/* Header */
.utility-bar{background:var(--panel);color:#d7e0e7;font-size:.68rem;min-height:2.15rem;display:flex;align-items:center}
.utility-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.utility-bar p{margin:0;color:#d7e0e7;font-family:var(--mono);font-size:.64rem;letter-spacing:.035em;text-transform:uppercase}
.status-dot{display:inline-block;width:.48rem;height:.48rem;margin-right:.45rem;border-radius:50%;background:var(--copper);box-shadow:0 0 0 3px rgba(243,167,18,.15)}
.utility-bar__links{display:flex;align-items:center;gap:1.4rem}
.utility-bar__links span,.utility-bar__links a{display:flex;align-items:center;gap:.35rem}
.utility-bar__links .icon{width:.85rem;height:.85rem;color:var(--copper)}
.utility-bar__links a{font-weight:800;color:var(--white)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);transition:box-shadow .25s,transform .25s}
.site-header.is-scrolled{box-shadow:0 8px 30px rgba(13,27,38,.1)}
.site-header__inner{height:5.6rem;display:flex;align-items:center;gap:1.35rem}
.brand{width:clamp(185px,17vw,244px);margin-right:auto;flex:none}
.desktop-nav{display:flex;align-items:center;gap:.1rem;height:100%}
.desktop-nav>a,.nav-group__button{height:100%;display:flex;align-items:center;padding:0 .66rem;border:0;background:none;font-family:var(--body);font-size:.75rem;font-weight:750;color:#334957;cursor:pointer;position:relative;white-space:nowrap}
.desktop-nav>a::after,.nav-group__button::after{content:"";position:absolute;left:.65rem;right:.65rem;bottom:0;height:3px;transform:scaleX(0);background:var(--copper);transition:transform .2s}
.desktop-nav>a:hover,.nav-group__button:hover,.desktop-nav .is-active,.nav-group__button.is-active{color:var(--blue)}
.desktop-nav>a.is-active::after,.nav-group__button.is-active::after{transform:scaleX(1)}
.nav-group{height:100%;position:relative}
.nav-group__button{gap:.25rem}
.mega-menu{position:absolute;top:calc(100% + 1px);left:50%;width:min(760px,90vw);transform:translate(-50%,-8px);display:grid;grid-template-columns:240px 1fr;background:var(--white);border-top:3px solid var(--copper);box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,transform .2s}
.nav-group:hover .mega-menu,.nav-group:focus-within .mega-menu,.nav-group.is-open .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.mega-menu__intro{background:var(--panel);padding:2rem;color:var(--white)}
.mega-menu__intro strong{display:block;font-family:var(--display);font-size:1.8rem;line-height:1.05;margin:.2rem 0 1.6rem}
.mega-menu__intro a{display:flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:800;color:var(--copper)}
.mega-menu__links{display:grid;grid-template-columns:1fr 1fr;padding:1.05rem}
.mega-menu__links a{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.75rem .85rem;border-bottom:1px solid #edf0f2;font-size:.74rem;font-weight:750;color:#334957}
.mega-menu__links a:hover{background:var(--porcelain);color:var(--blue)}
.mega-menu__links .icon{width:.9rem}
.header-call{display:none;align-items:center;gap:.5rem;color:var(--blue)}
.header-call .icon{width:1.1rem}
.header-call span{display:flex;flex-direction:column;line-height:1.05;font-size:.72rem;font-weight:800}
.header-call small{font-size:.53rem;color:var(--steel);font-family:var(--mono);text-transform:uppercase}
.header-cta{min-height:2.9rem;padding:.7rem 1rem;font-size:.72rem}
.menu-toggle{display:none;width:3rem;height:3rem;padding:.7rem;border:1px solid var(--line);background:var(--white);flex-direction:column;justify-content:center;gap:.31rem;cursor:pointer}
.menu-toggle span{display:block;width:100%;height:2px;background:var(--panel);transition:transform .2s,opacity .2s}
.mobile-menu{position:fixed;top:0;right:0;z-index:202;width:min(430px,92vw);height:100dvh;background:var(--panel);color:var(--white);transform:translateX(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);overflow:auto;padding:1.25rem 1.35rem 2rem}
.mobile-menu.is-open{transform:translateX(0)}
.mobile-menu__head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-dark);padding-bottom:1rem}
.mobile-menu__head img{width:205px}
.menu-close{width:2.8rem;height:2.8rem;display:grid;place-items:center;background:#1c3343;border:1px solid #365165;color:var(--white);cursor:pointer}
.mobile-menu>nav{display:flex;flex-direction:column;padding:1.15rem 0}
.mobile-menu>nav>a,.mobile-menu summary{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;border-bottom:1px solid #243b4b;font-family:var(--display);font-size:1.55rem;font-weight:700;cursor:pointer;list-style:none}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu details>div{display:grid;grid-template-columns:1fr 1fr;gap:0 .85rem;padding:.55rem .5rem .8rem;border-bottom:1px solid #243b4b}
.mobile-menu details a{padding:.45rem 0;color:#b9c9d4;font-size:.73rem}
.mobile-menu__actions{display:grid;gap:.7rem;margin-top:.8rem}
.menu-backdrop{position:fixed;inset:0;z-index:201;border:0;background:rgba(3,12,18,.68);opacity:0;visibility:hidden;transition:opacity .25s;cursor:pointer}
.menu-backdrop.is-visible{opacity:1;visibility:visible}

/* Shared page heroes */
.page-hero{position:relative;background:var(--panel);color:var(--white);padding:clamp(4rem,8vw,7.2rem) 0;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#223847 1px,transparent 1px),linear-gradient(90deg,#223847 1px,transparent 1px);background-size:54px 54px;opacity:.27;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.page-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:clamp(3rem,8vw,8rem);align-items:center}
.page-hero__content h1{max-width:10ch}
.page-hero__content>p{max-width:650px;color:#b7c5ce;font-size:clamp(1rem,2vw,1.18rem)}
.page-hero__diagram{display:flex;justify-content:center}

/* Forms */
.estimate-form{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);padding:clamp(1.35rem,3vw,2.25rem);color:var(--ink)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-grid--compact{grid-template-columns:1fr 1fr 1fr 1.25fr}
.field{display:grid;gap:.4rem}
.field--full{grid-column:1/-1}
.field>span{font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:#425767}
.field b{color:var(--copper-deep)}
.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5dc;border-radius:2px;background:#fff;color:var(--ink);padding:.82rem .88rem;min-height:3.15rem;font-size:.85rem;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:8rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(23,105,170,.12)}
.field input::placeholder,.field textarea::placeholder{color:#8c99a3}
.consent{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0;color:#63737f;font-size:.68rem;line-height:1.45}
.consent input{margin-top:.18rem;accent-color:var(--blue)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-note{text-align:center;margin:.8rem 0 0;font-size:.7rem;color:#6d7c87}
.form-note a{font-weight:800;color:var(--blue)}
.form-heading{margin-bottom:1.5rem}
.form-heading span{font-family:var(--mono);font-size:.65rem;color:var(--blue);letter-spacing:.08em}
.form-heading h2{font-size:2.3rem;margin:.45rem 0 0}
.form-status{margin:.8rem 0 0;padding:.75rem;background:#f2f7fa;border-left:3px solid var(--blue);font-size:.75rem}

/* Proof rail */
.proof-rail{background:var(--white);border-block:1px solid var(--line)}
.proof-rail__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-rail__grid>a,.proof-rail__grid>div{min-height:6.7rem;display:flex;align-items:center;justify-content:center;gap:.8rem;padding:1rem;border-right:1px solid var(--line);text-align:left}
.proof-rail__grid>*:last-child{border-right:0}
.proof-rail strong{font-family:var(--display);font-size:2.2rem;line-height:1;color:var(--panel)}
.proof-rail strong span{color:var(--copper)}
.proof-rail small{display:block;max-width:115px;font-family:var(--mono);font-size:.59rem;line-height:1.45;text-transform:uppercase;letter-spacing:.045em;color:var(--steel)}
.proof-rail--blue{background:var(--blue);border:0;color:var(--white)}
.proof-rail--blue .proof-rail__grid>*{border-color:rgba(255,255,255,.18)}
.proof-rail--blue strong,.proof-rail--blue small{color:var(--white)}
.proof-rail--light{background:var(--porcelain)}

/* FAQ and reviews */
.faq-list details{border-top:1px solid var(--line)}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem .15rem;font-weight:800;font-size:.93rem;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{width:1.8rem;height:1.8rem;display:grid;place-items:center;border:1px solid var(--line);color:var(--blue);transition:transform .2s,background .2s}
.faq-list details[open] summary span{transform:rotate(45deg);background:var(--copper);border-color:var(--copper);color:var(--panel)}
.faq-list details>div{padding:0 3rem 1.35rem 0}
.faq-list details p{margin:0;font-size:.87rem}
.faq-list--dark details{border-color:var(--line-dark)}
.faq-list--dark summary{color:var(--white)}
.faq-list--dark summary span{border-color:#405968;color:var(--copper)}
.faq-list--dark details p{color:#aebdc7}
.stars{color:var(--copper);font-size:.88rem;letter-spacing:.1em}
.review-card{background:var(--white);border:1px solid var(--line);padding:1.65rem;margin:0;display:flex;flex-direction:column;min-height:260px;box-shadow:var(--shadow-soft)}
.review-card p{font-family:var(--display);font-size:1.55rem;line-height:1.2;color:var(--ink);margin:1rem 0 auto}
.review-card footer{display:flex;flex-direction:column;margin-top:1.5rem}
.review-card footer strong{font-size:.79rem}
.review-card footer span{font-family:var(--mono);font-size:.58rem;color:var(--steel);text-transform:uppercase}
.check-list{padding:0;margin:1.6rem 0 2rem;list-style:none;display:grid;gap:.75rem}
.check-list li{display:flex;align-items:center;gap:.65rem;font-weight:700;font-size:.87rem}
.check-list .icon{color:var(--blue)}

/* Home */
.home-hero{position:relative;background:var(--porcelain);padding:clamp(3rem,6vw,6rem) 0 0;overflow:hidden}
.home-hero::before{content:"";position:absolute;inset:0 0 auto 0;height:100%;background-image:linear-gradient(rgba(13,27,38,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(13,27,38,.035) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(90deg,black,transparent 70%)}
.home-hero__circuit{position:absolute;left:0;top:8%;width:16%;height:58%;border-right:2px solid var(--copper);border-bottom:2px solid var(--copper);opacity:.7}
.home-hero__circuit span{position:absolute;right:-5px;width:9px;height:9px;border-radius:50%;background:var(--copper)}
.home-hero__circuit span:nth-child(1){top:0}.home-hero__circuit span:nth-child(2){top:45%}.home-hero__circuit span:nth-child(3){bottom:-5px;right:auto;left:20%}
.home-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(390px,.75fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.hero-local{display:flex;align-items:center;gap:.55rem;margin-bottom:1.25rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.075em;text-transform:uppercase;color:var(--blue)}
.hero-local span{width:.62rem;height:.62rem;border-radius:50%;background:var(--copper);box-shadow:0 0 0 4px rgba(243,167,18,.18)}
.home-hero h1{max-width:9ch;color:var(--panel);font-size:clamp(4.1rem,8vw,7.7rem)}
.home-hero h1 em{display:block;color:var(--blue);font-style:normal}
.hero-lead{max-width:670px;font-size:clamp(1.02rem,2vw,1.22rem);line-height:1.7;color:#465b6a}
.home-hero__visual{position:relative;padding:1.1rem 0 3rem}
.hero-photo-frame{position:relative;max-width:490px;margin-left:auto;border:1px solid #aebbc4;padding:12px;background:var(--white);box-shadow:var(--shadow)}
.hero-photo-frame::before{content:"";position:absolute;left:-17px;top:11%;width:17px;height:78%;border-block:2px solid var(--copper);border-left:2px solid var(--copper)}
.hero-photo-frame img{width:100%;height:clamp(450px,55vw,630px);object-fit:cover;object-position:center}
.hero-photo-label{position:absolute;left:-1px;bottom:-1px;background:var(--panel);color:var(--white);padding:1rem 1.25rem;min-width:210px;display:flex;flex-direction:column}
.hero-photo-label span{font-family:var(--mono);font-size:.55rem;color:var(--copper);letter-spacing:.08em}
.hero-photo-label strong{font-family:var(--display);font-size:1.35rem}
.rating-ticket{position:absolute;left:-2.8rem;bottom:5.3rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;min-width:285px;background:var(--white);border-left:5px solid var(--copper);padding:.8rem 1rem;box-shadow:var(--shadow)}
.rating-ticket__score{font-family:var(--display);font-size:2.5rem;font-weight:800;line-height:1;color:var(--panel)}
.rating-ticket>span:nth-child(2){display:flex;flex-direction:column}.rating-ticket b{color:var(--copper);font-size:.75rem;letter-spacing:.08em}.rating-ticket small{font-size:.65rem;color:var(--steel)}
.rating-ticket>.icon{width:.9rem;color:var(--blue)}
.hero-estimate{position:relative;z-index:2;display:grid;grid-template-columns:245px 1fr;gap:1.5rem;align-items:center;margin-top:clamp(2rem,4vw,4rem);transform:translateY(50%);background:var(--panel);padding:1.25rem 1.35rem;color:var(--white);box-shadow:var(--shadow)}
.hero-estimate__head{padding-right:1.25rem;border-right:1px solid var(--line-dark)}
.hero-estimate__head .eyebrow{margin-bottom:.4rem}
.hero-estimate__head h2{font-size:1.8rem;margin-bottom:.35rem}
.hero-estimate__head p{font-size:.68rem;line-height:1.5;margin:0;color:#aabac5}
.estimate-form--compact{box-shadow:none;border:0;padding:0;background:transparent;color:var(--white)}
.estimate-form--compact .field>span{color:#c0cdd5}
.estimate-form--compact .field input,.estimate-form--compact .field select{background:#182d3c;border-color:#375064;color:var(--white)}
.estimate-form--compact .field input::placeholder{color:#8fa0ab}
.estimate-form--compact .consent{display:flex;margin:.7rem 0 0;color:#aebdc7;font-size:.56rem;line-height:1.4}
.estimate-form--compact .button{margin-top:.7rem;min-height:3rem}
.estimate-form--compact .form-note{color:#9cafba;margin:.45rem 0 0;text-align:left;grid-column:1/-1}.estimate-form--compact .form-note a{color:var(--white)}
.home-hero+.proof-rail{padding-top:clamp(5rem,8vw,7rem)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{min-height:315px;padding:1.65rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;position:relative;background:var(--white);transition:background .2s,transform .2s,box-shadow .2s;overflow:hidden}
.service-card::before{content:"";position:absolute;right:-28px;top:-28px;width:68px;height:68px;border:1px solid var(--line);transform:rotate(45deg)}
.service-card:hover{z-index:2;background:var(--panel);color:var(--white);transform:translateY(-5px);box-shadow:var(--shadow)}
.service-card__icon{width:3.2rem;height:3.2rem;display:grid;place-items:center;background:var(--blue-pale);color:var(--blue);margin-bottom:1.4rem;transition:background .2s,color .2s}
.service-card__icon .icon{width:1.55rem;height:1.55rem}
.service-card__label{font-family:var(--mono);font-size:.57rem;color:var(--muted);letter-spacing:.07em;text-transform:uppercase}
.service-card h3{margin:.55rem 0 .75rem}
.service-card p{font-size:.78rem;line-height:1.6;margin-bottom:1.35rem}
.service-card__link{margin-top:auto;display:flex;align-items:center;gap:.4rem;color:var(--blue);font-size:.72rem;font-weight:800}
.service-card__link .icon{width:.9rem}
.service-card:hover p{color:#b7c5ce}.service-card:hover .service-card__icon{background:var(--copper);color:var(--panel)}.service-card:hover .service-card__link{color:var(--copper)}
.home-method__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem);align-items:center}
.home-method__visual{position:relative}
.home-method__visual::before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid #395264}
.home-method__visual img{position:relative;width:100%;height:620px;object-fit:cover;filter:saturate(.86)}
.photo-stamp{position:absolute;right:-1.4rem;bottom:2rem;background:var(--copper);color:var(--panel);padding:1rem;display:flex;align-items:center;gap:.75rem}
.photo-stamp strong{font-family:var(--display);font-size:2.5rem;border-right:1px solid rgba(13,27,38,.25);padding-right:.75rem}.photo-stamp span{font-family:var(--mono);font-size:.55rem;line-height:1.4}
.home-method__content h2{max-width:12ch}
.home-method__content>p{font-size:1rem;max-width:620px}
.method-list{margin:2rem 0 2.3rem;border-top:1px solid var(--line-dark)}
.method-list article{display:grid;grid-template-columns:55px 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line-dark)}
.method-list article>span{font-family:var(--mono);font-size:.67rem;color:var(--copper)}
.method-list h3{font-size:1.45rem;margin:0 0 .3rem}.method-list p{font-size:.75rem;margin:0}
.project-mosaic{display:grid;grid-template-columns:1.25fr .75fr 1fr;grid-template-rows:250px 250px;gap:.8rem}
.project-tile{position:relative;overflow:hidden;background:var(--panel)}
.project-tile--1{grid-row:1/3}.project-tile--2{grid-column:2/3}.project-tile--3{grid-column:2/3}.project-tile--4{grid-column:3/4;grid-row:1/2}.project-tile--5{grid-column:3/4;grid-row:2/3}
.project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s,opacity .3s}
.project-tile>span{position:absolute;left:0;right:0;bottom:0;padding:2rem 1rem 1rem;background:linear-gradient(transparent,rgba(13,27,38,.92));color:var(--white);display:flex;flex-direction:column;transform:translateY(.35rem);transition:transform .25s}
.project-tile small{font-family:var(--mono);font-size:.52rem;color:var(--copper);letter-spacing:.05em;text-transform:uppercase}.project-tile strong{font-family:var(--display);font-size:1.3rem}
.project-tile:hover img{transform:scale(1.04);opacity:.85}.project-tile:hover>span{transform:translateY(0)}
.service-radius__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.coverage-board{position:relative;min-height:520px;background:var(--panel);overflow:hidden;border:12px solid var(--white);box-shadow:var(--shadow)}
.coverage-board__grid{position:absolute;inset:0;background-image:linear-gradient(#1c3343 1px,transparent 1px),linear-gradient(90deg,#1c3343 1px,transparent 1px);background-size:42px 42px}
.coverage-ring{position:absolute;border:1px solid var(--blue);border-radius:50%}.coverage-ring--outer{width:430px;height:430px;left:50%;top:50%;transform:translate(-50%,-50%)}.coverage-ring--inner{width:230px;height:230px;left:50%;top:50%;transform:translate(-50%,-50%);border-color:var(--copper)}
.coverage-city{position:absolute;background:#1a3141;color:#dce7ee;border-left:2px solid var(--blue);padding:.45rem .6rem;font-family:var(--mono);font-size:.58rem;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.coverage-city b{display:block;color:var(--copper);font-size:.48rem}.city-palatine{left:48%;top:47%;border-color:var(--copper);font-size:.7rem}.city-barrington{left:16%;top:25%}.city-lake-zurich{left:39%;top:12%}.city-buffalo{right:10%;top:27%}.city-arlington{right:8%;bottom:29%}.city-schaumburg{left:21%;bottom:19%}.city-hoffman{left:9%;top:51%}
.coverage-board__key{position:absolute;left:1rem;bottom:1rem;color:#91a5b2;font-family:var(--mono);font-size:.55rem;display:flex;align-items:center;gap:.5rem}.coverage-board__key span{width:1.8rem;height:1px;background:var(--blue)}
.service-radius__content h2{max-width:11ch}.service-radius__content>p{font-size:1.02rem}
.city-links{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;margin:1.5rem 0 2rem;border-top:1px solid var(--line)}
.city-links a{display:flex;justify-content:space-between;align-items:center;padding:.72rem 0;border-bottom:1px solid var(--line);font-size:.74rem;font-weight:750}.city-links .icon{width:.8rem;color:var(--blue)}
.review-section{background:var(--white)}
.review-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.4rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}
.review-summary__score{font-family:var(--display);font-size:5rem;font-weight:800;line-height:.8;color:var(--panel)}
.review-summary>div:nth-child(2){display:flex;flex-direction:column}.review-summary strong{font-size:.78rem}.review-summary span{font-size:.68rem;color:var(--steel)}
.review-track{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.home-faq__grid{display:grid;grid-template-columns:minmax(280px,.6fr) minmax(0,1fr);gap:clamp(3rem,8vw,8rem);align-items:start}.home-faq__intro{position:sticky;top:9rem}.home-faq__intro h2{max-width:9ch}.home-faq__intro p{max-width:400px}

/* Footer */
.footer-cta{background:var(--blue);color:var(--white);padding:clamp(3rem,6vw,5.2rem) 0;position:relative;overflow:hidden}
.footer-cta::after{content:"";position:absolute;right:-40px;top:50%;width:280px;height:160px;border:2px solid rgba(255,255,255,.2);border-radius:100%;transform:translateY(-50%)}
.footer-cta__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:3rem}
.footer-cta h2{font-size:clamp(2.8rem,5vw,4.8rem);margin-bottom:.7rem}.footer-cta p{color:#d2e6f4;margin:0;max-width:700px}.footer-cta__actions{display:grid;gap:.8rem;justify-items:start}
.site-footer{background:var(--panel);color:var(--white);padding:4.5rem 0 0}
.site-footer__grid{display:grid;grid-template-columns:1.4fr .65fr .65fr 1fr;gap:clamp(2rem,5vw,5rem);padding-bottom:3.5rem}
.footer-brand>a img{width:270px;margin-bottom:1.4rem}.footer-brand>p{font-size:.78rem;max-width:330px;color:#aebdc7}
.footer-trust{display:flex;flex-direction:column;gap:.35rem;margin:1.2rem 0;color:#c7d3db;font-family:var(--mono);font-size:.58rem}
.social-links{display:flex;gap:.5rem}.social-links a{width:2.6rem;height:2.6rem;display:grid;place-items:center;border:1px solid #314a5b;color:#a9c2d1;transition:background .2s,color .2s}.social-links a:hover{background:var(--copper);color:var(--panel)}
.site-footer h3{font-family:var(--mono);font-size:.65rem;letter-spacing:.06em;text-transform:uppercase;color:var(--copper);margin-bottom:1.2rem}
.site-footer ul{padding:0;margin:0;list-style:none;display:grid;gap:.55rem}.site-footer li a{font-size:.7rem;color:#aebdc7}.site-footer li a:hover{color:var(--white)}
.footer-contact>a,.footer-contact>span{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.9rem;color:#d6e0e7}.footer-contact>.icon,.footer-contact>a>.icon{color:var(--copper);width:1rem;margin-top:.2rem}.footer-contact a span,.footer-contact>span span{display:flex;flex-direction:column;font-size:.73rem;font-weight:750}.footer-contact small{font-family:var(--mono);font-size:.52rem;text-transform:uppercase;color:#7f96a5}
.footer-hours{border-top:1px solid var(--line-dark);padding-top:.8rem;margin-top:1.2rem}.footer-hours p{display:flex;justify-content:space-between;gap:.7rem;margin:.2rem 0;color:#9aadb9;font-size:.57rem}.footer-hours strong{font-weight:600;color:#c3d0d8}
.footer-bottom{border-top:1px solid var(--line-dark);min-height:4.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.footer-bottom p{margin:0;color:#728997;font-size:.6rem}.footer-bottom__meta,.footer-bottom__links{display:flex;align-items:center;gap:1.2rem}.footer-bottom a{font-size:.6rem;color:#8fa3af}.footer-credit a{position:relative;color:#c8d6df;font-weight:800}.footer-credit a::after{content:"";position:absolute;left:0;right:0;bottom:-.24rem;height:2px;background:var(--copper);transform-origin:left;transition:transform .2s}.footer-credit a:hover{color:var(--white)}.footer-credit a:hover::after{transform:scaleX(.72)}
.circuit-top{position:fixed;right:1.2rem;bottom:1.25rem;z-index:90;width:3.35rem;height:3.75rem;border:1px solid #466071;background:var(--panel);color:var(--white);display:grid;place-items:center;cursor:pointer;transform:translateY(6rem);opacity:0;transition:transform .25s,opacity .25s,background .2s}.circuit-top.is-visible{transform:translateY(0);opacity:1}.circuit-top:hover{background:var(--blue)}.circuit-top>.icon{width:1rem;position:absolute;top:.52rem}.circuit-top__track{position:absolute;left:.65rem;right:.65rem;bottom:.6rem;height:1.15rem;border:1px solid #526b7b;background:#0a151d}.circuit-top__track span{position:absolute;left:50%;bottom:2px;width:.48rem;height:.7rem;transform:translateX(-50%);background:var(--copper);box-shadow:0 0 0 2px rgba(243,167,18,.16)}
.mobile-action-bar{display:none;position:fixed;z-index:89;left:0;right:0;bottom:0;height:4rem;background:var(--panel);border-top:1px solid #324b5b;padding-bottom:env(safe-area-inset-bottom)}.mobile-action-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--white);font-size:.72rem;font-weight:800}.mobile-action-bar a+ a{background:var(--copper);color:var(--panel)}.mobile-action-bar .icon{width:1rem}

/* Reveal enhancement */
@media (prefers-reduced-motion:no-preference){html.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}html.js .reveal--delay{transition-delay:.1s}html.js .reveal.is-visible{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.project-tile img,.service-card{transition:none!important}}

/* Services directory */
.service-panel{width:min(100%,430px);background:#f6f7f6;color:var(--panel);padding:1rem;border:10px solid #273d4b;box-shadow:0 22px 60px rgba(0,0,0,.28)}
.service-panel__top{display:flex;justify-content:space-between;padding:.35rem .45rem .8rem;border-bottom:2px solid #a8b1b6;font-family:var(--mono);font-size:.52rem;letter-spacing:.05em}
.service-panel__circuit{display:grid;grid-template-columns:32px 1fr 42px;align-items:center;gap:.7rem;padding:.66rem .4rem;border-bottom:1px solid #cdd3d6}.service-panel__circuit>span{font-family:var(--mono);font-size:.58rem;color:var(--steel)}.service-panel__circuit strong{font-family:var(--display);font-size:1.06rem}.service-panel__circuit i{position:relative;width:40px;height:18px;background:var(--panel);border-radius:2px}.service-panel__circuit i::after{content:"";position:absolute;top:3px;right:4px;width:15px;height:12px;background:var(--copper)}
.catalog-list{border-top:1px solid var(--line)}
.catalog-row{display:grid;grid-template-columns:58px 60px 1fr 42px;gap:1rem;align-items:center;padding:1.15rem .8rem;border-bottom:1px solid var(--line);transition:background .2s,color .2s,padding .2s}.catalog-row:hover{background:var(--panel);color:var(--white);padding-inline:1.2rem}.catalog-row__number{font-family:var(--mono);font-size:.62rem;color:var(--muted)}.catalog-row__icon{width:2.8rem;height:2.8rem;display:grid;place-items:center;background:var(--blue-pale);color:var(--blue)}.catalog-row__copy{display:grid;grid-template-columns:minmax(180px,.45fr) 1fr;gap:2rem;align-items:center}.catalog-row__copy strong{font-family:var(--display);font-size:1.65rem;line-height:1}.catalog-row__copy small{color:var(--steel);font-size:.74rem;line-height:1.55}.catalog-row:hover .catalog-row__copy small{color:#afc0ca}.catalog-row__arrow{color:var(--blue)}.catalog-row:hover .catalog-row__arrow{color:var(--copper)}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.process-grid article{padding:1.6rem;border-right:1px solid var(--line);min-height:230px}.process-grid article:last-child{border:0}.process-grid article>span{font-family:var(--mono);font-size:.62rem;color:var(--blue)}.process-grid h3{margin:3rem 0 .65rem}.process-grid p{font-size:.75rem;margin:0}

/* Service detail */
.service-hero{background:var(--panel);color:var(--white);padding:clamp(3.5rem,7vw,6.6rem) 0;position:relative;overflow:hidden}
.service-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(#203747 1px,transparent 1px),linear-gradient(90deg,#203747 1px,transparent 1px);background-size:56px 56px;opacity:.25;mask-image:linear-gradient(90deg,#000,transparent 70%)}
.service-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.service-hero__content h1{font-size:clamp(3.6rem,7vw,6.8rem);max-width:10.5ch}.service-hero__content>p{max-width:610px;color:#b8c6cf;font-size:1.05rem}.service-hero__proof{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.8rem;padding-top:1.25rem;border-top:1px solid var(--line-dark)}.service-hero__proof span{display:flex;align-items:center;gap:.45rem;font-family:var(--mono);font-size:.59rem;color:#b5c6d0}.service-hero__proof .icon{width:.95rem;color:var(--copper)}
.service-hero__visual{position:relative;padding:0 0 1.5rem 1.5rem}.service-hero__visual::before{content:"";position:absolute;left:0;top:1.5rem;bottom:0;width:75%;border-left:2px solid var(--copper);border-bottom:2px solid var(--copper)}.service-hero__photo{position:relative;border:10px solid var(--white);box-shadow:0 24px 70px rgba(0,0,0,.3)}.service-hero__photo img{width:100%;height:540px;object-fit:cover}.service-hero__tag{position:absolute;right:-.1rem;bottom:0;background:var(--copper);color:var(--panel);padding:.75rem 1rem;display:flex;flex-direction:column}.service-hero__tag span{font-family:var(--mono);font-size:.52rem}.service-hero__tag b{font-family:var(--display);font-size:1.2rem}
.service-intro__grid{display:grid;grid-template-columns:260px 1fr;gap:clamp(3rem,7vw,7rem);align-items:start}
.service-sidebar{position:sticky;top:8.5rem;border:1px solid var(--line);padding:1.25rem}.service-sidebar nav{display:flex;flex-direction:column;border-top:1px solid var(--line)}.service-sidebar nav a{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.69rem;color:#516674}.service-sidebar nav a.is-active{color:var(--blue);font-weight:800}.service-sidebar nav .icon{width:.8rem}.sidebar-call{margin-top:1.2rem;padding:1rem;background:var(--panel);color:var(--white);display:flex;flex-direction:column}.sidebar-call span{font-family:var(--mono);font-size:.52rem;color:#91a6b4}.sidebar-call a{display:flex;align-items:center;gap:.4rem;margin-top:.3rem;color:var(--copper);font-family:var(--display);font-size:1.25rem;font-weight:700}.sidebar-call .icon{width:1rem}
.service-intro__content h2{max-width:13ch}.included-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:2.2rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}.included-grid>div{min-height:74px;display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.76rem;font-weight:700}.included-grid .icon{width:1.1rem;color:var(--blue)}
.service-fit__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(390px,.8fr);gap:clamp(3rem,8vw,8rem);align-items:center}.service-fit__content h2{max-width:11ch}.fit-list{margin-top:2rem;border-top:1px solid var(--line)}.fit-list>div{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.fit-list span{font-family:var(--mono);font-size:.6rem;color:var(--blue)}.fit-list strong{font-family:var(--display);font-size:1.35rem}
.service-fit__photo{position:relative}.service-fit__photo img{width:100%;height:560px;object-fit:cover;box-shadow:var(--shadow)}.service-fit__photo>div{position:absolute;left:-1rem;bottom:1.4rem;background:var(--panel);color:var(--white);padding:.8rem 1rem;display:flex;flex-direction:column}.service-fit__photo span{font-family:var(--mono);font-size:.5rem;color:var(--copper)}.service-fit__photo strong{font-family:var(--display);font-size:1.15rem}
.process-line{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.process-line::before{content:"";position:absolute;left:0;right:0;top:1.6rem;height:2px;background:var(--line)}.process-line article{position:relative;padding:0 1.2rem 0 0}.process-line article>span{position:relative;z-index:1;width:3.2rem;height:3.2rem;display:grid;place-items:center;background:var(--panel);border:5px solid var(--white);color:var(--copper);font-family:var(--mono);font-size:.58rem}.process-line h3{margin:1.5rem 0 0;max-width:9ch}
.service-faq__grid{display:grid;grid-template-columns:minmax(280px,.65fr) 1fr;gap:clamp(3rem,8vw,8rem)}.service-faq__intro h2{max-width:10ch}.service-faq__intro p{max-width:430px}
.estimate-section__grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1fr);gap:clamp(3rem,8vw,8rem);align-items:start}.estimate-section__intro{position:sticky;top:9rem}.estimate-section__intro h2{max-width:10ch}.contact-ticket{display:flex;align-items:center;gap:.8rem;border-top:1px solid var(--line);padding:1rem 0}.contact-ticket>span{width:2.7rem;height:2.7rem;display:grid;place-items:center;background:var(--blue-pale);color:var(--blue)}.contact-ticket>div{display:flex;flex-direction:column}.contact-ticket small{font-family:var(--mono);font-size:.54rem;color:var(--steel);text-transform:uppercase}.contact-ticket a,.contact-ticket strong{font-family:var(--display);font-size:1.3rem}
.related-services{padding:0 0 var(--section)}.related-services__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:1rem}.related-services__grid a{display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:1.3rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.related-services__grid strong{font-family:var(--display);font-size:1.4rem}.related-services__grid span{grid-column:1/-1;color:var(--steel);font-size:.7rem}.related-services__grid .icon{color:var(--blue);width:.9rem}

/* Service areas */
.area-gauge{position:relative;width:min(420px,90vw);aspect-ratio:1;margin:auto}.area-gauge__rings span{position:absolute;inset:5%;border:1px solid #365265;border-radius:50%}.area-gauge__rings span:nth-child(2){inset:21%;border-color:#48677b}.area-gauge__rings span:nth-child(3){inset:37%;border-color:var(--copper)}.area-gauge__rings::before,.area-gauge__rings::after{content:"";position:absolute;background:#365265}.area-gauge__rings::before{left:50%;top:0;bottom:0;width:1px}.area-gauge__rings::after{top:50%;left:0;right:0;height:1px}.area-gauge__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:var(--copper);color:var(--panel);line-height:.8}.area-gauge__center strong{font-family:var(--display);font-size:2rem}.area-gauge__center span{font-family:var(--mono);font-size:.46rem}.area-gauge__reading{position:absolute;right:4%;bottom:15%;background:#1a3040;border-left:3px solid var(--blue);padding:.6rem .8rem;display:flex;align-items:baseline;gap:.4rem}.area-gauge__reading strong{font-family:var(--display);font-size:2rem}.area-gauge__reading span{font-family:var(--mono);font-size:.48rem;color:#a8bac6}
.area-card-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.area-card{display:grid;grid-template-columns:42px 1fr 24px;gap:1rem;padding:1.4rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s,color .2s}.area-card:hover{background:var(--panel);color:var(--white)}.area-card>span{width:2.5rem;height:2.5rem;display:grid;place-items:center;background:var(--blue-pale);color:var(--blue)}.area-card small{font-family:var(--mono);font-size:.52rem;color:var(--muted);text-transform:uppercase}.area-card h3{font-size:1.55rem;margin:.2rem 0 .4rem}.area-card p{font-size:.7rem;margin:0}.area-card:hover p{color:#adc0cc}.area-card__arrow{width:.9rem;color:var(--blue)}.area-card:hover .area-card__arrow{color:var(--copper)}
.radius-explainer__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,8vw,8rem);align-items:center}.map-frame{background:var(--panel);padding:10px;box-shadow:var(--shadow)}.map-frame iframe{display:block;width:100%;height:460px;border:0;filter:saturate(.8) contrast(1.04)}.radius-explainer h2{max-width:10ch}

/* Location detail */
.location-hero{padding:clamp(3rem,7vw,6rem) 0;background:var(--porcelain);position:relative;overflow:hidden}.location-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(13,27,38,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(13,27,38,.04) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,#000,transparent)}.location-hero__grid{position:relative;display:grid;grid-template-columns:1fr .85fr;gap:clamp(3rem,7vw,7rem);align-items:center}.location-hero__content h1{font-size:clamp(3.8rem,7vw,6.8rem);max-width:10ch}.location-hero__content h1 em{color:var(--blue);font-style:normal}.location-hero__visual{position:relative;padding:1rem 1rem 2.5rem 0}.location-hero__visual::before{content:"";position:absolute;inset:0 0 1.5rem 1.5rem;border:2px solid var(--copper)}.location-hero__visual>img{position:relative;width:100%;height:520px;object-fit:cover;box-shadow:var(--shadow)}.location-hero__pin{position:absolute;left:-1rem;bottom:0;background:var(--panel);color:var(--white);padding:.9rem 1rem;display:flex;align-items:center;gap:.7rem}.location-hero__pin>.icon{color:var(--copper)}.location-hero__pin span{display:flex;flex-direction:column}.location-hero__pin small{font-family:var(--mono);font-size:.5rem;color:#9bafbc;text-transform:uppercase}.location-hero__pin strong{font-family:var(--display);font-size:1.35rem}
.location-intro__grid{display:grid;grid-template-columns:1fr 340px;gap:clamp(3rem,8vw,8rem);align-items:start}.location-intro h2{max-width:12ch}.city-callout{background:var(--panel);color:var(--white);padding:1.7rem;border-top:5px solid var(--copper)}.city-callout>span{font-family:var(--mono);font-size:.55rem;color:#8fa7b5}.city-callout>strong{display:block;font-family:var(--display);font-size:2.55rem;line-height:1;margin:1.2rem 0}.city-callout p{font-size:.73rem;color:#aebfc9}.city-callout a{display:flex;align-items:center;gap:.45rem;color:var(--copper);font-family:var(--display);font-size:1.35rem;font-weight:700}
.city-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.city-service{position:relative;min-height:270px;padding:1.4rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);transition:transform .2s,box-shadow .2s}.city-service:hover{z-index:2;transform:translateY(-4px);box-shadow:var(--shadow)}.city-service>span{width:2.8rem;height:2.8rem;display:grid;place-items:center;background:var(--blue-pale);color:var(--blue)}.city-service h3{margin:2rem 0 .6rem}.city-service p{font-size:.71rem;margin:0;padding-right:1rem}.city-service__arrow{position:absolute;right:1.1rem;bottom:1.2rem;color:var(--blue);width:.9rem}
.city-estimate{background:var(--white)}.nearby-strip{margin-top:2rem;border-top:1px solid var(--line);padding-top:1rem;display:flex;gap:.45rem;flex-wrap:wrap}.nearby-strip small{width:100%;font-family:var(--mono);font-size:.54rem;color:var(--steel);text-transform:uppercase}.nearby-strip span{border:1px solid var(--line);padding:.35rem .55rem;font-size:.62rem}
.nearby-pages{padding:0 0 var(--section)}.nearby-pages__links{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:1rem}.nearby-pages__links a{display:flex;align-items:center;gap:.4rem;padding:.65rem .9rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.68rem}.nearby-pages__links .icon{width:.75rem;color:var(--blue)}

/* About */
.about-hero{padding:clamp(3rem,7vw,6.5rem) 0;background:var(--white)}
.about-hero__grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(3rem,8vw,8rem);align-items:center}.about-hero__content h1{max-width:11ch}.about-hero__content>p{font-size:1.1rem;max-width:650px}.about-hero__visual{position:relative;padding:0 0 2rem 2rem}.about-hero__visual::before{content:"";position:absolute;left:0;top:2rem;bottom:0;width:65%;background:var(--copper)}.about-hero__visual img{position:relative;width:100%;height:570px;object-fit:cover;box-shadow:var(--shadow)}.about-hero__badge{position:absolute;left:0;bottom:0;background:var(--panel);color:var(--white);padding:1rem 1.2rem;display:flex;align-items:center;gap:.7rem}.about-hero__badge strong{font-family:var(--display);font-size:3rem;color:var(--copper);line-height:1}.about-hero__badge span{max-width:100px;font-family:var(--mono);font-size:.55rem;line-height:1.4;text-transform:uppercase}
.about-story__grid{display:grid;grid-template-columns:.55fr 1fr;gap:clamp(3rem,9vw,9rem)}.about-story__label{border-top:1px solid var(--line);padding-top:1.1rem}.about-story__label p{font-size:.78rem;max-width:330px}.about-story__copy h2{max-width:12ch}.about-story__copy p{font-size:1rem;max-width:750px}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.value-grid article{padding:1.5rem;min-height:280px;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.value-grid article>span{width:3rem;height:3rem;display:grid;place-items:center;background:var(--copper);color:var(--panel)}.value-grid h3{margin:3rem 0 .7rem}.value-grid p{font-size:.72rem;margin:0}
.owner-section__grid{display:grid;grid-template-columns:1fr .92fr;gap:clamp(3rem,8vw,8rem);align-items:center}.owner-section__photos{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;align-items:start}.owner-section__photos img{width:100%;height:520px;object-fit:cover}.owner-section__photos img:nth-child(2){margin-top:3rem}.owner-section h2{max-width:10ch}.owner-section blockquote{margin:1.7rem 0;padding:1.3rem 0 1.3rem 1.3rem;border-left:3px solid var(--copper);font-family:var(--display);font-size:1.5rem;line-height:1.2}.owner-section cite{display:block;margin-top:.8rem;font-family:var(--mono);font-size:.55rem;color:var(--steel);font-style:normal;text-transform:uppercase}
.credential-section__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.credential-card{background:var(--white);border:1px solid var(--line);padding:1.5rem}.credential-card>span{font-family:var(--mono);font-size:.55rem;color:var(--blue)}.credential-card>strong{display:block;margin:2rem 0 .6rem;font-family:var(--display);font-size:2.2rem}.credential-card p{font-size:.71rem;margin:0}

/* Projects and gallery */
.project-stack{position:relative;min-height:500px}.project-stack img{position:absolute;width:72%;height:370px;object-fit:cover;border:8px solid var(--white);box-shadow:0 20px 60px rgba(0,0,0,.3)}.project-stack img:first-child{right:0;top:0}.project-stack img:nth-child(2){left:0;bottom:0}.project-stack>span{position:absolute;right:0;bottom:3rem;background:var(--copper);color:var(--panel);padding:.55rem .75rem;font-family:var(--mono);font-size:.55rem;z-index:2}
.featured-projects{overflow:hidden}.featured-project{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,6vw,6rem);align-items:center;margin-bottom:clamp(5rem,10vw,10rem)}.featured-project:last-child{margin-bottom:0}.featured-project--reverse .featured-project__image{order:2}.featured-project__image{position:relative;padding:0 1.2rem 1.2rem 0}.featured-project__image::after{content:"";position:absolute;inset:1.2rem 0 0 1.2rem;background:var(--blue);z-index:-1}.featured-project__image img{width:100%;height:560px;object-fit:cover;box-shadow:var(--shadow)}.featured-project__copy>span{font-family:var(--mono);font-size:.58rem;color:var(--blue);letter-spacing:.06em}.featured-project__copy h3{font-size:clamp(2.3rem,4vw,3.9rem);margin:1rem 0;max-width:11ch}.featured-project__copy>p{font-size:.9rem}.featured-project__copy ul{display:flex;gap:.5rem;flex-wrap:wrap;padding:0;margin:1.5rem 0 0;list-style:none}.featured-project__copy li{border:1px solid var(--line);padding:.4rem .55rem;font-family:var(--mono);font-size:.52rem;text-transform:uppercase}
.work-type-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.work-type-grid a{padding:1.5rem;min-height:260px;background:var(--white);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.work-type-grid a>span{width:3rem;height:3rem;display:grid;place-items:center;background:var(--blue-pale);color:var(--blue)}.work-type-grid h3{margin:3rem 0 .6rem}.work-type-grid p{font-size:.71rem;margin:0}
.gallery-hero{background:var(--panel);color:var(--white);padding:clamp(4rem,8vw,7rem) 0}.gallery-hero__inner{display:grid;grid-template-columns:1fr .5fr;gap:4rem;align-items:end}.gallery-hero h1{max-width:11ch;margin:0}.gallery-hero p{color:#afc0cb;margin:0;padding-bottom:.5rem}
.gallery-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.gallery-filters button{border:1px solid var(--line);background:var(--white);padding:.6rem .8rem;font-size:.68rem;font-weight:800;cursor:pointer}.gallery-filters button:hover,.gallery-filters button.is-active{background:var(--panel);border-color:var(--panel);color:var(--white)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;align-items:start}.gallery-item{position:relative;padding:0;border:0;background:var(--panel);cursor:zoom-in;overflow:hidden;text-align:left;min-height:330px}.gallery-item:nth-child(4n+1){grid-row:span 2;min-height:670px}.gallery-item.is-hidden{display:none}.gallery-item img{width:100%;height:100%;min-height:330px;object-fit:cover;transition:transform .35s,opacity .25s}.gallery-item:nth-child(4n+1) img{min-height:670px}.gallery-item>span{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;padding:3rem 1rem 1rem;background:linear-gradient(transparent,rgba(13,27,38,.95));color:var(--white)}.gallery-item small{font-family:var(--mono);font-size:.5rem;color:var(--copper);text-transform:uppercase}.gallery-item strong{font-family:var(--display);font-size:1.3rem}.gallery-item:hover img{transform:scale(1.035);opacity:.82}
.lightbox{max-width:min(1000px,94vw);max-height:92vh;padding:.8rem;border:0;background:var(--panel);color:var(--white);box-shadow:0 30px 100px rgba(0,0,0,.5)}.lightbox::backdrop{background:rgba(5,12,18,.88);backdrop-filter:blur(3px)}.lightbox img{max-width:100%;max-height:78vh;margin:auto;object-fit:contain}.lightbox p{color:var(--white);margin:.7rem .3rem 0;font-family:var(--display);font-size:1.3rem}.lightbox__close{position:absolute;right:1rem;top:1rem;width:2.8rem;height:2.8rem;display:grid;place-items:center;border:1px solid #4c6474;background:var(--panel);color:var(--white);cursor:pointer;z-index:2}

/* Reviews */
.reviews-hero{padding:clamp(3.5rem,7vw,7rem) 0;background:var(--porcelain)}.reviews-hero__grid{display:grid;grid-template-columns:1fr 340px;gap:clamp(3rem,8vw,8rem);align-items:center}.reviews-hero h1{max-width:11ch}.reviews-hero p{font-size:1.05rem;max-width:700px}.reviews-scorecard{background:var(--panel);color:var(--white);padding:1.7rem;border-top:5px solid var(--copper);display:flex;flex-direction:column;box-shadow:var(--shadow)}.reviews-scorecard>span{font-family:var(--mono);font-size:.55rem;color:#9cb0bd}.reviews-scorecard>strong{font-family:var(--display);font-size:7rem;line-height:.9;margin:1rem 0 .2rem}.reviews-scorecard p{color:#aebdc7;margin:.7rem 0 2rem;font-size:.72rem}.reviews-scorecard>b{display:flex;align-items:center;gap:.5rem;color:var(--copper);font-size:.72rem}.reviews-scorecard .icon{width:.9rem}
.review-wall__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.review-card--large{min-height:310px}.center-action{text-align:center;margin-top:2.5rem}
.review-themes__grid{display:grid;grid-template-columns:.65fr 1fr;gap:clamp(3rem,8vw,8rem)}.review-themes h2{max-width:10ch}.theme-list{border-top:1px solid var(--line-dark)}.theme-list article{display:grid;grid-template-columns:48px 1fr;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line-dark)}.theme-list>article>span{font-family:var(--mono);font-size:.6rem;color:var(--copper)}.theme-list h3{font-size:1.45rem;margin:0 0 .3rem}.theme-list p{font-size:.73rem;margin:0}

/* FAQ */
.faq-hero{background:var(--panel);color:var(--white);padding:clamp(4rem,8vw,7rem) 0}.faq-hero__grid{display:grid;grid-template-columns:1fr 300px;gap:clamp(3rem,8vw,8rem);align-items:end}.faq-hero h1{max-width:10ch}.faq-hero p{color:#afc0ca;max-width:690px}.faq-hero__contact{background:#1b3344;border-left:4px solid var(--copper);padding:1.3rem;display:flex;flex-direction:column}.faq-hero__contact>span{font-family:var(--mono);font-size:.52rem;color:#9fb2be}.faq-hero__contact a{display:flex;align-items:center;gap:.4rem;margin-top:.7rem;color:var(--copper);font-size:.7rem;font-weight:800}.faq-hero__contact a strong{font-family:var(--display);font-size:1.65rem}.faq-hero__contact .icon{width:1rem}
.faq-page-grid{display:grid;grid-template-columns:220px 1fr;gap:clamp(3rem,8vw,8rem);align-items:start}.faq-index{position:sticky;top:9rem;display:flex;flex-direction:column;border-top:1px solid var(--line)}.faq-index a{padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.7rem;color:var(--steel)}.faq-index a:hover{color:var(--blue)}.faq-category{scroll-margin-top:9rem;margin-bottom:3.5rem}.faq-category:last-child{margin-bottom:0}.faq-category__label{display:block;padding-bottom:.8rem;font-family:var(--display);font-size:2rem;border-bottom:3px solid var(--panel)}

/* Contact */
.contact-hero{background:var(--porcelain);padding:clamp(3rem,7vw,6.5rem) 0}.contact-hero__grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1fr);gap:clamp(3rem,7vw,7rem);align-items:start}.contact-hero__intro{padding-top:1rem}.contact-hero h1{font-size:clamp(3.8rem,7vw,6.5rem);max-width:9.5ch}.contact-hero__intro>p{font-size:1rem;max-width:600px}.contact-methods{display:grid;margin-top:2rem;border-top:1px solid var(--line)}.contact-methods>a,.contact-methods>span{display:grid;grid-template-columns:44px 1fr 24px;align-items:center;gap:.8rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.contact-methods>a>span:first-child,.contact-methods>span>span:first-child{width:2.5rem;height:2.5rem;display:grid;place-items:center;background:var(--blue-pale);color:var(--blue)}.contact-methods div{display:flex;flex-direction:column}.contact-methods small{font-family:var(--mono);font-size:.52rem;color:var(--steel);text-transform:uppercase}.contact-methods strong{font-family:var(--display);font-size:1.3rem}.contact-methods>a>.icon{width:.9rem;color:var(--blue)}
.estimate-form--contact{border-top:5px solid var(--blue)}.contact-details{padding:var(--section) 0}.contact-details__grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:1.2rem}.contact-details__grid>.map-frame{grid-row:span 2}.hours-card,.contact-trust{border:1px solid var(--line);padding:1.5rem}.hours-card p{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;margin:0;border-bottom:1px solid var(--line);font-size:.72rem}.hours-card strong{font-size:.7rem}.hours-card>small{display:block;margin-top:1rem;color:var(--steel);font-size:.62rem}.contact-trust h2{font-size:2.5rem}.contact-trust ol{padding:0;margin:1.2rem 0 0;list-style:none}.contact-trust li{display:grid;grid-template-columns:38px 1fr;gap:.5rem;padding:.7rem 0;border-top:1px solid var(--line)}.contact-trust li>span{font-family:var(--mono);font-size:.55rem;color:var(--blue)}.contact-trust li p{margin:0;font-size:.7rem}

/* Resources and legal */
.resource-warning{background:#192f3f;border-left:4px solid var(--copper);padding:1.3rem;display:flex;gap:.9rem}.resource-warning>.icon{color:var(--copper);width:1.6rem;height:1.6rem}.resource-warning strong{font-family:var(--display);font-size:1.4rem}.resource-warning p{color:#afc0ca;font-size:.7rem;margin:.3rem 0 0}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.resource-grid article{padding:1.5rem;min-height:340px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.resource-grid article>span{width:3rem;height:3rem;display:grid;place-items:center;background:var(--blue-pale);color:var(--blue);margin-bottom:2rem}.resource-grid small{font-family:var(--mono);font-size:.52rem;color:var(--blue)}.resource-grid h3{font-size:1.8rem;margin:.65rem 0}.resource-grid p{font-size:.71rem}.resource-grid a{display:flex;align-items:center;gap:.4rem;margin-top:auto;color:var(--blue);font-size:.68rem;font-weight:800}.resource-grid a .icon{width:.8rem}.resource-cta__grid{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end}.resource-cta h2{max-width:11ch}.resource-cta__grid>div:last-child{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}
.legal-hero{padding:clamp(3rem,6vw,5rem) 0;background:var(--porcelain);border-bottom:1px solid var(--line)}.legal-hero h1{margin-bottom:.5rem}.legal-hero p{font-family:var(--mono);font-size:.6rem}.legal-content__grid{display:grid;grid-template-columns:260px 1fr;gap:clamp(3rem,8vw,8rem);align-items:start}.legal-content aside{position:sticky;top:9rem;border-top:3px solid var(--panel);padding-top:1rem;display:flex;flex-direction:column;gap:.45rem;font-size:.68rem}.legal-content aside span{font-weight:800}.legal-content aside a{color:var(--blue)}.legal-content article{max-width:780px}.legal-content article h2{font-size:2rem;margin:2.2rem 0 .6rem}.legal-content article h2:first-child{margin-top:0}.legal-content article p{font-size:.84rem}.legal-content article a{color:var(--blue);font-weight:700}
.thanks-page,.error-page{min-height:70vh;display:grid;align-items:center;padding:var(--section) 0;background:var(--porcelain)}.thanks-page__inner{max-width:760px;text-align:center}.thanks-mark{width:5.5rem;height:5.5rem;display:grid;place-items:center;margin:0 auto 1.5rem;background:var(--copper);color:var(--panel);border-radius:50%;box-shadow:0 0 0 12px rgba(243,167,18,.16)}.thanks-mark .icon{width:2.5rem;height:2.5rem}.thanks-page h1{font-size:clamp(3.4rem,7vw,6rem)}.thanks-page>p,.thanks-page__inner>p{font-size:1rem}.thanks-actions{display:flex;justify-content:center;gap:.8rem;flex-wrap:wrap;margin:2rem 0}.thanks-next{display:flex;justify-content:center;gap:1rem 2rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.4rem}.thanks-next>span{width:100%;font-family:var(--mono);font-size:.55rem;color:var(--steel);text-transform:uppercase}.thanks-next a{display:flex;align-items:center;gap:.4rem;color:var(--blue);font-size:.7rem;font-weight:800}.thanks-next .icon{width:.8rem}
.error-page__grid{display:grid;grid-template-columns:1fr .8fr;gap:4rem;align-items:center}.error-page h1{max-width:10ch}.error-diagram{display:flex;align-items:center;justify-content:center}.error-diagram i{width:75px;height:2px;background:var(--line)}.error-diagram i:first-of-type{background:linear-gradient(90deg,var(--blue) 0 44%,transparent 44% 56%,var(--blue) 56%)}.error-diagram b{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:var(--copper);font-family:var(--display);font-size:2rem}.error-node{border:1px solid var(--line);padding:.55rem;font-family:var(--mono);font-size:.55rem}

@media (max-width:1180px){
  .desktop-nav{display:none}.menu-toggle{display:flex}.header-call{display:flex}.header-cta{display:inline-flex}.brand{width:225px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .review-track{grid-template-columns:repeat(2,1fr)}
  .review-wall__grid{grid-template-columns:repeat(2,1fr)}
  .site-footer__grid{grid-template-columns:1.25fr .7fr .7fr}.footer-contact{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.footer-contact h3{grid-column:1/-1}.footer-hours{grid-column:1/-1}
}

@media (max-width:960px){
  :root{--section:clamp(4.2rem,9vw,6.5rem)}
  .utility-bar__links span:first-child{display:none}
  .home-hero__grid,.page-hero__grid,.service-hero__grid,.location-hero__grid,.about-hero__grid,.reviews-hero__grid{grid-template-columns:1fr}
  .home-hero__content,.service-hero__content,.location-hero__content{max-width:760px}
  .home-hero h1,.service-hero__content h1,.location-hero__content h1{max-width:10ch}
  .home-hero__visual{max-width:620px;margin-left:auto;width:100%}.hero-photo-frame{max-width:520px}
  .hero-estimate{grid-template-columns:1fr;transform:none;margin-top:2rem}.hero-estimate__head{border-right:0;border-bottom:1px solid var(--line-dark);padding:0 0 1rem}.home-hero{padding-bottom:2rem}.home-hero+.proof-rail{padding-top:0}
  .home-method__grid,.service-radius__grid,.service-fit__grid,.owner-section__grid,.radius-explainer__grid{grid-template-columns:1fr}.home-method__visual{max-width:650px}.home-method__visual img{height:560px}.home-method__content{max-width:720px}
  .coverage-board{max-width:650px;width:100%}
  .project-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:340px 250px 250px}.project-tile--1{grid-column:1/3;grid-row:1}.project-tile--2{grid-column:1;grid-row:2}.project-tile--3{grid-column:2;grid-row:2}.project-tile--4{grid-column:1;grid-row:3}.project-tile--5{grid-column:2;grid-row:3}
  .service-intro__grid{grid-template-columns:220px 1fr;gap:2.5rem}
  .city-service-grid{grid-template-columns:repeat(2,1fr)}
  .value-grid,.work-type-grid{grid-template-columns:repeat(2,1fr)}
  .featured-project{grid-template-columns:1fr}.featured-project--reverse .featured-project__image{order:0}.featured-project__image img{height:520px}.featured-project__copy{max-width:720px}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item:nth-child(4n+1){grid-row:auto;min-height:430px}.gallery-item:nth-child(4n+1) img{min-height:430px}
  .resource-grid{grid-template-columns:repeat(2,1fr)}
  .contact-details__grid{grid-template-columns:1fr 1fr}.contact-details__grid>.map-frame{grid-column:1/-1;grid-row:auto}
}

@media (max-width:780px){
  .section-heading--split,.home-faq__grid,.service-faq__grid,.estimate-section__grid,.location-intro__grid,.about-story__grid,.review-themes__grid,.faq-page-grid,.contact-hero__grid,.gallery-hero__inner,.resource-cta__grid,.legal-content__grid,.error-page__grid,.footer-cta__inner{grid-template-columns:1fr}
  .section-heading--split{gap:1rem;align-items:start}.section-heading--split h2{max-width:16ch}.section-heading--split>div+div,.section-heading--split>p{padding:0}
  .proof-rail__grid{grid-template-columns:1fr 1fr}.proof-rail__grid>*:nth-child(2){border-right:0}.proof-rail__grid>*:nth-child(-n+2){border-bottom:1px solid var(--line)}.proof-rail--blue .proof-rail__grid>*:nth-child(-n+2){border-bottom-color:rgba(255,255,255,.18)}
  .form-grid--compact{grid-template-columns:1fr 1fr}.form-grid--compact .field:nth-child(4){grid-column:1/-1}
  .service-intro__grid{grid-template-columns:1fr}.service-sidebar{position:relative;top:auto}.service-sidebar nav{display:grid;grid-template-columns:1fr 1fr}.service-sidebar nav a:nth-child(odd){padding-right:1rem}.service-sidebar nav a:nth-child(even){padding-left:1rem;border-left:1px solid var(--line)}
  .service-fit__photo img{height:480px}.estimate-section__intro,.home-faq__intro,.faq-index,.legal-content aside{position:relative;top:auto}
  .process-grid,.process-line{grid-template-columns:1fr 1fr}.process-grid article:nth-child(2){border-right:0}.process-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.process-line{gap:2rem 0}.process-line::before{display:none}
  .related-services__grid{grid-template-columns:1fr}
  .area-card-grid{grid-template-columns:1fr}.area-card{border-right:1px solid var(--line)}
  .about-story__label{max-width:500px}.owner-section__photos img{height:460px}.credential-section__grid{grid-template-columns:1fr}
  .project-stack{max-width:620px}.featured-project__image img{height:460px}
  .reviews-hero__grid{align-items:start}.reviews-scorecard{max-width:360px}.review-themes__grid{gap:2rem}
  .faq-page-grid{gap:2rem}.faq-index{display:grid;grid-template-columns:1fr 1fr}.faq-index .eyebrow{grid-column:1/-1}
  .contact-hero__intro{padding-top:0}.contact-details__grid{grid-template-columns:1fr}.contact-details__grid>.map-frame{grid-column:auto}
  .legal-content__grid{gap:2rem}.legal-content aside{border-top:1px solid var(--line);padding-bottom:1rem}
  .site-footer__grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-contact{grid-column:1/-1;grid-template-columns:1fr}.footer-contact h3{grid-column:auto}.footer-hours{grid-column:auto}
  .footer-cta__actions{display:flex;align-items:center;flex-wrap:wrap}
}

@media (max-width:600px){
  :root{--pad:1rem;--section:4.5rem}
  html{scroll-padding-top:6.5rem}body{font-size:15px;padding-bottom:4rem}
  h1{font-size:3.65rem}h2{font-size:2.9rem}
  .utility-bar{min-height:2rem}.utility-bar p{font-size:.52rem}.utility-bar__links span{display:none}.utility-bar__links{margin-left:auto}.utility-bar__links a{font-size:.62rem}
  .site-header__inner{height:4.65rem;gap:.65rem}.brand{width:176px}.header-call{display:none}.header-cta{display:none}.menu-toggle{margin-left:auto;width:2.8rem;height:2.8rem}
  .mobile-menu{width:100%;padding:.9rem 1rem 1.5rem}.mobile-menu__head img{width:190px}.mobile-menu>nav>a,.mobile-menu summary{font-size:1.4rem;padding:.8rem 0}
  .button{width:100%;min-height:3.25rem}.text-link{width:auto}.hero-actions{display:grid;grid-template-columns:1fr;width:100%}.hero-actions .text-link{justify-content:center;min-height:2.8rem}
  .breadcrumbs{margin-bottom:2rem;flex-wrap:wrap;font-size:.56rem}
  .home-hero{padding-top:2.5rem}.home-hero__circuit{display:none}.home-hero__grid{gap:2rem}.home-hero h1{font-size:4.3rem}.hero-lead{font-size:.96rem}.hero-checks{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1.1rem}
  .home-hero__visual{padding-bottom:2rem}.hero-photo-frame{padding:7px}.hero-photo-frame img{height:440px}.hero-photo-label{padding:.7rem .85rem;min-width:175px}.rating-ticket{left:.7rem;right:-.4rem;bottom:3.5rem;min-width:0}.rating-ticket__score{font-size:2.2rem}
  .hero-estimate{padding:1.05rem;margin-top:1rem}.form-grid--compact{grid-template-columns:1fr}.form-grid--compact .field:nth-child(4){grid-column:auto}.estimate-form--compact .button{width:100%}
  .proof-rail__grid>a,.proof-rail__grid>div{min-height:5.6rem;gap:.55rem;padding:.75rem}.proof-rail strong{font-size:1.75rem}.proof-rail small{font-size:.49rem;max-width:95px}
  .service-grid{grid-template-columns:1fr}.service-card{min-height:250px;padding:1.3rem}.service-card h3{font-size:1.7rem}.service-card__icon{margin-bottom:1rem}.service-card p{font-size:.74rem}
  .home-method__visual::before{inset:-8px 8px 8px -8px}.home-method__visual img{height:430px}.photo-stamp{right:-.4rem;bottom:1rem}.home-method__content h2{max-width:13ch}
  .project-mosaic{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(5,300px)}.project-tile--1,.project-tile--2,.project-tile--3,.project-tile--4,.project-tile--5{grid-column:1;grid-row:auto}
  .coverage-board{min-height:420px;border-width:6px}.coverage-ring--outer{width:330px;height:330px}.coverage-ring--inner{width:180px;height:180px}.coverage-city{font-size:.48rem}.city-arlington{right:2%}.city-buffalo{right:3%}.city-links{grid-template-columns:1fr}
  .review-summary{grid-template-columns:auto 1fr;gap:.8rem}.review-summary__score{font-size:4rem}.review-summary .button{grid-column:1/-1}.review-track,.review-wall__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem}.review-track .review-card,.review-wall__grid .review-card{min-width:86vw;scroll-snap-align:start}.review-card p{font-size:1.4rem}
  .faq-list details>div{padding-right:1rem}
  .footer-cta{text-align:left}.footer-cta__actions{display:grid;width:100%}.footer-cta__actions .text-link{justify-content:flex-start}.site-footer{padding-top:3.5rem}.site-footer__grid{grid-template-columns:1fr;gap:2.3rem}.footer-brand{grid-column:auto}.footer-brand>a img{width:245px}.footer-bottom{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:1rem}.footer-bottom__meta,.footer-bottom__links{gap:.9rem;flex-wrap:wrap}
  .mobile-action-bar{display:flex}.circuit-top{right:.7rem;bottom:4.7rem;width:3rem;height:3.35rem}
  .page-hero,.service-hero,.faq-hero,.gallery-hero{padding:3.3rem 0}.page-hero__grid,.service-hero__grid,.location-hero__grid{gap:2.5rem}.page-hero__content h1,.service-hero__content h1,.location-hero__content h1{font-size:3.8rem;max-width:11ch}
  .service-panel{border-width:6px}.service-panel__circuit{padding:.55rem .3rem}.service-panel__circuit strong{font-size:.95rem}
  .catalog-row{grid-template-columns:34px 46px 1fr 20px;gap:.6rem;padding:1rem .2rem}.catalog-row__icon{width:2.4rem;height:2.4rem}.catalog-row__copy{grid-template-columns:1fr;gap:.35rem}.catalog-row__copy strong{font-size:1.35rem}.catalog-row__copy small{font-size:.66rem}.catalog-row:hover{padding-inline:.4rem}
  .process-grid{grid-template-columns:1fr}.process-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:185px}.process-grid article:nth-child(2){border-right:0}.process-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.process-grid h3{margin-top:2rem}
  .service-hero__visual{padding-left:.8rem}.service-hero__photo{border-width:6px}.service-hero__photo img{height:430px}.service-hero__tag{right:-.2rem}.service-intro__grid{gap:2rem}.service-sidebar nav{grid-template-columns:1fr}.service-sidebar nav a:nth-child(even){padding-left:0;border-left:0}.included-grid{grid-template-columns:1fr}.service-fit__photo img{height:420px}.process-line{grid-template-columns:1fr 1fr;gap:1.5rem .5rem}.process-line h3{font-size:1.3rem}.estimate-section__grid{gap:2rem}.form-grid{grid-template-columns:1fr}.field--full{grid-column:auto}.estimate-form{padding:1.1rem}.related-services__grid a{padding:1rem}
  .area-gauge{width:320px}.area-card{grid-template-columns:38px 1fr 20px;padding:1rem}.area-card p{display:none}.area-card h3{font-size:1.4rem}.map-frame{padding:6px}.map-frame iframe{height:360px}
  .location-hero{padding:2.7rem 0}.location-hero__visual>img{height:430px}.location-hero__pin{left:-.2rem}.city-service-grid{grid-template-columns:1fr}.city-service{min-height:230px}.nearby-pages__links a{flex:1 1 48%}
  .about-hero__grid{gap:2.5rem}.about-hero__content h1{font-size:3.8rem}.about-hero__visual{padding-left:1rem}.about-hero__visual img{height:440px}.value-grid,.work-type-grid{grid-template-columns:1fr}.value-grid article,.work-type-grid a{min-height:220px}.value-grid h3,.work-type-grid h3{margin-top:2rem}.owner-section__photos{gap:.4rem}.owner-section__photos img{height:360px}.owner-section__photos img:nth-child(2){margin-top:1.5rem}
  .project-stack{min-height:370px}.project-stack img{height:270px;border-width:5px}.project-stack>span{bottom:2rem}.featured-project{margin-bottom:5rem}.featured-project__image{padding:0 .7rem .7rem 0}.featured-project__image::after{inset:.7rem 0 0 .7rem}.featured-project__image img{height:380px}.featured-project__copy h3{font-size:2.55rem}
  .gallery-hero__inner{gap:1rem}.gallery-grid{grid-template-columns:1fr}.gallery-item,.gallery-item:nth-child(4n+1){min-height:410px}.gallery-item img,.gallery-item:nth-child(4n+1) img{min-height:410px}.gallery-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.4rem}.gallery-filters button{flex:none}
  .reviews-hero__grid{gap:2rem}.reviews-hero h1{font-size:3.75rem}.reviews-scorecard{max-width:none}.review-wall__grid{gap:.7rem}
  .faq-hero__grid{grid-template-columns:1fr;gap:2rem}.faq-hero h1{font-size:4rem}.faq-index{grid-template-columns:1fr 1fr;gap:0 .8rem}.faq-category__label{font-size:1.75rem}
  .contact-hero h1{font-size:3.75rem}.contact-methods strong{font-size:1.1rem}.contact-details{padding:4rem 0}.contact-details__grid{gap:.8rem}
  .resource-grid{grid-template-columns:1fr}.resource-grid article{min-height:290px}.resource-cta__grid{gap:1.5rem}
  .legal-content article h2{font-size:1.8rem}.thanks-page,.error-page{min-height:60vh}.thanks-page h1{font-size:3.7rem}.error-diagram{transform:scale(.85);transform-origin:left center}
}

@media (max-width:390px){
  .brand{width:158px}.home-hero h1{font-size:3.8rem}.page-hero__content h1,.service-hero__content h1,.location-hero__content h1,.about-hero__content h1,.reviews-hero h1,.faq-hero h1,.contact-hero h1{font-size:3.35rem}.hero-checks{grid-template-columns:1fr}.rating-ticket{left:.3rem;right:-.2rem;padding:.65rem}.rating-ticket small{font-size:.58rem}.coverage-board{min-height:370px}.coverage-ring--outer{width:290px;height:290px}.city-barrington,.city-hoffman{left:2%}.process-line{grid-template-columns:1fr}.nearby-pages__links a{flex-basis:100%}
}

/* 2.0 sitewide brand, language, and responsive type correction */
h1{font-size:clamp(3.15rem,5.4vw,5.55rem);line-height:1.01;letter-spacing:-.02em}
h2{font-size:clamp(2.35rem,4vw,4rem);line-height:1.04;letter-spacing:-.018em}
h3{font-size:clamp(1.45rem,2vw,1.95rem);line-height:1.1;letter-spacing:-.012em}
.eyebrow{line-height:1.45;letter-spacing:.095em}
.eyebrow::before{width:1.4rem;box-shadow:none}
.brand{width:clamp(230px,20vw,285px);display:block;overflow:hidden}
.brand__lockup{display:block;width:100%;aspect-ratio:19/3}
.brand__lockup img{width:100%;height:100%;object-fit:contain;object-position:left center}
.menu-brand{display:block;width:235px;aspect-ratio:5/1}
.menu-brand img{width:100%;height:100%;object-fit:contain;object-position:left center}
.site-header__inner{gap:1rem}
.language-switcher{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--line);border-radius:4px;background:var(--white);flex:none}
.language-switcher a{min-width:2rem;min-height:1.9rem;padding:.35rem .45rem;display:grid;place-items:center;border-radius:2px;color:#3b5261;font-family:var(--mono);font-size:.6rem;font-weight:700;line-height:1;text-transform:uppercase}
.language-switcher a:hover,.language-switcher a[aria-current="page"]{background:var(--panel);color:var(--white)}
.language-switcher a:last-child{color:var(--blue)}
.language-switcher a:last-child:hover{background:var(--blue);color:var(--white)}
.home-hero h1,.page-hero__content h1,.service-hero__content h1,.location-hero__content h1,.about-hero__content h1,.reviews-hero h1,.faq-hero h1,.contact-hero h1,.gallery-hero h1{font-size:clamp(3.2rem,5.6vw,5.7rem);line-height:1.01;max-width:14ch}
.home-hero h1{max-width:12ch}
.location-hero__content h1{max-width:13ch}
.featured-project__copy h3{font-size:clamp(2rem,3vw,3.15rem);line-height:1.04;max-width:15ch}
.section-heading--split h2{max-width:18ch}
.site-footer__grid>*{min-width:0}
.footer-brand,.footer-contact,.footer-contact>a,.footer-contact>span,.footer-contact a span,.footer-contact>span span{min-width:0;max-width:100%}
.footer-brand>a img{width:min(100%,340px)}
.footer-brand p,.footer-contact a,.footer-contact span,.footer-contact strong{overflow-wrap:anywhere}
.circuit-top{width:3.55rem;height:3.55rem;border:2px solid var(--copper);border-radius:50%;background:var(--panel);color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;box-shadow:0 0 0 4px rgba(23,105,170,.22),0 12px 28px rgba(13,27,38,.2)}
.circuit-top:hover{background:var(--blue);box-shadow:0 0 0 4px rgba(243,167,18,.2),0 14px 32px rgba(13,27,38,.24)}
.circuit-top>.icon{position:static;width:.85rem;height:.85rem;color:var(--copper)}
.circuit-top>span{font-family:var(--mono);font-size:.55rem;font-weight:700;line-height:1;letter-spacing:.08em}

@media (max-width:1180px){
  .brand{width:245px}
  .brand__lockup{aspect-ratio:5/1}
}

@media (max-width:900px){
  .header-call{display:none}
  .site-header__inner{height:4.9rem}
}

@media (max-width:760px){
  .utility-bar{display:none}
  html{scroll-padding-top:5.3rem}
  .header-cta{display:none}
  .site-header__inner{height:4.55rem}
  .brand{width:min(225px,calc(100vw - 145px))}
  .menu-toggle{width:2.8rem;height:2.8rem}
  .section{padding-block:4.4rem}
  .home-hero,.about-hero,.reviews-hero,.contact-hero,.location-hero{padding-top:2.9rem}
  .page-hero,.service-hero,.faq-hero,.gallery-hero{padding:3rem 0}
  .breadcrumbs{margin-bottom:1.6rem}
  .footer-cta{padding-block:3.4rem}
}

@media (max-width:600px){
  :root{--section:4.15rem}
  body{font-size:15px;padding-bottom:calc(4rem + env(safe-area-inset-bottom))}
  h1{font-size:2.85rem;line-height:1.02}
  h2{font-size:2.25rem;line-height:1.06}
  h3{font-size:1.55rem;line-height:1.12}
  .site-header__inner{height:4.4rem;overflow:hidden}
  .brand{width:min(218px,calc(100vw - 140px))}
  .language-switcher--header a{min-width:1.8rem;padding:.3rem}
  .home-hero h1,.page-hero__content h1,.service-hero__content h1,.location-hero__content h1,.about-hero__content h1,.reviews-hero h1,.faq-hero h1,.contact-hero h1,.gallery-hero h1{font-size:3rem;line-height:1.02;max-width:100%;text-wrap:balance}
  .hero-lead,.page-hero__content>p,.service-hero__content>p,.location-hero__content>p,.about-hero__content>p,.reviews-hero p,.faq-hero p,.contact-hero__intro>p,.gallery-hero p{font-size:.96rem;line-height:1.65}
  .section-heading{margin-bottom:2.2rem}
  .section-heading--split h2,.section-heading--center h2{max-width:100%}
  .featured-project__copy h3{font-size:2.05rem;line-height:1.06;max-width:100%}
  .featured-project__copy>p{font-size:.85rem;line-height:1.65}
  .footer-brand>a img{width:min(100%,300px)}
  .site-footer__grid{overflow:hidden}
  .circuit-top{right:.75rem;bottom:calc(4.8rem + env(safe-area-inset-bottom));width:3.35rem;height:3.35rem}
  .mobile-action-bar{height:calc(4rem + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
}

@media (max-width:520px){
  .site-header__inner{gap:.55rem}
  .brand{width:min(205px,calc(100vw - 165px))}
  .language-switcher--header{display:inline-flex}
  .language-switcher--header a{min-width:1.72rem;min-height:1.8rem;padding:.28rem}
  .menu-toggle{margin-left:0}
}

@media (max-width:390px){
  .brand{width:min(205px,calc(100vw - 165px))}
  .home-hero h1,.page-hero__content h1,.service-hero__content h1,.location-hero__content h1,.about-hero__content h1,.reviews-hero h1,.faq-hero h1,.contact-hero h1,.gallery-hero h1{font-size:2.7rem}
  h2{font-size:2.1rem}
}

/* 2.2 page-specific service and location architecture */
.page-service h2,.page-location h2{max-width:18ch}
.depth-intro__grid,.commercial-brief__grid,.capacity-planner__grid,.capacity-scope__grid,.capacity-route__grid,.construction-coordination__grid,.lighting-story__grid,.diagnostic-start__grid,.symptom-board__grid,.protection-plan__grid,.protection-layers__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:clamp(3rem,8vw,7rem);align-items:start}
.depth-intro__grid>div:first-child>p,.commercial-brief__copy>p,.capacity-planner__grid>div:first-child>p,.lighting-story__grid>div:last-child>p,.diagnostic-start__grid>div:first-child>p,.protection-plan__grid>div:first-child>p{font-size:.88rem;line-height:1.75}
.depth-priorities{border-top:1px solid var(--line)}
.depth-priorities article{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.depth-priorities article>span,.operations-board article>b,.construction-phases__line article>span,.construction-scope__grid>div>span,.lighting-applications__grid>div>span,.estate-concerns article>span,.city-concerns article>span{font-family:var(--mono);font-size:.58rem;color:var(--blue)}
.depth-priorities h3,.depth-priorities p,.operations-board h3,.operations-board p{margin:0}.depth-priorities h3{font-size:1.55rem}.depth-priorities p{margin-top:.35rem;font-size:.72rem}
.home-systems__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.home-systems__grid>div{min-height:110px;display:flex;align-items:center;gap:.75rem;padding:1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.73rem;font-weight:750;background:var(--white)}
.home-systems__grid .icon{width:1.05rem;flex:none;color:var(--blue)}
.residential-scenarios__grid,.commercial-workflow__grid{display:grid;grid-template-columns:minmax(360px,.85fr) 1fr;gap:clamp(3rem,8vw,7rem);align-items:center}
.service-photo-card{position:relative}.service-photo-card img{width:100%;height:500px;object-fit:cover;box-shadow:var(--shadow)}.service-photo-card>span{position:absolute;left:0;bottom:0;max-width:80%;padding:.85rem 1rem;background:var(--panel);color:var(--white);font-family:var(--mono);font-size:.55rem;line-height:1.5;text-transform:uppercase}
.scenario-list{margin-top:1.8rem;border-top:1px solid var(--line)}.scenario-list>div{display:flex;align-items:center;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line)}.scenario-list .icon{width:1rem;color:var(--blue)}.scenario-list strong{font-family:var(--display);font-size:1.45rem}
.compact-process h2{color:var(--white);margin-bottom:2rem}.compact-process__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.compact-process__grid article{min-height:180px;padding:1.25rem;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.compact-process__grid span{font-family:var(--mono);font-size:.58rem;color:var(--copper)}.compact-process__grid h3{margin:3rem 0 0;color:var(--white)}
.operations-board{background:var(--panel);color:var(--white);padding:1.5rem;border-top:5px solid var(--copper)}.operations-board__label{display:block;margin-bottom:.8rem;color:#9db0bd;font-family:var(--mono);font-size:.55rem;text-transform:uppercase}.operations-board article{padding:1rem 0;border-top:1px solid var(--line-dark);display:grid;grid-template-columns:34px 1fr;gap:.2rem .8rem}.operations-board article>b{grid-row:1/3;color:var(--copper)}.operations-board h3{color:var(--white);font-size:1.5rem}.operations-board p{color:#b2c0c9;font-size:.7rem}.operations-board--wide{display:grid;grid-template-columns:repeat(3,1fr);padding:0;border-top:0}.operations-board--wide article{display:block;padding:1.5rem;border:1px solid var(--line-dark);border-top:4px solid var(--copper)}.operations-board--wide article+article{border-left:0}.operations-board--wide h3{margin:2rem 0 .6rem}.operations-board--wide p{font-size:.75rem}
.commercial-scope__rows{border-top:1px solid var(--line-dark)}.commercial-scope__rows>div{display:grid;grid-template-columns:45px minmax(180px,.7fr) 1fr;gap:1.2rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line-dark)}.commercial-scope__rows span{font-family:var(--mono);font-size:.55rem;color:var(--copper)}.commercial-scope__rows strong{font-family:var(--display);font-size:1.35rem;color:var(--white)}.commercial-scope__rows small{color:#a7b8c3;font-size:.66rem}.commercial-workflow ol{padding:0;margin:1.6rem 0 0;list-style:none;border-top:1px solid var(--line)}.commercial-workflow li{padding:1rem 0;border-bottom:1px solid var(--line);font-family:var(--display);font-size:1.45rem}
.capacity-meter{background:var(--panel);color:var(--white);padding:1.4rem}.capacity-meter>span{font-family:var(--mono);font-size:.56rem;color:var(--copper);text-transform:uppercase}.capacity-meter article{display:grid;grid-template-columns:22px 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line-dark)}.capacity-meter article:last-child{border-bottom:0}.capacity-meter i{width:14px;height:48px;background:linear-gradient(var(--copper) 0 45%,#2d4656 45%);border:1px solid #4c6677}.capacity-meter h3{margin:0;color:var(--white);font-size:1.5rem}.capacity-meter p{margin:.35rem 0 0;color:#adbdc7;font-size:.7rem}
.capacity-scope__grid{grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr)}.capacity-checklist{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.capacity-checklist>div{display:flex;align-items:center;gap:.7rem;min-height:80px;padding:.8rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);font-size:.7rem;font-weight:750}.capacity-checklist .icon{width:1rem;color:var(--blue);flex:none}
.route-steps{border-top:1px solid var(--line);margin-top:1.6rem}.route-steps article{display:grid;grid-template-columns:38px 1fr;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line)}.route-steps span,.test-path__grid span,.protection-process__grid span{width:2rem;height:2rem;display:grid;place-items:center;background:var(--panel);color:var(--copper);font-family:var(--mono);font-size:.55rem}.route-steps h3{margin:0;font-size:1.4rem}
.fit-strip__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.fit-strip__grid>div{display:flex;gap:.7rem;align-items:center;min-height:110px;padding:1rem;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.fit-strip__grid .icon{width:1rem;color:var(--copper);flex:none}.fit-strip__grid strong{font-family:var(--display);font-size:1.25rem;color:var(--white)}
.construction-phases__line{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.4rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}.construction-phases__line article{min-height:180px;padding:1.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.construction-phases__line h3{margin:3.4rem 0 0}.coordination-list{margin-top:1.5rem;border-top:1px solid var(--line)}.coordination-list article{padding:1rem 0;border-bottom:1px solid var(--line)}.coordination-list h3,.coordination-list p{margin:0}.coordination-list h3{font-size:1.4rem}.coordination-list p{margin-top:.3rem;font-size:.7rem}.construction-scope__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.construction-scope__grid>div{min-height:110px;padding:1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:1.7rem}.construction-scope__grid strong{font-family:var(--display);font-size:1.25rem}
.lighting-story__grid{align-items:center}.lighting-story__visual{position:relative;padding:0 1rem 1rem 0}.lighting-story__visual::after{content:"";position:absolute;inset:1rem 0 0 1rem;background:var(--blue);z-index:-1}.lighting-story__visual img{width:100%;height:560px;object-fit:cover}.lighting-story__visual>div{position:absolute;left:0;bottom:1rem;background:var(--panel);color:var(--white);padding:.8rem 1rem;display:flex;flex-direction:column}.lighting-story__visual small{font-family:var(--mono);font-size:.5rem;color:var(--copper)}.lighting-story__visual strong{font-family:var(--display);font-size:1.2rem}.lighting-applications__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.lighting-applications__grid>div{min-height:120px;padding:1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;background:var(--white)}.lighting-applications__grid strong{font-family:var(--display);font-size:1.3rem}.lighting-decisions__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.lighting-decisions article{padding:1.5rem;border:1px solid var(--line);border-top:4px solid var(--blue)}.lighting-decisions h3{margin:1.8rem 0 .6rem}.lighting-decisions p{font-size:.72rem;margin:0}
.diagnostic-alert{display:flex;gap:1rem;padding:1.2rem;background:#fff5dc;border-left:5px solid var(--copper)}.diagnostic-alert>span{width:3rem;height:3rem;display:grid;place-items:center;background:var(--copper);flex:none}.diagnostic-alert .icon{width:1.5rem}.diagnostic-alert strong{font-family:var(--display);font-size:1.5rem}.diagnostic-alert p{font-size:.72rem;margin:.35rem 0 0}.symptom-board__grid{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr)}.symptom-list{display:grid;grid-template-columns:1fr 1fr;margin-top:1.8rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}.symptom-list>div{display:grid;grid-template-columns:34px 1fr;gap:.6rem;padding:1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}.symptom-list span{font-family:var(--mono);font-size:.55rem;color:var(--blue)}.symptom-list strong{font-family:var(--display);font-size:1.25rem}.diagnostic-notes article{padding:1.2rem;border:1px solid var(--line);border-top:4px solid var(--panel)}.diagnostic-notes article+article{margin-top:1rem}.diagnostic-notes h3{margin:0}.diagnostic-notes p{font-size:.72rem;margin:.5rem 0 0}.test-path__grid,.protection-process__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.test-path__grid article,.protection-process__grid article{padding:1.2rem;border:1px solid var(--line)}.test-path__grid h3,.protection-process__grid h3{margin:2.5rem 0 0}.diagnostic-fit{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.diagnostic-fit span{padding:.45rem .65rem;border:1px solid var(--line);font-size:.64rem}
.protection-priorities h2{color:var(--white)}.protection-priorities__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2rem;border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}.protection-priorities article{min-height:260px;padding:1.4rem;border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.protection-priorities article>span{font-family:var(--mono);font-size:.58rem;color:var(--copper)}.protection-priorities h3{margin:4rem 0 .7rem;color:var(--white)}.protection-priorities p{font-size:.72rem;color:#acbdc7}.protection-layers__grid>div:last-child{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.protection-layers__grid>div:last-child>div{display:flex;align-items:center;gap:.7rem;min-height:80px;padding:.8rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.7rem;font-weight:750}.protection-layers .icon{width:1rem;color:var(--blue);flex:none}
.service-directory-bottom{padding:0 0 var(--section)}.service-directory-bottom details{border:1px solid var(--line);background:var(--porcelain)}.service-directory-bottom summary{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;cursor:pointer;list-style:none}.service-directory-bottom summary::-webkit-details-marker{display:none}.service-directory-bottom summary>span{display:flex;flex-direction:column}.service-directory-bottom summary small{font-family:var(--mono);font-size:.54rem;color:var(--blue);text-transform:uppercase}.service-directory-bottom summary strong{font-family:var(--display);font-size:1.45rem}.service-directory-bottom summary>b{width:2rem;height:2rem;display:grid;place-items:center;border:1px solid var(--line);font-size:1.25rem;color:var(--blue)}.service-directory-bottom details[open] summary>b{transform:rotate(45deg)}.service-directory-bottom nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin:0 1.25rem 1.25rem}.service-directory-bottom nav a{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.75rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.7rem}.service-directory-bottom nav a.is-active{background:var(--panel);color:var(--white);font-weight:800}.service-directory-bottom nav .icon{width:.85rem;color:var(--blue)}.service-directory-bottom nav a.is-active .icon{color:var(--copper)}

/* Local city page families */
.city-homebase__grid,.mixed-property-story__grid,.city-question-panel__grid,.city-work-types__grid,.residential-local-intro__grid,.estate-systems__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(3rem,8vw,7rem);align-items:start}
.city-brief-card{padding:1.6rem;background:var(--panel);color:var(--white);border-top:5px solid var(--copper)}.city-brief-card>span{font-family:var(--mono);font-size:.55rem;color:#9fb2be;text-transform:uppercase}.city-brief-card>strong{display:block;margin:1.5rem 0;font-family:var(--display);font-size:3rem}.city-brief-card p{font-size:.74rem;color:#adbec8}.city-brief-card a{display:flex;align-items:center;gap:.5rem;color:var(--copper);font-size:.72rem;font-weight:800}.city-brief-card .icon{width:.9rem}
.city-concerns__grid,.estate-concerns__grid,.residential-local-concerns__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.city-concerns article,.estate-concerns article,.residential-local-concerns article{min-height:230px;padding:1.4rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.city-concerns h3,.estate-concerns h3,.residential-local-concerns h3{margin:3rem 0 .7rem}.city-concerns p,.estate-concerns p,.residential-local-concerns p{font-size:.73rem;margin:0}
.city-priority-services__grid,.estate-service-rail__links{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.city-priority-services__grid a,.estate-service-rail__links a{min-height:230px;padding:1.2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.city-priority-services__grid strong,.estate-service-rail__links strong{font-family:var(--display);font-size:1.5rem}.city-priority-services__grid span,.estate-service-rail__links span{margin-top:.8rem;color:var(--steel);font-size:.68rem}.city-priority-services__grid .icon,.estate-service-rail__links .icon{margin-top:auto;width:1rem;color:var(--blue)}
.city-local-faq__grid{display:grid;grid-template-columns:minmax(280px,.7fr) 1fr;gap:clamp(3rem,8vw,7rem)}.city-local-faq h2{color:var(--white)}
.mixed-property-story__list{border-top:1px solid var(--line)}.mixed-property-story__list article{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.mixed-property-story__list article>span{font-family:var(--mono);font-size:.58rem;color:var(--blue)}.mixed-property-story__list h3,.mixed-property-story__list p{margin:0}.mixed-property-story__list p{margin-top:.35rem;font-size:.72rem}
.mixed-service-index__rows{border-top:1px solid var(--line-dark)}.mixed-service-index__rows a{display:grid;grid-template-columns:45px minmax(180px,.5fr) 1fr 24px;gap:1rem;align-items:center;padding:1.15rem 0;border-bottom:1px solid var(--line-dark)}.mixed-service-index__rows a>span{font-family:var(--mono);font-size:.58rem;color:var(--copper)}.mixed-service-index__rows strong{font-family:var(--display);font-size:1.45rem;color:var(--white)}.mixed-service-index__rows small{color:#a9bac4;font-size:.67rem}.mixed-service-index__rows .icon{width:1rem;color:var(--copper)}
.city-question-panel__grid{grid-template-columns:minmax(280px,.7fr) 1fr}.city-question-panel .button{margin-top:1rem;width:auto}.city-question-panel .faq-list{border-top:1px solid var(--line)}
.city-work-types__links{border-top:1px solid var(--line)}.city-work-types__links a{display:grid;grid-template-columns:1fr 20px;gap:.4rem 1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.city-work-types__links a>span{font-family:var(--display);font-size:1.4rem;font-weight:700}.city-work-types__links small{grid-column:1/-1;color:var(--steel);font-size:.67rem}.city-work-types__links .icon{width:.9rem;color:var(--blue)}
.residential-local-concerns h2{margin-bottom:2rem}.residential-service-paths__grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.residential-service-paths__grid a{position:relative;min-height:240px;padding:1.3rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.residential-service-paths__grid a>span{font-family:var(--mono);font-size:.58rem;color:var(--blue)}.residential-service-paths__grid h3{margin:2.6rem 0 .6rem}.residential-service-paths__grid p{font-size:.7rem;padding-right:2rem}.residential-service-paths__grid .icon{position:absolute;right:1.2rem;bottom:1.2rem;width:1rem;color:var(--blue)}
.estate-systems__grid{align-items:center}.estate-concerns__grid{border-color:var(--line-dark)}.estate-concerns article{border-color:var(--line-dark)}.estate-concerns article>span{color:var(--copper)}.estate-concerns h3{color:var(--white)}.estate-concerns p{color:#adbec8}

@media (max-width:960px){
  .depth-intro__grid,.commercial-brief__grid,.capacity-planner__grid,.capacity-scope__grid,.capacity-route__grid,.construction-coordination__grid,.lighting-story__grid,.diagnostic-start__grid,.symptom-board__grid,.protection-plan__grid,.protection-layers__grid,.residential-scenarios__grid,.commercial-workflow__grid,.city-homebase__grid,.mixed-property-story__grid,.city-question-panel__grid,.city-work-types__grid,.residential-local-intro__grid,.estate-systems__grid{grid-template-columns:1fr}
  .service-photo-card{max-width:720px}.service-photo-card img{height:460px}
  .home-systems__grid,.construction-scope__grid,.lighting-applications__grid,.city-priority-services__grid,.estate-service-rail__links{grid-template-columns:repeat(2,1fr)}
  .capacity-scope__grid,.symptom-board__grid{grid-template-columns:1fr}
}

@media (max-width:760px){
  .compact-process__grid,.fit-strip__grid,.construction-phases__line,.test-path__grid,.protection-process__grid{grid-template-columns:1fr 1fr}
  .operations-board--wide,.lighting-decisions__grid,.protection-priorities__grid,.city-concerns__grid,.estate-concerns__grid,.residential-local-concerns__grid{grid-template-columns:1fr}
  .operations-board--wide article+article{border-left:1px solid var(--line-dark);border-top-color:var(--copper)}
  .city-concerns article,.estate-concerns article,.residential-local-concerns article{min-height:180px}.city-concerns h3,.estate-concerns h3,.residential-local-concerns h3{margin-top:2rem}
  .city-local-faq__grid{grid-template-columns:1fr}
  .service-directory-bottom nav{grid-template-columns:1fr 1fr}
}

@media (max-width:600px){
  :root{--pad:.9rem}
  h2,.page-service h2,.page-location h2,.service-faq__intro h2,.estimate-section__intro h2,.section-heading--split h2,.section-heading--center h2{font-size:clamp(2rem,8.4vw,2.42rem);line-height:1.08;max-width:100%!important;text-wrap:balance;overflow-wrap:normal;word-break:normal}
  .page-service h3,.page-location h3{overflow-wrap:normal;word-break:normal}
  .service-hero__content h1,.location-hero__content h1{font-size:clamp(2.55rem,11vw,3rem);max-width:100%}
  .depth-intro__grid,.commercial-brief__grid,.capacity-planner__grid,.capacity-scope__grid,.capacity-route__grid,.construction-coordination__grid,.lighting-story__grid,.diagnostic-start__grid,.symptom-board__grid,.protection-plan__grid,.protection-layers__grid,.residential-scenarios__grid,.commercial-workflow__grid,.city-homebase__grid,.mixed-property-story__grid,.city-question-panel__grid,.city-work-types__grid,.residential-local-intro__grid,.estate-systems__grid{gap:2rem}
  .home-systems__grid,.capacity-checklist,.construction-scope__grid,.lighting-applications__grid,.symptom-list,.protection-layers__grid>div:last-child,.city-priority-services__grid,.estate-service-rail__links,.residential-service-paths__grid{grid-template-columns:1fr}
  .compact-process__grid,.fit-strip__grid,.construction-phases__line,.test-path__grid,.protection-process__grid{grid-template-columns:1fr}
  .compact-process__grid article,.construction-phases__line article{min-height:130px}.compact-process__grid h3,.construction-phases__line h3{margin-top:2rem}
  .service-photo-card img,.lighting-story__visual img{height:360px}
  .commercial-scope__rows>div,.mixed-service-index__rows a{grid-template-columns:34px 1fr 20px;gap:.6rem}.commercial-scope__rows small,.mixed-service-index__rows small{grid-column:2/-1}.commercial-scope__rows strong,.mixed-service-index__rows strong{font-size:1.3rem}
  .capacity-meter,.operations-board{padding:1rem}.route-steps h3{font-size:1.25rem}
  .city-priority-services__grid a,.estate-service-rail__links a,.residential-service-paths__grid a{min-height:190px}
  .service-directory-bottom summary{min-height:68px;padding:.85rem}.service-directory-bottom summary strong{font-size:1.3rem}.service-directory-bottom nav{grid-template-columns:1fr;margin:0 .85rem .85rem}.service-directory-bottom nav a{min-height:52px}
  .city-question-panel .button{width:100%}
  .circuit-top{right:.45rem;bottom:calc(4.6rem + env(safe-area-inset-bottom));width:2.75rem;height:2.75rem;box-shadow:0 0 0 3px rgba(23,105,170,.18),0 8px 20px rgba(13,27,38,.18)}.circuit-top>span{font-size:.48rem}
}

@media (max-width:390px){
  h2,.page-service h2,.page-location h2{font-size:1.95rem}
  .service-hero__content h1,.location-hero__content h1{font-size:2.45rem}
}

/* 2.3 cable-letter brand and intentional mobile hero card stack */
.home-hero__visual{padding-bottom:4.8rem}
.hero-photo-label{left:.9rem;right:2.2rem;bottom:-3.05rem;z-index:2;min-width:0;border-left:4px solid var(--blue)}
.rating-ticket{bottom:1rem;z-index:3}

@media (max-width:600px){
  .home-hero__visual{padding-bottom:4.8rem}
  .hero-photo-label{left:.8rem;right:1.6rem;bottom:-3.05rem;z-index:2;min-width:0;padding:.72rem .9rem;border-left:4px solid var(--blue)}
  .hero-photo-label span{font-size:.5rem}
  .hero-photo-label strong{font-size:1.22rem;line-height:1.08}
  .rating-ticket{left:-.25rem;right:.75rem;bottom:1rem;z-index:3;min-height:78px;padding:.72rem .85rem;box-shadow:0 14px 30px rgba(13,27,38,.2)}
}

@media (max-width:390px){
  .hero-photo-label{right:1rem}
  .rating-ticket{right:.35rem;gap:.55rem}
  .rating-ticket__score{font-size:2rem}
}

/* 2.4 verified review carousel */
.review-carousel{overflow:hidden;background:var(--porcelain);border-block:1px solid var(--line)}
.review-carousel__header{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,360px);gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:2.2rem}
.review-carousel__heading h2{max-width:15ch;margin-bottom:.8rem}
.review-carousel__heading p{max-width:760px;margin:0;font-size:.9rem;line-height:1.7}
.review-carousel__score{min-height:122px;padding:1rem 1.1rem;background:var(--panel);color:var(--white);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;border-top:5px solid var(--copper);box-shadow:var(--shadow-soft)}
.review-carousel__score>strong{font-family:var(--display);font-size:4.1rem;line-height:.8}
.review-carousel__score>span{display:flex;flex-direction:column;gap:.25rem}
.review-carousel__score .stars{font-size:.75rem;white-space:nowrap}
.review-carousel__score small{color:#afbec8;font-family:var(--mono);font-size:.56rem;text-transform:uppercase}
.review-carousel__score>.icon{width:1rem;color:var(--copper)}
.review-carousel__toolbar{min-height:50px;padding:.55rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-block:1px solid var(--line)}
.review-carousel__toolbar p{margin:0;color:var(--steel);font-family:var(--mono);font-size:.58rem;text-transform:uppercase}
.review-carousel__toolbar p span{color:var(--blue);font-weight:800}
.review-carousel__buttons{display:flex;gap:.45rem}
.review-carousel__buttons button{width:2.65rem;height:2.65rem;border:1px solid var(--line);background:var(--white);color:var(--panel);display:grid;place-items:center;font-size:1rem;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.review-carousel__buttons button:hover:not(:disabled),.review-carousel__buttons button:focus-visible{background:var(--panel);border-color:var(--panel);color:var(--copper)}
.review-carousel__buttons button:disabled{opacity:.28;cursor:not-allowed}
.review-carousel__viewport{margin-top:1rem}
.review-carousel__track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,32%);gap:1rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:1px;padding:.15rem 0 .8rem;scrollbar-width:thin;scrollbar-color:var(--blue) var(--line)}
.review-carousel__card{scroll-snap-align:start;min-height:390px;margin:0;padding:1.45rem;background:var(--white);border:1px solid var(--line);border-top:5px solid var(--blue);box-shadow:var(--shadow-soft);display:flex;flex-direction:column}
.review-carousel__card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.review-carousel__card-top>span{font-family:var(--mono);font-size:.56rem;color:var(--blue)}
.review-carousel__quote{margin:1.25rem 0 auto;color:var(--ink);font-family:var(--display);font-size:1.38rem;line-height:1.23;white-space:pre-line}
.review-carousel__quote--clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;overflow:hidden}
.review-carousel__card.is-expanded .review-carousel__quote--clamped{display:block;overflow:visible}
.review-carousel__more{align-self:flex-start;margin:.85rem 0 0;padding:.25rem 0;border:0;border-bottom:1px solid var(--blue);background:transparent;color:var(--blue);font-size:.64rem;font-weight:800;cursor:pointer}
.review-carousel__more:hover,.review-carousel__more:focus-visible{color:var(--panel);border-color:var(--copper)}
.review-carousel__card footer{display:flex;flex-direction:column;gap:.15rem;margin-top:1.35rem;padding-top:1rem;border-top:1px solid var(--line)}
.review-carousel__card footer strong{font-size:.78rem}
.review-carousel__card footer span{color:var(--steel);font-family:var(--mono);font-size:.52rem;text-transform:uppercase}
.review-carousel__foot{margin-top:1rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}
.review-carousel__foot p{margin:0;color:var(--steel);font-size:.62rem}
.review-carousel__foot .text-link{flex:none}

@media (max-width:900px){
  .review-carousel__header{grid-template-columns:1fr;gap:1.4rem}
  .review-carousel__score{max-width:420px}
  .review-carousel__track{grid-auto-columns:minmax(300px,48%)}
}

@media (max-width:600px){
  .review-carousel__header{margin-bottom:1.5rem}
  .review-carousel__heading h2{font-size:clamp(2.05rem,8.5vw,2.45rem);line-height:1.08;max-width:100%;text-wrap:balance}
  .review-carousel__heading p{font-size:.82rem;line-height:1.65}
  .review-carousel__score{min-height:96px;max-width:none;padding:.85rem;gap:.75rem}
  .review-carousel__score>strong{font-size:3.25rem}
  .review-carousel__toolbar{min-height:46px}
  .review-carousel__buttons button{width:2.45rem;height:2.45rem}
  .review-carousel__track{grid-auto-columns:86%;gap:.75rem}
  .review-carousel__card{min-height:350px;padding:1.15rem}
  .review-carousel__quote{font-size:1.18rem;line-height:1.3}
  .review-carousel__quote--clamped{-webkit-line-clamp:9}
  .review-carousel__foot{align-items:flex-start;flex-direction:column;gap:.75rem}
}

/* 2.5 city-page lead capture */
.city-lead{position:relative;scroll-margin-top:8rem;padding:clamp(1.45rem,3vw,2.15rem) 0;background:var(--panel);color:var(--white);border-top:4px solid var(--blue)}
.city-lead__inner{display:grid;grid-template-columns:minmax(245px,.68fr) minmax(0,1.32fr);gap:clamp(1.4rem,4vw,3.5rem);align-items:center}
.city-lead__head{min-width:0;padding-right:clamp(1.2rem,3vw,2.4rem);border-right:1px solid var(--line-dark)}
.city-lead__head .eyebrow{margin-bottom:.45rem}
.city-lead__head h2{max-width:15ch;margin:0 0 .6rem;color:var(--white);font-size:clamp(1.85rem,3vw,2.55rem);line-height:1.02;text-wrap:balance}
.city-lead__head p{max-width:430px;margin:0;color:#aebdc7;font-size:.69rem;line-height:1.55}
.city-lead__form{min-width:0;margin:0}
.city-lead .estimate-form--compact .form-note{color:#9cafba}
.city-lead .estimate-form--compact .form-note a{color:var(--white)}

@media (max-width:960px){
  .city-lead__inner{grid-template-columns:1fr;gap:1.2rem}
  .city-lead__head{padding:0 0 1rem;border-right:0;border-bottom:1px solid var(--line-dark)}
  .city-lead__head h2{max-width:none}
  .city-lead__head p{max-width:720px}
}

@media (max-width:600px){
  .city-lead{padding:1.25rem 0}
  .city-lead__inner{gap:1rem}
  .city-lead__head h2{font-size:clamp(1.9rem,8.3vw,2.3rem);line-height:1.08}
  .city-lead__head p{font-size:.67rem}
}

/* 2.6 established service-vehicle badge */
.brand{
  width:78px;
  height:78px;
  margin-right:auto;
  flex:none;
  display:block;
  overflow:visible;
}
.brand__lockup{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:1;
}
.brand__lockup img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.menu-brand{
  display:block;
  width:104px;
  height:104px;
  aspect-ratio:1;
  flex:none;
}
.menu-brand img,
.mobile-menu__head .menu-brand img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.footer-brand>a{
  display:inline-flex;
  align-items:center;
}
.footer-brand>a img{
  width:178px;
  height:178px;
  aspect-ratio:1;
  object-fit:contain;
}
.circuit-top{
  width:3.35rem;
  height:3.35rem;
  border-radius:50%;
  border:2px solid var(--copper);
}
.circuit-top>.icon{
  width:1.15rem;
  height:1.15rem;
}

@media (max-width:1180px){
  .brand{width:68px;height:68px}
  .brand__lockup{aspect-ratio:1}
}
@media (max-width:900px){
  .brand{width:62px;height:62px}
}
@media (max-width:760px){
  .brand{width:56px;height:56px}
}
@media (max-width:600px){
  .brand{width:54px;height:54px}
  .menu-brand{width:92px;height:92px}
  .footer-brand>a img{width:152px;height:152px}
}
@media (max-width:390px){
  .brand{width:52px;height:52px}
}

/* 2.7 native bilingual layout */
.locale-es h1,
.locale-es h2{
  text-wrap:balance;
}
.locale-es .hero-lead,
.locale-es .page-hero__content>p,
.locale-es .service-hero__content>p,
.locale-es .location-hero__content>p{
  max-width:42rem;
}
.locale-es .language-switcher a[aria-current="page"]{
  pointer-events:none;
}

@media (max-width:760px){
  .locale-es .home-hero__content,
  .locale-es .service-hero__content,
  .locale-es .location-hero__content,
  .locale-es .page-hero__content{
    width:100%;
    max-width:none;
  }
  .locale-es .home-hero h1,
  .locale-es .service-hero h1,
  .locale-es .location-hero h1,
  .locale-es .page-hero h1{
    width:100%;
    max-width:100%;
    font-size:clamp(2.75rem,11.8vw,4rem);
    line-height:.94;
    letter-spacing:-.035em;
  }
  .locale-es .home-hero h1 em,
  .locale-es .location-hero h1 em{
    display:inline;
  }
}

@media (max-width:390px){
  .locale-es .home-hero h1,
  .locale-es .service-hero h1,
  .locale-es .location-hero h1,
  .locale-es .page-hero h1{
    font-size:clamp(2.5rem,11.2vw,3.45rem);
  }
}

/* 2.8 desktop and landscape-tablet composition polish */
.site-header{
  background:var(--white);
  box-shadow:0 1px 0 rgba(13,27,38,.03);
  isolation:isolate;
}
.site-header.is-scrolled{
  box-shadow:0 10px 32px rgba(13,27,38,.11);
}
.home-hero__circuit{
  width:2.2rem;
}
.home-hero__visual{
  padding-bottom:9rem;
}
.hero-photo-frame img{
  height:clamp(460px,43vw,590px);
}
.rating-ticket{
  bottom:.5rem;
}
.service-lead{
  background:var(--panel-2);
  border-top-color:var(--copper);
}
.service-area-context{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(2rem,6vw,5rem);
  align-items:start;
  margin-top:clamp(3rem,6vw,5rem);
  padding-top:clamp(2rem,4vw,3rem);
  border-top:3px solid var(--panel);
}
.service-area-context h2{
  max-width:13ch;
  margin-bottom:.8rem;
  font-size:clamp(2.2rem,3.5vw,3.25rem);
}
.service-area-context p{
  max-width:680px;
  margin:0;
  font-size:.82rem;
  line-height:1.7;
}
.service-area-context .nearby-pages__links{
  margin-top:0;
}

@media (min-width:961px) and (max-width:1180px){
  :root{--section:clamp(4.8rem,7vw,6.35rem)}
  .site-header__inner{height:5rem;gap:.75rem}
  .brand{width:64px;height:64px}
  .header-call{font-size:.68rem}
  .header-cta{min-height:2.8rem;padding:.65rem .9rem}
  .menu-toggle{width:2.8rem;height:2.8rem}
  .language-switcher a{min-width:1.9rem;min-height:1.85rem;padding:.32rem .38rem}
  .home-hero{padding-top:3.35rem}
  .home-hero__circuit{display:none}
  .home-hero__grid{
    grid-template-columns:minmax(0,1fr) minmax(350px,.78fr);
    gap:clamp(2.25rem,4vw,3.25rem);
    align-items:start;
  }
  .home-hero h1{font-size:clamp(3.8rem,5.3vw,4.55rem);max-width:10ch}
  .hero-lead{font-size:1rem;line-height:1.68}
  .home-hero__visual{padding-top:0;padding-bottom:8.75rem}
  .hero-photo-frame{max-width:100%}
  .hero-photo-frame img{height:clamp(470px,48vw,540px)}
  .rating-ticket{left:-1.2rem}
  .page-hero__grid,.service-hero__grid,.location-hero__grid,.about-hero__grid{
    gap:clamp(2.5rem,4vw,3.5rem);
    align-items:start;
  }
  .page-hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(330px,.8fr)}
  .service-hero__grid,.location-hero__grid,.about-hero__grid{grid-template-columns:minmax(0,1fr) minmax(350px,.82fr)}
  .service-hero__photo img,.location-hero__visual>img,.about-hero__visual img{height:480px}
  .section-heading--split{gap:clamp(2.5rem,5vw,4.5rem)}
}

@media (max-width:960px){
  .site-header__inner{gap:.75rem}
  .home-hero__circuit{display:none}
  .home-hero__grid{gap:clamp(2.75rem,6vw,4rem);align-items:stretch}
  .home-hero__content,.service-hero__content,.location-hero__content{width:100%;max-width:none}
  .home-hero__visual{
    width:100%;
    max-width:860px;
    margin-inline:auto;
    padding-top:0;
    padding-bottom:9rem;
  }
  .hero-photo-frame{width:100%;max-width:none;margin:0}
  .hero-photo-frame img{height:clamp(430px,54vw,520px)}
  .rating-ticket{left:1rem;right:auto;bottom:.5rem}
  .page-hero__grid,.service-hero__grid,.location-hero__grid,.about-hero__grid,.reviews-hero__grid{gap:clamp(2.5rem,6vw,4rem)}
  .page-hero__content>p,.service-hero__content>p,.location-hero__content>p,.about-hero__content>p,.reviews-hero p{max-width:46rem}
  .page-hero__diagram,.service-hero__visual,.location-hero__visual,.about-hero__visual{
    width:100%;
    max-width:820px;
    margin-left:auto;
  }
  .service-hero__photo img,.location-hero__visual>img,.about-hero__visual img{height:clamp(430px,56vw,520px)}
  .contact-hero__grid{gap:clamp(2rem,5vw,3.25rem)}
}

@media (min-width:761px) and (max-width:960px){
  .home-hero{padding-top:3.25rem}
  .home-hero__content{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);
    column-gap:clamp(2rem,5vw,3.25rem);
    row-gap:0;
    align-items:start;
  }
  .home-hero__content .hero-local{grid-column:1/-1}
  .home-hero__content h1{grid-column:1;grid-row:2/5;margin:0;max-width:9.5ch}
  .home-hero__content .hero-lead{grid-column:2;grid-row:2;margin:0;font-size:.98rem;line-height:1.65}
  .home-hero__content .hero-actions{grid-column:2;grid-row:3;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:.7rem;width:100%;margin-top:1.25rem}
  .home-hero__content .hero-actions .button{width:100%;min-width:0;padding-inline:.85rem;font-size:.78rem}
  .home-hero__content .hero-checks{grid-column:2;grid-row:4;display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:1rem}
  .hero-photo-frame img{object-position:center 42%}
  .section-heading--split{grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:2.5rem}
  .contact-hero__grid{grid-template-columns:minmax(260px,.65fr) minmax(420px,1.35fr)}
}

@media (max-width:760px){
  .site-header{background:var(--white)}
  .home-hero__grid{gap:2.5rem}
  .home-hero__visual{padding-bottom:9rem}
  .hero-photo-frame img{height:clamp(400px,70vw,470px)}
  .rating-ticket{left:.4rem;right:.7rem;bottom:.35rem;width:auto}
  .service-hero__visual,.location-hero__visual,.about-hero__visual{margin-inline:auto}
  .service-hero__photo img,.location-hero__visual>img,.about-hero__visual img{height:clamp(400px,72vw,470px)}
  .service-area-context{grid-template-columns:1fr;gap:1.5rem}
  .service-area-context h2{max-width:100%}
}

@media (max-width:600px){
  .home-hero__visual{padding-bottom:9rem}
  .hero-photo-frame img{height:410px}
  .rating-ticket{left:0;right:.45rem;bottom:.25rem}
}

@media (max-width:390px){
  .home-hero__visual{padding-bottom:8.7rem}
  .hero-photo-frame img{height:390px}
}
