/* A quiet moving atmosphere; original sphere and landscape stay untouched. */
.reference-button,.hero .primary.reference-button{position:relative;isolation:isolate;transition:filter .35s,box-shadow .35s}
.reference-button:after,.hero .primary.reference-button:after{content:'';display:block;position:absolute;pointer-events:none;inset:-65% auto -65% -55%;width:35%;background:linear-gradient(90deg,transparent,rgba(255,249,228,.08) 20%,rgba(255,249,228,.48) 50%,rgba(255,249,228,.08) 80%,transparent);transform:translateX(0) skewX(-23deg);opacity:0;animation:quiet-sheen 12s ease-in-out 1.5s infinite}
.header-cta.reference-button:after{animation-delay:5s;animation-duration:15s}
@keyframes quiet-sheen{0%,72%{transform:translateX(0) skewX(-23deg);opacity:0}76%{opacity:.8}94%{transform:translateX(470%) skewX(-23deg);opacity:.8}100%{transform:translateX(470%) skewX(-23deg);opacity:0}}
.reference-button:hover,.reference-button:focus-visible{filter:brightness(1.07);box-shadow:0 0 20px #e4c08324}
.atmosphere{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.atmosphere:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 44%,#efbf7914,transparent 44%);animation:horizon-breath 18s ease-in-out infinite alternate}
@keyframes horizon-breath{from{opacity:.2}to{opacity:.8}}
.atmosphere i{position:absolute;left:58%;top:57%;width:2px;height:2px;border-radius:50%;background:#fbe0a4;box-shadow:0 0 7px 2px #efd29b30;opacity:0;animation:dust-drift 19s ease-in-out infinite}
.atmosphere i:nth-child(2){left:67%;top:64%;animation-delay:-4s;animation-duration:23s}
.atmosphere i:nth-child(3){left:82%;top:55%;animation-delay:-10s}
.atmosphere i:nth-child(4){left:43%;top:67%;animation-delay:-13s;animation-duration:26s}
.atmosphere i:nth-child(5){left:91%;top:43%;animation-delay:-8s;animation-duration:24s}
.atmosphere i:nth-child(6){left:73%;top:72%;animation-delay:-16s}
@keyframes dust-drift{0%,100%{opacity:0;transform:translate(0,0)}30%,65%{opacity:.4}95%{opacity:0;transform:translate(18px,-30px)}}
.price-widget .connected:before{animation:live-breath 4s ease-in-out infinite}
@keyframes live-breath{0%,100%{box-shadow:0 0 0 0 #b3e6b800}50%{box-shadow:0 0 7px 2px #b3e6b83a}}
.hero-copy{animation:copy-arrival 1.2s ease-out both}
@keyframes copy-arrival{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
/* Portrait layout: readable captions and four original image crops. */
@media(max-width:650px){
 .header{height:64px;padding:env(safe-area-inset-top,0px) 6% 0;gap:8px}
 .brand{font-size:12px;letter-spacing:.18em;margin:0}
 .menu-toggle{min-width:44px;min-height:44px;padding:0;font-size:21px}
 .header nav{top:64px;padding:22px 6%;background:#0a1525f5}
 .hero{height:100svh;min-height:0;max-height:none}
 .hero-backdrop img{object-position:75% center}
 .hero-shade{background:linear-gradient(180deg,#06111e75 0%,#06111e60 34%,transparent 54%,#09121e77 69%,#09121ef5 100%),linear-gradient(90deg,#06111e55,transparent 80%)}
 .hero-copy{top:135px;left:6%;right:6%;max-width:none}
 .hero-copy .eyebrow{font-size:8px;letter-spacing:.22em}
 .hero h1{font-size:clamp(32px,9.3vw,58px);line-height:.98;margin:15px 0 16px;letter-spacing:-.032em}
 .hero-copy p{font-size:14px;line-height:1.4;letter-spacing:.015em;max-width:350px}
 .hero-copy p br{display:none}
 .hero .actions{gap:14px;margin-top:20px;flex-wrap:nowrap}
 .hero .primary.reference-button{width:clamp(165px,47vw,230px)}
 .watch-button{gap:8px;font-size:8px;letter-spacing:.1em}
 .play-outline{width:34px;height:34px;min-width:34px;min-height:34px;font-size:12px}
 .watch-button>span:last-child{padding:6px 0;white-space:nowrap}
 .price-widget{left:6%;right:auto;top:78px;min-width:0;padding:0 0 0 10px;display:grid;grid-template-columns:auto auto;column-gap:10px;align-items:center}
 .price-widget>span:first-child{grid-column:1/-1;font-size:8px;line-height:1.4;letter-spacing:.16em}
 .price-symbol{font-size:12px;margin:2px 0 0;line-height:1.2}
 .price-widget strong{font-size:19px;line-height:1.2}
 .price-widget small{grid-column:1/-1;font-size:9px;margin:0;min-height:0}
 .hero-quote{display:none}
 .hero-features{left:6%;right:6%;bottom:max(12px,env(safe-area-inset-bottom));grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;align-items:start}
 .feature,.feature:nth-child(n){aspect-ratio:auto!important;height:auto;padding:0;min-height:0;overflow:hidden}
 .feature .tile-art{width:100%;height:auto;aspect-ratio:365/105;object-fit:cover;mask-image:linear-gradient(#000 70%,transparent);overflow:hidden}
 .feature h2,.feature p{position:static;clip-path:none;width:auto;height:auto;white-space:normal;margin:0;overflow:visible}
 .feature h2{font-size:10px;letter-spacing:.15em;line-height:1.4;margin-top:2px}
 .feature p{font-size:11px;line-height:1.35;letter-spacing:.015em;color:#cfccd0;margin-top:4px}
 .feature p br{display:none}
 dialog{width:92vw;padding:48px 22px 26px;max-height:85svh}
}
@media(max-width:650px) and (max-height:740px){.hero-copy{top:120px}.hero h1{margin:12px 0}.hero-copy p{font-size:12px}.hero .actions{margin-top:14px}.hero-features{gap:8px 14px}.feature .tile-art{aspect-ratio:365/85}.feature p{font-size:10px}.price-widget{top:70px}.hero-copy .eyebrow{font-size:7px}}
@media(max-width:650px) and (max-height:600px){.feature p{display:none}.hero-copy{top:106px}.hero-copy p{display:none}.hero h1{font-size:8.5vw}.price-widget{top:62px}}
@media(prefers-reduced-motion:reduce){.reference-button:after,.hero .primary.reference-button:after,.atmosphere:before,.atmosphere i,.price-widget .connected:before,.hero-copy{animation:none!important}.reference-button:after,.hero .primary.reference-button:after,.atmosphere i{display:none}.reference-button{transition:none}}
.page-idle .atmosphere *, .page-idle .atmosphere:before,.page-idle .reference-button:after,.page-idle .price-widget .connected:before{animation-play-state:paused!important}
@media(max-width:650px){.price-widget>span:first-child,.price-widget .price-symbol{display:block}.hero-backdrop img{height:120%;object-position:75% top}.hero .primary.reference-button{min-height:44px}.hero-copy p{max-width:340px}}
@media(max-width:650px){.hero .primary.reference-button{min-height:0;width:clamp(185px,50vw,230px)}.price-widget{text-align:left}.price-widget>span:first-child{text-align:left}}
/* Preview destinations remain inactive, with a gentle pointer response. */
.header nav .nav-label,.feature,.watch-button:disabled{cursor:pointer}
.header nav .nav-label{position:relative;display:inline-block;transition:color .25s,text-shadow .25s,transform .25s}
.header nav .nav-label:after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:1px;background:linear-gradient(90deg,transparent,#e6c48b,transparent);opacity:0;transform:scaleX(.45);transition:opacity .25s,transform .25s}
.header nav .nav-label:hover{color:#ffe2ac;text-shadow:0 0 12px #e6c48b55;transform:translateY(-1px)}
.header nav .nav-label:hover:after{opacity:.8;transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){.header nav .nav-label,.header nav .nav-label:after{transition:none}.header nav .nav-label:hover{transform:none}}
/* Clean warm lettering: one fill, no stroke, clipping, duplicated edge or filter. */
.hero h1{color:#e4c88d;background:none;background-clip:border-box;-webkit-background-clip:border-box;-webkit-text-fill-color:#e4c88d;-webkit-text-stroke:0;filter:none;text-shadow:none;font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;line-height:1.1}
.hero-copy p{color:#d9d0bf;text-shadow:none}
.hero-copy .eyebrow{color:#c9c2b6;text-shadow:none}
/* Entire viewport overlay: its dark centre fades fully before any element edge. */
.hero-shade{background:radial-gradient(ellipse at 8% 32%,rgba(2,7,13,.43) 0%,rgba(2,7,13,.25) 30%,rgba(2,7,13,.08) 47%,transparent 65%),linear-gradient(0deg,#09121e 0%,rgba(9,18,30,.72) 6%,transparent 29%)}
@media(max-width:650px){.hero-shade{background:radial-gradient(ellipse at 0% 24%,rgba(2,7,13,.58),rgba(2,7,13,.30) 34%,transparent 66%),linear-gradient(180deg,#06111e45 0%,transparent 54%,#09121e77 69%,#09121ef5 100%)}.hero h1{font-size:clamp(30px,8.7vw,55px);line-height:1.12;-webkit-text-stroke:0;filter:none}}
/* Shallow champagne-gold relief, kept legible without stroke or duplicate text. */
.hero h1{color:#e5cc98;-webkit-text-fill-color:currentColor;-webkit-text-stroke:0;background:none;filter:none;font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;text-shadow:0 -1px 0 rgba(255,242,205,.65),0 1px 0 #b29461,0 2px 0 #80643e,0 3px 0 rgba(61,43,24,.7),0 5px 8px rgba(1,7,14,.38),0 0 20px rgba(235,202,141,.08)}
@media(max-width:650px){.hero h1{text-shadow:0 -.5px 0 rgba(255,242,205,.6),0 1px 0 #a78958,0 2px 0 rgba(61,43,24,.7),0 4px 7px rgba(1,7,14,.35)}}
/* Polished metal: thin editorial serifs, directional highlights and a shallow bevel. */
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(48px,6.15vw,118px);letter-spacing:-.045em;line-height:1.05;color:#e5c4a0;background:linear-gradient(116deg,#89644e 0%,#d0a27f 12%,#fff1d8 23%,#d4ad8c 30%,#a97b5e 37%,#ffefd7 48%,#e5c09c 57%,#91684e 68%,#f7dfbc 80%,#b88b68 94%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:0;text-shadow:none;filter:drop-shadow(0 .6px .2px rgba(255,230,191,.28)) drop-shadow(0 1.4px .3px rgba(72,45,30,.85)) drop-shadow(0 5px 7px rgba(2,7,14,.3));padding-bottom:.06em}
@media(max-width:650px){.hero h1{font-size:clamp(36px,10.2vw,62px);line-height:1.05;letter-spacing:-.045em;text-shadow:none;filter:drop-shadow(0 1px .2px rgba(83,53,33,.7)) drop-shadow(0 3px 5px rgba(2,7,14,.3))}}
/* Return to the original ivory/champagne editorial heading. */
.hero h1{font-family:'Times New Roman',Times,serif;font-weight:400;font-size:clamp(42px,4.9vw,110px);letter-spacing:-.027em;line-height:1.05;padding-bottom:.05em;color:#f0d5ad;background:linear-gradient(180deg,#f9f3e9 12%,#f2e4d0 45%,#e8c797 76%,#dca970 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;-webkit-text-stroke:0;text-shadow:none;filter:none}
@media(max-width:650px){.hero h1{font-size:clamp(32px,9.3vw,58px);line-height:1.08;letter-spacing:-.027em;text-shadow:none;filter:none}}
/* Supplied landscape, unaltered; tiny optical aberrations sit beneath the UI. */
.hero-backdrop img{object-position:50% 50%;object-fit:cover;height:100%;width:100%;filter:none}
.prism-field{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;--px:0px;--py:0px;--glint:.045;--zoom:1;mix-blend-mode:screen}
.prism-field i{position:absolute;height:13px;border-radius:50%;opacity:var(--glint);transform:translate(calc(var(--px)*var(--depth)),calc(var(--py)*var(--depth))) rotate(var(--angle)) scale(var(--zoom));background:linear-gradient(90deg,transparent 0%,#6584ed66 18%,#c3daf3 35%,#fff0c9 49%,#eebd71 59%,#da726466 76%,transparent 100%);filter:blur(1.4px);mask-image:radial-gradient(ellipse,#000 8%,#000a 35%,transparent 72%)}
.prism-field i:after{content:'';position:absolute;inset:5px 12%;background:linear-gradient(90deg,transparent,#9bbfff,#fff5df,#f0a76b,transparent);border-radius:50%;filter:blur(.5px)}
.prism-field i:nth-child(2),.prism-field i:nth-child(5){height:30px;filter:blur(5px)}
.prism-field i:nth-child(4){height:8px}
.atmosphere:before{display:none}
@media(max-width:650px){.hero-backdrop img{height:120%;object-position:74% top}.prism-field{--glint:.035!important}.prism-field i:nth-child(n+4){display:none}}
@media(prefers-reduced-motion:reduce){.prism-field{display:none}}
/* Optical shards with separated spectral edges, rather than faint gold dots. */
.prism-field{--glint:.07}
.prism-field i{height:26px;background:linear-gradient(158deg,transparent 14%,#5874ed 30%,#90cce5 39%,#fff0d5 48%,#efc374 57%,#dc8075 68%,transparent 82%);filter:blur(1.8px);mask-image:radial-gradient(ellipse,#000 5%,#000d 30%,transparent 72%)}
.prism-field i:after{inset:11px 8%;filter:blur(.8px)}
.prism-field i:nth-child(2),.prism-field i:nth-child(6){height:85px;border-radius:30% 70% 45% 55%;filter:blur(7px);background:conic-gradient(from 25deg,transparent,#5784d7,#aadddf,#ffe0a5,#e58b67,transparent 70%);mask-image:radial-gradient(ellipse,transparent 24%,#000 43%,transparent 70%)}
.prism-field i:nth-child(5){height:38px;filter:blur(3px)}
.prism-field i:nth-child(4),.prism-field i:nth-child(7),.prism-field i:nth-child(8){height:12px;filter:blur(.8px)}
@media(max-width:650px){.prism-field{--glint:.055!important}}
/* Warm optical fragments nestle along the existing light path. */
.prism-field{--glint:.045}
.prism-field i{height:20px;background:linear-gradient(158deg,transparent 12%,#7583bb 29%,#bdd0dc 38%,#fce0ab 48%,#efb66b 58%,#bf8173 69%,transparent 83%);filter:blur(2.4px);mask-image:radial-gradient(ellipse,#000 0%,#000b 27%,transparent 69%)}
.prism-field i:after{inset:8px 10%;background:linear-gradient(90deg,transparent,#aabbd1,#ffe9bf,#dda36d,transparent);filter:blur(1.2px)}
.prism-field i:nth-child(2),.prism-field i:nth-child(6){height:45px;filter:blur(7px);border-radius:50%;background:linear-gradient(155deg,transparent 12%,#8b9bc18c 29%,#ead4b4 44%,#eab777 54%,#bd8a7580 65%,transparent 81%);mask-image:radial-gradient(ellipse,#0009 5%,#0006 28%,transparent 68%)}
.prism-field i:nth-child(5){height:22px;filter:blur(3px)}
.prism-field i:nth-child(4),.prism-field i:nth-child(7),.prism-field i:nth-child(8){height:10px;filter:blur(1.4px)}
@media(max-width:650px){.prism-field{--glint:.035!important}}
