.contact-page{background:#fff}
.contact-page .navigation>a[aria-current=page]{color:#166e89}
.contact-page .navigation>a[aria-current=page]:after{right:0}

.contact-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.contact-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 10%,#2b728359,transparent 34%),linear-gradient(120deg,#102b39 0%,#0b2532 65%,#071d28 100%);pointer-events:none}
.contact-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);min-height:650px}
.contact-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:90px 76px 100px 0;max-width:710px}
.contact-hero-copy h1{font-size:clamp(5rem,7.4vw,7.25rem);margin-bottom:32px}
.contact-hero-copy>p:not(.eyebrow){max-width:600px;color:#d5e2e7;font-size:1.125rem;line-height:1.8;margin-bottom:0}
.contact-hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}
.contact-call{padding:10px 0;border-bottom:1px solid #ffffff55;font-size:.875rem;font-weight:700}
.contact-hero-media{position:relative;min-height:650px;isolation:isolate}
.contact-hero-media:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#102b39 0%,transparent 38%),linear-gradient(0deg,#071d29a6,transparent 50%)}
.contact-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.contact-location{position:absolute;z-index:2;left:42px;right:42px;bottom:36px;padding-top:18px;border-top:1px solid #ffffff66;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.75rem;letter-spacing:.1em}
.contact-location strong{font-size:.75rem;letter-spacing:.03em}

.contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-inline:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-option{min-height:180px;padding:32px 30px;display:flex;gap:22px;align-items:flex-start;border-right:1px solid var(--line);transition:background .2s,color .2s}
.contact-option:last-child{border-right:0}
.contact-option:hover{background:#f2f7f9;color:#166e89}
.contact-option-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid #bfd0d7;border-radius:50%;font-size:1rem}
.contact-option-icon svg{display:block;width:20px;height:20px}
.contact-option-icon-whatsapp{color:#167b5e;border-color:#9ccbbd;background:#eef8f4}
.contact-option-icon-phone{color:#176b86;border-color:#abcbd6;background:#eef6f8}
.contact-option>span:last-child{display:flex;flex-direction:column;min-width:0}
.contact-option small{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.contact-option strong{font-size:1.05rem;line-height:1.35;overflow-wrap:anywhere}
.contact-option em{margin-top:12px;font-size:.78rem;color:#52707e;font-style:normal}

.contact-main{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(520px,1.22fr);gap:90px;align-items:start}
.contact-intro{position:sticky;top:135px}
.contact-intro h2{font-size:clamp(2.7rem,4.2vw,4.5rem);margin-bottom:27px}
.contact-intro>p:not(.eyebrow){max-width:520px;color:var(--muted);font-size:1rem;line-height:1.8}
.contact-intro-note{display:flex;gap:18px;margin-top:36px;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-intro-note>span{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid #bfd0d7;border-radius:50%;font-size:1.2rem;color:#28778c}
.contact-intro-note p{margin:0;font-size:.875rem;line-height:1.65;color:#516973}
.contact-intro-note strong{display:block;color:var(--navy);margin-bottom:4px}

.contact-form-panel{padding:44px;background:var(--blue);border:1px solid #d7e5ea;box-shadow:18px 18px 0 #f4dc6b45}
.contact-form{display:flex;flex-direction:column;gap:24px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.contact-form label{display:flex;flex-direction:column;gap:9px;font-size:.78rem;font-weight:700;color:var(--navy)}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #c7d8df;background:#fff;color:var(--ink);border-radius:3px;padding:15px 16px;font:500 .9375rem/1.45 var(--body);transition:border .2s,box-shadow .2s}
.contact-form select{min-height:53px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#335b69 50%),linear-gradient(135deg,#335b69 50%,transparent 50%);background-position:calc(100% - 19px) 22px,calc(100% - 14px) 22px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:42px}
.contact-form textarea{resize:vertical;min-height:165px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:0;border-color:#1a7189;box-shadow:0 0 0 3px #1a718926}
.message-field{width:100%}
.contact-form .privacy-check{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;font-weight:500;font-size:.8125rem;line-height:1.55;color:#4d626c}
.privacy-check input{width:18px;height:18px;margin:2px 0 0;accent-color:#176c84}
.privacy-check a{text-decoration:underline;text-underline-offset:3px}
.contact-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.form-submit{display:flex;align-items:center;gap:25px;margin-top:2px}
.form-submit .button{border:0;flex:0 0 auto}
.form-submit p{margin:0;font-size:.75rem;line-height:1.55;color:#607680}
.form-submit p a{text-decoration:underline;text-underline-offset:3px}
.form-notice{display:flex;flex-direction:column;gap:5px;padding:18px 20px;margin-bottom:26px;border-left:4px solid;font-size:.875rem}
.form-notice.success{background:#e6f5ed;border-color:#207455;color:#174c39}
.form-notice.error{background:#fff0ee;border-color:#b84b3f;color:#713027}

.map-section{background:#edf4f6;padding:98px 0 82px}
.map-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:42px}
.map-heading h2{font-size:clamp(2.7rem,4.2vw,4.5rem)}
.map-address{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.map-address>span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.map-address strong{font-size:1.15rem;margin:3px 0 15px}
.map-address a{font-size:.8125rem;font-weight:700;border-bottom:1px solid #7fa0ad;padding-bottom:6px}
.map-frame{padding:0;background:#fff;border:10px solid #fff;box-shadow:0 20px 40px #17323e1a;overflow:hidden}
.map-frame iframe{display:block;width:100%}
.arrival-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:36px;border-top:1px solid #cddce2}
.arrival-notes>div{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:28px 26px 0 0;border-right:1px solid #cddce2}
.arrival-notes>div+div{padding-left:26px}
.arrival-notes>div:last-child{border-right:0;padding-right:0}
.arrival-notes span{font:700 1.8rem/1 var(--display);color:#2c7589}
.arrival-notes p{margin:0;font-size:.875rem;color:#5a707a;line-height:1.65}
.arrival-notes strong{display:block;color:var(--navy);margin-bottom:4px}

@media(max-width:1120px){
  .contact-hero-grid{grid-template-columns:1fr .85fr;min-height:590px}
  .contact-hero-copy{padding-right:48px}.contact-hero-media{min-height:590px}
  .contact-main{gap:55px;grid-template-columns:.8fr 1.2fr}.contact-form-panel{padding:36px}
  .contact-option{padding:27px 22px;gap:17px}.contact-option strong{font-size:.95rem}
}

@media(max-width:900px){
  .contact-hero-grid{width:100%;grid-template-columns:1fr 1fr}
  .contact-hero-copy{padding:75px 38px 82px 48px}.contact-hero-copy h1{font-size:5.2rem}
  .contact-hero-copy>p:not(.eyebrow){font-size:1rem}.contact-hero-actions{align-items:flex-start;flex-direction:column;gap:16px}
  .contact-location{left:24px;right:24px;display:block}.contact-location strong{display:block;margin-top:6px}
  .contact-options{grid-template-columns:1fr}.contact-option{min-height:0;border-right:0;border-bottom:1px solid var(--line);padding:25px 28px}.contact-option:last-child{border-bottom:0}
  .contact-main{grid-template-columns:1fr;gap:46px}.contact-intro{position:static;max-width:650px}.contact-intro h2{font-size:3.5rem}
  .map-heading{align-items:flex-start}.map-address{max-width:300px}.arrival-notes{grid-template-columns:1fr}.arrival-notes>div,.arrival-notes>div+div{border-right:0;border-bottom:1px solid #cddce2;padding:24px 0}.arrival-notes>div:last-child{border-bottom:0}
}

@media(max-width:760px){
  .contact-hero-grid{grid-template-columns:1fr}.contact-hero-copy{padding:62px 20px 70px}.contact-hero-copy h1{font-size:clamp(4rem,18vw,5.25rem);margin-bottom:25px}.contact-hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.75}.contact-hero-actions{margin-top:27px}.contact-hero-actions .button{width:100%}.contact-call{font-size:.8125rem}
  .contact-hero-media{min-height:380px}.contact-hero-media:before{background:linear-gradient(0deg,#071d29b5,transparent 68%)}.contact-location{bottom:24px}
  .contact-options{width:100%;border-inline:0}.contact-option{padding-inline:20px}.contact-option strong{font-size:.9375rem}
  .contact-main{padding-block:64px;gap:35px}.contact-intro h2{font-size:2.65rem}.contact-intro>p:not(.eyebrow){font-size:.9375rem}.contact-intro-note{margin-top:27px}
  .contact-form-panel{padding:28px 22px;box-shadow:9px 9px 0 #f4dc6b45}.form-grid{grid-template-columns:1fr;gap:20px}.contact-form{gap:21px}.form-submit{align-items:stretch;flex-direction:column;gap:15px}.form-submit .button{width:100%}.form-submit p{text-align:center}
  .map-section{padding:64px 0 110px}.map-heading{display:block;margin-bottom:30px}.map-heading h2{font-size:2.65rem}.map-address{align-items:flex-start;text-align:left;margin-top:25px}.map-frame{width:100%;border-width:6px}.map-frame iframe{height:440px}.arrival-notes{margin-top:26px}
}

@media(max-width:380px){
  .contact-hero-copy{padding-inline:16px}.contact-form-panel{padding-inline:18px}.contact-option{gap:14px}.contact-option-icon{width:38px;height:38px;flex-basis:38px}.mobile-booking .button{padding-inline:12px}
}

@media(prefers-reduced-motion:no-preference){
  .contact-hero-copy{animation:contact-enter .7s ease-out both}.contact-hero-media{animation:contact-fade .9s ease-out both}
  @keyframes contact-enter{from{opacity:.35;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes contact-fade{from{opacity:.45}to{opacity:1}}
}

@media print{.contact-hero{background:#fff;color:var(--navy)}.contact-hero:before,.contact-hero-media,.contact-hero-actions,.contact-form-panel,.whatsapp-float,.mobile-booking{display:none}.contact-hero-grid{display:block;min-height:0}.contact-hero-copy{padding:30px 0}.contact-options{grid-template-columns:1fr}.map-section{padding:30px 0;background:#fff}.map-frame{box-shadow:none}}
