/* Phone experience. The desktop art direction remains in refinement.css. */
.mobile-contact-bar{display:none}
.mobile-nav-footer{margin-top:35px;color:var(--gold);font-size:12px}
.mobile-nav-footer>a{font-size:16px;letter-spacing:.03em;text-transform:none;border:0}
body.menu-open{overflow:hidden}
body.menu-open .header{background:#080f19;border-bottom-color:var(--line)}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
body.modal-open .whatsapp-float{visibility:hidden}

@media(max-width:640px){
  :root{--phone-header:78px;--phone-bar:74px}
  html{scroll-padding-top:calc(var(--phone-header) + env(safe-area-inset-top) + 20px);scroll-padding-bottom:calc(var(--phone-bar) + env(safe-area-inset-bottom) + 18px)}
  body{overflow-wrap:break-word}
  .header{height:calc(var(--phone-header) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));gap:8px}
  .header .brand{align-items:flex-start;gap:4px}
  .header .brand>.wordmark{font-size:29px;letter-spacing:.055em}
  .header .brand small{font-size:6px;letter-spacing:.28em;margin:1px 0 0 2px}
  .header-actions{gap:10px}
  .languages{gap:0}
  .languages button{min-width:36px;min-height:44px;font-size:11px}
  .languages>span{font-size:8px}
  .menu-toggle{width:44px;height:44px;padding:10px 8px;flex-shrink:0}
  .menu-toggle span{transition:transform .2s}
  .mobile-nav{top:calc(var(--phone-header) + env(safe-area-inset-top));bottom:0;padding:32px 28px max(32px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:#080f19}
  .mobile-nav>.eyebrow{font-size:8px;letter-spacing:.17em;margin-bottom:23px}
  .mobile-nav>a{font-size:21px;line-height:1.3;padding:22px 0;letter-spacing:.055em}
  .mobile-nav-footer{margin-top:30px}
  .mobile-nav-footer>a{min-height:44px;display:flex;justify-content:space-between;align-items:center;padding:10px 0;margin-top:10px}

  .hero{height:100svh;min-height:670px;max-height:1000px;align-items:center}
  .hero-content{position:relative;inset:auto;margin:0;width:100%;padding:calc(120px + env(safe-area-inset-top)) 24px 195px;text-align:center}
  .hero .eyebrow{max-width:290px;font-size:8px;line-height:1.9;letter-spacing:.12em;margin:0 auto 23px}
  .hero h1{font-size:clamp(26px,7.4vw,44px);line-height:1.28;letter-spacing:.005em}
  .hero h1 span,.hero h1 em{white-space:nowrap}
  .hero-description{font-size:14px;line-height:1.8;max-width:320px;margin:22px auto 27px;text-wrap:pretty}
  .hero .button{min-height:52px;padding:15px 20px;max-width:100%}
  .hero-image{object-position:43% center}
  .hero-shade{background:linear-gradient(180deg,#06132370 0%,#07132342 25%,#07132391 65%,#060e19ed 100%)}
  .hero-bottom{bottom:calc(100px + env(safe-area-inset-bottom));left:24px;right:24px}
  .hero-bottom .tiny{max-width:none;font-size:7px;letter-spacing:.12em}
  .hero-region{font-size:13px;margin-top:7px}

  .section-pad{padding-top:64px;padding-bottom:64px}
  h2{font-size:clamp(26px,7.7vw,36px);line-height:1.23;text-wrap:balance}
  .section-aside{max-width:none}
  .intro-copy>p:not(.lead),.service-body p,.case-caption p,.yacht-card-body>p:not(.eyebrow),.captain-copy>p:not(.eyebrow):not(.lead),.meeting-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}
  .credentials{margin-top:32px}
  .credentials>div{grid-template-columns:118px 1fr;gap:17px;padding:25px 0}
  .credentials p{font-size:12px}
  .text-link{min-height:44px;line-height:1.6}
  .service summary{min-height:72px}
  .service summary h3{font-size:19px}
  .service-body{padding-left:26px;padding-right:0}
  .service-body li{font-size:13px;line-height:1.7}
  .service-index{margin-bottom:24px;gap:12px 17px}
  .service-visual img{height:auto;aspect-ratio:1.15;object-fit:cover}
  .case-secondary{margin-top:38px}
  .case-secondary .photo-open img{aspect-ratio:1.4}
  .photo-zoom{width:44px;height:44px;right:12px;bottom:12px}
  .yacht-card>.photo-open>img{aspect-ratio:1.6;object-position:50% 50%}
  .yacht-card+.yacht-card{margin-top:38px}
  .yacht-card h3{font-size:29px;line-height:1.2}
  .yacht-facts.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}
  .yacht-facts.specs>span{max-width:none;font-family:var(--sans);font-size:24px;white-space:nowrap}
  .yacht-facts small{font-size:7px;letter-spacing:.08em}
  .yacht-enquiry-actions{display:grid;gap:8px}
  .yacht-enquiry-actions>.text-link{display:flex;justify-content:space-between;width:100%;padding:13px 0;font-size:12px}
  .yacht-enquiry-actions>.brochure-link{border:1px solid #c8a76a80;background:#c8a76a09;padding:14px 16px;margin:4px 0 6px}
  .yacht-card-body>p.selection-note{font-size:10px;line-height:1.7}
  .private-search .button{width:100%;gap:18px}
  .captain-image img{height:auto;aspect-ratio:.85;object-position:center 65%}
  .captain-copy h2{font-size:clamp(28px,8.2vw,38px)}
  .gallery-strip img{height:auto;aspect-ratio:.72;object-fit:cover}
  .gallery-strip .gallery-feature img{aspect-ratio:1.5}
  .gallery-strip .gallery-feature>span{font-size:15px}
  .gallery-heading h2{font-size:28px}
  .method-grid p{font-size:15px}
  .contact{grid-template-columns:minmax(0,1fr)}
  .contact-copy{min-width:0}
  .contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}
  .contact-phone{font-size:clamp(19px,6.15vw,23px);gap:12px;min-height:44px}
  .contact-email{font-size:14px;min-height:44px}
  .contact-actions{display:grid;gap:12px}
  .contact-actions>.button{width:100%}
  .contact-actions>.text-link{justify-self:start;font-size:12px}
  .monaco-meeting{padding-top:64px;padding-bottom:64px}
  .meeting-copy h2{font-size:31px}
  .invitation-card{min-height:350px}
  .footer{padding-bottom:calc(var(--phone-bar) + env(safe-area-inset-bottom) + 32px)}
  .footer-top{gap:20px}
  .footer-top p{max-width:115px;font-size:12px}
  .footer-bottom button{min-height:44px;margin-top:-16px;margin-bottom:-12px;font-size:10px}
  .footer-bottom>span:last-child{font-size:9px;line-height:1.7}

  .whatsapp-float{display:none}
  .mobile-contact-bar{position:fixed;z-index:35;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px max(18px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#080f19f5;border-top:1px solid #c8a76a40;backdrop-filter:blur(16px)}
  .mobile-contact-bar>a,.mobile-contact-bar>button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;letter-spacing:.03em;border:1px solid var(--gold);color:var(--gold);padding:10px}
  .mobile-contact-bar>a{background:var(--gold);color:#080f19}
  .mobile-contact-bar>button>span:last-child{font-size:20px}
  .mobile-contact-bar svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
  body.menu-open .mobile-contact-bar,body.modal-open .mobile-contact-bar{display:none}

  dialog{max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 12px);overscroll-behavior:contain}
  .enquiry-dialog,.privacy-dialog{width:100%;margin:auto 0 0;padding:58px 24px calc(30px + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0}
  .dialog-close{width:44px;height:44px;top:9px;right:13px;font-size:32px;border:1px solid #ffffff24;background:#0f1c2d}
  .dialog-whatsapp{min-height:52px;font-size:12px;line-height:1.6}
  input,select,textarea{font-size:16px;min-height:48px;padding:12px}
  form label{font-size:12px}
  .enquiry-dialog .eyebrow{max-width:270px;line-height:1.8;padding-right:0}
  .enquiry-dialog h2{font-size:31px}
  .gallery-dialog{width:100%;height:100dvh;max-height:100dvh;padding:calc(68px + env(safe-area-inset-top)) 18px calc(105px + env(safe-area-inset-bottom));margin:0}
  .gallery-dialog figure img{max-height:calc(100dvh - 220px - env(safe-area-inset-bottom) - env(safe-area-inset-top))}
  .gallery-dialog .dialog-close{top:calc(12px + env(safe-area-inset-top));right:16px}
  .gallery-dialog figcaption{font-size:11px;line-height:1.65;gap:20px}
  #gallery-counter{white-space:nowrap;color:var(--gold)}
  .gallery-arrow{width:48px;height:48px;bottom:calc(24px + env(safe-area-inset-bottom))}
  .plan-dialog{padding-top:60px}
}

@media(max-width:360px){
  .header{padding-left:14px;padding-right:10px}
  .header .brand>.wordmark{font-size:27px}
  .header-actions{gap:3px}
  .hero-content{padding-left:20px;padding-right:20px}
  .hero h1{font-size:clamp(22px,7.25vw,26px)}
  .yacht-facts.specs>span{font-size:22px}
  .footer-top{align-items:flex-start}
  .footer-top p{max-width:105px}
}

@media(max-width:640px) and (max-height:700px){
  .hero{min-height:670px}
  .hero-content{padding-top:115px;padding-bottom:180px}
  .hero .eyebrow{margin-bottom:18px}
  .hero-description{margin-top:18px;margin-bottom:22px}
}
