
:root{
  --blue:#34a3c8;
  --blue-dark:#177e9f;
  --yellow:#f4c542;
  --ink:#25292c;
  --muted:#666f74;
  --soft:#f5f6f7;
  --line:#e0e3e5;
  --white:#fff;
  --dark:#181c1e;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
.container{width:min(var(--max),calc(100% - 44px));margin:auto}
.narrow{max-width:900px}
.muted{color:var(--muted)}
.centered{text-align:center}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px 14px;z-index:9999;border:1px solid #000}

.site-header{height:92px;background:#fff;position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(0,0,0,.05)}
.header-inner{height:92px;display:flex;align-items:center;gap:28px}
.brand{display:flex;margin-right:auto}
.brand-logo{display:block;width:265px;height:76px}
.main-nav{display:flex;align-items:center;gap:28px}
.main-nav a{text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.01em}
.main-nav a:hover{color:var(--blue)}
.header-phone{font-weight:800;text-decoration:none;white-space:nowrap}
.nav-toggle{display:none;border:1px solid var(--line);background:#fff;padding:10px 14px;font-weight:800;border-radius:2px}

.home-hero{position:relative;min-height:620px;overflow:hidden;background:#f4f4f2}
.home-hero-inner{min-height:620px;display:flex;align-items:center;position:relative;z-index:3}
.home-hero-copy{width:min(590px,60%);padding:60px 0}
.hero-kicker{font-size:25px;margin:0 0 4px;font-weight:300}
.home-hero h1{font-size:clamp(55px,7vw,88px);line-height:.98;margin:0 0 24px;font-weight:800;letter-spacing:-.045em}
.home-hero-copy>p:not(.hero-kicker){font-size:18px;max-width:580px}
.hero-quote{display:inline-block;margin-top:22px;background:var(--yellow);padding:17px 24px;text-decoration:none;font-weight:900;letter-spacing:.04em}
.hero-tv-art{position:absolute;right:-3vw;top:0;width:57%;height:100%;background:linear-gradient(145deg,#d9dcdb,#f7f6f3);overflow:hidden}
.hero-tv-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f4f4f2 0%,rgba(244,244,242,.2) 35%,rgba(255,255,255,0) 65%)}
.wall-tv{position:absolute;left:16%;top:20%;width:70%;height:55%}
.tv-frame{position:absolute;left:0;top:0;width:100%;aspect-ratio:16/9;background:#111;padding:7px;box-shadow:0 28px 45px rgba(0,0,0,.2)}
.tv-screen{width:100%;height:100%;background:linear-gradient(135deg,#25323a,#577682 47%,#182127);position:relative;overflow:hidden}
.tv-screen:before{content:"";position:absolute;width:70%;height:160%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.17),transparent);transform:rotate(22deg);left:-10%;top:-30%}
.soundbar-art{position:absolute;width:54%;height:12px;background:#292929;left:23%;top:62%;border-radius:2px}
.cable-line{position:absolute;width:3px;height:95px;background:#eee;left:50%;top:65%;box-shadow:18px 0 #ddd}
.screen-glow{position:absolute;width:110%;height:80%;left:-5%;top:-10%;background:radial-gradient(circle at center,rgba(52,163,200,.25),transparent 65%);filter:blur(22px)}

.trust-band{background:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.trust-card{text-align:center;padding:48px 34px;border-right:1px solid var(--line)}
.trust-card:last-child{border-right:0}
.trust-card img{height:68px;width:68px;object-fit:contain;margin-bottom:15px}
.trust-card h2{font-size:30px;margin:2px 0 8px}
.trust-card p{margin:0;color:var(--muted);max-width:320px;margin-inline:auto}
.inner-trust{border-top:1px solid var(--line)}

.home-section,.content-section{padding:86px 0}
.section-heading{max-width:790px;margin:0 auto 42px}
.section-heading h2,.home-section h2,.content-section h2{font-size:clamp(34px,4vw,50px);line-height:1.12;margin:8px 0 18px}
.eyebrow{text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.16em;color:var(--blue);margin-bottom:7px}
.home-services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.home-service{padding:36px 32px;border-right:1px solid var(--line)}
.home-service:last-child{border-right:0}
.home-service h3{font-size:23px;margin:8px 0 15px}
.home-service p{color:var(--muted)}
.home-service a,.text-link,.dark-link{font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}
.service-number{font-size:12px;color:var(--blue);font-weight:900}
.section-more{margin-top:26px}

.cable-section{background:#222;color:#fff;padding:88px 0}
.cable-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.cable-copy h2{font-size:clamp(38px,4vw,58px);line-height:1.05;margin:10px 0 30px}
.cable-copy .eyebrow{color:var(--yellow)}
.feature-line{display:grid;grid-template-columns:95px 1fr;border-top:1px solid #555;padding:20px 0;gap:15px}
.feature-line span{color:var(--yellow);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.1em}
.feature-line p{margin:0;color:#d2d5d6}
.dark-link{display:inline-block;margin-top:24px;color:#fff}
.cable-art{height:390px;background:#e8e8e6;position:relative;overflow:hidden}
.cable-tv{position:absolute;width:68%;aspect-ratio:16/9;background:#101214;left:16%;top:13%;box-shadow:0 20px 30px rgba(0,0,0,.25)}
.cable-raceway{position:absolute;width:14px;height:140px;background:#f9f9f7;left:49%;top:59%;box-shadow:1px 0 2px rgba(0,0,0,.15)}
.cable-plate{position:absolute;width:62px;height:82px;background:#fafafa;border:1px solid #bbb;right:7%;box-shadow:0 4px 7px rgba(0,0,0,.12)}
.cable-plate.top{top:26%}.cable-plate.bottom{top:54%}

.blog-preview-section{background:#fff}
.blog-preview-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}
.blog-preview-grid h2{font-size:clamp(38px,4.8vw,64px);margin:0}
.blog-answer{border-left:5px solid var(--yellow);padding-left:34px;font-size:19px}
.answer-label{color:var(--blue);font-weight:900;font-size:13px;letter-spacing:.14em}

.rating-section{background:var(--yellow);padding:70px 0;text-align:center}
.rating-inner{max-width:850px}
.rating-inner h2{font-size:clamp(36px,4vw,54px);margin:8px 0 17px}
.rating-inner p{font-size:18px}
.stars{font-size:25px;letter-spacing:.12em}

.two-col-wide{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.location-intro h2{font-size:clamp(42px,5vw,64px);line-height:1.05}

.commercial-section{background:#edf3f5;padding:86px 0}
.commercial-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.commercial-grid h2{font-size:clamp(40px,4vw,58px);margin:8px 0 24px}
.commercial-list{columns:2;column-gap:30px;padding-left:18px;margin:0 0 28px}
.commercial-list li{break-inside:avoid;margin:0 0 12px}
.commercial-art{height:400px;position:relative;background:linear-gradient(135deg,#d9e2e5,#f7f9f9)}
.board{position:absolute;left:14%;top:18%;width:72%;aspect-ratio:16/9;background:#202529;border:8px solid #111;box-shadow:0 20px 35px rgba(0,0,0,.15)}
.board-leg{position:absolute;top:62%;width:7px;height:110px;background:#474e51}
.board-leg.one{left:34%}.board-leg.two{right:34%}

.faq-list details{border-top:1px solid var(--line);padding:20px 0}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{font-size:19px;font-weight:800;cursor:pointer}
.faq-list p{color:var(--muted);max-width:800px}

.reviews-section{background:#1b2429;color:#fff;padding:86px 0}
.light-heading h2{color:#fff}
.light-heading .eyebrow{color:var(--yellow)}
.review-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.review-grid blockquote{margin:0;border:1px solid #40505a;padding:28px;background:#222e34;min-height:210px}
.review-grid blockquote:before{content:"★★★★★";color:var(--yellow);letter-spacing:.12em;font-size:13px}
.review-grid blockquote p{font-size:17px;color:#e6edef}
.review-grid blockquote footer{font-weight:800;color:#fff}

.contact-section{padding:70px 0}
.contact-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:40px}
.contact-grid h2{font-size:44px;margin:6px 0}
.contact-grid h3{font-size:22px;margin:6px 0}
.contact-grid a{font-weight:800}

.page-title{background:#f4f5f5;padding:58px 0 46px}
.page-title h1{font-size:clamp(42px,5vw,64px);line-height:1.05;margin:8px 0 15px}
.page-lead{font-size:20px;max-width:760px}
.page-hero{background:#21363f;color:#fff;padding:78px 0}
.page-hero.compact{padding:58px 0}
.page-hero h1{font-size:clamp(40px,5vw,60px);line-height:1.05;margin:10px 0 20px}
.hero-copy{font-size:19px;color:#e6eef1;max-width:820px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-block;padding:14px 22px;text-decoration:none;font-weight:900;border:2px solid transparent}
.btn.primary{background:var(--yellow);color:#171717}
.btn.secondary{border-color:#fff;color:#fff}
.btn.light{background:#fff;color:#21363f}
.btn.outline-light{border-color:#fff;color:#fff}
.btn.full{display:block;text-align:center;width:100%}
.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:13px;color:#7c858a;margin-bottom:22px}
.page-hero .breadcrumbs{color:#c7d6dc}
.breadcrumbs a{text-decoration:none}
.page-hero .breadcrumbs a{color:#fff}
.two-col{display:grid;grid-template-columns:1.5fr .75fr;gap:55px;align-items:start}
.quote-box{background:#1d272c;color:#fff;padding:32px;position:sticky;top:120px}
.quote-box h2{font-size:30px;margin:7px 0 16px}
.quote-box p{color:#d5e0e4}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.service-card{border:1px solid var(--line);padding:25px;background:#fff;min-height:220px}
.service-card h3{margin:0 0 12px}
.content-section.soft{background:var(--soft)}
.section-link{font-weight:800;color:var(--blue-dark)}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.check-grid>div{border:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:6px}
.check-grid span{color:var(--muted)}
.nearby-links{display:flex;gap:10px;flex-wrap:wrap}
.nearby-link{border:1px solid var(--line);padding:10px 14px;text-decoration:none;border-radius:999px;background:#fff}
.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.location-card{display:block;border:1px solid var(--line);padding:19px;text-decoration:none;font-weight:900;background:#fff}
.location-card span{display:block;color:var(--muted);font-size:12px;font-weight:500;margin-top:4px}
.location-card:hover,.nearby-link:hover{border-color:var(--blue);color:var(--blue-dark)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.blog-card{border:1px solid var(--line);padding:24px;background:#fff}
.blog-card h2{font-size:22px;line-height:1.18;margin:7px 0 13px}
.blog-card h2 a{text-decoration:none}
.blog-card p{color:var(--muted)}
.prose{max-width:850px}
.prose h2{margin-top:42px}
.prose li{margin:9px 0}
.real-work-section{border-top:1px solid var(--line)}
.job-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.job-placeholder{aspect-ratio:4/3;background:linear-gradient(135deg,#f0f2f2,#e4e8e9);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;border:1px dashed #b5bec2}
.job-placeholder span{font-size:12px;letter-spacing:.16em;font-weight:900;color:var(--blue)}
.job-placeholder p{margin:6px 0 0;color:var(--muted)}
.cta-band{background:var(--blue-dark);color:#fff;padding:48px 0}
.cta-band .eyebrow{color:var(--yellow)}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta-inner h2{font-size:34px;margin:5px 0}
.migration-warning{border-left:5px solid var(--yellow);background:#fff7d4;padding:20px 24px;margin-bottom:28px}

.site-footer{background:#101719;color:#d8e1e4;padding:58px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:50px}
.footer-brand .brand-logo{width:230px;height:66px}
.site-footer h3{color:#fff}
.site-footer a{color:#fff}
.site-footer .small{font-size:13px;color:#9eacb1}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #344246;margin-top:34px;padding-top:19px;font-size:13px}

@media(max-width:960px){
  .header-phone{display:none}
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;top:92px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px 24px;flex-direction:column;align-items:flex-start}
  .main-nav.open{display:flex}
  .home-hero-copy{width:62%}
  .hero-tv-art{width:55%}
  .cable-grid,.commercial-grid,.blog-preview-grid,.two-col-wide,.two-col{grid-template-columns:1fr}
  .quote-box{position:static}
  .commercial-list{columns:1}
  .card-grid{grid-template-columns:1fr 1fr}
  .review-grid{grid-template-columns:1fr 1fr}
  .location-grid,.blog-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .container{width:min(var(--max),calc(100% - 28px))}
  .site-header,.header-inner{height:78px}
  .main-nav{top:78px}
  .brand-logo{width:200px;height:60px}
  .home-hero,.home-hero-inner{min-height:650px}
  .home-hero-inner{align-items:flex-start}
  .home-hero-copy{width:100%;padding-top:55px}
  .home-hero h1{font-size:58px;max-width:430px}
  .hero-tv-art{top:auto;bottom:0;left:0;right:0;width:100%;height:260px;opacity:.55}
  .hero-tv-art:after{background:linear-gradient(#f4f4f2,rgba(244,244,242,.2) 35%,transparent)}
  .wall-tv{top:17%;left:20%;width:65%}
  .trust-grid,.home-services,.review-grid,.contact-grid,.footer-grid,.card-grid,.check-grid,.location-grid,.blog-grid,.job-photo-grid{grid-template-columns:1fr}
  .trust-card,.home-service{border-right:0;border-bottom:1px solid var(--line)}
  .home-service:last-child,.trust-card:last-child{border-bottom:0}
  .home-section,.content-section,.commercial-section,.reviews-section{padding:58px 0}
  .cable-section{padding:58px 0}
  .cable-art,.commercial-art{height:280px}
  .blog-preview-grid{gap:30px}
  .blog-answer{padding-left:20px}
  .cta-inner{flex-direction:column;align-items:flex-start}
  .footer-bottom{flex-direction:column}
  .hero-actions .btn{width:100%;text-align:center}
  .contact-grid h2{font-size:34px}
}


/* =========================================================
   V4 — TILDA-STYLE RESPONSIVE TUNING
   Explicit screen bands mirror Tilda Zero Block:
   1200+, 980–1199, 640–979, 480–639, 320–479.
   ========================================================= */

/* Desktop master artboard: 1200px and up */
@media (min-width:1200px){
  .container{width:min(1180px,calc(100% - 56px))}
  .site-header,.header-inner{height:92px}
  .home-hero,.home-hero-inner{min-height:620px}
  .home-hero-copy{width:52%;padding:70px 0}
  .home-hero h1{font-size:88px;max-width:650px}
  .hero-tv-art{width:55%}
  .trust-card{min-height:250px}
  .home-section,.content-section{padding-top:86px;padding-bottom:86px}
}

/* Horizontal tablet / small desktop: 980–1199 */
@media (min-width:980px) and (max-width:1199.98px){
  .container{width:940px;max-width:calc(100% - 40px)}
  .brand-logo{width:225px;height:68px}
  .main-nav{gap:19px}
  .main-nav a{font-size:13px}
  .header-phone{font-size:14px}
  .home-hero,.home-hero-inner{min-height:565px}
  .home-hero-copy{width:55%;padding:56px 0}
  .hero-kicker{font-size:22px}
  .home-hero h1{font-size:70px;max-width:540px}
  .home-hero-copy>p:not(.hero-kicker){font-size:17px;max-width:510px}
  .hero-tv-art{width:51%}
  .wall-tv{left:13%;top:22%;width:77%}
  .trust-card{padding:40px 24px;min-height:240px}
  .trust-card h2{font-size:27px}
  .home-service{padding:30px 24px}
  .home-service h3{font-size:20px}
  .cable-grid,.commercial-grid{gap:48px}
  .cable-art,.commercial-art{height:360px}
  .blog-preview-grid{gap:52px}
  .review-grid{gap:14px}
  .review-grid blockquote{padding:22px}
  .location-grid,.blog-grid{grid-template-columns:repeat(3,1fr)}
}

/* Vertical tablet: 640–979 */
@media (min-width:640px) and (max-width:979.98px){
  .container{width:min(620px,calc(100% - 40px))}
  .site-header,.header-inner{height:82px}
  .brand-logo{width:205px;height:62px}
  .main-nav{top:82px}
  .home-hero{min-height:700px}
  .home-hero-inner{min-height:700px;align-items:flex-start}
  .home-hero-copy{width:100%;padding:60px 0 0;max-width:600px}
  .hero-kicker{font-size:21px}
  .home-hero h1{font-size:67px;max-width:600px}
  .home-hero-copy>p:not(.hero-kicker){max-width:560px;font-size:17px}
  .hero-quote{margin-top:16px}
  .hero-tv-art{left:0;right:0;top:auto;bottom:0;width:100%;height:320px;opacity:.72}
  .hero-tv-art:after{background:linear-gradient(#f4f4f2 0%,rgba(244,244,242,.42) 28%,rgba(244,244,242,0) 67%)}
  .wall-tv{left:28%;top:14%;width:54%;height:78%}

  .trust-grid{grid-template-columns:repeat(3,1fr)}
  .trust-card{padding:34px 16px;min-height:255px}
  .trust-card img{width:56px;height:56px}
  .trust-card h2{font-size:24px}
  .trust-card p{font-size:14px}

  .home-section,.content-section,.commercial-section,.reviews-section{padding:68px 0}
  .section-heading{margin-bottom:34px}
  .section-heading h2,.home-section h2,.content-section h2{font-size:42px}
  .home-services{grid-template-columns:1fr}
  .home-service{border-right:0;border-bottom:1px solid var(--line);padding:30px}
  .home-service:last-child{border-bottom:0}
  .home-service p{max-width:560px}

  .cable-section{padding:68px 0}
  .cable-grid{grid-template-columns:1fr;gap:38px}
  .cable-art{height:330px;order:2}
  .cable-copy{order:1}
  .cable-copy h2{font-size:46px}

  .blog-preview-grid{grid-template-columns:1fr;gap:24px}
  .blog-preview-grid h2{font-size:48px}
  .blog-answer{max-width:570px}

  .two-col-wide,.two-col,.commercial-grid{grid-template-columns:1fr;gap:38px}
  .location-intro h2{font-size:50px}
  .commercial-art{height:330px;order:2}
  .commercial-grid>div:last-child{order:1}
  .commercial-list{columns:2}

  .review-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr 1fr}
  .contact-grid>div:last-child{grid-column:1 / -1}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1 / -1}
  .card-grid{grid-template-columns:1fr 1fr}
  .location-grid,.blog-grid,.job-photo-grid{grid-template-columns:1fr 1fr}
  .quote-box{position:static}
  .page-title h1{font-size:54px}
  .page-hero h1{font-size:50px}
}

/* Horizontal smartphone: 480–639 */
@media (min-width:480px) and (max-width:639.98px){
  .container{width:min(454px,calc(100% - 28px))}
  .site-header,.header-inner{height:76px}
  .brand-logo{width:190px;height:56px}
  .main-nav{top:76px;padding:18px 20px;gap:18px}

  .home-hero{min-height:660px}
  .home-hero-inner{min-height:660px;align-items:flex-start}
  .home-hero-copy{width:100%;padding:44px 0 0}
  .hero-kicker{font-size:19px}
  .home-hero h1{font-size:54px;line-height:1;letter-spacing:-.04em;max-width:430px;margin-bottom:17px}
  .home-hero-copy>p:not(.hero-kicker){font-size:16px;line-height:1.5;max-width:440px}
  .hero-quote{padding:15px 18px;font-size:14px}
  .hero-tv-art{top:auto;bottom:0;left:0;width:100%;height:300px;opacity:.62}
  .hero-tv-art:after{background:linear-gradient(#f4f4f2 0%,rgba(244,244,242,.35) 30%,rgba(244,244,242,0) 72%)}
  .wall-tv{left:20%;top:18%;width:63%}

  .trust-grid{grid-template-columns:1fr}
  .trust-card{display:grid;grid-template-columns:66px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:18px;min-height:0;padding:25px 20px;border-right:0;border-bottom:1px solid var(--line)}
  .trust-card:last-child{border-bottom:0}
  .trust-card img{grid-row:1 / 3;width:58px;height:58px;margin:5px 0 0}
  .trust-card h2{font-size:25px;margin:0}
  .trust-card p{font-size:14px;margin:4px 0 0;max-width:none}

  .home-section,.content-section,.commercial-section,.reviews-section{padding:54px 0}
  .section-heading{margin-bottom:28px}
  .section-heading h2,.home-section h2,.content-section h2{font-size:38px}
  .home-services{grid-template-columns:1fr}
  .home-service{border-right:0;border-bottom:1px solid var(--line);padding:27px 18px}
  .home-service:last-child{border-bottom:0}

  .cable-section{padding:54px 0}
  .cable-grid{grid-template-columns:1fr;gap:30px}
  .cable-copy{order:1}
  .cable-art{order:2;height:270px}
  .cable-copy h2{font-size:41px}
  .feature-line{grid-template-columns:82px 1fr;padding:17px 0}

  .blog-preview-grid{grid-template-columns:1fr;gap:20px}
  .blog-preview-grid h2{font-size:43px}
  .blog-answer{padding-left:20px;font-size:17px}
  .rating-section{padding:54px 0}
  .rating-inner h2{font-size:40px}

  .two-col-wide,.two-col,.commercial-grid{grid-template-columns:1fr;gap:30px}
  .location-intro h2{font-size:44px}
  .commercial-grid>div:last-child{order:1}
  .commercial-art{order:2;height:270px}
  .commercial-list{columns:1}
  .review-grid,.contact-grid,.footer-grid,.card-grid,.check-grid,.location-grid,.blog-grid,.job-photo-grid{grid-template-columns:1fr}
  .review-grid blockquote{min-height:0}
  .quote-box{position:static}
  .footer-bottom{flex-direction:column}
  .page-title{padding:44px 0 34px}
  .page-title h1{font-size:46px}
  .page-hero,.page-hero.compact{padding:48px 0}
  .page-hero h1{font-size:44px}
  .hero-actions .btn{width:100%;text-align:center}
  .cta-inner{flex-direction:column;align-items:flex-start}
}

/* Vertical smartphone: 320–479 */
@media (min-width:320px) and (max-width:479.98px){
  .container{width:calc(100% - 28px)}
  .site-header,.header-inner{height:72px}
  .brand-logo{width:170px;height:52px}
  .nav-toggle{padding:9px 11px;font-size:13px}
  .main-nav{top:72px;padding:17px 18px;gap:16px}
  .main-nav a{font-size:15px}

  .home-hero{min-height:650px}
  .home-hero-inner{min-height:650px;align-items:flex-start}
  .home-hero-copy{width:100%;padding:38px 0 0}
  .hero-kicker{font-size:18px;margin-bottom:2px}
  .home-hero h1{font-size:48px;line-height:.98;letter-spacing:-.045em;max-width:355px;margin:0 0 16px}
  .home-hero-copy>p:not(.hero-kicker){font-size:15.5px;line-height:1.48;margin:0;max-width:365px}
  .hero-quote{display:block;width:100%;text-align:center;margin-top:18px;padding:15px 12px;font-size:13px}
  .hero-tv-art{top:auto;bottom:0;left:0;width:100%;height:270px;opacity:.58}
  .hero-tv-art:after{background:linear-gradient(#f4f4f2 0%,rgba(244,244,242,.35) 27%,rgba(244,244,242,0) 70%)}
  .wall-tv{left:16%;top:17%;width:70%}
  .soundbar-art{height:9px}

  .trust-grid{grid-template-columns:1fr}
  .trust-card{display:grid;grid-template-columns:58px 1fr;grid-template-rows:auto auto;text-align:left;column-gap:15px;min-height:0;padding:22px 13px;border-right:0;border-bottom:1px solid var(--line)}
  .trust-card:last-child{border-bottom:0}
  .trust-card img{grid-row:1 / 3;width:50px;height:50px;margin:3px 0 0}
  .trust-card h2{font-size:23px;line-height:1.1;margin:0}
  .trust-card p{font-size:13.5px;line-height:1.45;margin:4px 0 0;max-width:none}

  .home-section,.content-section,.commercial-section,.reviews-section{padding:48px 0}
  .section-heading{margin-bottom:25px}
  .section-heading h2,.home-section h2,.content-section h2{font-size:35px;line-height:1.08}
  .eyebrow{font-size:11px;letter-spacing:.14em}
  .home-services{grid-template-columns:1fr}
  .home-service{padding:25px 14px;border-right:0;border-bottom:1px solid var(--line)}
  .home-service:last-child{border-bottom:0}
  .home-service h3{font-size:21px}

  .cable-section{padding:48px 0}
  .cable-grid{grid-template-columns:1fr;gap:25px}
  .cable-copy{order:1}
  .cable-art{order:2;height:235px}
  .cable-copy h2{font-size:36px}
  .feature-line{grid-template-columns:1fr;gap:3px;padding:15px 0}

  .blog-preview-grid{grid-template-columns:1fr;gap:18px}
  .blog-preview-grid h2{font-size:38px}
  .blog-answer{border-left-width:4px;padding-left:16px;font-size:16px}

  .rating-section{padding:48px 0}
  .rating-inner h2{font-size:36px;line-height:1.05}
  .rating-inner p{font-size:16px}

  .two-col-wide,.two-col,.commercial-grid{grid-template-columns:1fr;gap:26px}
  .location-intro h2{font-size:39px}
  .commercial-grid>div:last-child{order:1}
  .commercial-art{order:2;height:235px}
  .commercial-list{columns:1;padding-left:20px}

  .review-grid,.contact-grid,.footer-grid,.card-grid,.check-grid,.location-grid,.blog-grid,.job-photo-grid{grid-template-columns:1fr}
  .review-grid blockquote{min-height:0;padding:22px}
  .contact-grid{gap:28px}
  .contact-grid h2{font-size:32px}
  .quote-box{position:static;padding:25px}
  .footer-bottom{flex-direction:column}
  .footer-brand .brand-logo{width:205px}

  .page-title{padding:38px 0 30px}
  .page-title h1{font-size:40px;line-height:1.02}
  .page-lead{font-size:17px}
  .page-hero,.page-hero.compact{padding:42px 0}
  .page-hero h1{font-size:39px}
  .hero-copy{font-size:17px}
  .hero-actions{gap:9px}
  .hero-actions .btn{width:100%;text-align:center}
  .btn{padding:13px 16px}
  .breadcrumbs{font-size:12px;margin-bottom:17px}
  .cta-inner{flex-direction:column;align-items:flex-start}
  .cta-inner h2{font-size:30px}
  .nearby-link{font-size:14px}
  .job-placeholder{aspect-ratio:16/10}
}

/* Very narrow legacy phones: keep usable below Tilda's 320px artboard. */
@media (max-width:319.98px){
  .container{width:calc(100% - 20px)}
  .brand-logo{width:150px}
  .home-hero h1{font-size:42px}
  .home-hero{min-height:650px}
}


/* =========================================================
   V5 — HOMEPAGE VISUAL EFFECTS + IMAGE TREATMENT
   Effects are presentation-only; content remains in HTML.
   ========================================================= */

body.js-ready [data-reveal],
body.js-ready .reveal-item{
  opacity:0;
  transform:translate3d(0,34px,0);
  transition:
    opacity .78s cubic-bezier(.22,.61,.36,1),
    transform .9s cubic-bezier(.22,.61,.36,1),
    clip-path 1.05s cubic-bezier(.22,.61,.36,1),
    filter .85s ease;
  will-change:opacity,transform,clip-path;
}
body.js-ready [data-reveal="fade-up"].is-visible,
body.js-ready .reveal-item.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}
body.js-ready [data-reveal="zoom-in"]{
  transform:scale(.94);
  filter:saturate(.85);
}
body.js-ready [data-reveal="zoom-in"].is-visible{
  opacity:1;
  transform:scale(1);
  filter:saturate(1);
}
body.js-ready [data-reveal="clip-left"]{
  opacity:1;
  transform:none;
  clip-path:inset(0 100% 0 0);
}
body.js-ready [data-reveal="clip-left"].is-visible{
  clip-path:inset(0 0 0 0);
}
body.js-ready [data-reveal="clip-right"]{
  opacity:1;
  transform:none;
  clip-path:inset(0 0 0 100%);
}
body.js-ready [data-reveal="clip-right"].is-visible{
  clip-path:inset(0 0 0 0);
}

/* Hero sequence — Tilda-like staged entrance */
body.js-ready [data-hero-sequence] > *{
  opacity:0;
  transform:translate3d(0,24px,0);
  transition:opacity .7s ease,transform .85s cubic-bezier(.22,.61,.36,1);
}
body.js-ready [data-hero-sequence].is-ready > *{opacity:1;transform:none}
body.js-ready [data-hero-sequence].is-ready > *:nth-child(1){transition-delay:.08s}
body.js-ready [data-hero-sequence].is-ready > *:nth-child(2){transition-delay:.20s}
body.js-ready [data-hero-sequence].is-ready > *:nth-child(3){transition-delay:.34s}
body.js-ready [data-hero-sequence].is-ready > *:nth-child(4){transition-delay:.48s}

.photo-hero{background:#e8e8e6}
.photo-hero img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transform:scale(1.035);
  transition:transform 1.7s cubic-bezier(.22,.61,.36,1),filter 1.3s ease;
  filter:saturate(.92) contrast(.98);
}
body.js-ready .photo-hero img{transform:scale(1.075)}
body.js-ready.loaded .photo-hero img{transform:scale(1.035)}
.hero-photo-overlay{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#f4f4f2 0%,rgba(244,244,242,.82) 12%,rgba(244,244,242,.13) 52%,rgba(244,244,242,0) 72%);
}
.photo-hero:after{display:none}

/* Actual images */
.service-photo-strip{
  margin:0 0 34px;
  min-height:310px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  background:#1c2327;
  overflow:hidden;
}
.service-photo-strip img{width:100%;height:310px;object-fit:cover;display:block}
.service-photo-caption{
  padding:38px;color:#fff;display:flex;flex-direction:column;justify-content:center;
}
.service-photo-caption span{
  color:var(--yellow);text-transform:uppercase;font-size:11px;letter-spacing:.15em;font-weight:900;margin-bottom:8px;
}
.service-photo-caption strong{font-size:27px;line-height:1.18;font-weight:700}

.cable-photo,.commercial-photo{margin:0;overflow:hidden;min-height:390px;background:#dfe4e5}
.cable-photo img,.commercial-photo img{
  width:100%;height:100%;min-height:390px;display:block;object-fit:cover;
  transform:scale(1.06);
}
.cable-photo img{object-position:center}
.commercial-photo img{object-position:center}
[data-parallax] img{will-change:transform}

.homepage-image-strip{background:#11191d;padding:0;overflow:hidden}
.homepage-image-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.image-panel{margin:0;position:relative;overflow:hidden;min-height:390px;background:#222}
.image-panel img{
  width:100%;height:390px;display:block;object-fit:cover;
  transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .55s ease;
  filter:saturate(.85) contrast(1.02);
}
.image-panel:hover img{transform:scale(1.045);filter:saturate(1)}
.image-panel figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:60px 24px 22px;
  color:#fff;font-weight:800;font-size:18px;
  background:linear-gradient(transparent,rgba(0,0,0,.78));
}

/* Small movement cues that echo Tilda without heavy JS */
.trust-card img{transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.trust-card:hover img{transform:translateY(-5px) scale(1.04)}
.home-service{transition:background .35s ease,transform .45s cubic-bezier(.22,.61,.36,1)}
.home-service:hover{background:#f8fafb;transform:translateY(-3px)}
.hero-quote{transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
.hero-quote:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.15)}
.rating-section .stars{animation:starGlow 3.4s ease-in-out infinite}
@keyframes starGlow{
  0%,100%{letter-spacing:.12em;transform:scale(1)}
  50%{letter-spacing:.17em;transform:scale(1.025)}
}

/* Header scroll state */
.site-header{
  transition:height .3s ease,box-shadow .3s ease,background-color .3s ease;
}
.site-header.is-scrolled{
  box-shadow:0 9px 24px rgba(18,31,37,.09);
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(1.2) blur(10px);
}

/* FAQ polish */
.faq-list details{transition:background .25s ease,padding-left .25s ease,padding-right .25s ease}
.faq-list details[open]{background:#f8fafb;padding-left:14px;padding-right:14px}
.faq-list summary{list-style:none;position:relative;padding-right:34px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{
  content:"+";
  position:absolute;right:4px;top:-3px;font-size:28px;font-weight:400;color:var(--blue);
  transition:transform .28s ease;
}
.faq-list details[open] summary:after{transform:rotate(45deg)}

/* Responsive image composition */
@media (min-width:980px) and (max-width:1199.98px){
  .service-photo-strip img{height:290px}
  .service-photo-strip{min-height:290px}
  .image-panel,.image-panel img{height:330px;min-height:330px}
}
@media (min-width:640px) and (max-width:979.98px){
  .service-photo-strip{grid-template-columns:1fr}
  .service-photo-strip img{height:300px}
  .service-photo-caption{padding:28px}
  .cable-photo,.commercial-photo,.cable-photo img,.commercial-photo img{min-height:330px}
  .homepage-image-grid{grid-template-columns:1fr 1fr}
  .image-panel:last-child{grid-column:1 / -1}
  .image-panel,.image-panel img{height:300px;min-height:300px}
  .hero-photo-overlay{background:linear-gradient(#f4f4f2 0%,rgba(244,244,242,.45) 30%,rgba(244,244,242,0) 70%)}
}
@media (min-width:480px) and (max-width:639.98px){
  .service-photo-strip{grid-template-columns:1fr}
  .service-photo-strip img{height:260px}
  .service-photo-caption{padding:25px}
  .service-photo-caption strong{font-size:23px}
  .cable-photo,.commercial-photo,.cable-photo img,.commercial-photo img{min-height:270px}
  .homepage-image-grid{grid-template-columns:1fr}
  .image-panel,.image-panel img{height:300px;min-height:300px}
  .hero-photo-overlay{background:linear-gradient(#f4f4f2 0%,rgba(244,244,242,.47) 28%,rgba(244,244,242,0) 73%)}
}
@media (min-width:320px) and (max-width:479.98px){
  .service-photo-strip{grid-template-columns:1fr}
  .service-photo-strip img{height:220px}
  .service-photo-caption{padding:22px}
  .service-photo-caption strong{font-size:21px}
  .cable-photo,.commercial-photo,.cable-photo img,.commercial-photo img{min-height:235px}
  .homepage-image-grid{grid-template-columns:1fr}
  .image-panel,.image-panel img{height:270px;min-height:270px}
  .image-panel figcaption{font-size:16px}
  .hero-photo-overlay{background:linear-gradient(#f4f4f2 0%,rgba(244,244,242,.5) 27%,rgba(244,244,242,0) 72%)}
}

/* Respect accessibility and save battery/data-heavy movement */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  body.js-ready [data-reveal],body.js-ready .reveal-item,body.js-ready [data-hero-sequence]>*{
    opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important;
  }
  [data-parallax] img{transform:none!important}
}

/* V6 — complete local-image integration */
.brand-logo{object-fit:contain}
.article-feature-wrap{padding:42px 0 0;background:#fff}
.article-feature-image{margin:0;overflow:hidden;background:#eef1f2}
.article-feature-image img{display:block;width:100%;height:auto;max-height:600px;object-fit:cover}
.blog-card{overflow:hidden;padding:0}
.blog-card>*:not(.blog-card-image){margin-left:24px;margin-right:24px}
.blog-card>.eyebrow{margin-top:22px}
.blog-card>a:last-child{display:inline-block;margin-bottom:24px}
.blog-card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#e9edef}
.blog-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.blog-card:hover .blog-card-image img{transform:scale(1.035)}
.location-cover-band{background:#fff;padding:34px 0 0}
.location-cover-image{overflow:hidden;max-height:390px}
.location-cover-image img{width:100%;height:390px;object-fit:cover;display:block}
.original-image-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.original-image-grid figure{margin:0;background:#eef1f2;overflow:hidden}
.original-image-grid img{width:100%;height:260px;object-fit:cover;display:block}
.original-image-grid figcaption{padding:11px 13px;font-weight:800;font-size:14px}
.service-page-images{padding:34px 0 0}
.service-image-pair{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.service-image-pair figure{margin:0;overflow:hidden;background:#eef1f2}
.service-image-pair img{width:100%;height:360px;object-fit:cover;display:block}
.about-image-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.about-image-grid figure{margin:0;height:390px;overflow:hidden}
.about-image-grid img{width:100%;height:100%;object-fit:cover;display:block}
.area-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.area-photo-card{position:relative;display:block;min-height:240px;overflow:hidden;background:#ddd;color:#fff;text-decoration:none}
.area-photo-card img{width:100%;height:260px;object-fit:cover;display:block;transition:transform .55s ease}
.area-photo-card:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.area-photo-card span{position:absolute;left:18px;right:18px;bottom:15px;z-index:2;font-size:18px;font-weight:900}
.area-photo-card:hover img{transform:scale(1.045)}
.real-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.real-project-card{margin:0;overflow:hidden;background:#eef1f2}
.real-project-card img{display:block;width:100%;height:320px;object-fit:cover}
.real-project-card figcaption{padding:12px 14px;font-weight:800}
@media(max-width:979.98px){
  .original-image-grid,.area-photo-grid{grid-template-columns:repeat(2,1fr)}
  .real-project-grid{grid-template-columns:1fr 1fr}
  .real-project-card:last-child{grid-column:1/-1}
}
@media(max-width:639.98px){
  .article-feature-wrap{padding-top:24px}
  .location-cover-band{padding-top:22px}
  .location-cover-image img{height:240px}
  .original-image-grid,.service-image-pair,.about-image-grid,.area-photo-grid,.real-project-grid{grid-template-columns:1fr}
  .original-image-grid img,.service-image-pair img,.about-image-grid figure,.real-project-card img{height:260px}
  .area-photo-card img{height:240px}
  .real-project-card:last-child{grid-column:auto}
}


/* V7 — existing owner-approved privacy policy */
.privacy-copy{max-width:920px}
.privacy-copy p{margin:0 0 17px}
.privacy-copy strong,.privacy-copy b{font-weight:800}
.privacy-copy a{color:var(--blue-dark);overflow-wrap:anywhere}
.privacy-copy br{line-height:1.8}
.privacy-copy p:has(strong:first-child),
.privacy-copy p:has(b:first-child){margin-top:30px}


/* V9 — homepage visual corrections from preview review */
.home-hero-copy{width:min(640px,58%);padding:68px 0}
.home-hero h1{font-size:clamp(58px,6.7vw,86px);line-height:.95;margin:0 0 22px}
.home-hero-copy>p:not(.hero-kicker){font-size:17px;line-height:1.55;max-width:560px}
.photo-hero img{object-position:center right}
.hero-photo-overlay{
  background:linear-gradient(90deg,#f4f4f2 0%,rgba(244,244,242,.90) 15%,rgba(244,244,242,.23) 49%,rgba(244,244,242,0) 71%);
}

/* Make the light-blue eyebrow label larger sitewide */
.eyebrow{font-size:15px;letter-spacing:.16em;margin-bottom:9px}
.cable-copy .eyebrow,.light-heading .eyebrow,.cta-band .eyebrow{font-size:15px}
.feature-line span{font-size:13px}

/* Pic 2: slightly reduce question block size */
.blog-preview-grid h2{
  font-size:clamp(34px,4.2vw,58px);
  line-height:1.02;
}

/* Pic 3: slightly reduce this heading size */
.location-intro h2{
  font-size:clamp(38px,4.3vw,56px);
  line-height:1.02;
}

/* Pic 4: tighten line spacing */
.commercial-grid h2{
  font-size:clamp(39px,4vw,56px);
  line-height:.95;
  letter-spacing:-.02em;
  margin:8px 0 18px;
}

/* Make the hero composition feel closer to the original */
.home-hero{background:#f2f2f1}
.hero-tv-art{width:56%}
.home-hero-inner{position:relative;z-index:3}

/* Responsive tuning to keep those changes consistent */
@media (min-width:980px) and (max-width:1199.98px){
  .home-hero-copy{width:56%;padding:56px 0}
  .home-hero h1{font-size:68px}
  .blog-preview-grid h2{font-size:54px}
  .location-intro h2{font-size:50px}
  .commercial-grid h2{font-size:50px;line-height:.96}
  .eyebrow{font-size:14px}
}
@media (min-width:640px) and (max-width:979.98px){
  .home-hero-copy{width:100%;padding:58px 0 0;max-width:600px}
  .home-hero h1{font-size:64px}
  .eyebrow{font-size:14px}
  .blog-preview-grid h2{font-size:44px}
  .location-intro h2{font-size:46px}
  .commercial-grid h2{font-size:46px;line-height:.98}
}
@media (min-width:480px) and (max-width:639.98px){
  .eyebrow{font-size:13px}
  .blog-preview-grid h2{font-size:39px}
  .location-intro h2{font-size:40px}
  .commercial-grid h2{font-size:39px;line-height:.98}
}
@media (min-width:320px) and (max-width:479.98px){
  .eyebrow{font-size:13px}
  .home-hero h1{font-size:46px}
  .blog-preview-grid h2{font-size:35px}
  .location-intro h2{font-size:36px}
  .commercial-grid h2{font-size:35px;line-height:1}
}


/* V10 — follow-up homepage typography and hero-visibility refinements */

/* Make the hero background image more visible, especially the hand/remote */
.photo-hero img{
  object-position: 70% center;
  filter:saturate(.98) contrast(1.01);
}
.hero-photo-overlay{
  background:linear-gradient(
    90deg,
    rgba(244,244,242,0.96) 0%,
    rgba(244,244,242,0.78) 12%,
    rgba(244,244,242,0.18) 42%,
    rgba(244,244,242,0.02) 66%,
    rgba(244,244,242,0) 100%
  );
}
.hero-tv-art{width:58%}

/* Enlarge the light-blue eyebrow labels more */
.eyebrow{
  font-size:17px;
  letter-spacing:.17em;
  margin-bottom:10px;
}
.cable-copy .eyebrow,
.light-heading .eyebrow,
.cta-band .eyebrow{
  font-size:17px;
}
.feature-line span{font-size:14px}

/* Reduce the already-reduced large headings a bit more */
.blog-preview-grid h2{
  font-size:clamp(31px,3.9vw,54px);
  line-height:1.01;
}
.location-intro h2{
  font-size:clamp(35px,4.0vw,51px);
  line-height:1.01;
}

/* Loosen the previously tightened spacing slightly */
.commercial-grid h2{
  font-size:clamp(39px,4vw,56px);
  line-height:1.01;
  margin:8px 0 20px;
}

/* Responsive follow-through */
@media (min-width:980px) and (max-width:1199.98px){
  .eyebrow{font-size:16px}
  .blog-preview-grid h2{font-size:50px}
  .location-intro h2{font-size:46px}
  .commercial-grid h2{font-size:48px;line-height:1}
  .photo-hero img{object-position:72% center}
}
@media (min-width:640px) and (max-width:979.98px){
  .eyebrow{font-size:15px}
  .blog-preview-grid h2{font-size:40px}
  .location-intro h2{font-size:42px}
  .commercial-grid h2{font-size:43px;line-height:1}
  .photo-hero img{object-position:68% center}
}
@media (min-width:480px) and (max-width:639.98px){
  .eyebrow{font-size:14px}
  .blog-preview-grid h2{font-size:36px}
  .location-intro h2{font-size:37px}
  .commercial-grid h2{font-size:37px;line-height:1.01}
  .photo-hero img{object-position:66% center}
  .hero-photo-overlay{
    background:linear-gradient(
      180deg,
      rgba(244,244,242,0.92) 0%,
      rgba(244,244,242,0.60) 22%,
      rgba(244,244,242,0.12) 56%,
      rgba(244,244,242,0) 100%
    );
  }
}
@media (min-width:320px) and (max-width:479.98px){
  .eyebrow{font-size:14px}
  .blog-preview-grid h2{font-size:33px}
  .location-intro h2{font-size:34px}
  .commercial-grid h2{font-size:33px;line-height:1.02}
  .photo-hero img{object-position:64% center}
  .hero-photo-overlay{
    background:linear-gradient(
      180deg,
      rgba(244,244,242,0.90) 0%,
      rgba(244,244,242,0.56) 24%,
      rgba(244,244,242,0.10) 58%,
      rgba(244,244,242,0) 100%
    );
  }
}


/* V11 — stronger repeat of homepage refinements + header closer to original */

/* ===== Header closer to original ===== */
.site-header{
  height:116px;
  background:#f5f5f4;
  border-bottom:none;
}
.header-inner{
  height:116px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:22px;
}
.brand{
  display:flex;
  align-items:center;
}
.brand-logo{
  width:160px;
  height:108px;
  object-fit:contain;
}
.main-nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:36px;
}
.main-nav a{
  font-size:17px;
  font-weight:700;
  letter-spacing:.01em;
  color:#191846;
  text-transform:uppercase;
  text-decoration:none;
}
.main-nav a:hover{
  color:#191846;
  text-decoration:underline;
  text-underline-offset:10px;
  text-decoration-thickness:2px;
}
.header-phone{
  font-size:18px;
  font-weight:800;
  color:#18a9d8;
  letter-spacing:.01em;
}
.site-header.is-scrolled{
  background:rgba(245,245,244,.96);
}
body:has(main .blog-preview-grid) .main-nav a[href="/blog"],
body:has(main .blog-index-page) .main-nav a[href="/blog"],
body:has(main .page-title h1) .main-nav a[href="/blog"]{
  text-underline-offset:10px;
}

/* ===== Repeat previous correction set more strongly ===== */

/* Hero image: reveal more of hand/remote and weaken washout more */
.hero-tv-art{width:60%}
.photo-hero img{
  object-position:78% center;
  filter:saturate(1) contrast(1.03);
}
.hero-photo-overlay{
  background:linear-gradient(
    90deg,
    rgba(244,244,242,0.92) 0%,
    rgba(244,244,242,0.68) 10%,
    rgba(244,244,242,0.12) 36%,
    rgba(244,244,242,0.00) 60%,
    rgba(244,244,242,0.00) 100%
  );
}

/* Reduce the previously reduced headings even more */
.blog-preview-grid h2{
  font-size:clamp(28px,3.55vw,49px);
  line-height:1;
}
.location-intro h2{
  font-size:clamp(33px,3.7vw,47px);
  line-height:1;
}

/* Enlarge blue eyebrow labels even more */
.eyebrow{
  font-size:19px;
  letter-spacing:.18em;
  margin-bottom:11px;
}
.cable-copy .eyebrow,
.light-heading .eyebrow,
.cta-band .eyebrow{
  font-size:19px;
}
.feature-line span{
  font-size:15px;
}

/* Loosen line spacing a bit more after last change */
.commercial-grid h2{
  font-size:clamp(39px,4vw,56px);
  line-height:1.06;
  margin:8px 0 20px;
}

/* Responsive header/typography */
@media (min-width:980px) and (max-width:1199.98px){
  .site-header,.header-inner{height:104px}
  .brand-logo{width:145px;height:96px}
  .main-nav{gap:28px}
  .main-nav a{font-size:15px}
  .header-phone{font-size:17px}
  .eyebrow{font-size:17px}
  .blog-preview-grid h2{font-size:44px}
  .location-intro h2{font-size:42px}
  .commercial-grid h2{font-size:46px;line-height:1.05}
  .photo-hero img{object-position:76% center}
}
@media (min-width:640px) and (max-width:979.98px){
  .site-header,.header-inner{height:86px}
  .brand-logo{width:120px;height:80px}
  .main-nav{top:86px}
  .eyebrow{font-size:15px}
  .blog-preview-grid h2{font-size:37px}
  .location-intro h2{font-size:38px}
  .commercial-grid h2{font-size:41px;line-height:1.04}
  .photo-hero img{object-position:72% center}
}
@media (min-width:480px) and (max-width:639.98px){
  .site-header,.header-inner{height:78px}
  .brand-logo{width:108px;height:72px}
  .main-nav{top:78px}
  .eyebrow{font-size:15px}
  .blog-preview-grid h2{font-size:33px}
  .location-intro h2{font-size:34px}
  .commercial-grid h2{font-size:35px;line-height:1.04}
  .photo-hero img{object-position:70% center}
}
@media (min-width:320px) and (max-width:479.98px){
  .site-header,.header-inner{height:74px}
  .brand-logo{width:98px;height:66px}
  .main-nav{top:74px}
  .eyebrow{font-size:15px}
  .blog-preview-grid h2{font-size:30px}
  .location-intro h2{font-size:31px}
  .commercial-grid h2{font-size:31px;line-height:1.05}
  .photo-hero img{object-position:68% center}
}

/* Keep the mobile menu usable after header changes */
@media (max-width:979.98px){
  .header-inner{
    display:flex;
    gap:14px;
  }
  .main-nav{
    position:absolute;
    left:0;
    right:0;
    justify-self:stretch;
    background:#f5f5f4;
  }
}


/* V12 — restore v10 hero transparency while retaining v11 positioning/header */
.hero-photo-overlay{
  background:linear-gradient(
    90deg,
    rgba(244,244,242,0.96) 0%,
    rgba(244,244,242,0.78) 12%,
    rgba(244,244,242,0.18) 42%,
    rgba(244,244,242,0.02) 66%,
    rgba(244,244,242,0) 100%
  );
}
@media (min-width:480px) and (max-width:639.98px){
  .hero-photo-overlay{
    background:linear-gradient(
      180deg,
      rgba(244,244,242,0.92) 0%,
      rgba(244,244,242,0.60) 22%,
      rgba(244,244,242,0.12) 56%,
      rgba(244,244,242,0) 100%
    );
  }
}
@media (min-width:320px) and (max-width:479.98px){
  .hero-photo-overlay{
    background:linear-gradient(
      180deg,
      rgba(244,244,242,0.90) 0%,
      rgba(244,244,242,0.56) 24%,
      rgba(244,244,242,0.10) 58%,
      rgba(244,244,242,0) 100%
    );
  }
}


/* V13 — restore homepage section headlines to title/sentence case and
   refine the hero image to match the reference screenshot more closely */
.hero-tv-art{
  width:59%;
}
.photo-hero img{
  object-position:74% center;
  filter:saturate(.99) contrast(1.02);
}
.hero-photo-overlay{
  background:linear-gradient(
    90deg,
    rgba(244,244,242,0.95) 0%,
    rgba(244,244,242,0.84) 12%,
    rgba(244,244,242,0.36) 35%,
    rgba(244,244,242,0.08) 58%,
    rgba(244,244,242,0.00) 100%
  );
}

/* Maintain a softer left-side wash but keep the remote clearly visible */
@media (min-width:980px) and (max-width:1199.98px){
  .photo-hero img{object-position:73% center}
}
@media (min-width:640px) and (max-width:979.98px){
  .photo-hero img{object-position:71% center}
}
@media (min-width:480px) and (max-width:639.98px){
  .photo-hero img{object-position:69% center}
  .hero-photo-overlay{
    background:linear-gradient(
      180deg,
      rgba(244,244,242,0.92) 0%,
      rgba(244,244,242,0.68) 18%,
      rgba(244,244,242,0.22) 48%,
      rgba(244,244,242,0.00) 100%
    );
  }
}
@media (min-width:320px) and (max-width:479.98px){
  .photo-hero img{object-position:67% center}
  .hero-photo-overlay{
    background:linear-gradient(
      180deg,
      rgba(244,244,242,0.90) 0%,
      rgba(244,244,242,0.66) 20%,
      rgba(244,244,242,0.20) 50%,
      rgba(244,244,242,0.00) 100%
    );
  }
}

/* V16 — iPhone/mobile correction: keep navigation collapsed and restore full-width hero photo */
@media (max-width:979.98px){
  /* V11's later desktop nav rule was overriding the earlier mobile display:none. */
  .main-nav{
    display:none;
    z-index:60;
    width:100%;
    left:0;
    right:0;
  }
  .main-nav.open{display:flex;}

  /* V13's later 59% hero width was overriding the earlier mobile 100% rule. */
  .hero-tv-art{
    left:0;
    right:0;
    width:100%;
  }
}

@media (min-width:640px) and (max-width:979.98px){
  .hero-tv-art{height:320px;}
  .photo-hero img{object-position:71% center;}
}

@media (min-width:480px) and (max-width:639.98px){
  .hero-tv-art{height:300px;}
  .photo-hero img{object-position:69% center;}
}

@media (max-width:479.98px){
  .hero-tv-art{
    height:285px;
    bottom:0;
    top:auto;
  }
  .photo-hero img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:67% center;
  }
}

/* V17 — justify the homepage hero paragraph on mobile */
@media (max-width:979.98px){
  .home-hero-copy > p:not(.hero-kicker){
    text-align:justify;
    text-align-last:left;
    hyphens:auto;
  }
}

/* V18 — make the mobile hero paragraph span the full content width */
@media (max-width:479.98px){
  .home-hero-copy > p:not(.hero-kicker){
    width:100%;
    max-width:none;
    text-align:justify;
    text-align-last:left;
    hyphens:auto;
  }
  .home-hero-copy > p:not(.hero-kicker) br{
    display:none;
  }
}

/* V19 — full-width mobile paragraph, justified without splitting words */
@media (max-width:479.98px){
  .home-hero-copy > p:not(.hero-kicker){
    width:100%;
    max-width:none;
    text-align:justify;
    text-align-last:left;
    text-justify:inter-word;
    -webkit-hyphens:none;
    hyphens:none;
    word-break:normal;
    overflow-wrap:normal;
    letter-spacing:-0.01em;
  }
}
