
:root{
  --site-navy:#062b3a;--site-navy-deep:#031f2a;--site-turquoise:#22c9d5;
  --site-gold:#f7b942;--site-ink:#153843;--site-muted:#62777e;
  --site-radius-sm:12px;--site-radius:20px;--site-radius-lg:28px;
  --site-shadow-sm:0 8px 22px rgba(4,37,49,.10);
  --site-shadow:0 18px 48px rgba(4,37,49,.14);
  --site-ease:cubic-bezier(.2,.75,.25,1);
}
html{scroll-padding-top:112px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video{max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit}
a,button{touch-action:manipulation}
:focus-visible{outline:3px solid var(--site-gold);outline-offset:4px;border-radius:6px}
::selection{background:rgba(34,201,213,.3)}
header{backdrop-filter:saturate(130%) blur(12px);-webkit-backdrop-filter:saturate(130%) blur(12px)}
nav a:not(.book-top){position:relative}
nav a:not(.book-top)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--site-gold);transform:scaleX(0);transform-origin:center;transition:transform .25s var(--site-ease)}
nav a:not(.book-top):hover::after,nav a[aria-current="page"]::after,nav a.active::after{transform:scaleX(1)}
.book-top,.btn,.start-btn,.submit,.filter,.option-card,.experience-card,.tile,.service,.why-card,.contact-card{transition:transform .25s var(--site-ease),box-shadow .25s var(--site-ease),border-color .25s ease,background-color .25s ease}
.book-top:hover,.btn:hover,.start-btn:hover,.submit:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(4,37,49,.2)}
section{scroll-margin-top:110px}
main p{max-width:72ch}
input,select,textarea{min-height:48px;border-radius:12px}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--site-turquoise)!important;box-shadow:0 0 0 4px rgba(34,201,213,.14)!important;outline:0}
[hidden]{display:none!important}
.reveal-ready{opacity:0;transform:translateY(18px)}
.reveal-ready.is-visible{opacity:1;transform:none;transition:opacity .65s var(--site-ease),transform .65s var(--site-ease)}
footer{content-visibility:auto;contain-intrinsic-size:420px}
.global-wa{will-change:transform}
@media (hover:hover){.tile:hover,.service:hover,.why-card:hover,.contact-card:hover{transform:translateY(-5px);box-shadow:var(--site-shadow)}}
@media(max-width:900px){
  html{scroll-padding-top:92px}
  .nav-wrap{width:min(94%,720px)!important}
  nav{max-height:calc(100vh - 88px);overflow:auto}
  nav a{min-height:48px;display:flex;align-items:center}
  nav a:not(.book-top)::after{display:none}
}
@media(max-width:700px){
  body{overflow-x:hidden}
  h1{overflow-wrap:break-word}
  .global-mobile-bar{padding-bottom:env(safe-area-inset-bottom)}
  .global-wa{bottom:calc(76px + env(safe-area-inset-bottom))}
}
@media(max-width:480px){
  .card,.form-card,.summary-card{border-radius:18px!important}
  .hero h1,h1{hyphens:auto}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal-ready{opacity:1!important;transform:none!important}
}

/* 2026-07 mobile navigation, footer and transfer CTA refinements */
.transfer-cta{background:#22c9d5!important;color:#042b38!important;border-color:#22c9d5!important;box-shadow:0 12px 35px rgba(34,201,213,.28)!important}
.transfer-cta:hover{filter:brightness(1.06)}
@media(max-width:900px){
  header{isolation:isolate}
  header nav{visibility:hidden;opacity:0;pointer-events:none}
  header nav.open{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;z-index:9999!important}
  .menu-btn{position:relative;z-index:10000;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;min-width:48px;min-height:48px;display:grid!important;place-items:center;padding:0}
  body.menu-open{overflow:hidden}
}
@media(max-width:600px){
  footer .footer-wrap{display:flex!important;flex-direction:column!important;align-items:center!important;width:94%!important;gap:18px!important}
  footer .footer-contact{width:100%!important;max-width:390px!important;margin:0 auto!important;padding:0!important;display:grid!important;gap:12px!important;text-align:left!important}
  footer .contact-row{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;width:100%!important;max-width:none!important;margin:0!important;text-align:left!important}
  footer .contact-label{display:block!important;text-align:right!important;white-space:nowrap!important}
  footer .contact-value{display:block!important;min-width:0!important;width:auto!important;text-align:left!important;white-space:nowrap!important;font-size:clamp(12px,3.55vw,15px)!important;letter-spacing:0!important}
  footer .contact-value a{white-space:nowrap!important;color:#fff!important;text-decoration:none!important}
  footer .social-icons{justify-content:flex-start!important;align-items:center!important;flex-wrap:nowrap!important}
  footer .copyright{padding:0 12px!important;line-height:1.45!important}
}
@media(max-width:370px){
  footer .footer-contact{max-width:350px!important}
  footer .contact-row{grid-template-columns:70px minmax(0,1fr)!important;gap:7px!important}
  footer .contact-label{font-size:11px!important}
  footer .contact-value{font-size:11.5px!important}
}


/* FINAL FOOTER + DISCOVER NASSAU RELIABILITY FIX — 2026-07-22 */
footer .footer-wrap{
  width:min(1520px,94%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(280px,360px) minmax(320px,1fr) minmax(390px,440px)!important;
  align-items:center!important;
  gap:26px!important;
}
footer .footer-logo img{width:345px!important;max-width:100%!important;height:auto!important;display:block!important}
footer .footer-contact{
  width:100%!important;max-width:440px!important;justify-self:end!important;
  display:grid!important;gap:10px!important;padding:0!important;text-align:left!important;
}
footer .contact-row{
  width:100%!important;display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  align-items:center!important;column-gap:14px!important;margin:0!important;
}
footer .contact-label{
  display:block!important;text-align:right!important;white-space:nowrap!important;
  line-height:1.15!important;font-size:12px!important;
}
footer .contact-value,footer .contact-value a{
  display:block!important;text-align:left!important;white-space:nowrap!important;
  min-width:0!important;text-decoration:none!important;
}
footer .social-icons{
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  gap:10px!important;flex-wrap:nowrap!important;min-width:0!important;
}
/* Never allow reveal animation to leave mobile content invisible. */
@media(max-width:900px){
  .reveal-ready{opacity:1!important;transform:none!important}
  footer .footer-wrap{grid-template-columns:1fr!important;text-align:center!important;gap:18px!important}
  footer .footer-logo img{margin:0 auto!important}
  footer .footer-contact{justify-self:center!important;margin:0 auto!important;max-width:420px!important}
}
@media(max-width:600px){
  footer .footer-contact{max-width:400px!important}
  footer .contact-row{grid-template-columns:96px minmax(0,1fr)!important;column-gap:10px!important}
  footer .contact-label{font-size:11px!important;letter-spacing:.55px!important}
  footer .contact-value{font-size:clamp(11.5px,3.45vw,14px)!important}
  footer .social-icons{justify-content:flex-start!important}
  button.submit{white-space:nowrap!important;font-size:clamp(11.5px,3.4vw,15px)!important}
}
@media(max-width:360px){
  footer .contact-row{grid-template-columns:86px minmax(0,1fr)!important;column-gap:7px!important}
  footer .contact-label{font-size:10px!important}
  footer .contact-value{font-size:11px!important}
}


/* FINAL MOBILE CTA + NAVIGATION HARDENING — 2026-07-22 */
@media(max-width:600px){
  .hero .actions .transfer-cta{
    white-space:nowrap!important;
    font-size:clamp(11px,3.15vw,14px)!important;
    letter-spacing:-.18px!important;
    padding-left:10px!important;
    padding-right:10px!important;
    width:100%!important;
  }
}
@media(max-width:360px){
  .hero .actions .transfer-cta{
    font-size:10.5px!important;
    letter-spacing:-.3px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
}
@media(max-width:900px){
  header{position:relative!important;z-index:1000!important;overflow:visible!important}
  header .nav-wrap{position:relative!important;z-index:1001!important}
  header nav{
    position:absolute!important;
    left:0!important;right:0!important;
    z-index:1002!important;
    transform:translateY(-8px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  }
  header nav.open{transform:translateY(0)!important}
  header nav a{position:relative!important;z-index:1003!important;pointer-events:auto!important}
  header .menu-btn{z-index:1004!important}
}
