/* Scoped integration layer. Keep the existing stylesheet and all following sections. */

body.tiki-home .topbar { display: none; }
body.tiki-home .header { --nav-surface: #0a1824; --nav-divider: #ffffff40; --nav-label: #adc4d3; position: fixed; inset: 0 0 auto; background: transparent; box-shadow: none; border-bottom: 1px solid #ffffff1c; transition: background .35s, box-shadow .35s, opacity .28s, transform .28s; }
/* The entry script sets the loading guard before paint. Visibility also keeps
   the entire hidden navigation out of keyboard focus and the accessibility tree. */
html.tiki-intro-pending body.tiki-home .header,
body.tiki-home:not(.tiki-on-water) .header { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-8px); }
body.tiki-home .header-inner { min-height: 86px; }
body.tiki-home .logo img { filter: brightness(0) invert(1); transition: filter .35s; }
body.tiki-home .nav a,body.tiki-home .nav-toggle,body.tiki-home .catalog-trigger,body.tiki-home .nav .nav-group-label { color: #fff; }
body.tiki-home .catalog-menu { --nav-surface: #fff; background: #fff; }
body.tiki-home .catalog-menu a { color: var(--text); }
body.tiki-home .catalog-menu a:hover { color: var(--red-deep); }
body.tiki-home .nav a.active { box-shadow: inset 0 -2px #fff; }
body.tiki-home .nav-cta { background: transparent; border: 1px solid #ffffff65; }
body.tiki-home.tiki-on-water .header { --nav-surface: #fff; --nav-divider: #d7dde1; --nav-label: #59636d; background: #fffffff5; box-shadow: 0 1px 8px #0000000a; border-color: transparent; }
body.tiki-home.tiki-on-water .logo img { filter: none; }
body.tiki-home.tiki-on-water .nav a,body.tiki-home.tiki-on-water .nav-toggle,body.tiki-home.tiki-on-water .catalog-trigger,body.tiki-home.tiki-on-water .nav .nav-group-label { color: var(--text); }
body.tiki-home.tiki-on-water .nav-catalog[open] > .catalog-trigger { color: var(--red-deep); }
body.tiki-home.tiki-on-water .nav a.active { color: var(--red-deep); box-shadow: inset 0 -2px var(--red); }
body.tiki-home.tiki-on-water .nav-cta { background: var(--red-deep); }
.tiki-journey { position: relative; height: 245svh; background: #03080c; --sea: 0; --origin: 1; --bridge: 0; --landing: 0; --zoom: 1.13; }
.tiki-stage { position: sticky; top: 0; height: 100svh; min-height: 580px; overflow: hidden; isolation: isolate; color: #fff; background: #03080c; }
.tiki-ocean { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; transform: scale(var(--zoom)); opacity: var(--sea); will-change: transform,opacity; }
.tiki-ocean-video { object-position: center; opacity: 0; pointer-events: none; }
.tiki-ocean-video.tiki-video-ready { opacity: var(--sea); }
.tiki-ocean-shade { position: absolute; inset: 0; opacity: var(--sea); pointer-events: none; background: linear-gradient(90deg,#02121dcc 0%,#02121d99 43%,#02121d26 78%),linear-gradient(0deg,#031e32a6,transparent 40%); }
#tiki-transition-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.tiki-origin-copy { position: absolute; inset: 0; opacity: calc(var(--origin) * var(--flight-labels, 1)); pointer-events: none; }
.tiki-side { position: absolute; top: 48%; transform: translateY(-50%); }
.tiki-side-left { left: 5%; }
.tiki-side-right { right: 5%; text-align: right; }
.tiki-side span { font-size: 12px; font-weight: 400; letter-spacing: .18em; color: #a2b3c3; }
.tiki-side p { font-family: Arial,Helvetica,sans-serif; font-size: clamp(30px,3.5vw,64px); font-weight: 400; letter-spacing: -.055em; line-height: 1.2; margin-top: 12px; }
.tiki-bridge { position: absolute; top: 44%; left: 7%; opacity: var(--bridge); transform: translateY(-50%); pointer-events: none; }
.tiki-bridge span,.tiki-destination-kicker { display: block; font-size: 12px; letter-spacing: .19em; margin-bottom: 20px; }
.tiki-bridge p { font-size: clamp(30px,3.7vw,58px); font-weight: 400; line-height: 1.4; letter-spacing: -.055em; text-shadow: 0 2px 18px #00162288; }
.tiki-destination { position: absolute; inset: 0; display: flex; align-items: center; opacity: var(--landing); }
.tiki-destination .container { width: 100%; padding-left: 7%; padding-right: 7%; padding-top: 110px; }
.tiki-destination .hero-copy h1 { font-size: clamp(34px,4.2vw,68px); letter-spacing: -.045em; line-height: 1.25; }
.tiki-destination .hero-copy p { font-size: 17px; line-height: 1.7; margin-top: 25px; }
.tiki-destination :is(.tiki-destination-kicker,h1,p) { text-shadow: 0 2px 20px #00101eb3; }
.tiki-destination .hero-ctas { margin-top: 34px; }
.tiki-destination .btn-finder { background: var(--red-deep); border: 1px solid var(--red-deep); box-shadow: 0 8px 40px #061b2929; }
.tiki-destination .btn-outline-light { border-width: 1px; display: inline-flex; align-items: center; }
.tiki-scroll-cue { position: absolute; left: 50%; bottom: 8%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 16px; opacity: var(--origin); white-space: nowrap; }
.tiki-scroll-cue>span { font-size: 14px; letter-spacing: .1em; color: #c3d0d9; }
.tiki-scroll-cue a { display: flex; align-items: center; gap: 20px; color: #fff; font-size: 12px; letter-spacing: .15em; padding: 10px; }
.tiki-scroll-cue a span { font-size: 24px; }
.tiki-stage-controls { position: absolute; bottom: 8%; left: 5%; display: flex; gap: 8px; transition: opacity .28s ease,visibility .28s step-end; }
.tiki-stage-controls button { color: #d2e1ea; font-size: 22px; height: 42px; width: 42px; border-radius: 50%; background: #03122040; border: 1px solid #ffffff45; cursor: pointer; }
.tiki-stage-controls button:hover { background: #ffffff22; }
.tiki-skip { position: absolute; right: 5%; bottom: 9%; font-size: 14px; color: #fff; border-bottom: 1px solid #ffffff50; padding: 6px 0; transition: opacity .28s ease,visibility .28s step-end; }
.tiki-skip span { padding-left: 15px; }
.tiki-home #categories { scroll-margin-top: 90px; }
.tiki-home #tiki-fab { opacity: 0; pointer-events: none; transition: opacity .3s; }
.tiki-home.tiki-on-water #tiki-fab,.tiki-home.tiki-open #tiki-fab { opacity: 1; pointer-events: auto; }





@media(max-width:1250px) { body.tiki-home .header-inner { min-height: 76px; } body.tiki-home.nav-open .header { background: var(--nav-surface); } html:not(.js) body.tiki-home .header { position: relative; } }
@media(max-width:900px) { .tiki-side p { font-size: 29px; } .tiki-side span { letter-spacing: .05em; } }
@media(max-width:600px) { .tiki-journey { height: 225svh; } .tiki-stage { min-height: 580px; } .tiki-origin-copy .tiki-side { top: 17%; transform: none; } .tiki-side span { font-size: 12px; letter-spacing: .015em; } .tiki-side p { font-size: 27px; margin-top: 6px; } .tiki-side-left { left:6%; } .tiki-side-right { right:6%; } .tiki-scroll-cue { bottom:17%; } .tiki-stage-controls { bottom:8.5%; left:6%; } .tiki-skip { bottom:9%; right:6%; } .tiki-bridge { left:7%; top:42%; } .tiki-ocean { object-position:52% 58%; } .tiki-destination .hero-copy h1 { font-size:36px; } .tiki-destination .hero-copy p { font-size:16px; } .tiki-destination .hero-ctas { gap:10px; } .tiki-destination .btn-finder { font-size:14px; padding:14px 16px; } .tiki-destination .btn-outline-light { font-size:14px; padding:12px 16px; }   .tiki-home #tiki-fab { bottom:60px; } }
@media(prefers-reduced-motion:reduce) { .tiki-journey { height: 190svh; } .tiki-ocean { transform:none; } }
@media(max-width:600px) { .tiki-ocean-video { object-position: center; } }

/* Progressive enhancement: an accessible ocean landing remains if JS, canvas,
   or the logo mask cannot load. Only a ready particle scene becomes sticky. */
.tiki-journey:not(.tiki-active) { height: 100svh; --sea: 1; --origin: 0; --bridge: 0; --landing: 1; --zoom: 1; }
.tiki-journey:not(.tiki-active) .tiki-stage { position: relative; }
html.tiki-direct-water .tiki-journey { height: 100svh; --sea: 1; --origin: 0; --landing: 1; --zoom: 1; }
html.tiki-direct-water :is(.tiki-origin-copy,.tiki-bridge,.tiki-scroll-cue,.tiki-stage-controls,.tiki-audio-toggle,.tiki-skip,#tiki-transition-canvas) { display: none; }
.tiki-journey:not(.tiki-active) :is(#tiki-transition-canvas,.tiki-origin-copy,.tiki-bridge,.tiki-scroll-cue,.tiki-stage-controls) { display: none; }
.tiki-stage-controls button:focus-visible,.tiki-stage a:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
@media (max-height: 600px) { .tiki-stage { min-height: 100svh; } .tiki-destination .container { padding-top: 65px; } .tiki-destination .hero-copy h1 { font-size: 32px; } .tiki-destination .hero-copy p { font-size: 14px; margin-top: 12px; } .tiki-destination .hero-ctas { margin-top: 16px; } }

/* Independent music control above the existing motion buttons. */
.tiki-audio-toggle { position: absolute; left: 5%; bottom: calc(8% + 54px); display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; border: 1px solid #ffffff55; border-radius: 24px; background: #03122080; color: #e2edf4; font-family: inherit; font-size: 13px; line-height: 1.3; cursor: pointer; transition: opacity .28s ease,visibility .28s step-end; }
.tiki-audio-toggle[hidden] { display: none; }
.tiki-audio-toggle[aria-pressed="true"] { border-color: #c4e6ff; background: #14344b99; }
.tiki-audio-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.tiki-journey.tiki-landing :is(.tiki-stage-controls,.tiki-audio-toggle,.tiki-skip) { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .28s ease,visibility .28s step-start; }
@media(max-width:600px) { .tiki-audio-toggle { left: 6%; bottom: calc(8.5% + 52px); } }
