.contact-page::before{opacity:.24;background:linear-gradient(#041b2b 10%,#041b2bad 62%,#041b2b),url('assets/water-intro.webp') 50% 40%/cover no-repeat}
.contact-hero{position:relative;padding-top:200px;padding-bottom:88px;overflow:hidden;border-bottom:1px solid var(--identity-line)}
.contact-hero>.eyebrow{margin-bottom:25px}.contact-hero h1{position:relative;font-size:clamp(46px,6.4vw,89px);line-height:1.09;max-width:1010px;letter-spacing:-.065em}.contact-hero h1 em{background:var(--brand-type-gradient);background-clip:text;-webkit-background-clip:text;color:transparent}.contact-hero .page-lead{max-width:580px;font-size:16px;line-height:1.9;margin-top:33px}.contact-anchor{display:inline-flex;gap:36px;margin-top:28px;padding-bottom:12px;font-size:13px;color:#d5edf7}.contact-anchor span{font-size:24px}
.contact-orbit{position:absolute;right:9%;top:42%;width:220px;height:220px;border:1px solid #70c7e616;border-radius:50%;display:grid;place-items:center;transform:rotate(-10deg);opacity:.62}.contact-orbit::before,.contact-orbit::after{content:'';position:absolute;inset:-24px;border:1px solid #70c7e60e;border-radius:50%}.contact-orbit::after{inset:-50px}.contact-orbit .identity-icon{width:120px;height:120px;color:#89dbf3}
.contact-layout{display:grid;grid-template-columns:minmax(230px,.82fr) minmax(0,1.4fr);gap:9%;padding-top:90px;padding-bottom:120px;align-items:start;scroll-margin-top:25px}.contact-intro{position:sticky;top:130px}.contact-intro>.eyebrow{margin-bottom:22px}.contact-intro h2{font-size:clamp(34px,3.2vw,47px);line-height:1.14}.contact-intro>p:not(.eyebrow){color:#a9c8d7;font-size:14px;line-height:1.9;margin-top:25px;max-width:370px}.contact-steps{list-style:none;padding:0;margin:44px 0 0;display:grid;gap:27px}.contact-steps li{display:flex;align-items:start;gap:20px}.contact-steps .identity-icon{width:36px;height:36px;margin-top:3px}.contact-steps h3{font-size:18px;letter-spacing:-.025em;margin-bottom:8px}.contact-steps p{font-size:12px;line-height:1.85;color:#92b6c9;max-width:290px}
.quote-form{min-width:0}.form-intro{font-size:11px;color:#9abbcd;margin-bottom:26px}.quote-form fieldset{border:0;border-top:1px solid var(--identity-line);margin:0 0 36px;padding:27px 0 0;min-width:0}.quote-form legend{font-size:18px;font-weight:300;letter-spacing:-.02em;padding:0 22px 0 0;color:#e6f4fa}.quote-form legend span{display:inline-block;font-size:11px;color:#00adf1;margin-right:14px;letter-spacing:.05em}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px}.field-wide{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field label{font-size:12px;font-weight:400;color:#cbe1ec;line-height:1.5}.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{appearance:none;width:100%;min-width:0;border:1px solid #99cce32e;border-radius:2px;background:#06263880;color:#e6f4fa;font-family:inherit;font-size:14px;font-weight:300;padding:14px 15px;min-height:49px;transition:border-color .2s,background .2s}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#83a7bc;opacity:1}.quote-form textarea{resize:vertical;line-height:1.8}.quote-form select{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none' stroke='%23bdefff'%3E%3Cpath d='m4 7 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:18px;background-position:right 14px center}.quote-form select option{background:#082b3e;color:#e6f4fa}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid #00adf1;outline-offset:3px;border-color:#00adf1;background-color:#083049}.quote-form [aria-invalid=true]{border-color:#ffb2a9!important}.field-error{color:#ffbeb7;font-size:11px;line-height:1.5}.field-error:empty{display:none}.field-hint{font-size:10px;line-height:1.7;color:#91b6c9}.quote-trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}.consent-field label{display:flex;align-items:start;gap:13px;font-size:12px;line-height:1.8;color:#bad6e4}.consent-field input{accent-color:#007fba;flex:0 0 19px;width:19px;height:19px;margin:2px 0 0}.consent-field .field-error{display:block;margin:8px 0 0 32px}.contact-purpose{color:#8eafc2;font-size:10px;line-height:1.7;margin:14px 0 0 32px}.delivery-note{font-size:12px;line-height:1.8;color:#b0cddd;margin-top:27px;padding-top:20px;border-top:1px solid #bdefff1a}.form-actions{margin-top:20px}.quote-submit{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;padding:19px 23px;color:#e6f4fa;font-size:15px;border:1px solid #53bfe864;background:linear-gradient(105deg,#102f4c,#007fba90,#00adf142);transition:filter .2s}.quote-submit span{font-size:27px;line-height:1}.quote-submit:hover:not(:disabled){filter:brightness(1.15)}.quote-submit:disabled{opacity:.62}.form-message{margin-top:23px;padding:19px 21px;border:1px solid #75b8d452;background:#0a344b85;font-size:13px;line-height:1.8;color:#c9e8f6}.error-summary{margin:0 0 25px;border-color:#ffb2a960;color:#ffcbc5}.error-summary ul{margin:8px 0 0;padding-left:18px}.error-summary a{text-decoration:underline;text-underline-offset:3px}.request-preview{margin-top:28px;padding-top:30px;border-top:1px solid var(--identity-line)}.request-preview h3{font-size:25px;line-height:1.2}.request-preview>p{font-size:12px;line-height:1.85;color:#b3d1df;margin-top:14px}.request-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:12px;line-height:1.8;background:#06283982;border:1px solid #a7d8ed20;padding:20px;margin:22px 0;color:#b9d6e5}.summary-actions{display:flex;gap:18px;flex-wrap:wrap}.summary-actions button{border-bottom:1px solid #86c7e268;color:#d8effa;font-size:12px;padding:0 0 9px}.contact-page .page-footer{border-top:1px solid var(--identity-line)}
@media(max-width:1100px){.contact-orbit{right:2%;opacity:.22}.contact-layout{gap:6%;grid-template-columns:.75fr 1.4fr}.contact-hero h1{font-size:clamp(46px,6.8vw,76px)}}
@media(max-width:760px){.contact-hero{padding-top:158px;padding-bottom:55px}.contact-hero h1{font-size:clamp(39px,9vw,66px)}.contact-hero h1 br{display:none}.contact-hero .page-lead{font-size:14px;margin-top:27px;max-width:480px}.contact-orbit{width:130px;height:130px;top:38%;right:-52px;opacity:.13}.contact-orbit .identity-icon{width:76px;height:76px}.contact-layout{grid-template-columns:1fr;gap:42px;padding-top:58px;padding-bottom:72px}.contact-intro{position:static}.contact-intro h2{font-size:35px}.contact-intro h2 br{display:none}.contact-intro>p:not(.eyebrow){max-width:none}.contact-steps{gap:19px;margin-top:29px}.contact-steps li{gap:15px}.contact-steps p{max-width:none}.form-grid{gap:20px 16px}.form-intro{margin-bottom:21px}.quote-form legend{font-size:17px}.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{font-size:16px}.field label{font-size:12px}.contact-anchor{font-size:12px;margin-top:22px}}
@media(max-width:430px){.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.quote-form legend{font-size:16px;padding-right:10px}.quote-form legend span{margin-right:8px}.contact-hero h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){.quote-form *{transition:none!important}}
.quote-progress{display:flex;gap:10px;justify-content:space-between;margin:0 0 45px;border-bottom:1px solid #9bcbe33b}.quote-progress button{padding:14px 0;min-height:56px;font-size:12px;color:#9cbbcd;display:flex;gap:12px;align-items:center;border-bottom:2px solid transparent}.quote-progress button span{font-size:10px;color:#00adf1}.quote-progress button[aria-current=step]{color:#edfaff;border-image:var(--brand-gradient) 1}.quote-step{scroll-margin-top:110px}.service-selection-note{margin-top:22px;max-width:430px}.step-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:30px 0;border-top:1px solid #8bc8df2b;padding-top:23px}.step-controls button{min-height:44px;padding:10px 0;color:#cce4f0;font-size:13px}.step-controls button:disabled{opacity:.3}.step-controls #quote-next{padding:13px 24px;border:1px solid #64c9eb73;background:linear-gradient(100deg,#102f4c,#007fba80)}.step-controls span{font-size:10px;color:#9fc2d5}.quote-form input[type=file]{font-size:12px;line-height:1.9;white-space:normal}.quote-form input[type=file]::file-selector-button{font:inherit;padding:8px 10px;margin:0 12px 5px 0;color:#d4e9f3;background:#0b405d;border:1px solid #a4d9ed55;cursor:pointer}#attachment-list{list-style:none;padding:0;margin:0;color:#a9cddd;font-size:11px;line-height:1.9;overflow-wrap:anywhere}
@media(max-width:760px){.quote-progress{gap:15px;margin-bottom:35px}.quote-progress button{gap:7px;font-size:11px}.step-controls{gap:10px}.step-controls #quote-next{padding:12px 15px}.contact-steps{display:none}.contact-layout{gap:30px}}

:root{--identity-line:#93c6df33;--brand-gradient:linear-gradient(100deg,#0296d5,#35c6ee)}
.contact-page .contact-layout{padding-left:var(--gutter);padding-right:var(--gutter)}
.contact-intro h2{max-width:400px}.contact-intro>p:not(.eyebrow){font-size:16px}
.contact-steps h3{font-size:20px}.contact-steps p,.field label,.field-hint,.form-intro,.field-error,.contact-purpose,.delivery-note,.request-preview>p,.request-preview pre{font-size:14px}
.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{font-size:16px}
.identity-icon{width:36px;height:36px;fill:none;stroke:currentColor;flex:0 0 36px;color:#6bccec}
.quote-progress button{font-size:14px;background:transparent}.quote-progress button span{font-size:12px}
.quote-progress button[aria-current=step]{border-bottom:2px solid #00adf1;border-image:none}
.step-controls button,.summary-actions button{background:transparent;font-size:15px}.step-controls span{font-size:13px}
.contact-privacy{font-size:14px;color:#a7c4d4;line-height:1.7}.contact-privacy button{margin-top:10px;padding:0 0 4px;background:none;border-bottom:1px solid #63b4d9;color:#8fd6f2;font-size:14px}
.contact-purpose{margin-left:0}.request-preview pre{font-size:14px}.quote-progress{gap:14px}
@media(max-width:760px){.contact-intro h2{font-size:36px}.contact-layout{padding-top:36px}.quote-progress button{font-size:13px;gap:7px}.quote-progress button span{font-size:12px}}
