:root{
  --ink:#06182b;
  --navy:#071f38;
  --navy-2:#0a315b;
  --blue:#1769c7;
  --blue-bright:#2e88ec;
  --ice:#eaf4ff;
  --paper:#f7f8fa;
  --gray:#66717c;
  --line:rgba(7,31,56,.15);
  --white:#fff;
  --shadow:0 22px 60px rgba(1,16,31,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,Helvetica,sans-serif;line-height:1.5}
body.nav-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;padding:12px 16px;background:#fff;color:#06182b}.skip-link:focus{top:16px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:80;display:grid;grid-template-columns:250px 1fr auto;align-items:center;gap:24px;padding:8px clamp(18px,4vw,60px);background:linear-gradient(180deg,rgba(3,18,34,.96),rgba(3,18,34,.76));border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px);transition:.25s ease}
.site-header.is-scrolled{background:rgba(3,18,34,.97);box-shadow:0 10px 30px rgba(0,0,0,.22)}
.brand{display:flex;align-items:center;height:104px;overflow:visible}
.brand img{width:235px;height:auto;max-height:96px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 12px rgba(0,0,0,.25))}
.primary-nav{display:flex;justify-content:center;gap:clamp(18px,2.4vw,38px);color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.primary-nav a{position:relative;padding:10px 0}
.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--blue-bright);transition:.2s ease}
.primary-nav a:hover:after,.primary-nav a[aria-current="page"]:after{right:0}
.header-contact{display:flex;align-items:center;gap:16px;color:#fff}
.phone-link{display:grid;line-height:1.05;text-align:right}
.phone-link span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:#96c9ff}
.phone-link strong{font-size:1.1rem;white-space:nowrap}
.mini-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:1px solid transparent;font-size:.76rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;transition:.2s ease}
.mini-cta{padding:.8rem 1rem;background:var(--blue);color:#fff;border-color:rgba(255,255,255,.25)}
.mini-cta:hover,.button-primary:hover{background:#0f57aa;transform:translateY(-1px)}
.nav-toggle{display:none;background:none;border:0;color:#fff;width:44px;height:44px;padding:9px}
.nav-toggle span:not(.sr-only){display:block;height:2px;background:#fff;margin:6px 0}

/* Hero */
.hero{position:relative;min-height:720px;display:flex;align-items:flex-end;overflow:hidden;background:#071f38;color:#fff}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:68% 50%;filter:saturate(.94) contrast(1.04)}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,18,34,.98) 0%,rgba(2,18,34,.82) 34%,rgba(2,18,34,.28) 68%,rgba(2,18,34,.1) 100%),linear-gradient(0deg,rgba(2,18,34,.8),transparent 40%)}
.hero-caustics{position:absolute;inset:0;background:url('assets/caustics.webp') center/650px;mix-blend-mode:screen;opacity:.07;animation:drift 20s linear infinite}
@keyframes drift{to{background-position:650px 280px}}
.hero-inner{position:relative;z-index:2;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:170px 0 78px}
.eyebrow{margin:0 0 14px;color:#63b4ff;font-size:.78rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.hero h1{max-width:690px;margin:0;font-family:"Arial Narrow",Impact,sans-serif;font-size:clamp(3.8rem,6.8vw,7rem);line-height:.82;letter-spacing:-.045em;text-transform:uppercase}
.hero h1 span{display:block;color:var(--blue-bright)}
.hero-copy{max-width:580px;margin:24px 0 30px;color:rgba(255,255,255,.83);font-size:1.18rem;line-height:1.55}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{min-height:52px;padding:0 22px}
.button-primary{background:var(--blue);color:#fff;box-shadow:0 10px 30px rgba(23,105,199,.25)}
.button-outline{color:#fff;border-color:rgba(255,255,255,.65);background:rgba(4,22,41,.25)}
.button-outline:hover{border-color:#fff;background:rgba(255,255,255,.1)}
.hero-note{display:flex;gap:34px;flex-wrap:wrap;margin-top:42px;color:rgba(255,255,255,.78);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.hero-note span:before{content:"✓";color:#64b7ff;margin-right:8px}

/* Split services */
.service-split{display:grid;grid-template-columns:1.08fr .92fr;min-height:620px;background:#071f38;color:#fff;border-top:3px solid #fff}
.split-panel{position:relative;display:flex;align-items:flex-end;overflow:hidden;min-height:620px}
.split-panel>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.split-panel:hover>img{transform:scale(1.025)}
.split-panel:after{content:"";position:absolute;inset:0}
.marine-panel:after{background:linear-gradient(90deg,rgba(2,45,87,.98),rgba(2,54,101,.72) 54%,rgba(2,25,47,.34))}
.auto-panel:after{background:linear-gradient(90deg,rgba(9,13,19,.96),rgba(9,13,19,.78) 55%,rgba(9,13,19,.24))}
.split-copy{position:relative;z-index:2;width:min(560px,88%);padding:70px clamp(34px,6vw,84px)}
.split-kicker{color:#9bd2ff;font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.split-copy h2{margin:4px 0 0;font-family:"Arial Narrow",Impact,sans-serif;font-size:clamp(3rem,5vw,5.5rem);line-height:.85;text-transform:uppercase}
.split-copy h3{margin:6px 0 18px;color:#92cbff;font-size:1.14rem;text-transform:uppercase}
.split-copy p{max-width:430px;color:rgba(255,255,255,.82)}
.service-list{list-style:none;padding:0;margin:24px 0 30px;columns:1}
.service-list li{margin:.45rem 0;color:rgba(255,255,255,.9)}
.service-list li:before{content:"✓";margin-right:10px;color:#5eb3ff}
.split-divider{display:none}

/* Trust */
.trust-strip{background:#f5f7fa;border-bottom:1px solid #dfe5eb}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{display:flex;gap:14px;padding:25px 24px;border-right:1px solid #d8dfe6}
.trust-item:last-child{border-right:0}
.trust-icon{flex:0 0 42px;width:42px;height:42px;border:2px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue);font-weight:900}
.trust-item strong{display:block;color:#092f58;font-size:.78rem;text-transform:uppercase}
.trust-item span{display:block;margin-top:4px;color:#64717c;font-size:.74rem}

/* Results */
.results{padding:90px 0;background:#fff}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}
.section-heading h2,.about-copy h2,.faq-intro h2,.page-intro h2{margin:0;font-family:"Arial Narrow",Impact,sans-serif;font-size:clamp(2.8rem,5vw,5.5rem);line-height:.9;text-transform:uppercase;color:#082846}
.section-heading p{max-width:520px;margin:0;color:#64717d}
.results-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:260px 260px;gap:12px}
.result-card{position:relative;overflow:hidden;background:#0a2a49}
.result-card:first-child{grid-row:1/3}
.result-card img{width:100%;height:100%;object-fit:cover;transition:.5s ease}
.result-card:hover img{transform:scale(1.035)}
.result-card span{position:absolute;left:16px;bottom:16px;padding:8px 12px;background:rgba(5,22,40,.86);color:#fff;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}

/* About */
.about-section{display:grid;grid-template-columns:1fr 1fr;background:#f2f4f7;border-top:1px solid #dce3e9}
.about-photo{min-height:580px;overflow:hidden}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.about-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(55px,7vw,110px)}
.about-copy h2 span{display:block;color:var(--blue)}
.about-copy>p:not(.eyebrow){color:#566572;font-size:1.02rem;line-height:1.72}
.about-points{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 28px}
.about-points span{padding:12px 14px;border-left:3px solid var(--blue);background:#fff;color:#20394f;font-size:.83rem;font-weight:700}
.about-actions{display:flex;gap:14px;flex-wrap:wrap}
.button-dark{background:var(--navy);color:#fff}
.button-text{color:#0b579e;border-color:#0b579e;background:transparent}

/* FAQ */
.faq-section{padding:90px 0;background:#071f38;color:#fff;position:relative;overflow:hidden}
.faq-section:before{content:"";position:absolute;inset:0;background:url('assets/caustics.webp') center/700px;opacity:.08;mix-blend-mode:screen}
.faq-layout{position:relative;display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}
.faq-intro h2{color:#fff}
.faq-intro p:last-child{color:rgba(255,255,255,.67);line-height:1.7}
.faq-list{border-top:1px solid rgba(255,255,255,.25)}
.faq-list details{border-bottom:1px solid rgba(255,255,255,.25)}
.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-weight:800}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";color:#65b6ff;font-size:1.5rem;font-weight:400}
.faq-list details[open] summary:after{content:"–"}
.faq-list p{margin:0;padding:0 40px 24px 0;color:rgba(255,255,255,.7);line-height:1.65}
.faq-list a{color:#78c0ff;text-decoration:underline}

/* CTA + footer */
.final-cta{padding:68px 20px;background:linear-gradient(90deg,rgba(5,56,103,.94),rgba(10,92,170,.88)),url('assets/caustics.webp') center/640px;color:#fff;text-align:center}
.final-cta h2{margin:0;font-family:"Arial Narrow",Impact,sans-serif;font-size:clamp(2.6rem,5vw,4.8rem);text-transform:uppercase}
.final-cta p{margin:8px auto 24px;max-width:640px;color:rgba(255,255,255,.8)}
.final-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.site-footer{display:grid;grid-template-columns:1.4fr .7fr .7fr .9fr;gap:40px;padding:55px max(24px,calc((100% - 1180px)/2));background:#041322;color:rgba(255,255,255,.72)}
.footer-brand img{width:220px;margin-bottom:16px}
.site-footer strong{display:block;color:#fff;margin-bottom:12px;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}
.site-footer nav,.footer-contact{display:flex;flex-direction:column;gap:7px;font-size:.83rem}
.site-footer a:hover{color:#70bcff}
.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:20px;font-size:.72rem}

/* Subpages */
.subpage{background:#f5f7f9}.subpage .site-header{position:sticky;top:0;background:#041525}.subpage main{min-height:60vh}
.page-hero{position:relative;min-height:600px;display:flex;align-items:flex-end;background-size:cover;background-position:center;color:#fff}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,20,36,.96),rgba(3,20,36,.42))}
.page-hero>div{position:relative;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:160px 0 70px}
.page-hero h1{margin:0;font-family:"Arial Narrow",Impact,sans-serif;font-size:clamp(4rem,8vw,8rem);line-height:.83;text-transform:uppercase}
.page-hero p:not(.eyebrow){max-width:620px;color:rgba(255,255,255,.78);font-size:1.08rem}
.page-intro{padding:90px max(20px,calc((100% - 1180px)/2));background:#fff}
.page-intro p:last-child{max-width:760px;color:#5d6a76;font-size:1.05rem;line-height:1.7}
.blue{color:var(--blue)}
.service-lines{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:0 0 90px}
.service-line{display:grid;grid-template-columns:.42fr 1fr;gap:60px;padding:44px 0;border-top:1px solid #ccd5dd}
.service-line h3{margin:0;color:#082846;font-family:"Arial Narrow",Impact,sans-serif;font-size:2.3rem;text-transform:uppercase}
.service-line p{color:#596774;line-height:1.7}
.price-table-wrap{overflow-x:auto;margin-top:18px}
.price-table{border-collapse:collapse;width:100%;min-width:680px;background:#fff}
.price-table th,.price-table td{padding:14px;border:1px solid #d7dee5;text-align:left}
.price-table th{background:#082846;color:#fff;font-size:.76rem;text-transform:uppercase}
.price-table td:not(:first-child){font-weight:800;color:#0b579e}
.price-note{font-size:.82rem!important;color:#71808d!important}
.quote-page{display:grid;grid-template-columns:.85fr 1.15fr;min-height:calc(100vh - 110px);background:#fff}
.quote-side{padding:100px clamp(30px,7vw,110px);background:#071f38;color:#fff}
.quote-side h1{font-family:"Arial Narrow",Impact,sans-serif;font-size:clamp(4rem,7vw,7rem);line-height:.85;text-transform:uppercase;margin:0}
.quote-side p{color:rgba(255,255,255,.72);line-height:1.7}
.quote-form-wrap{padding:80px clamp(30px,7vw,100px)}
.quote-form{display:grid;gap:18px}
.quote-form label{display:grid;gap:7px;font-size:.78rem;font-weight:800;text-transform:uppercase;color:#16344f}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #c8d2dc;padding:14px;background:#fff;color:#132a3f}
.quote-form textarea{min-height:160px;resize:vertical}

@media(max-width:1050px){
  .site-header{grid-template-columns:165px auto auto}.primary-nav{gap:16px}.primary-nav a:nth-last-child(2){display:none}.brand img{width:auto;height:96px}.phone-link span{display:none}
  .service-split{grid-template-columns:1fr}.split-panel,.split-panel{min-height:540px}.split-divider{display:none}
  .trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}
  .results-grid{grid-template-columns:1fr 1fr;grid-template-rows:340px 240px}.result-card:first-child{grid-column:1/3;grid-row:auto}
  .about-section{grid-template-columns:1fr}.about-photo{min-height:430px}.faq-layout{grid-template-columns:1fr;gap:40px}.site-footer{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .container{width:min(100% - 28px,1180px)}
  .site-header{grid-template-columns:1fr auto;padding:8px 14px;background:#041525}.brand{height:80px}.brand img{width:auto;height:76px}.header-contact{display:none}.nav-toggle{display:block}.primary-nav{position:fixed;inset:92px 0 0;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:0;padding:28px;background:#041525;translate:100% 0;transition:.25s ease}.primary-nav.is-open{translate:0}.primary-nav a,.primary-nav a:nth-last-child(2){display:block;width:100%;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:1.1rem}
  .hero{min-height:700px}.hero-media img{object-position:66% 50%}.hero-media:after{background:linear-gradient(0deg,rgba(2,18,34,.98) 0%,rgba(2,18,34,.8) 48%,rgba(2,18,34,.24) 100%)}.hero-inner{padding:200px 0 50px}.hero h1{font-size:clamp(3.7rem,17vw,5.7rem)}.hero-copy{font-size:1rem}.hero-actions .button{width:100%}.hero-note{gap:12px;flex-direction:column;margin-top:28px}
  .split-panel{min-height:620px}.split-copy{padding:55px 26px}.split-copy h2{font-size:4.2rem}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid #d8dfe6}.results{padding:60px 0}.section-heading{align-items:start;flex-direction:column}.results-grid{grid-template-columns:1fr;grid-template-rows:330px 230px 230px 230px 230px}.result-card:first-child{grid-column:auto}.about-photo{min-height:330px}.about-copy{padding:55px 24px}.about-points{grid-template-columns:1fr}.faq-section{padding:65px 0}.final-actions .button{width:100%}.site-footer{grid-template-columns:1fr;padding:45px 24px}.copyright{grid-column:auto}.page-hero{min-height:570px}.page-hero>div{padding:110px 0 55px}.service-line{grid-template-columns:1fr;gap:12px}.quote-page{grid-template-columns:1fr}.quote-side,.quote-form-wrap{padding:60px 24px}
}


@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* SEO/accessibility polish */
:focus-visible{outline:3px solid #65b6ff;outline-offset:4px}
.breadcrumbs{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:14px 0;background:#f5f7f9;color:#52677a;font-size:.78rem}
.breadcrumbs ol{display:flex;align-items:center;gap:10px;margin:0;padding:0;list-style:none}
.breadcrumbs li+li:before{content:"/";margin-right:10px;color:#8fa0af}
.breadcrumbs a{color:#0b579e;text-decoration:underline;text-underline-offset:3px}
.footer-contact{font-style:normal}
.results,.about-section,.faq-section,.service-lines{content-visibility:auto;contain-intrinsic-size:900px}
.result-card img,.split-panel img,.about-photo img{background:#dfe7ee}
@media(max-width:780px){.breadcrumbs{width:min(100% - 28px,1180px);padding:12px 0}.results,.about-section,.faq-section,.service-lines{contain-intrinsic-size:1200px}}

.page-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.page-hero:before{z-index:1}
.page-hero>div{z-index:2}

.brand img[src$=".svg"],.footer-brand img[src$=".svg"]{shape-rendering:geometricPrecision}
.footer-brand img{width:min(320px,100%);height:auto}
