/* A softer, quieter interface around the cinematic footage. */
:root{--curve:22px;--soft-line:#102c3c18;--ease:cubic-bezier(.22,.61,.36,1)}
body{font-family:'Nunito Sans',sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,.serif{font-family:'Fraunces',Georgia,serif;font-optical-sizing:auto;font-weight:400}
.wordmark small{font-family:'Nunito Sans',sans-serif}
.eyebrow{letter-spacing:.13em}
.btn,.nav-reserve,.menu-toggle,.motion-toggle,.detail-pills span,.concept-tag{border-radius:999px}
.btn{font-size:14px;letter-spacing:.025em;text-transform:none;transition:background .3s var(--ease),transform .3s var(--ease),border-color .3s var(--ease)}
.btn:hover{transform:translateY(-1px)}
.nav-links{font-size:13px;text-transform:none;letter-spacing:.025em}
.text-link,.story-text-link{font-size:14px;text-transform:none;letter-spacing:.02em;min-height:44px;align-items:center}
.text-link span,.story-text-link span{transition:transform .3s var(--ease)}
.text-link:hover span,.story-text-link:hover span{transform:translate(2px,-2px)}
.section-heading .text-link{font-size:14px}
.vessel-card{border:1px solid var(--soft-line);border-radius:var(--curve);background:#fffdf87a;overflow:hidden;transition:border-color .35s ease}
.vessel-card:hover{border-color:#a58a5455}
.vessel-image{border-radius:21px 21px 16px 16px;isolation:isolate}
.vessel-image img{transition:transform 1.1s var(--ease)}
.vessel-card:hover img{transform:scale(1.025);filter:none}
.vessel-info{padding:23px 24px 25px}
.vessel-title h3{font-size:32px}
.vessel-title>span{font-family:'Fraunces',Georgia,serif;font-size:25px;white-space:nowrap}
.vessel-meta{border-color:var(--soft-line);align-items:center;gap:12px;margin-top:16px;padding-top:10px}
.vessel-meta a{font-size:12px;letter-spacing:.025em;text-transform:none;min-height:44px;align-items:center}
.fleet-filter{border:0;gap:10px;margin-bottom:32px}
.fleet-filter button{border:1px solid var(--soft-line);border-radius:999px;padding:11px 20px;min-height:46px;font-size:14px;transition:background .3s,color .3s,border-color .3s}
.fleet-filter button[aria-pressed=true]{background:#0b2d40;color:#f7f6f2;border-color:#0b2d40}
.fleet-filter button[aria-pressed=true]:after{display:none}
.route-card>img{border-radius:var(--curve)}
.concierge-grid,.itinerary-grid{gap:20px}
.concierge-grid article,.itinerary-grid article,.experience-item{border:1px solid var(--soft-line);border-radius:var(--curve);background:#fffdf861;padding:26px}
.concierge-grid h3,.itinerary-grid h3,.experience-item h3{margin:0 0 15px;line-height:1.25}
.concierge-grid p,.itinerary-grid p{font-size:15px;line-height:1.8}
.experience-grid{gap:22px}
.rate-card,.booking-aside{border:1px solid var(--soft-line);border-radius:var(--curve);background:#fffdf87a;padding:28px}
.booking-aside img{border-radius:15px}
.rate-card .btn{gap:15px}
input,select,textarea{font-size:16px;border-color:#102c3c2b;border-radius:14px;min-height:54px;transition:border-color .25s,box-shadow .25s}
input:focus,select:focus,textarea:focus{border-color:#a58a54;box-shadow:0 0 0 3px #d9b97924}
.extras{border-color:var(--soft-line);border-radius:18px;min-width:0}
.extras label{min-height:44px;font-size:14px}
.extras input{width:18px;height:18px;box-shadow:none}
.detail-pills span{border-color:var(--soft-line);background:#fffdf85c}
.detail-hero>span{border-radius:999px}
.faq details,.faq details:last-child{border:1px solid var(--soft-line);border-radius:18px;margin-bottom:12px;padding:18px 23px;background:#fffdf85c}
.faq summary{align-items:center;min-height:44px;font-weight:600}
.faq summary::-webkit-details-marker{display:none}
dialog{border-radius:26px;box-shadow:0 24px 100px #03182735}
.dialog-close{width:44px;height:44px;border-radius:50%;line-height:1}
.footer-nav a{min-height:44px;display:flex;align-items:center}
.footer-nav div{gap:4px}
.back-link{min-height:44px;display:inline-flex;align-items:center}
.reveal{transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.pending{transform:translateY(16px)}
.story-content h1,.story-content h2{letter-spacing:-.035em;line-height:1.09}
.story-copy{line-height:1.75}
.story-content{will-change:auto}
.hero-video-frame{inset:-2% -6%;width:112%;height:104%;transform-origin:center;will-change:transform}
.hero-video,.hero-video-poster{object-position:55% center}
.scene-layer:not(.ocean-scene) .scene-photo{animation:none;scale:1}
.scene-photo{inset:-2%;width:104%;height:104%;transform:none;will-change:auto}
.scene-shade{background:linear-gradient(90deg,#03131ec9,#03131e48 57%,#03131e10),linear-gradient(0deg,#03131e55,transparent 42%,#03131e25)}
.drift-shade-layer{position:absolute;inset:0;z-index:5;opacity:0;background:linear-gradient(270deg,#031928b3,transparent 75%)}
.film-grain{display:none}
.motion-toggle{min-height:44px;bottom:20px;padding:9px 16px;font-size:11px;letter-spacing:.015em;background:#061a2c99;backdrop-filter:blur(8px)}
.voyage-ui{transition:opacity .4s ease,visibility .4s ease}
.hero-actions .story-text-link{margin:0}
.home-content{border-radius:28px 28px 0 0;overflow:hidden}
@media(hover:none){.vessel-card:hover img,.btn:hover{transform:none}}
@media(max-width:1100px){.concierge-grid,.itinerary-grid{grid-template-columns:1fr 1fr}.nav-links{gap:20px;font-size:12px}}
@media(max-width:760px){
  html{scroll-padding-top:20px}
  .container{width:calc(100% - 44px)}
  .nav{height:84px;gap:14px}
  .brand-lockup{gap:9px}.brand-lockup img{width:29px;height:40px}
  .wordmark{font-size:22px;letter-spacing:.16em}.wordmark small{font-size:6px;letter-spacing:.13em}
  .menu-toggle{min-height:44px;min-width:79px;justify-content:center;font-size:12px;padding:8px 13px;gap:9px}
  .nav-links{display:flex;top:75px;left:14px;right:14px;max-height:calc(100svh - 100px);overflow-y:auto;overscroll-behavior:contain;border:1px solid #d9b97935;border-radius:22px;background:#061a2cf5;padding:18px;gap:3px;font-size:15px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s var(--ease),transform .25s var(--ease),visibility .25s;box-shadow:0 18px 55px #03172540;pointer-events:none}
  .nav-links.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .nav-links a{display:flex;align-items:center;min-height:48px;padding:10px 15px;border-radius:14px}
  .nav-links a[aria-current=page]{background:#ffffff08}
  .nav-links .nav-reserve{align-self:stretch;justify-content:space-between;margin-top:8px;border-radius:999px}
  .story-panel,.story-panel.drift{height:auto;min-height:100svh;padding:105px 0 125px;align-items:center}
  .story-panel.departure{height:auto;min-height:max(100svh,660px);padding:136px 0 132px;align-items:center}
  .departure>.story-content{padding-top:0;margin:auto}
  .story-content h1{font-size:clamp(42px,12.2vw,59px);max-width:470px;line-height:1.07;letter-spacing:-.035em}
  .story-content h2,.right h2{font-size:clamp(43px,12.1vw,58px);line-height:1.08;letter-spacing:-.035em}
  .story-content .eyebrow{font-size:10px;letter-spacing:.11em;margin-bottom:22px;max-width:none}
  .story-content.right{width:100%;padding:0;margin:0}
  .drift .story-content{padding-bottom:0}
  .story-copy,.right .story-copy{font-size:16px;line-height:1.7;max-width:330px;margin-top:23px}
  .hero-actions{margin-top:28px;gap:12px;align-items:flex-start}
  .hero-actions .btn{font-size:14px;padding:13px 22px;min-height:52px;gap:28px}
  .hero-actions .story-text-link,.story-text-link{font-size:13px;letter-spacing:.02em;min-height:44px}
  .hero-actions .story-text-link{display:inline-flex}
  .scene-caption{font-size:9px;letter-spacing:.11em;margin-top:32px}
  .hero-coordinates{display:none}
  .scroll-invitation{left:22px;bottom:31px;font-size:9px;letter-spacing:.08em;max-width:175px;white-space:normal;line-height:1.6}
  .scroll-line{height:27px;flex-shrink:0}
  .motion-toggle{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));font-size:11px;padding:9px 13px;min-height:44px;gap:7px}
  .hero-video-frame{inset:0;width:100%;height:100%;transform:none!important;will-change:auto}
  .hero-video,.hero-video-poster{object-position:58% center}
  .scene-photo{inset:0;width:100%;height:100%;transform:none!important}
  .scene-shade{background:linear-gradient(90deg,#03131ebe,#03131e44),linear-gradient(0deg,#03131e78,transparent 35%,#03131e30)}
  .drift-shade-layer{display:none}
  .section{padding:64px 0}.page-heading{padding:42px 0 35px}
  .page-heading h1{font-size:clamp(43px,12vw,58px);line-height:1.1;margin-bottom:20px}
  .page-heading>p:last-child{font-size:16px;line-height:1.75}
  .section-heading h2,.editorial-intro h2{font-size:clamp(32px,9.2vw,42px);line-height:1.2;letter-spacing:-.025em}
  .section-heading .text-link{font-size:13px}
  .section-heading h2 em{overflow-wrap:normal}
  .editorial-intro{padding:60px 0}
  .editorial-intro h2{margin-top:23px}
  .fleet-grid{gap:25px}
  .vessel-image{aspect-ratio:1.5}
  .vessel-info{padding:20px 19px}
  .vessel-title{gap:12px}.vessel-title h3{font-size:29px}.vessel-title>span{font-size:23px}
  .vessel-info p{font-size:14px;line-height:1.7}
  .vessel-meta{font-size:12px;margin-top:15px;padding-top:7px;gap:8px}
  .vessel-meta a{font-size:12px;gap:7px}
  .fleet-filter{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .fleet-filter button{font-size:13px;padding:10px 8px}
  .concierge-grid,.itinerary-grid,.experience-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}
  .concierge-grid article,.itinerary-grid article,.experience-item{padding:24px}
  .concierge-grid h3,.itinerary-grid h3,.experience-item h3{font-size:27px;margin:0 0 12px}
  .concierge-grid p,.itinerary-grid p,.experience-item p{font-size:15px;line-height:1.75}
  .destination-teaser{height:630px}.teaser-copy{padding-top:55px}
  .teaser-copy h2{font-size:40px;line-height:1.18}.teaser-copy p:not(.eyebrow){font-size:15px}
  .teaser-copy .btn{font-size:14px;min-height:52px}
  .photo-cta{height:570px}.photo-cta h2{font-size:clamp(47px,13.5vw,61px);line-height:1.12}
  .route-card h2{font-size:32px}.route-card p:not(.eyebrow){font-size:15px}
  .split-content h2{font-size:40px}
  .detail-layout h2{font-size:34px}.detail-layout p{font-size:16px}
  .booking-aside,.rate-card{padding:23px;border-radius:22px}
  .reservation-layout{gap:30px;padding-bottom:65px}
  .summary-row.total{font-size:18px}
  .extras>div{grid-template-columns:1fr;gap:1px}.extras label{font-size:15px}
  .booking-form{gap:20px}.booking-form label{font-size:15px}
  input[type=date]{min-width:0;max-width:100%}
  .faq h2{font-size:34px}.faq details{padding:15px 18px}.faq summary{font-size:16px;line-height:1.6}
  .footer-nav{flex-wrap:wrap;gap:27px}.footer-nav div{font-size:14px}
  .footer-top{padding-bottom:32px}.site-footer{padding-top:48px}
  dialog{padding:42px 23px 28px}.dialog-close{top:7px;right:9px}dialog h2{font-size:29px}
  .reveal.pending{transform:translateY(12px)}
}
@media(max-width:370px){.brand-lockup img{display:block}.wordmark{font-size:20px}.wordmark small{font-size:5.5px}.menu-toggle{min-width:73px;padding:8px 10px}.vessel-title h3{font-size:27px}}
@media(max-width:760px) and (max-height:720px){.story-panel.departure{padding-top:116px;padding-bottom:115px;min-height:max(100svh,645px)}.story-copy{margin-top:20px}.hero-actions{margin-top:22px}.story-content .eyebrow{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.story-content{opacity:1!important}.scene-photo{transform:none!important}.reveal.pending{opacity:1;transform:none}}
