/* r9 · a continuous tropical visit. All content remains useful without motion. */
#camp-canopy{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:8;opacity:0;transition:opacity .35s}
#camp-canopy.is-visible{opacity:1}
.camp-motion-dock{position:fixed;right:20px;bottom:20px;z-index:25;display:flex;align-items:center;gap:10px;min-height:44px;padding:11px 17px;border:1px solid #fff8;border-radius:30px;color:#fff9eb;background:#163f35ed;box-shadow:0 5px 25px #122d3320;font-size:11px;backdrop-filter:blur(12px)}
.camp-motion-dock[hidden]{display:none}.camp-motion-dock>span:first-child{font-size:16px;line-height:1}.camp-motion-dock:hover{background:#235847}
.sea-breath{position:relative;height:155svh;min-height:1000px;background:#0f454b;color:#fff8e9}
.sea-window{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;isolation:isolate;display:grid;place-items:center;text-align:center}
.sea-window>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;z-index:-3;transform:scale(var(--sea-scale,1.08));will-change:transform}
.sea-window:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#143e4266,#0b48511a 35%,#123e45ab)}
.sea-window:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 18%,#fff7bb38,transparent 60%);opacity:var(--sea-light,.5)}
.sea-copy{padding:90px 22px;max-width:770px;position:relative;z-index:10;text-shadow:0 2px 24px #0b354555}
.sea-copy .eyebrow{font-size:10px;color:#f5e3bb}.sea-copy h2{font-size:clamp(66px,8.5vw,130px);line-height:.95;letter-spacing:-.065em;margin:30px 0}.sea-copy h2 em{color:#ffdcad}.sea-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;max-width:360px;margin:0 auto 26px}.sea-copy .pill{background:#fff8e7ed;color:#163f35;text-shadow:none}
.sea-caption{position:absolute;bottom:28px;left:6%;right:190px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;line-height:1.7;z-index:11;color:#fff9eb}
.sea-caption a{border-bottom:1px solid #fff8;display:inline-flex;align-items:center;min-height:44px;font-size:11px;letter-spacing:0;text-transform:none}
.canopy-hint{font-size:10px!important;margin:14px auto 0!important;opacity:.85}
.canopy-toggle[hidden]{display:none}.sea-no-motion{display:none}.reduced .sea-no-motion{display:block}
.sea-breath,.camp-album,.your-day,.camp-stays,.camp-films,.camp-postcard,.camp-travel,.welcome-plan{--arrival:1;--drift:0px;--turn:0deg}
.tropical-ready .album-grid{perspective:1600px;padding:9px 0}
.tropical-ready .album-photo{transform:translate3d(0,var(--photo-drift,0px),0) rotateX(var(--photo-pitch,0deg)) rotateZ(var(--photo-roll,0deg));transform-origin:50% 60%;box-shadow:0 12px 25px -20px #123e3680;transition:box-shadow .3s;will-change:transform}
.tropical-ready .album-photo:hover,.tropical-ready .album-photo:focus-visible{box-shadow:0 20px 40px -16px #123e3670;z-index:3}
.tropical-ready .stays-spread{perspective:1400px}.tropical-ready .stays-image{transform:translate3d(0,var(--drift),0) rotateY(var(--turn));transform-origin:50% 70%;will-change:transform}
.tropical-ready .stays-image img{box-shadow:18px 22px 0 -8px #cb9b6328}
.tropical-ready .film-feature .film-poster{transform:perspective(1600px) rotateX(var(--film-pitch,0deg));transform-origin:50% 100%;will-change:transform;box-shadow:0 22px 40px -22px #173e3680}
.tropical-ready .film-side .film-poster{transform:translateY(var(--drift));will-change:transform}
.tropical-ready .day-scene{transform:perspective(1400px) rotateY(var(--turn));will-change:transform}
.tropical-ready .camp-postcard>img{transform:scale(1.07) translateY(var(--drift));will-change:transform}
.tropical-ready .sun-doodle{transform:rotate(var(--sun-turn,0deg))}
.tropical-ready .map-welcome .map-compass{transform:rotate(var(--sun-turn,0deg));transition:transform .1s linear}
.camp-album,.camp-stays,.camp-films,.camp-travel{position:relative}
/* Text stays in document flow; no reveal ever hides a price, heading or action. */
.tropical-ready .album-intro h2,.tropical-ready .stays-heading h2,.tropical-ready .film-heading h2,.tropical-ready .travel-heading h2{transform:translateY(var(--heading-drift,0px));will-change:transform}
.paused .canopy-hint,.reduced .canopy-hint{display:none}.paused .sea-window>img,.reduced .sea-window>img{transform:none}
.tropical-unavailable .sea-breath,.reduced .sea-breath{height:auto;min-height:0}.tropical-unavailable .sea-window,.reduced .sea-window{position:relative;height:85svh;min-height:580px}
.reduced #camp-canopy{display:none}.reduced .camp-motion-dock{display:none}
.paused .album-photo,.reduced .album-photo,.paused .stays-image,.reduced .stays-image,.paused .film-poster,.reduced .film-poster,.paused .day-scene,.reduced .day-scene,.paused .camp-postcard>img,.reduced .camp-postcard>img,.paused .sun-doodle,.reduced .sun-doodle,.paused .map-compass,.reduced .map-compass{transform:none!important;will-change:auto!important}
.paused .album-intro h2,.reduced .album-intro h2,.paused .stays-heading h2,.reduced .stays-heading h2,.paused .film-heading h2,.reduced .film-heading h2,.paused .travel-heading h2,.reduced .travel-heading h2{transform:none;will-change:auto}
@media(max-width:700px){.sea-breath{height:135svh;min-height:850px}.sea-window{min-height:580px}.sea-copy{padding:85px 24px;max-width:100%}.sea-copy h2{font-size:clamp(55px,14vw,88px);margin:25px 0}.sea-copy .eyebrow{font-size:8px;max-width:230px;margin:auto}.sea-copy>p:not(.eyebrow){font-size:12px;max-width:240px}.sea-copy .pill{font-size:12px;min-height:48px;padding:13px 20px}.sea-caption{bottom:19px;font-size:7px;left:6%;right:6%;gap:12px}.sea-caption>span{max-width:130px}.sea-caption a{font-size:10px}.camp-motion-dock{right:12px;bottom:12px;padding:11px 13px;font-size:10px;gap:7px}.tropical-ready .album-grid{padding:4px 0}.tropical-ready .stays-image img{box-shadow:9px 12px 0 -3px #cb9b6328}}
@media(prefers-reduced-motion:reduce){#camp-canopy,.camp-motion-dock,.canopy-toggle,.canopy-hint{display:none!important}.sea-breath{height:auto;min-height:0}.sea-window{position:relative;height:85svh;min-height:580px}.tropical-ready .album-photo,.tropical-ready .stays-image,.tropical-ready .film-poster,.tropical-ready .day-scene,.tropical-ready .camp-postcard>img,.sea-window>img{transform:none!important;will-change:auto!important}}

@media(max-width:700px){.sea-window{min-height:520px}.sea-caption{right:66px}.sea-caption>span{max-width:100px}.camp-motion-dock{width:44px;height:44px;justify-content:center;padding:0;right:8px;bottom:8px}.camp-motion-dock #camp-motion-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.camp-motion-dock:focus-visible{outline:3px solid #dc9b73;outline-offset:3px}}
