:root{--ink: #172126;--muted: #667278;--blue: #0087a8;--blue-dark: #006c86;--cream: #f5f2ec;--line: #dce2e3;--white: #fff;--content: 1180px;--shadow: 0 18px 55px rgba(16, 35, 42, .11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding-top:88px;overflow-x:hidden;color:var(--ink);font-family:Segoe UI,Arial,sans-serif;font-size:17px;line-height:1.65;background:var(--white)}img{display:block;max-width:100%}a{color:inherit}.container{width:min(calc(100% - 40px),var(--content));margin-inline:auto}.eyebrow{margin:0 0 12px;color:var(--blue-dark);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}h1,h2,h3{margin:0;line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(2.7rem,6vw,5.5rem);font-weight:750}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:1.35rem}p{margin:0 0 1.15rem}.lead{color:#435158;font-size:clamp(1.08rem,2vw,1.3rem)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 22px;border:1px solid var(--blue);background:var(--blue);color:#fff;font-weight:750;text-decoration:none;transition:.2s ease}.button:hover{background:var(--blue-dark);border-color:var(--blue-dark);transform:translateY(-2px)}.button--light{border-color:#fff;background:#fff;color:var(--ink)}.text-link{color:var(--blue-dark);font-weight:750;text-decoration-thickness:1px;text-underline-offset:5px}.site-header{position:fixed;z-index:20;top:0;right:0;left:0;border-bottom:1px solid rgba(20,34,40,.1);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .28s ease,box-shadow .28s ease;will-change:transform}.site-header.is-hidden{transform:translateY(-105%)}.site-header.is-scrolled{box-shadow:0 8px 24px #10232a17}.nav{display:flex;min-height:88px;align-items:center;justify-content:space-between;gap:28px}.brand img{width:224px}.nav-links{display:flex;align-items:center;gap:32px}.nav-links a{position:relative;font-size:.95rem;font-weight:700;text-decoration:none}.nav-links a:not(.button):after{position:absolute;right:0;bottom:-9px;left:0;height:2px;background:var(--blue);content:"";transform:scaleX(0);transition:transform .2s}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{transform:scaleX(1)}.nav-links .button{color:#fff}.menu-button{display:none;border:0;background:transparent;font:inherit;font-weight:750}.hero{overflow:hidden;background:var(--cream)}.hero-grid{display:grid;min-height:660px;grid-template-columns:1.02fr .98fr}.hero-copy{display:flex;max-width:640px;padding:92px 52px 92px max(20px,calc((100vw - var(--content)) / 2));flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy .lead{max-width:590px;margin:28px 0 34px}.hero-visual{position:relative;min-height:520px;background:linear-gradient(135deg,#31515a,#87a4a6)}.hero-visual:after{position:absolute;inset:24px;border:1px solid rgba(255,255,255,.48);content:""}.photo-placeholder{display:flex;position:relative;min-height:100%;padding:32px;align-items:flex-end;background:linear-gradient(145deg,#004e6259,#0a181c8c),repeating-linear-gradient(115deg,#82999d 0 2px,#758d91 2px 7px);color:#fff}.photo-label{position:relative;z-index:1;max-width:250px;border-left:3px solid #fff;padding-left:16px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-badge{position:absolute;z-index:2;bottom:0;left:0;width:190px;padding:24px;background:var(--blue);color:#fff}.hero-badge strong{display:block;font-size:2.6rem;line-height:1}.hero-badge span{font-size:.88rem}.section{padding:110px 0}.section--cream{background:var(--cream)}.section--dark{background:var(--ink);color:#fff}.section-head{display:flex;margin-bottom:48px;align-items:end;justify-content:space-between;gap:36px}.section-head h2{max-width:680px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{display:flex;min-height:360px;padding:32px;border-top:4px solid var(--blue);background:#fff;box-shadow:0 8px 30px #1222280f;flex-direction:column}.service-card h3{margin-top:34px}.service-card p{color:var(--muted)}.service-card .text-link{margin-top:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split-copy>p:not(.eyebrow){color:var(--muted)}.photo-frame{min-height:480px;box-shadow:var(--shadow)}.photo-frame .photo-placeholder{min-height:480px}.check-list{display:grid;margin:28px 0 34px;padding:0;gap:10px;list-style:none}.check-list li{position:relative;padding-left:28px}.check-list li:before{position:absolute;left:0;color:var(--blue);content:"✓";font-weight:900}.emergency{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.emergency-mark{display:flex;width:min(100%,360px);aspect-ratio:1;border:1px solid rgba(255,255,255,.22);border-radius:50%;align-items:center;justify-content:center}.emergency-mark span{color:#fff;font-size:clamp(3.6rem,6vw,5.2rem);font-weight:800;letter-spacing:-.08em}.emergency-copy .eyebrow{color:#62d0e7}.emergency-copy p{max-width:670px;color:#c9d0d2}.emergency-phone{display:inline-block;margin:8px 0 28px;color:#fff;font-size:clamp(1.7rem,4vw,3.1rem);font-weight:800;line-height:1;text-decoration:none}.project-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:290px 290px;gap:18px}.project-grid .photo-placeholder:first-child{grid-row:1 / 3}.cta{display:flex;padding:58px;background:var(--blue);color:#fff;align-items:center;justify-content:space-between;gap:32px}.cta h2{max-width:650px}.reviews-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:stretch}.rating-card{display:flex;padding:44px;background:var(--blue);color:#fff;flex-direction:column;justify-content:space-between}.rating-number{display:block;font-size:clamp(4.5rem,10vw,7.5rem);font-weight:800;line-height:.9;letter-spacing:-.07em}.stars{margin:18px 0 8px;color:#ffd66b;font-size:1.45rem;letter-spacing:.12em}.rating-card p{color:#ffffffd1}.review-card{padding:48px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 35px #1222280f}.review-card blockquote{margin:0 0 30px;font-size:clamp(1.15rem,2vw,1.42rem);line-height:1.65}.review-author{display:flex;align-items:center;gap:14px}.review-avatar{display:grid;width:46px;height:46px;border-radius:50%;background:var(--cream);color:var(--blue-dark);font-weight:800;place-items:center}.review-author small{display:block;color:var(--muted)}.review-note{margin-top:20px;color:var(--muted);font-size:.78rem}.page-hero{padding:100px 0 82px;background:var(--cream)}.page-hero p{max-width:700px;margin-top:24px}.content-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:85px}.sticky-title{position:sticky;top:130px;align-self:start}.service-detail{padding:0 0 70px;border-bottom:1px solid var(--line);margin-bottom:70px}.service-detail:last-child{border:0;margin-bottom:0}.service-detail h2{margin-bottom:24px;font-size:clamp(1.9rem,3vw,2.8rem)}.service-detail .photo-placeholder{min-height:330px;margin-top:30px}.two-col-list{columns:2;column-gap:38px;padding-left:20px}.two-col-list li{margin-bottom:8px;break-inside:avoid}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.value{padding:36px;background:#fff}.value span{display:block;margin-bottom:24px;color:var(--blue);font-weight:800}.company-history{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.company-history .eyebrow{color:#62d0e7}.company-history p{color:#c9d0d2}.customer-section{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.customer-section>div{max-width:570px}.customer-types{display:grid;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}.customer-types li{display:flex;min-height:76px;padding:14px 4px;border-bottom:1px solid var(--line);align-items:center}.customer-types li:before{width:9px;height:9px;margin-right:18px;background:var(--blue);content:"";transform:rotate(45deg)}.customer-types span{font-size:1.12rem;font-weight:750}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.contact-list{padding:0;list-style:none}.contact-list li{margin-bottom:24px}.contact-list small{display:block;color:var(--muted);font-weight:700}.contact-list a{font-weight:750;text-decoration:none}.contact-form{padding:44px;background:var(--cream)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;margin-bottom:18px;font-size:.86rem;font-weight:750}input,textarea,select{width:100%;margin-top:7px;padding:14px;border:1px solid #c8d0d2;border-radius:0;background:#fff;color:var(--ink);font:inherit}input,textarea,select,button{font-size:16px}textarea{min-height:150px;resize:vertical}.contact-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}.contact-intro .lead{max-width:720px}.contact-meta{display:flex;padding-bottom:8px;gap:30px;justify-content:flex-end}.contact-meta div{padding-left:18px;border-left:2px solid var(--blue)}.contact-meta small{display:block;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contact-meta a{font-weight:800;text-decoration:none}.contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:24px;align-items:start}.contact-sidebar{display:grid;gap:18px}.contact-panel{padding:34px;border:1px solid var(--line);background:#fff}.contact-panel h2{margin-bottom:24px;font-size:1.65rem}.contact-panel .contact-list{margin:0}.contact-panel--emergency{border:0;background:var(--ink);color:#fff}.contact-panel--emergency .eyebrow{color:#62d0e7}.contact-panel--emergency p{color:#c9d0d2}.contact-panel--emergency .emergency-phone{margin:10px 0 0;font-size:1.75rem}.project-form{padding:clamp(30px,5vw,58px);background:var(--cream)}.project-form-head{display:grid;margin-bottom:38px;grid-template-columns:1fr auto;gap:30px;align-items:start}.project-form-head h2{max-width:550px}.form-step{color:var(--blue-dark);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.project-form fieldset{margin:0 0 30px;padding:0;border:0}.project-form legend{width:100%;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid #d6d9d5;font-weight:800}.service-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.service-option{position:relative;margin:0}.service-option input{position:absolute;width:1px;height:1px;opacity:0}.service-option span{display:flex;min-height:50px;padding:10px 12px;border:1px solid #c8d0d2;background:#fff;align-items:center;justify-content:center;text-align:center;transition:.2s ease}.service-option input:checked+span{border-color:var(--blue);background:var(--blue);color:#fff}.service-option input:focus-visible+span{outline:3px solid rgba(0,135,168,.3);outline-offset:2px}.form-note{max-width:560px;margin:14px 0 0;color:var(--muted);font-size:.8rem}.visit-strip{display:grid;grid-template-columns:1fr 1fr;min-height:340px}.visit-copy{display:flex;padding:clamp(36px,6vw,70px);background:var(--blue);color:#fff;flex-direction:column;align-items:flex-start;justify-content:center}.visit-copy .eyebrow{color:#d6f6fc}.visit-copy p{color:#ffffffd1}.visit-visual{display:flex;position:relative;padding:38px;overflow:hidden;background:var(--ink);color:#fff;align-items:flex-end}.visit-visual:before,.visit-visual:after{position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;content:""}.visit-visual:before{width:360px;height:360px;top:-170px;right:-80px}.visit-visual:after{width:210px;height:210px;right:110px;bottom:-120px}.address-pin{position:relative;z-index:1}.address-pin strong{display:block;margin-bottom:8px;font-size:1.4rem}.site-footer{padding:76px 0 28px;background:#101a1e;color:#d1d8da}.footer-grid{display:grid;margin-bottom:62px;grid-template-columns:1.5fr 1fr 1fr;gap:70px}.footer-logo{width:240px;margin-bottom:20px;background:#fff}.site-footer h3{margin-bottom:18px;color:#fff;font-size:1rem;letter-spacing:.02em}.site-footer p,.site-footer a{color:#abb6ba}.footer-links{display:grid;padding:0;gap:8px;list-style:none}.footer-links a{text-decoration:none}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;padding-top:22px;border-top:1px solid #2c383d;color:#849197;font-size:.82rem;justify-content:space-between}@media(max-width:850px){body{padding-top:74px;font-size:16px}.nav{min-height:74px}.brand img{width:185px}.menu-button{display:block}.nav-links{display:none;position:fixed;top:74px;right:0;left:0;max-height:calc(100dvh - 74px);padding:20px;overflow-y:auto;border-top:1px solid var(--line);background:#fff;box-shadow:0 18px 30px #0000001f;flex-direction:column;align-items:stretch;gap:4px}.nav-links.is-open{display:flex}.nav-links a{display:flex;min-height:52px;padding:10px 4px;align-items:center}.nav-links .button{margin-top:8px;padding-inline:18px;justify-content:center}.nav-links a:not(.button):after{bottom:4px}.hero-grid,.split,.emergency,.content-grid,.contact-grid,.reviews-layout,.contact-intro,.contact-layout,.company-history,.customer-section{grid-template-columns:1fr}.hero-copy{padding:72px 20px}.hero-visual{min-height:420px}.section{padding:78px 0}.service-grid,.values{grid-template-columns:1fr}.service-card{min-height:290px}.section-head{align-items:start;flex-direction:column}.split,.emergency{gap:40px}.emergency-mark{max-width:250px}.project-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,300px)}.project-grid .photo-placeholder:first-child{grid-row:auto}.cta{padding:38px 28px;align-items:flex-start;flex-direction:column}.sticky-title{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1 / -1}.contact-meta{justify-content:flex-start}.visit-strip{grid-template-columns:1fr}.visit-visual{min-height:260px}.contact-list a,.site-footer a{overflow-wrap:anywhere}.company-history,.customer-section{gap:40px}}@media(max-width:520px){.container{width:min(calc(100% - 28px),var(--content))}h1{font-size:clamp(2.25rem,12vw,2.65rem)}h2{font-size:clamp(1.8rem,9vw,2.35rem)}.button{width:100%;min-height:54px;padding-inline:16px;text-align:center}.hero-copy{padding-inline:14px}.hero-copy .lead{margin-block:22px 28px}.hero-visual{min-height:340px}.hero-visual:after{inset:14px}.hero-badge{width:154px;padding:18px}.hero-badge strong{font-size:2.15rem}.section{padding:62px 0}.page-hero{padding:66px 0 58px}.section-head{margin-bottom:34px;gap:20px}.service-card{min-height:260px;padding:26px}.service-card h3{margin-top:12px}.photo-frame,.photo-frame .photo-placeholder{min-height:340px}.project-grid{grid-template-rows:repeat(3,250px)}.emergency-mark{max-width:200px}.emergency-phone{font-size:1.65rem}.cta{padding:30px 22px}.field-row,.footer-grid{grid-template-columns:1fr}.footer-grid>:first-child{grid-column:auto}.contact-form{padding:28px 20px}.two-col-list{columns:1}.footer-bottom{gap:8px;flex-direction:column}.contact-meta{flex-direction:column;gap:14px}.project-form-head,.service-options{grid-template-columns:1fr}.service-option span{justify-content:flex-start}.contact-panel,.project-form{padding:26px 20px}.contact-panel--emergency .emergency-phone{font-size:1.55rem}.visit-copy,.visit-visual{padding:30px 22px}.review-card,.rating-card{padding:30px 24px}.footer-grid{gap:38px}.site-footer{padding-top:58px}.footer-logo{width:min(100%,230px)}}@media(max-width:360px){.container{width:calc(100% - 22px)}.brand img{width:164px}.nav{gap:10px}.menu-button{padding:12px 4px}.hero-copy{padding-block:58px}.photo-label{font-size:.7rem}}@media(prefers-reduced-motion:reduce){.site-header{transition:none}}
