/* v40: a printed navy tide opens into the ocean. Content stays in normal flow. */
.home-clarity .contact.contact-ocean {
  position:relative;isolation:isolate;overflow:clip;
  background:var(--navy);color:var(--cream);
  padding-top:105px;padding-bottom:130px;
}
.contact-ocean::before { display:none; }
.contact-ocean:focus {outline:none}
.contact-ocean-scene {position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:clip;background:var(--navy)}
.contact-ocean-photo {position:sticky;display:block;top:-48px;left:0;width:100%;height:calc(100svh + 96px);max-width:none;object-fit:cover;object-position:50% 50%;transform:translate3d(0,0,0)}
.contact-ocean-ink,.contact-ocean-fallback {position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.contact-ocean-ink {opacity:0;image-rendering:pixelated}
.contact-ocean-fallback {background:linear-gradient(180deg,var(--navy),transparent 19%,transparent 78%,var(--navy))}
.ocean-rendered .contact-ocean-ink {opacity:1}
.ocean-rendered .contact-ocean-fallback {visibility:hidden}
/* Local plates protect the heading and copy, leaving the water clear elsewhere. */
.contact-ocean-shade {position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(180deg,var(--navy) 0,rgba(1,33,56,.92) 210px,rgba(1,33,56,.58) 350px,transparent 540px),
 linear-gradient(90deg,rgba(1,33,56,.83) 0,rgba(1,33,56,.72) 25%,rgba(1,33,56,.18) 46%,transparent 61%);
}
.home-clarity .contact-ocean .contact-top h2 {margin:0 0 65px;max-width:13ch;font-size:clamp(55px,6.6vw,100px);line-height:1.03}
.contact-ocean .contact-grid {gap:9%;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}
.contact-ocean .booking-context {padding-top:22px;max-width:390px}
.contact-ocean .booking-intro {font-size:clamp(23px,2.15vw,31px);line-height:1.35}
.contact-ocean .booking-next {font-size:17px;line-height:1.6;max-width:29ch;margin:25px 0 35px}
.contact-ocean .direct-email {margin-top:38px;font-size:13px}
.contact-ocean .direct-email a {display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px}
.contact-ocean .contact-form {
 color:var(--navy);background:var(--cream);isolation:isolate;
 padding:clamp(26px,3.2vw,46px);border:1px solid rgba(240,240,232,.6);
 box-shadow:0 24px 70px rgba(1,24,41,.2);position:relative;
}
.contact-ocean .contact-form::before {content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/attua/cotton-stock.webp') center/700px;opacity:.1}
.contact-ocean .contact-form::selection {background:var(--navy);color:var(--cream)}
.contact-ocean .contact-form .form-intro {font-size:29px}
.contact-ocean .contact-form .form-row {gap:18px}
.contact-ocean .contact-form input,.contact-ocean .contact-form textarea {background:rgba(255,255,255,.3);border-color:rgba(1,33,56,.5);color:var(--navy)}
.contact-ocean .contact-form input:focus-visible,.contact-ocean .contact-form textarea:focus-visible {outline:2px solid var(--navy);outline-offset:3px}
.contact-ocean .contact-form input::placeholder,.contact-ocean .contact-form textarea::placeholder {color:#456071;opacity:1}
.contact-ocean .booking-success {min-height:360px}
@media(max-width:760px) {
 .home-clarity .contact.contact-ocean {padding:70px 22px 85px}
 .home-clarity .contact-ocean .contact-top h2 {font-size:clamp(43px,11.9vw,72px);max-width:13ch;margin-bottom:150px}
 .contact-ocean-photo {object-position:57% 48%}
 .contact-ocean-shade {background:linear-gradient(180deg,var(--navy),rgba(1,33,56,.86) 200px,transparent 390px)}
 .contact-ocean .contact-grid {display:flex;flex-direction:column;gap:36px}
 .contact-ocean .contact-form {width:100%;padding:26px 22px;order:0}
 .contact-ocean .contact-form .form-row {display:block}
 .contact-ocean .contact-form .form-intro {font-size:27px}
 .contact-ocean .booking-context {order:1;max-width:none;padding:20px 0 0;position:relative}
 .contact-ocean .booking-context::before {content:'';position:absolute;inset:-25px -22px -85px;z-index:-1;background:linear-gradient(180deg,transparent,rgba(1,33,56,.85) 35%,var(--navy));pointer-events:none}
 .contact-ocean .booking-intro {font-size:23px;max-width:26ch}
 .contact-ocean .booking-next {font-size:16px;margin:22px 0 25px}
 .contact-ocean .direct-email {font-size:12px;margin-top:24px}
}
@media(prefers-reduced-motion:reduce) {
 .contact-ocean-photo {position:absolute;height:100%;top:0;transform:none!important}
}
@media print {
 .contact-ocean-scene,.contact-ocean-shade {display:none!important}
 .home-clarity .contact.contact-ocean {background:white;color:black;padding:30px}
 .contact-ocean .contact-form {box-shadow:none;background:white;border:1px solid #888}
 .home-clarity .contact-ocean .contact-top h2 {margin-bottom:30px}
}
