/* ============================================================
   HDTV INSTALLER PROS — "CONTROL PANEL" DESIGN SYSTEM
   Structurally distinct from any other project: fixed sidebar nav,
   bento-grid dashboard tiles, status-readout UI language.
   Navy + red (from logo). Inter + IBM Plex Mono.
   ============================================================ */
:root{
  --navy:#053458;
  --navy-deep:#02192E;
  --navy-2:#0D4670;
  --ink:#06090D;
  --panel:#0F161F;
  --panel-2:#141D28;
  --paper:#F3F1EC;
  --red:#087cff;
  --red-bright:#59a9ff;
  --green:#3DDC84;
  --white:#FFFFFF;
  --muted:#8B96A3;
  --muted-on-paper:#5C6670;
  --line:rgba(255,255,255,.09);
  --sidebar-w:264px;
  --shadow:0 24px 60px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
fieldset{border:0;padding:0;margin:0;min-width:0}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:var(--ink);color:var(--white);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.mono{font-family:"IBM Plex Mono",monospace}
h1,h2,h3{font-family:Inter,sans-serif;font-weight:800;line-height:1.1;margin:0 0 1rem;letter-spacing:-.02em}
h1{font-size:clamp(2.2rem,4.5vw,3.6rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem)}
h3{font-size:1.05rem}
p{margin:0 0 1rem;color:var(--muted)}
::selection{background:var(--red);color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- LAYOUT SHELL: fixed sidebar + offset main content ---------- */
.app-shell{display:flex;min-height:100vh}
.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:100;overflow-y:auto}
.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:1.6rem 1.4rem;border-bottom:1px solid var(--line)}
.sidebar-brand img{width:38px;height:38px;object-fit:contain}
.sidebar-brand span{font-weight:800;font-size:.95rem;line-height:1.2}
.sidebar-status{display:flex;align-items:center;gap:.5rem;padding:.9rem 1.4rem;font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.05em;color:var(--green);border-bottom:1px solid var(--line)}
.sidebar-status i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);flex-shrink:0}
.sidebar-nav{display:flex;flex-direction:column;padding:1rem .9rem;gap:.2rem;flex:1}
.sidebar-nav a{display:flex;align-items:center;gap:.7rem;padding:.75rem .9rem;border-radius:8px;color:var(--muted);font-weight:600;font-size:.9rem;transition:.15s ease}
.sidebar-nav a .nav-dot{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5}
.sidebar-nav a:hover{background:var(--panel-2);color:#fff}
.sidebar-nav a.active{background:rgba(8,124,255,.1);color:#fff;border-left:2px solid var(--red)}
.sidebar-nav a.active .nav-dot{background:var(--red);opacity:1}
.sidebar-foot{padding:1.2rem 1.4rem 1.6rem;border-top:1px solid var(--line)}
.sidebar-phone{display:block;font-weight:800;color:#fff;font-size:1rem;margin-bottom:.8rem}
.sidebar-phone span{display:block;font-weight:600;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem}
.main-content{margin-left:var(--sidebar-w);flex:1;min-width:0;width:calc(100% - var(--sidebar-w))}
.nav-toggle{display:none;position:fixed;top:1rem;right:1rem;z-index:110;background:var(--panel);border:1px solid var(--line);color:#fff;width:44px;height:44px;border-radius:8px;font-size:1.3rem}
@media(max-width:980px){
  .sidebar{transform:translateX(-100%);transition:transform .25s ease;width:280px}
  .sidebar.open{transform:translateX(0)}
  .main-content{margin-left:0;width:100%}
  .nav-toggle{display:block}
}

.mobile-cta-bar{display:none}
@media(max-width:980px){
  .mobile-cta-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--panel);border-top:1px solid var(--line);padding:.7rem .9rem;gap:.6rem}
  .mobile-cta-bar a{flex:1}
  body{padding-bottom:64px}
}

.container{width:min(1080px,calc(100% - 64px));margin-inline:auto}
@media(max-width:600px){.container{width:calc(100% - 32px)}}

/* ---------- SCROLL PROGRESS (sits above sidebar too) ---------- */
#scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--red);z-index:200;transition:width .08s linear}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid transparent;border-radius:6px;padding:.9rem 1.5rem;font-weight:700;font-size:.85rem;letter-spacing:.02em;cursor:pointer;transition:.2s ease;white-space:nowrap}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-bright);transform:translateY(-1px);box-shadow:0 10px 26px rgba(8,124,255,.35)}
.btn-secondary{background:#fff;color:var(--navy-deep)}
.btn-secondary:hover{background:#e9e9e9}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.25);color:#fff}
.btn-ghost:hover{border-color:#fff}
.btn-ghost-dark{background:transparent;border-color:rgba(5,52,88,.3);color:var(--navy-deep)}
.btn-ghost-dark:hover{border-color:var(--navy-deep)}
.btn-block{width:100%}

/* ---------- READOUT LABEL (replaces "eyebrow") ---------- */
.readout{display:inline-flex;align-items:center;gap:.5rem;font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red-bright);margin-bottom:.9rem;padding:.3rem .6rem;border:1px solid rgba(8,124,255,.35);border-radius:4px;background:rgba(8,124,255,.06)}
.readout i{width:6px;height:6px;border-radius:50%;background:var(--red-bright)}

/* ---------- DASHBOARD HERO ---------- */
.hero-panel{padding:clamp(2.5rem,6vw,4rem) 0 clamp(2rem,5vw,3rem)}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:stretch}
.hero-lede{font-size:1.05rem;max-width:520px;color:#c7ccd3}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0 0}
.status-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.status-panel-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.3rem;border-bottom:1px solid var(--line);font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.status-row{display:flex;align-items:center;justify-content:space-between;padding:.95rem 1.3rem;border-bottom:1px solid var(--line)}
.status-row:last-child{border-bottom:none}
.status-row-label{display:flex;align-items:center;gap:.7rem;font-weight:600;font-size:.9rem}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);flex-shrink:0}
.status-tag{font-family:"IBM Plex Mono",monospace;font-size:.68rem;color:var(--green);letter-spacing:.05em}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
@media(max-width:560px){.hero-actions{flex-direction:column;align-items:stretch}}

/* ---------- SECTION SCAFFOLD (consistent dark canvas, no light/dark alternation) ---------- */
.section{padding:clamp(3rem,6vw,4.5rem) 0}
.section-head{max-width:620px;margin-bottom:clamp(1.8rem,4vw,2.6rem)}
.panel-frame{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:clamp(1.5rem,3vw,2.2rem)}
.panel-frame-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.6rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.panel-frame-head span{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}

/* ---------- BENTO GRID (asymmetric tiles, not uniform 3-col) ---------- */
.bento-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}
.bento-tile{position:relative;min-height:420px;border:1px solid var(--line);border-radius:10px;padding:1.6rem;display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;isolation:isolate;transition:transform .2s ease,border-color .2s ease}
.tile-photo-frame{height:210px;flex-shrink:0;border:1px solid var(--line);border-radius:6px;margin-bottom:1.3rem;position:relative;overflow:hidden;background:rgba(255,255,255,.015)}
.hero-photo-frame{min-height:420px;height:100%;border:1px solid var(--line);border-radius:10px;position:relative;overflow:hidden;background:rgba(255,255,255,.015)}
.hero-photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tile-photo-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bento-tile:hover .tile-photo-frame{border-color:rgba(8,124,255,.4)}
.bento-tile:hover{transform:translateY(-3px);border-color:var(--red)}
.bento-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.bento-tile:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(8,124,255,.14) 0%,rgba(6,9,13,.35) 40%,rgba(6,9,13,.92) 100%)}
.bento-tile.no-photo{background:var(--panel)}
.bento-tile.no-photo:before{display:none}
.bento-tile .tile-num{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:var(--red-bright);margin-bottom:.6rem}
.bento-tile h3{margin-bottom:.4rem;font-size:1.4rem;color:#fff}
.bento-tile p{font-size:.95rem;margin-bottom:.8rem;color:#c7ccd3}
.bento-tile .tile-link{font-size:.8rem;font-weight:700;color:var(--red-bright);text-transform:uppercase;letter-spacing:.03em;display:inline-flex;gap:.35rem;align-items:center}
@media(max-width:900px){.bento-grid{grid-template-columns:1fr}.bento-tile{min-height:360px}}

/* ---------- METRIC READOUT ROW ---------- */
.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.metric-tile{border:1px solid var(--line);border-radius:10px;padding:1.4rem;background:var(--panel)}
.metric-tile b{display:block;font-family:"IBM Plex Mono",monospace;font-size:1.9rem;color:var(--red-bright);font-weight:600}
.metric-tile span{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
@media(max-width:700px){.metric-row{grid-template-columns:repeat(2,1fr)}}

/* ---------- TASK-LIST PROCESS (vertical checklist, not horizontal rail) ---------- */
.task-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.task-item{display:flex;gap:1.1rem;align-items:flex-start;padding:1.3rem 1.5rem;border-bottom:1px solid var(--line)}
.task-item:last-child{border-bottom:none}
.task-check{width:30px;height:30px;border-radius:6px;background:var(--ink);border:1px solid var(--red);color:var(--red-bright);display:flex;align-items:center;justify-content:center;font-family:"IBM Plex Mono",monospace;font-size:.78rem;flex-shrink:0}
.task-item h3{margin-bottom:.3rem;font-size:1rem}
.task-item p{margin:0;font-size:.87rem}

/* ---------- WIDGET GRID (why choose us) ---------- */
.widget-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.widget-card{border:1px solid var(--line);border-radius:10px;padding:1.4rem;background:var(--panel)}
.widget-card .step-dot{width:34px;height:34px;border-radius:8px;background:var(--ink);color:var(--red-bright);border:1px solid var(--red);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;font-size:.85rem}
.widget-card h3{font-size:.98rem;margin-bottom:.4rem}
.widget-card p{font-size:.83rem}
@media(max-width:900px){.widget-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.widget-grid{grid-template-columns:1fr}}

/* ---------- FAQ (panel style) ---------- */
.faq-list{display:flex;flex-direction:column;gap:.6rem}
.faq-list details{border:1px solid var(--line);border-radius:8px;padding:1rem 1.3rem;background:var(--panel)}
.faq-list details[open]{border-color:var(--red)}
.faq-list summary{cursor:pointer;font-weight:700;color:#fff;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.92rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";font-family:"IBM Plex Mono",monospace;color:var(--red-bright);font-size:1.1rem;flex-shrink:0}
.faq-list details[open] summary:after{content:"\2013"}
.faq-list p{margin:.8rem 0 0;font-size:.88rem}

/* ---------- CTA (embedded glowing panel, not a full-bleed section swap) ---------- */
.cta-panel{border:1px solid var(--red);border-radius:12px;background:linear-gradient(160deg,rgba(8,124,255,.1),var(--panel) 60%);padding:clamp(1.8rem,4vw,2.8rem);display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.cta-panel h2{margin-bottom:.3rem}
.cta-panel p{margin:0}
@media(max-width:700px){.cta-panel{flex-direction:column;align-items:flex-start}}

/* ---------- FOOTER ---------- */
.site-footer{border-top:1px solid var(--line);padding:clamp(2.5rem,5vw,3.5rem) 0 2rem;font-size:.88rem}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.2rem}
.footer-grid h3{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.9rem}
.footer-wordmark{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.05rem;color:#fff;margin-bottom:.7rem}
.footer-wordmark img{width:34px;height:34px;object-fit:contain}
.footer-links{display:flex;flex-direction:column;gap:.6rem;color:var(--muted)}
.footer-links a:hover{color:var(--red-bright)}
.footer-phone{display:inline-block;margin-top:.9rem;color:var(--red-bright);font-weight:700}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;margin-top:2rem;padding-top:1.3rem;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}
.footer-bottom a:hover{color:var(--red-bright)}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}}

/* ---------- SUBPAGE HEADER PANEL (replaces full-bleed photo hero) ---------- */
.page-header-panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:clamp(2rem,5vw,3rem);margin-top:clamp(2rem,5vw,3rem);position:relative;overflow:hidden}
.page-header-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.28}
.page-header-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(8,124,255,.1),rgba(15,22,31,.85));z-index:0}
.page-header-panel.no-photo{background:radial-gradient(ellipse 600px 300px at 85% 0%,rgba(8,124,255,.1),transparent 60%),var(--panel)}
.page-header-panel.no-photo:after{display:none}
.page-header-content{position:relative;z-index:1;max-width:680px}

/* ---------- FORMS ---------- */
label{display:block;font-weight:600;margin-bottom:.4rem;color:#e7e7ea;font-size:.86rem}
input,select,textarea{width:100%;min-height:50px;padding:.7rem .9rem;border:1px solid rgba(255,255,255,.16);border-radius:6px;background:var(--panel-2);color:#fff;font:inherit;font-size:.9rem}
input[type="radio"],input[type="checkbox"]{width:auto;min-height:0;accent-color:var(--red)}
textarea{min-height:120px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--red);border-color:var(--red)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-field{margin-bottom:1rem}
.field-full{grid-column:1/-1}
.alert{display:none;margin-top:1rem;padding:.9rem 1.1rem;border-radius:6px;background:rgba(8,124,255,.12);border:1px solid var(--red);color:#fff;font-size:.86rem}
.alert.ok{background:rgba(13,70,112,.25);border-color:var(--navy-2)}
.small-print{font-size:.78rem;color:var(--muted)}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}}

/* ---------- LOCAL AREAS ---------- */
.pill-list{display:flex;flex-wrap:wrap;gap:.55rem}
.pill-list span{padding:.45rem .8rem;border:1px solid var(--line);border-radius:999px;font-size:.8rem;color:var(--muted)}

/* ---------- SERVICE PAGE BODY ---------- */
.service-intro{display:grid;grid-template-columns:1.3fr .9fr;gap:clamp(2rem,5vw,3rem);align-items:start}
.service-proof{display:grid;gap:1.1rem;border:1px solid var(--line);border-radius:10px;padding:1.4rem;background:var(--panel)}
.service-proof strong{display:block;font-family:"IBM Plex Mono",monospace;font-size:1.5rem;color:var(--red-bright)}
.service-proof span{font-size:.8rem;color:var(--muted)}
.service-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.service-feature{display:flex;align-items:center;gap:.8rem;padding:.9rem 1.1rem;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.service-feature span{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--red);color:#fff;font-weight:800;flex-shrink:0;font-size:.85rem}
.service-feature strong{font-size:.88rem;color:#fff;font-weight:600}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.related-card{display:flex;flex-direction:column;gap:.4rem;padding:1.3rem;border:1px solid var(--line);border-radius:10px;background:var(--panel);transition:.2s}
.related-card:hover{border-color:var(--red);transform:translateY(-2px)}
.related-card span{font-size:1rem;font-weight:700}
.related-card b{color:var(--red-bright);font-size:.8rem;font-weight:600}
@media(max-width:900px){.service-intro{grid-template-columns:1fr}.service-feature-grid,.related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.service-feature-grid,.related-grid{grid-template-columns:1fr}}

/* ---------- CONTACT PAGE ---------- */
.form-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,5vw,3rem);align-items:start}
.info-panel{border:1px solid var(--line);border-radius:10px;padding:1.4rem;background:var(--panel)}
.info-item{padding:1rem 0;border-bottom:1px solid var(--line)}
.info-item:last-child{border-bottom:none}
.info-item h3{font-size:.94rem;color:var(--red-bright);margin-bottom:.3rem}
.info-item p{font-size:.85rem;margin:0}
.form-card{border:1px solid var(--line);border-radius:10px;padding:clamp(1.5rem,4vw,2.2rem);background:var(--panel)}
.help{font-size:.76rem;color:var(--muted);margin-top:.3rem}
@media(max-width:900px){.form-wrap{grid-template-columns:1fr}}

/* ---------- PARTNER BRANDS MARQUEE ---------- */
.brand-marquee{background:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.2rem 0;overflow:hidden;position:relative}
.brand-marquee:before,.brand-marquee:after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:3;pointer-events:none}
.brand-marquee:before{left:0;background:linear-gradient(90deg,var(--ink),transparent)}
.brand-marquee:after{right:0;background:linear-gradient(270deg,var(--ink),transparent)}
.brand-track{display:flex;width:max-content;animation:brandScroll 38s linear infinite}
.brand-track:hover{animation-play-state:paused}
.brand-tile{position:relative;min-width:170px;height:86px;margin-right:1rem;padding:12px 8px;border-radius:6px;background:var(--red);flex-shrink:0}
.brand-tile:before,.brand-tile:after{content:"";position:absolute;left:6px;right:6px;height:9px;background-image:repeating-linear-gradient(90deg,var(--ink) 0 5px,transparent 5px 12px)}
.brand-tile:before{top:5px}
.brand-tile:after{bottom:5px}
.brand-window{position:absolute;inset:22px 8px;background:var(--ink);border-radius:4px;display:flex;align-items:center;justify-content:center}
.brand-window span{font-family:Inter,sans-serif;font-weight:800;font-size:1rem;color:#fff;letter-spacing:.02em;white-space:nowrap}
.brand-tile:hover{filter:brightness(1.08)}
@media(max-width:700px){.brand-tile{min-width:130px;height:70px;margin-right:.8rem}.brand-window span{font-size:.82rem}}
@keyframes brandScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.brand-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}

/* ---------- LEGAL PAGES ---------- */
.legal-doc{max-width:820px}
.legal-doc h2{font-size:1.3rem;margin-top:2.2rem;margin-bottom:.7rem;color:#fff}
.legal-doc h2:first-of-type{margin-top:0}
.legal-doc p,.legal-doc li{color:var(--muted);font-size:.92rem;line-height:1.75}
.legal-doc ul{padding-left:1.2rem;margin:0 0 1rem}
.legal-updated{font-family:"IBM Plex Mono",monospace;font-size:.76rem;color:var(--red-bright);margin-bottom:1.5rem;display:block}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


/* ==========================================================
   HDTV INSTALLER PROS 2.0 — PREMIUM BLUE INTERFACE
   ========================================================== */
:root{--blue:#087cff;--blue-2:#165eea;--blue-soft:#59a9ff;--v2-bg:#020914;--v2-panel:#061422;--v2-line:rgba(91,157,221,.32)}
body{background:radial-gradient(circle at 75% 10%,rgba(0,102,255,.08),transparent 28%),var(--v2-bg);color:#fff}.app-shell{display:block}.main-content{margin-left:0!important;padding-top:76px;min-height:100vh}.container{max-width:1440px}.top-header{height:76px;position:fixed;inset:0 0 auto 0;z-index:1000;background:rgba(1,8,18,.96);border-bottom:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px)}.top-header-inner{height:100%;max-width:1536px;margin:auto;padding:0 30px;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:28px}.brand-lockup{display:flex;flex-direction:column;color:#fff;line-height:.82;width:max-content}.brand-hdt{font:800 2.45rem/1 Inter,sans-serif;letter-spacing:-.13em}.brand-hdt b{font-weight:800}.brand-hdt i{font-style:normal;color:var(--blue);margin-left:.05em}.brand-sub{font-size:.7rem;letter-spacing:.18em;margin-top:5px}.top-nav{display:flex;align-items:center;justify-content:center;height:100%;gap:clamp(18px,2.4vw,43px)}.top-nav a{height:100%;display:flex;align-items:center;color:#fff;text-transform:uppercase;font-weight:600;font-size:.82rem;letter-spacing:.035em;white-space:nowrap;position:relative}.top-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);transform:scaleX(0);transition:.25s}.top-nav a:hover,.top-nav a.active{color:var(--blue-soft)}.top-nav a:hover:after,.top-nav a.active:after{transform:scaleX(1)}.header-contact{display:flex;align-items:center;gap:22px}.header-phone{display:flex;gap:10px;align-items:center;color:#fff;white-space:nowrap}.phone-icon{font-size:1.6rem;color:var(--blue)}.header-phone b{display:block;font-size:.9rem}.header-phone small{display:block;color:#b7c3d1;font-size:.65rem}.header-quote{white-space:nowrap;border-radius:3px!important;background:linear-gradient(135deg,var(--blue),var(--blue-2))!important;border-color:var(--blue)!important;box-shadow:0 10px 30px rgba(0,91,255,.22)}.top-nav-toggle{display:none;background:none;border:0;color:white;font-size:1.5rem}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-2));border-color:var(--blue);box-shadow:0 10px 25px rgba(0,87,255,.2)}.btn-primary:hover{background:#258fff;border-color:#258fff}.btn-ghost:hover{border-color:var(--blue);color:var(--blue-soft)}
.v2-hero{min-height:455px;background:#020914;border-bottom:1px solid rgba(255,255,255,.15);overflow:hidden}.v2-hero-grid{display:grid;grid-template-columns:40% 60%;min-height:455px;max-width:1536px;margin:auto}.v2-hero-copy{padding:42px 28px 30px 42px;position:relative;z-index:2;background:linear-gradient(90deg,#020914 80%,transparent)}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem}.v2-hero h1{font-size:clamp(3rem,4.5vw,5rem);line-height:.94;margin:10px 0 18px;text-transform:uppercase;letter-spacing:-.045em}.v2-hero h1 em{font-style:normal;color:var(--blue)}.v2-hero-copy>p{font-size:1.02rem;line-height:1.65;max-width:460px;color:#f0f4f8}.trust-row{display:flex;margin:28px 0 25px;max-width:525px}.trust-row>div{display:flex;align-items:center;gap:9px;padding:0 17px;border-right:1px solid rgba(255,255,255,.22)}.trust-row>div:first-child{padding-left:0}.trust-row>div:last-child{border-right:0}.trust-row span{color:var(--blue);font-size:1.65rem}.trust-row b{font-size:.69rem;text-transform:uppercase;line-height:1.45}.v2-actions{display:flex;gap:18px}.v2-actions .btn{min-width:200px;justify-content:center}.v2-hero-image{position:relative;min-width:0}.v2-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.93) contrast(1.08) brightness(.84)}.hero-image-shade{position:absolute;inset:0;background:linear-gradient(90deg,#020914 0%,rgba(2,9,20,.25) 17%,transparent 45%),linear-gradient(0deg,rgba(2,9,20,.12),transparent 40%)}
.v2-services{max-width:1536px;margin:auto;padding:14px 32px 16px;background:var(--v2-bg)}.v2-section-title{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:12px}.v2-section-title span{height:2px;width:42px;background:var(--blue)}.v2-section-title h2{text-transform:uppercase;font-size:1.15rem;letter-spacing:.055em;margin:0}.v2-service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.v2-service-card{border:1px solid rgba(161,193,225,.45);background:linear-gradient(180deg,#071522,#020b15);overflow:hidden;min-width:0;transition:.25s}.v2-service-card:hover{transform:translateY(-5px);border-color:var(--blue);box-shadow:0 12px 35px rgba(0,96,255,.18)}.v2-service-card>img{display:block;width:100%;height:185px;object-fit:cover;filter:contrast(1.12) saturate(.9) brightness(.85)}.v2-card-body{padding:13px 15px 16px;min-height:170px;display:flex;flex-direction:column}.v2-card-body h3{font-size:.92rem;text-transform:uppercase;line-height:1.16;display:flex;align-items:center;gap:10px;margin:0 0 10px}.v2-card-body h3 i{font-style:normal;color:var(--blue);font-size:1.45rem}.v2-card-body p{font-size:.78rem;line-height:1.6;margin:0 0 13px;color:#d2d9e1}.v2-card-body b{color:var(--blue);font-size:.72rem;text-transform:uppercase;margin-top:auto}.v2-value-strip{max-width:1536px;margin:0 auto;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);display:grid;grid-template-columns:1.2fr .8fr 1fr 1.2fr 1.2fr;padding:14px 35px;background:#03101e}.v2-value-strip>div,.v2-value-strip>a{display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 22px;border-right:1px solid rgba(255,255,255,.18)}.v2-value-strip>*:last-child{border-right:0}.v2-value-strip i{font-style:normal;color:var(--blue);font-size:2rem}.v2-value-strip span{display:flex;flex-direction:column}.v2-value-strip b{text-transform:uppercase;font-size:.8rem;color:#fff}.v2-value-strip small{color:#b8c4d0;font-size:.65rem}.v2-value-strip>div:nth-child(2) b{font-size:1.8rem;color:var(--blue)}
/* Reskin all preserved pages */
.section{background:transparent}.readout,.tile-num,.tile-link,.service-proof strong,.related-card b,.info-item h3,.footer-phone,.legal-updated{color:var(--blue-soft)!important}.readout i{background:var(--blue)!important}.panel-frame,.widget-card,.faq-list details,.service-proof,.service-feature,.related-card,.info-panel,.form-card,.page-header-panel{background:linear-gradient(145deg,rgba(7,24,40,.97),rgba(2,11,21,.98));border-color:var(--v2-line)}.page-header-panel{min-height:390px;display:flex;align-items:center;border-radius:0;margin-top:0;border-left:0;border-right:0}.page-header-panel img{opacity:.78;object-position:center}.page-header-panel:after{background:linear-gradient(90deg,#020914 0%,rgba(2,9,20,.88) 43%,rgba(2,9,20,.2) 78%,rgba(2,9,20,.05))}.page-header-content{max-width:610px}.page-header-content h1{font-size:clamp(2.7rem,5vw,4.7rem);text-transform:uppercase;letter-spacing:-.04em}.task-check,.widget-card .step-dot,.service-feature span{border-color:var(--blue);color:var(--blue-soft);background:#051527}.related-card:hover,.faq-list details[open]{border-color:var(--blue)}input:focus,select:focus,textarea:focus{outline-color:var(--blue);border-color:var(--blue)}.cta-panel{border-color:var(--blue);background:linear-gradient(145deg,rgba(0,104,255,.12),#06131f 65%)}.site-footer{background:#010812}.footer-links a:hover,.footer-bottom a:hover{color:var(--blue-soft)}.brand-tile{background:var(--blue)}
@media(max-width:1180px){.top-header-inner{grid-template-columns:190px 1fr auto;padding:0 18px;gap:14px}.top-nav{gap:17px}.top-nav a{font-size:.72rem}.header-phone{display:none}.v2-hero-grid{grid-template-columns:45% 55%}.v2-service-grid{grid-template-columns:repeat(3,1fr)}.v2-service-card>img{height:210px}.v2-value-strip{grid-template-columns:repeat(3,1fr)}.v2-value-strip>*{border-bottom:1px solid rgba(255,255,255,.12)}}
@media(max-width:820px){.main-content{padding-top:68px}.top-header{height:68px}.top-header-inner{display:flex;justify-content:space-between}.top-nav-toggle{display:block}.top-nav{display:none;position:absolute;top:68px;left:0;right:0;height:auto;background:#020914;flex-direction:column;align-items:stretch;padding:10px 22px;border-bottom:1px solid var(--v2-line)}.top-nav.open{display:flex}.top-nav a{height:auto;padding:12px}.header-contact{margin-left:auto}.header-quote{padding:.75rem 1rem;font-size:.72rem}.brand-hdt{font-size:2rem}.v2-hero-grid{grid-template-columns:1fr}.v2-hero-copy{padding:40px 28px 24px;background:#020914}.v2-hero-image{height:400px}.hero-image-shade{background:linear-gradient(0deg,#020914,transparent 32%)}.v2-service-grid{grid-template-columns:repeat(2,1fr)}.v2-value-strip{grid-template-columns:1fr 1fr}.trust-row{flex-wrap:wrap;gap:17px}.trust-row>div{width:calc(50% - 10px);border-right:0;padding:0}.page-header-panel{min-height:330px}}
@media(max-width:540px){.header-quote{display:none}.v2-hero h1{font-size:3rem}.v2-actions{flex-direction:column}.v2-actions .btn{width:100%}.v2-service-grid{grid-template-columns:1fr}.v2-service-card>img{height:230px}.v2-services{padding-inline:18px}.v2-value-strip{grid-template-columns:1fr}.v2-value-strip>*{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14);justify-content:flex-start!important}.page-header-panel{min-height:300px}.page-header-content h1{font-size:2.55rem}}


/* FINAL POLISH — viewport alignment, blue-only accents, crisp photography */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.app-shell,.main-content,main,.top-header,.v2-hero,.v2-services,.v2-value-strip,footer{width:100%;max-width:100%}
.main-content{margin-left:0!important;padding-left:0!important;padding-right:0!important}
.top-header-inner,.v2-hero-grid,.v2-services,.v2-value-strip,.container{margin-left:auto!important;margin-right:auto!important}
.container{width:min(1440px,calc(100% - 64px))!important;max-width:1440px!important}
.v2-hero-grid,.v2-services,.v2-value-strip{width:min(1536px,100%)!important}
section,.section{overflow:hidden}
.v2-hero-image img,.v2-service-card>img,.hero-photo-frame img,.tile-photo-frame img{image-rendering:auto;filter:contrast(1.08) saturate(.94) brightness(.89)}
.v2-service-card:hover,.bento-tile:hover,.related-card:hover{border-color:var(--blue)!important}
.readout,.tile-link,.bento-tile .tile-num,.related-card b,.info-item h3,.legal-updated{color:var(--blue-soft)!important}
.readout{border-color:rgba(8,124,255,.38)!important;background:rgba(8,124,255,.07)!important}
.readout i,#scroll-progress{background:var(--blue)!important}
@media(max-width:700px){.container{width:calc(100% - 32px)!important}}

/* FINAL VISUAL PATCH */
.brand-hdt{letter-spacing:-.08em}.brand-hdt b{color:#fff}.brand-hdt i{color:var(--blue);margin-left:.08em}
.footer-wordmark{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;line-height:.82}.footer-hdt{font:800 2rem/1 Inter,sans-serif;letter-spacing:-.08em}.footer-hdt b{color:#fff}.footer-hdt i{font-style:normal;color:var(--blue);margin-left:.08em}.footer-wordmark small{font-size:.57rem;letter-spacing:.18em;color:#fff;margin-top:5px}
.bento-tile{justify-content:flex-end;min-height:430px}.bento-tile>img{filter:brightness(.82) contrast(1.06);transition:transform .45s ease,filter .45s ease}.bento-tile:hover>img{transform:scale(1.025);filter:brightness(.94) contrast(1.08)}.bento-tile:before{background:linear-gradient(180deg,rgba(2,9,20,.05) 15%,rgba(2,9,20,.55) 55%,rgba(2,9,20,.98) 100%)}
.city-hero{min-height:430px}.city-hero img{opacity:.9!important;object-position:center!important}.city-hero:after{background:linear-gradient(90deg,#020914 0%,rgba(2,9,20,.9) 43%,rgba(2,9,20,.15) 82%,rgba(2,9,20,.05))!important}
.v2-hero-image img{object-fit:cover;object-position:center center;filter:brightness(1.04) contrast(1.05)}

/* Final brand lockup + approved homepage hero */
.brand-lockup{display:flex;align-items:center;gap:10px}
.brand-icon{width:34px;height:34px;object-fit:contain;flex:0 0 auto}
.brand-text{display:flex;flex-direction:column;line-height:1}
.v2-actions{justify-content:flex-start}
.v2-hero-image img{object-fit:cover;object-position:center center}
@media (max-width:700px){.brand-icon{width:28px;height:28px}.brand-lockup{gap:8px}}

/* FINAL COMPLETION PATCH — logo, hero crop, city imagery, LED scroll bar */
.brand-lockup{
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
}
.brand-icon{
  display:block!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
}
.brand-text{display:flex;flex-direction:column;justify-content:center}
.v2-hero-grid{grid-template-columns:36% 64%!important}
.v2-hero-copy{padding-left:38px}
.v2-hero-image img{
  object-fit:cover!important;
  object-position:left center!important;
}
.hero-image-shade{
  background:linear-gradient(90deg,#020914 0%,rgba(2,9,20,.34) 8%,rgba(2,9,20,.08) 20%,transparent 34%),linear-gradient(0deg,rgba(2,9,20,.10),transparent 38%)!important;
}
#scroll-progress{
  position:fixed!important;
  top:0!important;
  left:0!important;
  z-index:2500!important;
  height:4px!important;
  min-width:4%!important;
  border-radius:0 8px 8px 0;
  background:linear-gradient(90deg,#0878ff,#28a7ff)!important;
  box-shadow:0 0 8px rgba(20,132,255,.95),0 0 18px rgba(20,132,255,.55)!important;
}
body:before{
  content:"";
  position:fixed;
  top:0;left:0;right:0;
  height:4px;
  z-index:2499;
  background:rgba(16,63,109,.24);
  pointer-events:none;
}
.bento-tile>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:1180px){.v2-hero-grid{grid-template-columns:42% 58%!important}}
@media(max-width:820px){
  .v2-hero-grid{grid-template-columns:1fr!important}
  .v2-hero-image img{object-position:22% center!important}
  .brand-icon{width:26px!important;height:26px!important}
}

/* Refined visual pass: architectural neutrals with a quiet blue accent. */
:root{--blue:#6688a2;--blue-2:#587b96;--blue-soft:#a9c0d1;--v2-bg:#101820;--v2-panel:#19232c;--v2-line:rgba(198,207,213,.2)}
body{background:#101820;color:#f5f3ef}
.top-header{background:rgba(17,24,31,.97);border-bottom-color:rgba(255,255,255,.1)}
.top-nav a:hover,.top-nav a.active{color:#dce8ef}
.brand-hdt i,.footer-hdt i{color:#8aaec9}
.header-quote,.btn-primary{background:#607f98!important;border-color:#607f98!important;box-shadow:none!important;color:#fff}
.header-quote:hover,.btn-primary:hover{background:#7798af!important;border-color:#7798af!important}
.v2-hero,.v2-hero-copy,.v2-services{background:#101820}
.v2-hero h1 em{color:#a9c0d1}
.v2-hero-image img{filter:brightness(.95) contrast(1.02)!important}
.hero-image-shade{background:linear-gradient(90deg,#101820 0%,rgba(16,24,32,.3) 12%,transparent 34%)!important}
.eyebrow,.trust-row span,.v2-card-body h3 i,.v2-card-body b,.v2-value-strip i,.v2-value-strip>div:nth-child(2) b{color:#a9c0d1}
.v2-service-card{background:#1a252e;border-color:rgba(255,255,255,.14)}
.v2-service-card:hover,.bento-tile:hover,.related-card:hover{border-color:#8aaec9!important;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.v2-service-card>img{filter:brightness(.96) saturate(.85) contrast(1.02)}
.v2-value-strip{background:#17212a}
.panel-frame,.widget-card,.faq-list details,.service-proof,.service-feature,.related-card,.info-panel,.form-card,.page-header-panel{background:#19232c;border-color:rgba(255,255,255,.13)}
.readout,.tile-num,.tile-link,.service-proof strong,.related-card b,.info-item h3,.footer-phone,.legal-updated{color:#a9c0d1!important}
.readout{border-color:rgba(169,192,209,.35)!important;background:rgba(169,192,209,.07)!important}
.readout i{background:#8aaec9!important}
.cta-panel{border-color:rgba(169,192,209,.35);background:#202e38}
.brand-tile{background:#536b7e}
.site-footer{background:#0d141b}
.bento-tile>img{filter:brightness(.84) saturate(.85) contrast(1.02)}
.bento-tile:hover>img{filter:brightness(.96) saturate(.9) contrast(1.02)}
.bento-tile:before{background:linear-gradient(180deg,transparent 30%,rgba(12,20,27,.75) 74%,#101820 100%)}
.city-hero:after{background:linear-gradient(90deg,#101820 0%,rgba(16,24,32,.88) 38%,rgba(16,24,32,.16) 80%)!important}
.top-nav.open{background:#111a22}
#scroll-progress,body:before{display:none!important}
/* Daylight surfaces make the image-led pages feel less dense. */
.v2-services,.section{background:#f5f3ef;color:#19232c}
.section p,.v2-services p{color:#52616b}
.section-head p{color:#52616b}
.v2-service-card,.panel-frame,.widget-card,.faq-list details,.service-proof,.service-feature,.related-card,.info-panel,.form-card{background:#fff;border-color:#dce2e4;color:#19232c}
.v2-service-card h3,.v2-section-title h2,.section h2,.section h3{color:#19232c}
.v2-card-body p{color:#56636c}
.v2-card-body b,.v2-card-body h3 i,.v2-value-strip i,.v2-value-strip>div:nth-child(2) b{color:#597a92}
.v2-value-strip{background:#e8edef;border-color:#d6dfe3;color:#19232c}
.v2-value-strip b{color:#19232c!important}
.v2-value-strip small{color:#58666f}
.v2-value-strip>div,.v2-value-strip>a{border-color:#cbd6da}
.readout,.tile-num,.tile-link,.service-proof strong,.related-card b,.info-item h3,.legal-updated{color:#52758f!important}
.readout{border-color:#cbd9e1!important;background:#edf2f4!important}
.cta-panel{background:#e5edf1;border-color:#cbd9e1;color:#19232c}
.cta-panel p{color:#52616b}
.city-hero,.page-header-panel{background:#19232c;color:#fff}
.page-header-panel h1,.page-header-panel h2,.page-header-panel p{color:#fff}
.bento-tile h3,.bento-tile p{color:#fff!important}
.bento-tile .tile-link,.bento-tile .tile-num{color:#d4e4ef!important}
.btn-ghost-dark{color:#253847;border-color:#aebfc9}
input,select,textarea{background:#fff;color:#19232c;border-color:#cdd7db}

/* September refinement: quieter surfaces and legible controls throughout. */
:root{--red:#607f98;--red-bright:#52758f;--navy:#294355;--ink:#17212a;--panel:#e9e9e5;--panel-2:#f8f8f5;--muted:#586873;--line:rgba(49,72,86,.18)}
.section,.v2-services{background:#e8e9e5;color:#22313c}
.section:nth-of-type(even){background:#e1e5e5}
.section p,.section-head p,.v2-services p{color:#42535f}
.panel-frame,.widget-card,.faq-list details,.service-proof,.service-feature,.related-card,.info-panel,.form-card,.v2-service-card{background:#f6f6f2;border:1px solid #cad3d4;box-shadow:0 5px 20px rgba(21,38,48,.045)}
.panel-frame h2,.panel-frame h3,.widget-card h3,.faq-list summary,.service-feature strong,.service-proof span,.related-card span,.info-panel h3,.form-card h2,.form-card h3,.form-card label,.section .panel-frame-head span,.section .task-list strong,.section .task-list span,.pill-list span{color:#243541}
.service-feature strong,.faq-list summary,.related-card span,.form-card label{color:#22313c!important}
.service-feature span,.task-check{background:#294355;color:#fff;border-color:#294355}
.service-feature,.related-card,.widget-card,.faq-list details,.v2-service-card,.panel-frame{transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease,background .22s ease}
.service-feature:hover,.related-card:hover,.widget-card:hover,.faq-list details:hover,.v2-service-card:hover{border-color:#7694a7!important;box-shadow:0 12px 28px rgba(26,52,67,.12);transform:translateY(-3px)}
.service-feature:hover{background:#fff}
.faq-list details[open]{border-color:#7694a7}
.faq-list summary:after{color:#52758f}
.service-proof strong,.related-card b{color:#486b83!important}
.panel-frame-head{border-color:#d4dadd}
.form-card label,.form-field label{color:#263944!important;font-weight:700}
.form-card input,.form-card select,.form-card textarea{background:#fff;color:#1e303c;border:1px solid #aabec9}
.form-card input::placeholder,.form-card textarea::placeholder{color:#697985;opacity:1}
.form-card input:focus,.form-card select:focus,.form-card textarea:focus{outline:2px solid #7896a9;outline-offset:1px;border-color:#52758f}
.form-card .small-print,.form-card .alert{color:#354b59}
.top-nav a{height:auto;padding:7px 0;align-self:center}
.top-nav a:after{bottom:0;height:2px;background:#9bb7c8}
.top-nav a:hover,.top-nav a.active{color:#fff}
.header-quote,.header-quote span{color:#fff!important}
.cta-panel{background:#d3e0e3;border:1px solid #acbfc8;box-shadow:0 12px 28px rgba(26,52,67,.065)}
.cta-panel h2,.cta-panel p{color:#243541}
.page-header-panel.no-photo{background:#22323e}
.page-header-panel.no-photo p{color:#e0e8ea}
.v2-service-card{border:1px solid #b8c9d0}
.v2-service-card:hover{background:#fff}
.bento-tile{border:1px solid rgba(94,123,143,.48);box-shadow:0 8px 24px rgba(14,32,42,.07)}
.bento-tile:hover{box-shadow:0 18px 34px rgba(14,32,42,.18);transform:translateY(-4px)}
@media(max-width:820px){.top-nav a{align-self:stretch;padding:11px 0;width:max-content}.top-nav a:after{bottom:7px}.v2-hero-copy{background:#101820}}

/* Homepage image and section alignment pass. */
.v2-hero-image{isolation:isolate}
.v2-hero-image img{filter:saturate(.82) contrast(1.02) brightness(.94)!important}
.v2-hero-image:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(73,100,115,.11)}
.hero-image-shade{z-index:2}
.v2-service-card{position:relative;border:1px solid #9eb4c0;box-shadow:0 5px 16px rgba(29,49,61,.08)}
.v2-service-card>img{border:5px solid #f6f6f2;border-bottom:2px solid #b4c6ce;filter:saturate(.76) contrast(1.02) brightness(.96)!important}
.v2-service-card:before{content:"";position:absolute;inset:5px 5px auto;height:180px;background:rgba(70,96,112,.12);z-index:1;pointer-events:none}
.v2-service-card:hover{border-color:#617f94!important;box-shadow:0 16px 30px rgba(26,52,67,.17)}
.v2-value-strip{width:min(1440px,calc(100% - 64px))!important;max-width:1440px!important;border:1px solid #c2d1d6;border-radius:0 0 10px 10px;margin-bottom:0!important;padding-inline:16px}
.v2-services{width:min(1440px,calc(100% - 64px))!important;max-width:1440px!important;padding-inline:0}
.brands-intro{padding-bottom:1rem!important}
.brands-intro .section-head{margin-bottom:0!important}
.brand-marquee{width:min(1440px,calc(100% - 64px))!important;max-width:1440px!important;margin:0 auto;border:1px solid #607b8c;border-radius:9px;padding:1.3rem 0}
.brand-tile{background:#607b8c}
@media(max-width:1180px){.v2-service-card:before{height:205px}}
@media(max-width:700px){.v2-services,.v2-value-strip,.brand-marquee{width:calc(100% - 32px)!important}.v2-services{padding-inline:0}.v2-value-strip{padding-inline:10px}.v2-service-card:before{height:225px}}

/* One shared page gutter across the hero and every interior page. */
:root{--page-gutter:clamp(20px,2.25vw,48px)}
.main-content{width:calc(100% - 2 * var(--page-gutter))!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
.main-content>main{width:100%;max-width:none}
.main-content main .container{width:100%!important;max-width:none!important;margin-inline:auto!important}
.v2-hero,.v2-hero-grid,.v2-services,.v2-value-strip,.brand-marquee{width:100%!important;max-width:none!important;margin-inline:auto!important}
.v2-hero-grid{max-width:none!important}
.v2-services{padding-inline:0!important;border-left:0}
.v2-value-strip{border-left:0;padding-inline:16px}
.main-content>.site-footer{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
.main-content>.site-footer .container{width:min(1440px,calc(100% - 2 * var(--page-gutter)))!important;max-width:1440px!important}
@media(max-width:700px){:root{--page-gutter:16px}.v2-value-strip{padding-inline:10px}.main-content>.site-footer{margin-left:calc(50% - 50vw)!important}}

/* Full-bleed section backgrounds with a consistent inner content line. */
.main-content{width:100%!important;max-width:100%!important;margin:0!important;padding-inline:0!important}
.main-content>main{width:100%!important;max-width:100%!important}
.main-content main .container{width:calc(100% - 2 * var(--page-gutter))!important;max-width:none!important;margin-inline:auto!important}
.v2-hero,.v2-hero-grid{width:100%!important;max-width:none!important}
.v2-hero-copy{padding-left:var(--page-gutter)}
.v2-services{width:100%!important;max-width:none!important;padding:18px var(--page-gutter) 20px!important}
.v2-service-grid{padding:3px;margin:-3px}
.v2-value-strip{width:100%!important;max-width:none!important;padding:14px var(--page-gutter);border-left:0;border-right:0;border-radius:0}
.brand-marquee{width:calc(100% - 2 * var(--page-gutter))!important;max-width:none!important}
.main-content>.site-footer{width:100%!important;max-width:100%!important;margin:0!important}
.main-content>.site-footer .container{width:min(1440px,calc(100% - 2 * var(--page-gutter)))!important;max-width:1440px!important}
@media(max-width:820px){.v2-hero-copy{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}}

/* Brand rail and footer readability. */
.brands-intro,.brand-band,.brand-band+.section{background:#e8e9e5}
.brands-intro{padding-bottom:1rem!important}
.brand-band{padding:0 0 1.2rem}
.brand-band .brand-marquee{margin-inline:auto!important}
.site-footer .footer-links,.site-footer .footer-links a,.site-footer .footer-links span,.site-footer .footer-grid p,.site-footer .footer-bottom,.site-footer .footer-bottom a{color:#e5edf1}
.site-footer .footer-links a:hover,.site-footer .footer-bottom a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.service-feature[href]{cursor:pointer}
.service-feature[href] em{font-style:normal;color:#52758f;font-size:1.2rem;margin-left:auto;line-height:1;transition:transform .2s ease}
.service-feature[href]:hover em,.service-feature[href]:focus-visible em{transform:translateX(4px)}
.service-feature[href]:focus-visible{outline:2px solid #52758f;outline-offset:2px}
.text-link{color:#385f78;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.text-link:hover{color:#1b394c}

/* Section labels use the same restrained blue as the quote button. */
.readout{background:#607f98!important;border-color:#607f98!important;color:#fff!important}
.readout i{background:#dce8ef!important}
.service-feature[href]:hover,.service-feature[href]:focus-visible{border-color:#607f98!important}

/* Eighteen service areas in a compact, readable directory. */
.bento-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.bento-grid .bento-tile{min-height:300px;padding:1.25rem}
@media(max-width:900px){.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bento-grid{grid-template-columns:1fr}.bento-grid .bento-tile{min-height:270px}}
/* A connected social profile group shares the footer grid on every page. */
.footer-grid:has(.footer-social){grid-template-columns:1.45fr 1fr 1fr 1fr}
@media(max-width:1000px){.footer-grid:has(.footer-social){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.footer-grid:has(.footer-social){grid-template-columns:1fr}}

/* Specific local offer in the established two-line hero treatment. */
.v2-hero-grid{grid-template-columns:45% 55%}
.v2-hero h1{font-size:clamp(2.15rem,4vw,3.9rem);white-space:nowrap}
.hero-availability{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.3rem .5rem;margin-top:1rem;padding:.55rem .75rem;border:1px solid rgba(169,192,209,.4);border-radius:5px;background:rgba(96,127,152,.17);color:#e5edf1;text-decoration:none;font-size:.82rem;line-height:1.45;transition:background .2s ease,border-color .2s ease}
.hero-availability strong{color:#bcd1df;font-weight:700}
.hero-availability:hover,.hero-availability:focus-visible{background:rgba(96,127,152,.28);border-color:#bcd1df}
.hero-availability:focus-visible{outline:2px solid #bcd1df;outline-offset:3px}
.v2-hero .trust-row{margin-top:22px}
@media(max-width:820px){.v2-hero-grid{grid-template-columns:1fr}.v2-hero h1{font-size:clamp(2.2rem,7.6vw,3.8rem)}}
@media(max-width:440px){.v2-hero h1{font-size:clamp(1.9rem,7.2vw,2.25rem)}}
@media(min-width:821px) and (max-width:1180px){.v2-hero-grid{grid-template-columns:48% 52%!important}.v2-hero h1{font-size:clamp(2.05rem,3.75vw,2.75rem)}}
@media(min-width:1181px){.v2-hero-grid{grid-template-columns:46% 54%}}

/* Final hero and service divider adjustment. Keep the couple in the right of frame. */
@media(min-width:1181px){.v2-hero-grid{grid-template-columns:40% 60%!important}.v2-hero h1{font-size:clamp(2.5rem,4.2vw,4rem)}}
.v2-hero-image img{object-position:70% center!important}
@media(max-width:820px){.v2-hero-image img{object-position:72% center!important}}
.v2-section-title h2{color:#607f98!important;font-weight:800}
.v2-section-title span{background:#17212a!important}

/* Large screens (27" and up): cap the content line at 1440px, keep backgrounds full-bleed.
   Every section already follows --page-gutter, so widening the gutter centers them all. */
@media(min-width:1540px){
  :root{--page-gutter:max(48px,calc((100vw - 1440px) / 2))}
  .top-header-inner{max-width:none!important;padding:0 var(--page-gutter)!important}
  .v2-hero-grid{grid-template-columns:calc(var(--page-gutter) + 640px) 1fr!important}
}
/* Home hero on large screens: frame the photo within the 1440px content column (matches inner-page banners). */
@media(min-width:1540px){
  .v2-hero-grid{width:calc(100% - 2 * var(--page-gutter))!important;max-width:1440px!important;grid-template-columns:44% 56%!important}
  .v2-hero-copy{padding-left:0!important}
  .v2-hero-image img{object-position:38% center!important}
}

/* Phone fixes (v15): readable Call button, menu toggle at right edge, keep technician in hero photo. */
.mobile-cta-bar .btn-ghost{color:#17212a!important;background:#fff!important;border:1px solid #607f98!important}
@media(max-width:820px){
  .top-nav-toggle{margin-left:auto;padding:8px;line-height:1}
  .header-contact:empty,.header-contact{margin-left:0}
  .v2-hero-image img{object-position:20% center!important}
}
@media(min-width:821px) and (max-width:1180px){.v2-hero-image img{object-position:8% center!important}}
