/* Site redesign: homepage, shared navigation and interior-page polish. */
:root{--blue:#287fd3;--blue-2:#8cc9f4;--blue-3:#d8efff;--max:1200px}
html{scroll-padding-top:90px}
body{background:#08121d}
.utility-bar{background:#07111b;border-bottom:1px solid rgba(255,255,255,.1);color:#b8c8d6;font-size:.75rem;letter-spacing:.04em}
.utility-inner{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.utility-inner a{color:#e9f6ff}.utility-inner strong{color:#fff}
.site-header{background:rgba(7,17,27,.96);border-bottom:1px solid rgba(255,255,255,.1)}
.nav-wrap{min-height:76px}
.brand-mark{width:42px;height:42px;border-radius:8px;background:#1f6eb5;border:1px solid #6fbdf4;box-shadow:none;font-size:.79rem}
.brand-copy strong{font-size:.96rem}.brand-copy small{font-size:.65rem;letter-spacing:.18em}
.site-nav{gap:27px;font-size:.86rem;font-weight:700}
.nav-cta,.btn-primary{background:#277fcb;box-shadow:none;color:#fff}
.nav-cta{border-radius:7px;padding:11px 16px}.nav-cta span{margin-left:8px}
.btn{border-radius:7px;min-height:52px;gap:20px;letter-spacing:.01em}
.btn-primary:hover,.nav-cta:hover{background:#186cb7}
.btn:focus-visible,.site-nav a:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #8cc9f4;outline-offset:3px}
.eyebrow{color:#8cc9f4;letter-spacing:.16em}

/* Homepage */
.home-page{color:#13202d;background:#f3f4f2}
.home-hero{background:#08121d;color:#fff;overflow:hidden}
.home-hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center;padding-block:72px 76px}
.home-hero-copy{position:relative;z-index:2;padding-block:20px}
.home-hero .eyebrow{margin-bottom:24px}
.home-hero h1{margin:0 0 26px;font-size:clamp(3.45rem,6.3vw,6.75rem);line-height:.96;letter-spacing:-.07em;font-weight:850}
.home-page h1 em,.home-page h2 em{font-style:normal;color:#65b5ea}
.home-hero-lead{font-size:1.12rem;line-height:1.68;color:#c6d3df;max-width:540px;margin:0 0 32px}
.home-hero .hero-actions{margin:0 0 29px}.home-hero .btn-secondary{border:1px solid #547088;color:#f6fbff;background:transparent}
.hero-location{border-top:1px solid #2c3d4a;padding-top:21px;color:#9bacbc;font-size:.86rem;margin:0;max-width:520px}.hero-location span{color:#60a9db;margin:0 7px}
.home-hero-media{height:555px;position:relative;border-radius:12px;overflow:hidden;background:#142337}
.home-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(3,13,22,.68))}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.photo-caption{position:absolute;z-index:1;bottom:25px;left:27px;color:#fff;font-size:.84rem;font-weight:750;letter-spacing:.035em}
.caption-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7bc6f1;margin-right:8px}
.quick-intro{background:#fff;border-bottom:1px solid #e2e7ea}
.quick-intro-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.quick-intro-grid>div{padding:29px 26px 29px 0;border-right:1px solid #e2e7ea;margin-right:26px}
.quick-intro-grid>div:last-child{border-right:0;margin-right:0}
.quick-intro-grid span{display:inline-block;color:#297dbe;font-weight:900;font-size:.78rem;letter-spacing:.11em;margin-bottom:7px}
.quick-intro-grid strong{display:block;font-size:1rem;color:#112235}
.quick-intro-grid p{margin:3px 0 0;color:#596b7b;font-size:.88rem}
.home-page .section{padding:100px 0}
.section-heading-row{display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:end;margin-bottom:36px}
.home-page h2{font-size:clamp(2.6rem,4.9vw,5rem);line-height:1.02;letter-spacing:-.06em;margin:0;font-weight:850}
.home-page .section-heading-row h2 em,.home-page .area-layout h2 em{color:#267dc0}
.section-heading-row>p{color:#596b79;font-size:1.03rem;line-height:1.65;margin:0 0 5px}
.home-services{background:#f4f5f3}
.home-services .eyebrow,.area-layout .eyebrow{color:#2678bb}
.feature-services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature-service{position:relative;min-height:390px;overflow:hidden;border-radius:10px;background:#142232;color:#fff}
.feature-service img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .35s}
.feature-service:hover img{transform:scale(1.045)}
.feature-service:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,13,22,.05) 5%,rgba(3,13,22,.25) 35%,rgba(3,13,22,.91) 100%)}
.feature-text{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:26px}
.feature-text small{display:block;text-transform:uppercase;letter-spacing:.15em;color:#a3dafa;font-weight:900;font-size:.72rem;margin-bottom:8px}
.feature-text strong{display:block;font-size:1.55rem;line-height:1.15;letter-spacing:-.04em;max-width:260px}
.feature-text>span{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.35);padding-top:14px;margin-top:24px;font-size:.85rem;font-weight:800}
.feature-text b{font-size:1.2rem;font-weight:500}
.more-services{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:18px}
.more-services a{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:76px;padding:16px 15px;background:#fff;border:1px solid #dce4e9;border-radius:7px;color:#172737;font-size:.88rem;font-weight:800}
.more-services a:hover{border-color:#579bc8;color:#146cab}.more-services span{color:#287fbe}
.section-caveat{color:#677986;font-size:.84rem;margin:20px 0 0}
.mobile-value{background:#fff}
.value-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(35px,7vw,95px);align-items:center}
.value-media{position:relative;min-height:550px;border-radius:10px;overflow:hidden;background:#253444}
.value-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.value-media-label{position:absolute;bottom:20px;left:20px;background:#08121d;color:#fff;padding:15px 20px;border-radius:6px;font-size:.85rem;font-weight:800}
.value-copy .eyebrow{color:#2678bb}.value-copy h2 em{color:#267dc0}
.value-copy>p:not(.eyebrow){font-size:1.07rem;color:#596b79;line-height:1.7;margin:24px 0}
.value-copy ul{padding:0;list-style:none;margin:0 0 28px}.value-copy li{padding:11px 0;border-bottom:1px solid #e0e6e9;font-weight:700}
.value-copy li span{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e2f1fa;color:#1677bd;margin-right:12px}
.text-link{color:#126ba9;font-weight:900;border-bottom:2px solid #126ba9;padding-bottom:5px}.text-link span{margin-left:10px}
.home-page .area-section{background:#e9f1f5;border-top:0}
.area-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;align-items:center}
.area-layout>div:first-child>p:not(.eyebrow){font-size:1.02rem;line-height:1.68;color:#556b7b;max-width:420px;margin:22px 0 26px}
.home-page .area-grid{grid-template-columns:repeat(2,1fr);gap:12px}
.home-page .area-card{background:#fff;color:#142538;border:1px solid #cddce5;box-shadow:none;min-height:88px;border-radius:7px;font-size:1rem}
.home-page .area-card:hover{border-color:#458ec4}
.home-page .process-section{background:#0b1b29;color:#fff}
.home-page .process-section .section-heading-row>p{color:#a9bbca}
.home-page .process-step{background:#122b3d;border:1px solid #28506a;border-radius:8px;min-height:240px}
.home-page .process-step>span{background:none;color:#7fc5f2;display:block;width:auto;height:auto;text-align:left;font-size:.87rem;letter-spacing:.12em}
.home-page .process-step h3{font-size:1.3rem;margin-top:36px}
.home-page .process-step p{color:#acbdc9}
.home-page .contact-section{background:#0a1723;color:#fff;border-top:1px solid #183b54}
.home-page .contact-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,90px)}
.home-page .contact-copy h2 em{color:#74bfee}.home-page .contact-copy>p:not(.eyebrow){color:#b4c3d0;line-height:1.65;margin:22px 0}
.home-page .contact-link{background:#132a3b;border:1px solid #31506a;border-radius:7px}
.home-page .contact-link strong{overflow-wrap:anywhere}.contact-aside{font-size:.9rem}.contact-aside a{color:#8bd0ff;text-decoration:underline;text-underline-offset:3px}
.home-page .service-form{box-shadow:0 20px 60px rgba(0,0,0,.22);border-radius:9px}
.site-footer{background:#061019}.home-page .footer-brand img{width:210px;height:auto;mix-blend-mode:screen}.home-page .footer-brand p{color:#a6b6c3;margin:0}.home-page .footer-bottom{color:#93a7b6}
.mobile-action-bar{display:none}

/* Interior pages keep their existing copy and links, with real photography. */
.page-hero{background:linear-gradient(90deg,rgba(4,13,22,.95) 0%,rgba(4,13,22,.88) 58%,rgba(4,13,22,.55) 100%),url('assets/photos/hero-outdoor-repair.jpg') center/cover;border-bottom:1px solid #31506a}
.page-hero h1{max-width:900px}.page-hero .lead{color:#d5e1e9}
.info-panel,.related-card,.faq-item{border-radius:9px}
.site-footer .footer-bottom{flex-wrap:wrap}

@media(max-width:1100px){.home-hero-grid{gap:26px}.home-hero-media{height:490px}.more-services{grid-template-columns:repeat(3,1fr)}.area-layout{gap:32px}}
@media(max-width:900px){.home-hero-grid,.section-heading-row,.value-grid,.area-layout,.home-page .contact-grid{grid-template-columns:1fr}.home-hero-grid{padding-block:54px}.home-hero-media{height:430px}.feature-services{grid-template-columns:repeat(2,1fr)}.feature-service{min-height:350px}.value-media{min-height:420px}.home-page .section{padding:76px 0}.site-nav{top:76px}.utility-bar{display:none}}
@media(max-width:650px){body.home-page{padding-bottom:64px}.home-hero-grid{padding-block:44px 36px}.home-hero h1{font-size:clamp(3.1rem,12vw,5rem)}.home-hero-lead{font-size:1rem}.home-hero-media{height:315px}.hero-location{font-size:.78rem}.quick-intro-grid{grid-template-columns:1fr}.quick-intro-grid>div{border-right:0;border-bottom:1px solid #e2e7ea;margin-right:0;padding:18px 0}.quick-intro-grid>div:last-child{border-bottom:0}.home-page .section{padding:62px 0}.feature-services,.more-services,.home-page .area-grid{grid-template-columns:1fr}.feature-service{min-height:330px}.more-services a{min-height:60px}.value-media{min-height:310px}.value-media-label{font-size:.75rem;max-width:230px}.home-page h2{font-size:clamp(2.5rem,11vw,4rem)}.home-page .area-card{min-height:66px}.home-page .process-step{min-height:190px}.home-page .contact-link{flex-direction:row;align-items:center}.home-page .footer-brand img{width:175px}.mobile-action-bar{display:grid;grid-template-columns:1fr 1fr 1.3fr;position:fixed;bottom:0;left:0;right:0;z-index:80;background:#071421;border-top:1px solid #31506a;padding:7px 8px max(7px,env(safe-area-inset-bottom));gap:6px}.mobile-action-bar a{display:grid;place-items:center;min-height:43px;border:1px solid #335a76;border-radius:5px;color:white;font-size:.84rem;font-weight:850}.mobile-action-bar a:last-child{background:#277fcb;border-color:#277fcb}.site-nav{top:76px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.feature-service img,.area-card{transition:none}}
