/* Refined Navy & Ice: light, depth, and a consistent architectural rhythm. */
:root{--line:#adcce1;--gold:#235d85;--surface-radius:14px}
body{background:linear-gradient(135deg,#e6f3fc 0%,#d9ebf8 55%,#edf7fd 100%)}
.utility{background:linear-gradient(100deg,#06182d,#102b49);color:#c5deef}
.site-header{background:linear-gradient(115deg,rgba(9,30,55,.97),rgba(19,52,84,.97));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-color:#a0c4e027;box-shadow:0 4px 22px #071a3310}
.brand{letter-spacing:-.03em}
.brand-llc{display:inline;font-family:var(--sans);font-size:.5em;letter-spacing:.03em;font-weight:500;white-space:nowrap;color:#c1def2}
.brand small{letter-spacing:.18em}
.button{border-radius:6px;box-shadow:0 4px 12px #071a3310;transition:background .2s,color .2s,box-shadow .2s,transform .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #071a3322}
.button:active{transform:translateY(0)}
.button span{transition:transform .2s}.button:hover span{transform:translate(2px,-2px)}
.site-header .button,.hero-copy .button:not(.secondary),.cta .button{background:linear-gradient(120deg,#e4f4ff 0%,#b2d9f4 60%,#97c4e8 100%);border-color:#d2eaff;box-shadow:inset 0 1px #ffffffaa,0 5px 18px #00000012}
.site-header .button:hover,.hero-copy .button:not(.secondary):hover,.cta .button:hover{background:linear-gradient(120deg,#f6fbff,#c1e5ff);border-color:#e3f4ff}
.button.secondary{box-shadow:none}
.home-hero{position:relative;isolation:isolate;background:radial-gradient(ellipse at 95% 5%,#3e7495aa 0%,transparent 48%),radial-gradient(ellipse at 12% 110%,#21689970 0%,transparent 55%),linear-gradient(115deg,#071a32 0%,#102f54 48%,#24577d 100%);padding-block:58px 66px;overflow:hidden}
.home-hero::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#a4d9fa09 35.1%,transparent 35.3%),linear-gradient(115deg,transparent 70%,#a4d9fa0c 70.1%,transparent 70.3%)}
.hero-copy .eyebrow{display:flex;align-items:center;gap:12px;color:#b7def7;letter-spacing:.16em}
.hero-copy .eyebrow::before{content:'';width:27px;height:1px;background:#a4d3f4;flex-shrink:0}
.hero-copy h1{letter-spacing:-.045em;line-height:1.06}
.hero-copy h1 em{color:#b6dcf5;background:linear-gradient(110deg,#f4fbff,#91c8ed);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-copy .lead{color:#d2e5f3}
.hero-copy .button.secondary{background:#91c8ed09;border-color:#a5c9e377}
.hero-proof{border-color:#b7def72e}
.hero-proof span{color:#d0e7f6;border-color:#b7def72e}
.hero-image{border-radius:18px 18px 6px 6px;border:1px solid #d5ecff55;box-shadow:0 22px 55px #00102755,0 0 0 8px #d5ecff05;overflow:hidden}
.hero-image figcaption{padding:22px 18px;background:linear-gradient(0deg,#081e38ed,#102d4eaa);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid #c5e4fa44}
.hero-image figcaption span:last-child{color:#c6e6fc}
.trust-strip{background:linear-gradient(105deg,#b4d7ef,#dceffc 50%,#b9dbf2);border-block-color:#9bc2df}
.trust-strip>.wrap{font-size:11px;letter-spacing:.035em;padding-block:24px}
.service-grid{border:none;gap:18px}
.service-card{position:relative;border:1px solid #9fbfd95e;border-radius:var(--surface-radius);background:linear-gradient(140deg,#f4fafff2,#d5eafa);box-shadow:inset 0 1px #ffffffbb,0 7px 22px #143b6206;transition:transform .22s,box-shadow .22s,border-color .22s}
.service-card:hover{background:linear-gradient(140deg,#f7fcff,#c3e0f6);transform:translateY(-4px);box-shadow:0 16px 30px #183f6815;border-color:#74a5c9}
.service-number{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.1em}
.service-card .service-number::after{content:'';height:1px;width:24px;background:#91b9d5}
.service-card .text-link{border-bottom-color:#6e9ab975}
.projects-section{background:radial-gradient(ellipse at 0% 0%,#f1faffbb,transparent 65%),linear-gradient(120deg,#cce5f7,#a9cfe9);border-block:1px solid #9fbfd938}
.project-photo{border-radius:var(--surface-radius);border:1px solid #a2bfd480;box-shadow:0 10px 28px #153c6015}
.photo-expand{width:38px;height:38px;right:14px;bottom:14px;border-radius:50%;background:#eaf7fff0;box-shadow:0 3px 12px #001f3b20;transition:background .2s,transform .2s}
.project-photo:hover .photo-expand{background:#fff;transform:rotate(5deg)}
.project-card>h3{letter-spacing:-.025em}
.team-split figure,.wide-photo{border-radius:var(--surface-radius);overflow:hidden;border:1px solid #a8c8df;box-shadow:0 14px 34px #173d6412}
.process-section{background:radial-gradient(ellipse at 90% 15%,#487b9e55,transparent 60%),linear-gradient(110deg,#091f3b,#16466d);border-top:1px solid #759abc50}
.steps article{border-color:#b4d8f040}
.steps article>span{font-size:36px;color:#c2e4fc}
.home-review{position:relative}
.home-review .eyebrow::before{content:'';display:block;width:40px;height:2px;margin:0 auto 22px;background:linear-gradient(90deg,#82b8df,#214d74)}
.quote-section{background:radial-gradient(ellipse at 5% 30%,#eaf7ff,transparent 60%),linear-gradient(125deg,#c7e3f7,#91bad9);border-top:1px solid #9cbfd8}
.estimate-form{background:linear-gradient(155deg,#f6fbffeF,#e1f0fbee);border:1px solid #f6fbffd9;border-radius:var(--surface-radius);box-shadow:0 18px 50px #123b6220}
input,select,textarea{border-radius:5px;border-color:#91b1cb;background:#fbfdff;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px #76b0d62a}
.estimate-form>.button{background:linear-gradient(110deg,#0b2544,#24577d)}
.page-intro h1{letter-spacing:-.04em}
.page-intro>.eyebrow{display:flex;align-items:center;gap:12px}
.page-intro>.eyebrow::before{content:'';width:27px;height:1px;background:#5f91b5}
.service-hero figure{border-radius:var(--surface-radius);overflow:hidden;border:1px solid #92b3cc;box-shadow:0 16px 34px #153b5f1a}
.note,.review{border:1px solid #adcbe07a;border-radius:var(--surface-radius);background:linear-gradient(145deg,#f2f9ffdd,#cce3f5);box-shadow:inset 0 1px #ffffff9c,0 8px 28px #143b6208}
.meta-grid{border-radius:8px;border:1px solid #adcbe0;background:linear-gradient(115deg,#dceffa,#c5dff2)}
.filters button{border-radius:50px;border-color:#6b96b9;background:#edf7ff70;transition:background .2s,box-shadow .2s}
.filters button[aria-pressed=true]{background:linear-gradient(115deg,#0c2746,#285d83);box-shadow:0 4px 12px #12324f20}
.initial{border-radius:50%;background:linear-gradient(140deg,#f1faff,#bedbf0);box-shadow:inset 0 1px #fff;border-color:#86afcd}
.table-wrap{border-radius:var(--surface-radius);border:1px solid #adcbe0;box-shadow:0 10px 24px #183f6808}
caption{padding:18px 20px;background:#e3f1fc}
thead{background:linear-gradient(105deg,#0b2343,#285779)}
.cta{position:relative;background:radial-gradient(ellipse at 100% 0%,#5c95bc66,transparent 60%),linear-gradient(110deg,#102b4b,#215478);border-top:1px solid #a9cfeb33}
footer{background:radial-gradient(ellipse at 85% 10%,#204b7340,transparent 60%),linear-gradient(115deg,#06172b,#0e2947)}
.footer-brand{font-size:25px}.footer-brand span{letter-spacing:.04em}
.compact-header .brand{justify-content:center;color:var(--navy)}
.compact-header .brand img{filter:none;width:44px;height:44px;margin:0}
.compact-header .brand-llc,.compact-header .brand small{color:#365775}
.compact-footer{background:transparent}
.mobile-actions{background:linear-gradient(110deg,#091e37f5,#183b5ef5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top-color:#7da6c759}
.mobile-actions a{border-radius:5px}
.mobile-actions a:last-child{background:linear-gradient(120deg,#e0f1ff,#a3cdea)}
.lightbox{border-radius:12px;box-shadow:0 24px 90px #0005}
.menu-toggle{border-radius:5px}
@media(prefers-reduced-motion:no-preference){
 .hero-copy{animation:arrive 700ms ease-out both}
 .hero-image{animation:arrive 900ms ease-out both}
 .is-entering{animation:arrive 600ms cubic-bezier(.2,.7,.2,1) both}
 @keyframes arrive{from{opacity:.55;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:1050px){.brand{font-size:20px}.brand img{width:34px}.site-header nav{gap:16px}}
@media(max-width:820px){.site-header nav{background:linear-gradient(130deg,#0b2343,#1c466a)}.brand{font-size:22px}}
@media(max-width:600px){
 .utility .wrap{font-size:8px;letter-spacing:.015em}.utility span{max-width:235px}
 .home-hero{padding-block:32px 34px}.hero-copy h1{font-size:50px}.hero-image{border-radius:12px}
 .hero-image figcaption{padding:14px 12px}.hero-copy .eyebrow{font-size:9px;gap:8px;letter-spacing:.12em}.hero-copy .eyebrow::before{width:18px}
 .brand{font-size:20px;gap:9px}.brand img{width:31px}.brand-llc{font-size:10px}.brand small{font-size:8px;letter-spacing:.14em}.nav-wrap{gap:12px}
 .service-grid{gap:10px}.service-card{padding:20px 14px;border-radius:10px}.service-card h3{font-size:22px}.service-card:hover{transform:none}
 .trust-strip>.wrap{font-size:10px;padding-block:20px;letter-spacing:0}
 .estimate-form{border-radius:12px}.footer-brand{font-size:24px}.page-intro h1{font-size:42px}
 .compact-header .brand{font-size:23px}.compact-header .brand img{width:40px}.compact-header .brand-llc{font-size:12px}
 .page-card .page-intro>.eyebrow,.page-coming-soon .page-intro>.eyebrow{justify-content:center}
}
@media(max-width:360px){.brand{font-size:17px;gap:7px}.brand img{width:27px}.brand-llc{font-size:9px}.brand small{font-size:7px}.hero-copy h1{font-size:43px}.utility span{max-width:190px}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-image,.is-entering{animation:none!important;opacity:1!important;transform:none!important}.button:hover,.service-card:hover,.project-photo:hover img{transform:none}}
