:root{--ink:#142c37;--muted:#52616a;--paper:#f8f9f8;--line:#d3dadd;--accent:#ba4c30}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.wrap{max-width:1320px;margin:auto;padding-left:64px;padding-right:64px}.top{height:112px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;line-height:1.1}.brand span{font-weight:400}.brand small{display:block;font-size:10px;letter-spacing:3.1px;margin-top:9px}nav{display:flex;gap:38px;align-items:center;font-size:14px}nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid;padding:8px 0}.nav-contact span{margin-left:16px}.hero{position:relative;display:grid;grid-template-columns:1.08fr 1fr;gap:24px;padding-top:42px;padding-bottom:64px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;margin:0 0 28px}.hero h1{font-size:clamp(56px,6.2vw,88px);font-weight:500;line-height:1.04;letter-spacing:-4px;margin:0 0 30px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--accent);letter-spacing:-4px}.intro{max-width:390px;color:var(--muted);font-size:18px;line-height:1.65;margin-bottom:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--ink);color:white;padding:15px 23px;border:0;cursor:pointer;font-size:15px}.button:hover{background:#2d4754}.area{font-size:13px;margin-top:25px}.area span{padding:0 12px;color:#9da9af}.hero-image{margin:0;position:relative;min-height:520px;background:#243e4a;overflow:hidden}.hero-image img{height:100%;width:100%;object-fit:cover;position:absolute;filter:saturate(.55) brightness(.83)}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(8,25,34,.8));padding:60px 26px 24px;color:#fff;font-size:12px;letter-spacing:1.7px}.hero-image figcaption span{display:block;font-size:10px;letter-spacing:1.4px;color:#dae1e3;margin-top:4px}.hero-index{grid-column:1/-1;border-bottom:1px solid var(--line);padding-top:24px;padding-bottom:14px;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.section{padding-top:64px;padding-bottom:92px}.services{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}h2{font-size:44px;font-weight:500;letter-spacing:-1.7px;line-height:1.13;margin:0 0 26px}.section-heading>p:last-child{max-width:320px;color:var(--muted)}details{border-top:1px solid var(--line)}details:last-of-type{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:22px;cursor:pointer;list-style:none;padding:23px 0}summary::-webkit-details-marker{display:none}.num{font-size:12px;color:var(--accent)}h3{font-size:19px;font-weight:500;line-height:1.4;margin:0}.plus{margin-left:auto;width:16px;height:16px;position:relative;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;background:var(--ink);width:12px;height:1px;top:8px;left:2px}.plus:after{transform:rotate(90deg)}details[open] .plus:after{display:none}details>p{padding:0 27px 25px 38px;color:var(--muted);margin:0;font-size:15px}.scope{font-size:13px;color:var(--muted);max-width:480px;margin-top:22px}.approach{background:var(--ink);color:var(--paper)}.approach-inner{padding-top:76px;padding-bottom:80px;display:grid;grid-template-columns:1fr 1.3fr;gap:90px}.approach .eyebrow{color:#b8c7cf}.approach-lead{color:#c0ccd2;font-size:16px}.steps{padding:0;margin:0;list-style:none}.steps li{display:flex;gap:24px;border-bottom:1px solid #3d535e;padding:0 0 24px;margin-bottom:24px}.steps li:last-child{margin:0}.steps li>span{font-size:12px;color:#a6bdc7;padding-top:5px}.steps p{font-size:15px;color:#bccbd2;margin:8px 0 0}.contact{display:grid;grid-template-columns:1fr 1.3fr;gap:90px;padding-top:90px}.contact h2{font-size:62px}.contact>div>p:not(.eyebrow){max-width:300px;color:var(--muted)}.contact-note{border-left:2px solid var(--accent);padding-left:18px;margin-top:35px}.contact-note strong,.contact-note span{display:block;font-size:15px}.contact-note span{color:var(--muted);font-size:14px}.demo-note{font-size:12px;color:var(--muted);margin:0 0 20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;margin-bottom:20px}input,textarea{display:block;width:100%;border:1px solid #bfcacd;border-radius:0;padding:12px;background:transparent;color:var(--ink);margin-top:7px;font-size:15px}input:focus,textarea:focus{outline:2px solid #385b6b;outline-offset:1px}textarea{resize:vertical}#result{margin-top:24px}#result p{font-size:13px}footer{display:flex;gap:30px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:28px!important;padding-bottom:28px!important;font-size:12px;color:var(--muted)}.footer-brand{font-size:16px;font-weight:bold;color:var(--ink)}@media(min-width:1450px){.hero-image{min-height:550px}}@media(max-width:900px){.wrap{padding-left:30px;padding-right:30px}.hero h1{font-size:64px}.services,.approach-inner,.contact{gap:40px}h2{font-size:36px}.hero-image{min-height:510px}.hero{gap:20px}.hero h1 em{letter-spacing:-3px}}@media(max-width:650px){.wrap{padding-left:22px;padding-right:22px}.top{height:90px}.brand{font-size:20px}.brand small{font-size:9px;letter-spacing:2px}nav{gap:0}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:13px}.hero{grid-template-columns:1fr;padding-top:28px;padding-bottom:30px}.hero h1{font-size:64px;letter-spacing:-3px}.hero h1 em{letter-spacing:-3px}.eyebrow{font-size:11px;margin-bottom:24px}.intro{font-size:17px;max-width:360px}.hero-image{min-height:340px;margin-top:18px}.hero-index{padding-top:8px;font-size:9px}.section,.approach-inner{grid-template-columns:1fr;gap:30px;padding-top:48px;padding-bottom:48px}h2{font-size:39px}.section-heading>p:last-child{max-width:100%}.service-list summary{gap:16px}h3{font-size:18px}.contact h2{font-size:52px}.fields{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap;gap:5px 20px}footer p{margin:0}footer>span{width:100%}.contact-note{margin-top:24px}.hero-image img{object-position:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Longer approved headings, preserving the original visual direction. */
.hero h1{font-size:clamp(32px,4.1vw,57px);letter-spacing:-2px;line-height:1.12}.hero h1 em{letter-spacing:-2px}.brand small{font-size:9px;letter-spacing:1.25px}.contact h2{font-size:42px;overflow-wrap:anywhere}@media(max-width:650px){.brand{font-size:17px}.brand small{font-size:8px;letter-spacing:.6px}.hero h1{font-size:clamp(29px,7.4vw,46px);letter-spacing:-1.3px}.contact h2{font-size:36px}.nav-contact span{margin-left:6px}}

.service-price{border-top:1px solid var(--line);margin-top:30px;padding-top:23px}.service-price>span{display:block;font-size:12px;letter-spacing:1.5px}.service-price strong{display:block;font-size:32px;font-weight:500;line-height:1.4;margin-top:7px}.service-price small{font-size:16px;font-weight:400;white-space:nowrap}.service-price p{font-size:14px;color:var(--muted);max-width:310px;margin-top:12px}

.service-item{border-top:1px solid var(--line);padding:22px 0}.service-item:last-child{border-bottom:1px solid var(--line)}.service-title{display:flex;align-items:baseline;gap:22px}.service-item>p{margin:12px 0 0 38px;font-size:16px;color:var(--muted)}.heaters{display:grid;grid-template-columns:1fr 1.3fr;gap:90px;padding-top:45px;padding-bottom:62px;border-top:1px solid var(--line)}.heater-copy{padding-top:8px}.heater-copy p{color:var(--muted);max-width:510px}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding:5px 0;color:var(--ink);font-size:15px}.text-link:hover{color:var(--accent)}.section-heading>p{max-width:340px;color:var(--muted)}@media(max-width:900px){nav{gap:20px}.heaters{gap:40px}}@media(max-width:650px){.heaters{grid-template-columns:1fr;gap:12px;padding-top:35px;padding-bottom:40px}.heaters h2{margin-bottom:10px}.service-item>p{margin-left:0}.service-title{gap:16px}.service-price small{display:inline-block}}

.form-privacy{font-size:13px;color:var(--muted);line-height:1.5;margin-top:16px}.contact-note>a{display:inline-block;font-size:15px;border-bottom:1px solid var(--line);margin-top:9px}

/* Keep form controls readable on phones and navigation clear on narrow screens. */
input,textarea{font-size:16px}.hero>*,.services>*,.approach-inner>*,.contact>*,.fields>*{min-width:0}.top{gap:20px}.brand{flex-shrink:0}nav a{white-space:nowrap}
@media(max-width:800px){nav>a:not(.nav-contact){display:none}}
@media(max-width:380px){.top{height:auto;min-height:90px;flex-wrap:wrap;gap:12px;padding-top:18px;padding-bottom:18px}.contact-note>a{overflow-wrap:anywhere}}

/* Compact marine service homepage. */
:root{--accent:#397c80}
.top{height:88px}.brand{font-size:21px}.brand small{font-size:9px;letter-spacing:1px}.top nav{font-size:13px;gap:28px}
.hero{padding-top:24px;padding-bottom:34px;gap:42px;align-items:stretch}.hero h1{font-size:clamp(38px,4.2vw,58px);line-height:1.07;letter-spacing:-2px;margin-bottom:20px}.hero .eyebrow{margin-bottom:20px}.hero .intro{font-size:16px;line-height:1.55;max-width:370px;margin-top:0;margin-bottom:22px}.hero-image{min-height:390px}.hero .button{padding:12px 20px;font-size:14px;background:var(--ink)}.hero .button:hover{background:#2d4754}.hero .area{margin-top:16px;margin-bottom:0}.hero-image figcaption{padding-bottom:20px}
.service-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.service-overview>a{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 12px 20px 0;font-size:19px;white-space:normal}.service-overview>a>span{font-size:12px;color:var(--accent);margin-right:18px}.service-overview>a:hover{color:var(--accent)}
@media(min-width:1450px){.hero-image{min-height:412px}}
@media(max-width:900px){.hero{gap:26px}.top nav{gap:18px}.hero-image{min-height:382px}.hero h1{font-size:clamp(34px,4.6vw,42px)}}
@media(max-width:650px){.top{height:76px}.brand{font-size:17px}.brand small{font-size:8px;letter-spacing:.6px}.hero{padding-top:16px;padding-bottom:28px;gap:22px}.hero h1{font-size:clamp(34px,8.6vw,46px);letter-spacing:-1.4px}.hero-image{min-height:255px;margin-top:0}.hero .intro{font-size:16px}.service-overview{gap:0}.service-overview>a{font-size:14px;padding:15px 7px 15px 0;overflow-wrap:anywhere}.service-overview>a>span{display:block;margin:0 0 5px}.top .nav-contact{font-size:12px}}
@media(max-width:380px){.top{height:auto;min-height:76px}}
