/* Final mobile overrides loaded at the end of each page. */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

body *{
  min-width:0;
}

.closing-beat,
body.home-refined .closing-beat,
body.yacht-editorial-page .closing-beat,
body.management-page .closing-beat,
.cinematic-process,
body.home-refined .cinematic-process,
body.yacht-editorial-page .cinematic-process{
  background:var(--navy,#0C1C30) !important;
  background-image:none !important;
}

.closing-beat::before,
.cinematic-process::before{
  display:none !important;
  background:none !important;
}

.cinematic-process .cinematic-kicker{
  font-family:'Cinzel',serif !important;
  font-size:10px !important;
  font-weight:300 !important;
  letter-spacing:.28em !important;
  text-transform:uppercase !important;
  color:var(--gold,#EBD89B) !important;
}

.cinematic-process .process-lead h2{
  font-family:'Cinzel',serif !important;
  font-weight:300 !important;
  letter-spacing:.04em !important;
  line-height:1.15 !important;
  color:var(--white,#FDFAF6) !important;
}

.cinematic-process .process-steps article > span{
  font-family:'Cinzel',serif !important;
  font-weight:300 !important;
  letter-spacing:.2em !important;
  color:var(--gold,#EBD89B) !important;
}

.cinematic-process .process-steps h3{
  font-family:'Cinzel',serif !important;
  font-weight:300 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  color:var(--white,#FDFAF6) !important;
}

.cinematic-process .process-steps p{
  font-family:'EB Garamond',serif !important;
  font-weight:300 !important;
  font-style:normal !important;
  color:rgba(253,250,246,.58) !important;
}

.cinematic-process .process-whatsapp{
  font-family:'Cinzel',serif !important;
  color:var(--gold,#EBD89B) !important;
  border-color:var(--gold,#EBD89B) !important;
}

.page-sub,
.contact-sub,
.form-intro-sub,
.dest-sub,
.standard-sub,
.story-copy p{
  width:100% !important;
  max-width:100% !important;
  overflow-wrap:normal;
}

.page-header-left,
.page-header-right,
.contact-left,
.contact-right,
.form-left,
.form-right,
.process-lead,
.process-steps{
  min-width:0 !important;
}

@media(max-width:1100px){
  nav#mainNav{
    padding-left:28px !important;
    padding-right:28px !important;
  }

  nav#mainNav .nav-logo{
    font-size:14px !important;
    letter-spacing:.13em !important;
  }
}

@media(max-width:900px){
  body.nav-open{
    overflow:hidden !important;
    touch-action:none;
  }

  nav#mainNav{
    position:fixed !important;
    left:0 !important;
    right:auto !important;
    top:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:72px !important;
    padding:0 24px !important;
    overflow:hidden !important;
  }

  nav#mainNav .nav-logo{
    max-width:calc(100vw - 96px) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  nav#mainNav .nav-btn,
  nav#mainNav .nav-links{
    display:none !important;
  }

  nav#mainNav .nav-burger{
    display:flex !important;
    position:absolute !important;
    right:24px !important;
    top:50% !important;
    z-index:10001 !important;
    width:30px !important;
    height:30px !important;
    transform:translateY(-50%) !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:center !important;
    gap:6px !important;
  }

  nav#mainNav .nav-burger span{
    display:block !important;
    width:24px !important;
    height:1.5px !important;
    background:rgba(253,250,246,.86) !important;
  }

  nav#mainNav .nav-burger span:nth-child(2){
    width:18px !important;
  }

  nav#mainNav.menu-open{
    background:#F9F7F2 !important;
    border-bottom-color:rgba(12,28,48,.1) !important;
  }

  nav#mainNav.menu-open .nav-logo{
    color:#0C1C30 !important;
  }

  nav#mainNav.menu-open .nav-burger span{
    background:#0C1C30 !important;
  }

  nav#mainNav .nav-links.open,
  #navLinks.open{
    display:flex !important;
    position:fixed !important;
    inset:0 !important;
    z-index:9996 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:104px 30px 40px !important;
    overflow-y:auto !important;
    background:#F9F7F2 !important;
  }

  nav#mainNav .nav-links.open > li,
  #navLinks.open > li{
    width:100% !important;
    padding:0 !important;
    border-bottom:1px solid rgba(12,28,48,.08) !important;
  }

  nav#mainNav .nav-links.open > li > a,
  nav#mainNav .nav-links.open > li > button,
  #navLinks.open > li > a,
  #navLinks.open > li > button{
    display:flex !important;
    width:100% !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:22px 0 !important;
    color:#0C1C30 !important;
    font-size:15px !important;
    line-height:1.25 !important;
    letter-spacing:.16em !important;
    white-space:normal !important;
    text-align:left !important;
  }

  #navYachtItem{
    flex-direction:column !important;
  }

  #navYachtItem > a::after{
    content:'+' !important;
    flex:0 0 auto;
    font-size:20px !important;
    line-height:1 !important;
    color:currentColor !important;
    transform:none !important;
  }

  #navYachtItem.open > a::after{
    content:'-' !important;
    transform:none !important;
  }

  nav#mainNav .nav-dropdown{
    position:static !important;
    display:block !important;
    min-width:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 0 0 18px !important;
    overflow:hidden !important;
    border-top:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:none !important;
    transition:max-height .3s ease,margin .3s ease !important;
  }

  #navYachtItem.open .nav-dropdown{
    max-height:560px !important;
    margin:0 0 18px !important;
  }

  nav#mainNav .nav-dropdown a,
  nav#mainNav .nav-links.open .nav-dropdown a{
    padding:10px 0 !important;
    border:0 !important;
    color:rgba(12,28,48,.7) !important;
    font-size:11px !important;
    line-height:1.35 !important;
    letter-spacing:.14em !important;
    white-space:normal !important;
  }

  .wrap{
    width:100% !important;
    max-width:100% !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .hero,
  body.home-refined .hero,
  body.yacht-editorial-page .hero{
    height:calc(100svh - 72px) !important;
    min-height:620px !important;
    margin-top:72px !important;
  }

  .hero-content,
  body.home-refined .hero-content,
  body.yacht-editorial-page .hero-content{
    width:100% !important;
    padding-left:24px !important;
    padding-right:24px !important;
    padding-bottom:46px !important;
  }

  body.home-refined .hero-content{
    padding-top:96px !important;
  }

  body.home-refined .hero-h1{
    max-width:92vw !important;
    font-size:clamp(38px,10vw,58px) !important;
    line-height:1.05 !important;
  }

  body.yacht-editorial-page .hero-h1,
  body.yacht-editorial-page .hero-h1 em{
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  body.home-refined .hero-sub{
    max-width:88vw !important;
    font-size:10px !important;
    line-height:1.85 !important;
  }

  body.home-refined .showcase,
  body.home-refined .destinations,
  body.home-refined .contact,
  .showcase,
  .destinations,
  .dest-filter-section,
  .gallery-section,
  .desc-section,
  .toys-section,
  .dest-section,
  .contact,
  .form-section,
  .usp-section,
  .services-section,
  .standard-section{
    padding-top:82px !important;
    padding-bottom:82px !important;
  }

  .cinematic-process,
  body.home-refined .cinematic-process,
  body.yacht-editorial-page .cinematic-process{
    min-height:auto !important;
    padding:82px 0 !important;
  }

  .cinematic-process-inner,
  body.home-refined .cinematic-process-inner,
  body.yacht-editorial-page .cinematic-process-inner{
    grid-template-columns:1fr !important;
    gap:42px !important;
  }

  .process-steps article{
    grid-template-columns:44px 1fr !important;
    gap:16px 18px !important;
    padding:22px 0 !important;
  }

  .fleet-filters,
  body.home-refined .fleet-filters,
  .dest-filter-tabs,
  body.home-refined .dest-filter-tabs,
  .form-tabs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow:visible !important;
    border-bottom:0 !important;
  }

  .filter-btn,
  body.home-refined .filter-btn,
  .dest-tab,
  body.home-refined .dest-tab,
  .form-tab{
    min-height:46px !important;
    padding:12px 10px !important;
    border:1px solid rgba(12,28,48,.12) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    white-space:normal !important;
    text-align:center !important;
    line-height:1.35 !important;
    letter-spacing:.16em !important;
  }

  .ys-strip,
  body.home-refined .ys-strip,
  .dest-region-strip{
    width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    padding-left:24px !important;
    padding-right:24px !important;
    scroll-padding-left:24px !important;
  }

  .ys-card,
  body.home-refined .ys-card{
    flex-basis:82vw !important;
    width:82vw !important;
    max-width:none !important;
    min-height:430px !important;
    height:58vh !important;
  }

  .dest-cards,
  body.home-refined .dest-cards{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
  }

  .dest-region-group{
    display:block !important;
  }

  .dest-region-strip{
    display:flex !important;
    gap:2px !important;
    overflow-x:auto !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }

  .dest-region-strip::-webkit-scrollbar{
    display:none;
  }

  .dest-place-card,
  body.home-refined .dest-place-card,
  .dest-region-strip .dest-place-card{
    flex:0 0 82vw !important;
    height:340px !important;
    scroll-snap-align:start !important;
  }

  .page-header{
    padding-top:124px !important;
    padding-bottom:62px !important;
  }

  .page-header-inner,
  .contact-inner,
  .form-panel.active,
  .standard-inner,
  .mgmt-inner,
  .about-inner,
  .story-grid,
  .private-planning-inner,
  .yacht-service-inner{
    grid-template-columns:1fr !important;
    gap:42px !important;
  }

  .ci-row{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
  }

  .ci-v{
    text-align:left !important;
  }

  body.yacht-editorial-page .specs-inner{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body.yacht-editorial-page .gallery-grid{
    grid-template-columns:1fr !important;
  }

  .places{
    grid-template-columns:1fr !important;
  }

  .place-cell{
    min-height:58vh !important;
  }

  .levitas-floating-whatsapp{
    right:16px !important;
    bottom:16px !important;
    max-width:calc(100vw - 32px) !important;
  }
}

@media(max-width:560px){
  nav#mainNav{
    height:68px !important;
    padding:0 18px !important;
  }

  nav#mainNav .nav-logo{
    max-width:calc(100vw - 82px) !important;
    font-size:12px !important;
    letter-spacing:.1em !important;
  }

  nav#mainNav .nav-burger{
    right:18px !important;
  }

  nav#mainNav .nav-links.open,
  #navLinks.open{
    padding:96px 24px 34px !important;
  }

  .wrap{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .hero,
  body.home-refined .hero,
  body.yacht-editorial-page .hero{
    height:calc(100svh - 68px) !important;
    min-height:640px !important;
    margin-top:68px !important;
  }

  .hero-actions,
  .hero-ctas,
  body.home-refined .hero-actions{
    width:100% !important;
    align-items:stretch !important;
    flex-direction:column !important;
    gap:14px !important;
  }

  .btn-primary,
  .btn-ghost,
  .btn-submit,
  .btn-hero,
  .process-whatsapp{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .fleet-filters,
  body.home-refined .fleet-filters,
  .dest-filter-tabs,
  body.home-refined .dest-filter-tabs,
  .form-tabs{
    grid-template-columns:1fr !important;
  }

  .ys-card,
  body.home-refined .ys-card,
  .dest-place-card,
  body.home-refined .dest-place-card,
  .dest-region-strip .dest-place-card{
    flex-basis:86vw !important;
    width:86vw !important;
  }

  .closing-beat{
    padding-top:78px !important;
    padding-bottom:78px !important;
  }

  .closing-line{
    font-size:clamp(27px,8vw,38px) !important;
    line-height:1.28 !important;
  }

  body.yacht-editorial-page .specs-inner{
    grid-template-columns:1fr !important;
  }

  .levitas-floating-whatsapp{
    right:14px !important;
    bottom:14px !important;
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    height:52px !important;
    min-height:52px !important;
    padding:0 !important;
    gap:0 !important;
    letter-spacing:0 !important;
    font-size:0 !important;
    overflow:hidden !important;
  }

  .levitas-floating-whatsapp svg{
    width:21px !important;
    height:21px !important;
  }

  body.yacht-editorial-page .hero-h1{
    font-size:clamp(38px,12vw,54px) !important;
    line-height:1.04 !important;
  }
}

@media(max-width:900px) and (max-height:520px){
  .hero,
  body.home-refined .hero,
  body.yacht-editorial-page .hero{
    height:calc(100svh - 68px) !important;
    min-height:360px !important;
    margin-top:68px !important;
  }

  .hero-content,
  body.home-refined .hero-content,
  body.yacht-editorial-page .hero-content{
    padding-bottom:28px !important;
  }

  body.home-refined .hero-h1,
  body.yacht-editorial-page .hero-h1,
  .hero-h1{
    font-size:clamp(32px,7vw,50px) !important;
    line-height:1.02 !important;
  }

  .hero-sub{
    display:block !important;
  }

  .hero-scroll{
    display:none !important;
  }
}

/* Netlify v2 mobile interaction patterns. Keep this final in the cascade. */
@media(max-width:900px){
  body.nav-open{overflow:hidden !important}

  nav#mainNav{
    height:72px !important;
    padding:0 24px !important;
    overflow:visible !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    filter:none !important;
    transform:none !important;
    contain:none !important;
  }

  nav#mainNav.menu-open{background:#F9F7F2 !important}
  nav#mainNav.menu-open .nav-logo{color:#0C1C30 !important}
  nav#mainNav .nav-links{display:none !important}

  nav#mainNav .nav-links.open,
  #navLinks.open{
    display:flex !important;
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    min-height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    box-sizing:border-box !important;
    z-index:9996 !important;
    padding:108px 30px 40px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    overflow-y:auto !important;
    background:#F9F7F2 !important;
  }

  nav#mainNav .nav-links.open > li,
  #navLinks.open > li{
    width:100% !important;
    padding:0 !important;
    border-bottom:1px solid rgba(12,28,48,.08) !important;
  }

  nav#mainNav .nav-links.open > li > a,
  nav#mainNav .nav-links.open > li > button,
  #navLinks.open > li > a,
  #navLinks.open > li > button{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:100% !important;
    padding:22px 0 !important;
    color:#0C1C30 !important;
    font-size:16px !important;
    letter-spacing:.18em !important;
  }

  nav#mainNav .nav-btn{display:none !important}

  nav#mainNav .nav-burger{
    display:flex !important;
    position:relative !important;
    top:auto !important;
    right:auto !important;
    z-index:9998 !important;
    width:auto !important;
    height:auto !important;
    transform:none !important;
    gap:6px !important;
  }

  nav#mainNav .nav-logo{position:relative !important;z-index:9998 !important}

  nav#mainNav .nav-burger span{
    width:24px !important;
    height:1px !important;
    background:rgba(255,255,255,.75) !important;
    transition:transform .25s ease,opacity .25s ease,background .25s ease !important;
  }

  nav#mainNav .nav-burger span:nth-child(2){width:18px !important}
  nav#mainNav.menu-open .nav-burger span{background:#0C1C30 !important}
  nav#mainNav .nav-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg) !important}
  nav#mainNav .nav-burger.open span:nth-child(2){opacity:0 !important}
  nav#mainNav .nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg) !important}

  #navYachtItem > a::after{
    content:'+' !important;
    font-size:20px !important;
    line-height:1 !important;
    color:currentColor !important;
  }

  #navYachtItem.open > a::after{content:'-' !important}

  nav#mainNav .nav-dropdown{
    position:static !important;
    min-width:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding-left:18px !important;
    overflow:hidden !important;
    border-top:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transform:none !important;
    transition:max-height .3s ease,margin .3s ease !important;
  }

  #navYachtItem.open .nav-dropdown{max-height:520px !important;margin:0 0 18px !important}

  nav#mainNav .nav-dropdown a{
    padding:10px 0 !important;
    border-bottom:0 !important;
    color:rgba(12,28,48,.7) !important;
    font-size:11px !important;
    letter-spacing:.16em !important;
  }
}

@media(max-width:720px){
  .wrap{padding-left:20px !important;padding-right:20px !important}

  .fleet-filters,
  body.home-refined .fleet-filters,
  .dest-filter-tabs,
  body.home-refined .dest-filter-tabs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    overflow:visible !important;
    border-bottom:0 !important;
  }

  .filter-btn,
  body.home-refined .filter-btn{
    display:block !important;
    min-height:0 !important;
    padding:14px 12px !important;
    border:0 !important;
    border-bottom:1px solid rgba(0,0,0,.08) !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .dest-tab,
  body.home-refined .dest-tab{
    display:block !important;
    min-height:0 !important;
    padding:12px 10px !important;
    border:0 !important;
    border-bottom:1px solid rgba(0,0,0,.08) !important;
    white-space:normal !important;
    text-align:center !important;
    bottom:0 !important;
  }

  .filter-btn.active,
  body.home-refined .filter-btn.active,
  .dest-tab.active,
  body.home-refined .dest-tab.active{
    border-bottom:2px solid var(--gold,#C9B96A) !important;
  }

  .ys-strip,
  body.home-refined .ys-strip{
    width:auto !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding:0 20px !important;
    scroll-snap-type:none !important;
    scroll-padding:0 20px !important;
  }

  .ys-card,
  body.home-refined .ys-card{
    flex:0 0 88vw !important;
    width:88vw !important;
    height:420px !important;
    min-height:0 !important;
  }

  .ys-nav{padding:0 20px !important}

  .dest-cards,
  body.home-refined .dest-cards{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
  }

  .dest-region-group{display:block !important}

  .dest-region-strip{
    display:flex !important;
    width:auto !important;
    gap:2px !important;
    margin:0 -20px !important;
    padding:0 20px !important;
    overflow-x:auto !important;
    overscroll-behavior-x:contain !important;
    scroll-behavior:smooth !important;
    scroll-snap-type:x proximity !important;
    scroll-padding:0 20px !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .dest-region-strip::-webkit-scrollbar{display:none !important}

  .dest-place-card,
  body.home-refined .dest-place-card,
  .dest-region-strip .dest-place-card{
    flex:0 0 82vw !important;
    width:auto !important;
    height:360px !important;
    scroll-snap-align:start !important;
  }

  .desc-tabs{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    overflow:visible !important;
    border-bottom:0 !important;
  }

  .desc-tab{
    display:block !important;
    min-height:0 !important;
    padding:0 0 14px !important;
    border:0 !important;
    border-bottom:1px solid rgba(0,0,0,.08) !important;
    white-space:normal !important;
    text-align:center !important;
    line-height:1.35 !important;
    bottom:0 !important;
  }

  .desc-tab.active{border-bottom:2px solid var(--gold,#C9B96A) !important}
  .desc-tab:last-child{grid-column:1 / -1 !important}
  .desc-panel.active{gap:28px !important}
  .desc-panel-right{padding-top:0 !important}
  .desc-chapter-body{font-size:clamp(18px,4.8vw,20px) !important;line-height:1.72 !important}

  .cinematic-process,
  body.home-refined .cinematic-process,
  body.yacht-editorial-page .cinematic-process{
    min-height:0 !important;
    padding:82px 0 !important;
    background:#0C1C30 !important;
    background-image:none !important;
  }

  .cinematic-process-inner,
  body.home-refined .cinematic-process-inner,
  body.yacht-editorial-page .cinematic-process-inner{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:42px !important;
  }

  .process-lead{position:static !important}
  .process-lead h2{font-size:clamp(30px,9vw,42px) !important;line-height:1.18 !important}
  .process-whatsapp{width:100% !important;margin-top:28px !important;text-align:center !important}

  .process-steps article{
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) !important;
    gap:8px 16px !important;
    padding:24px 0 !important;
  }

  .process-steps article > span{grid-column:1 !important;grid-row:1 / span 2 !important}
  .process-steps article > h3,
  .process-steps article > p{grid-column:2 !important;grid-row:auto !important}
  .process-steps h3{font-size:15px !important;line-height:1.4 !important;margin-bottom:3px !important}
  .process-steps p{font-size:17px !important;line-height:1.65 !important}
}
