/* Shared refinements preserve the original palette and editorial identity. */
:root { --ease: cubic-bezier(.22,.68,0,1.01); --paper: #f6f9f5; --deep: #05383c; }
html { scroll-padding-top: 112px; }
button, a { touch-action: manipulation; }
h2 { text-wrap: balance; }
.scroll-progress { height: 2px; }

/* Floating navigation */
.site-header, .site-header.scrolled {
  position: fixed; inset: 20px 3.4% auto; width: auto; height: auto; min-height: 86px;
  padding: 14px 27px; gap: 24px; border: 1px solid rgb(255 255 255 / 22%); border-radius: 18px;
  background: rgb(3 41 51 / 15%); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  transition: background .35s, box-shadow .35s, min-height .35s, padding .35s;
}
.site-header.scrolled { min-height: 74px; padding-block: 10px; background: rgb(4 49 54 / 94%); box-shadow: 0 8px 36px rgb(0 30 35 / 10%); }
.brand-name { font-size: 34px; letter-spacing: -2px; }
.brand-dot { font-size: 18px; line-height: 1; margin: 3px 0 0 7px; color: var(--lime); }
.brand-sub { font-size: 10px; letter-spacing: 1.9px; margin-top: 5px; }
.desktop-nav { gap: clamp(20px,2.6vw,42px); }
.desktop-nav a { min-height: 44px; }
.desktop-nav a:after { bottom: 5px; transition: transform .35s var(--ease); }
.desktop-nav a[aria-current=location]:after { transform: scaleX(1); }
.header-cta { min-height: 46px; padding: 11px 18px; gap: 20px; font-size: 14px; }
.header-cta .icon { width: 19px; height: 19px; }
svg.icon.icon-whatsapp { fill: currentColor; stroke: none; }
.header-cta .icon-whatsapp { width: 24px; height: 24px; }

/* An open, cinematic first view */
.hero { isolation: isolate; display: flex; align-items: center; height: min(940px,100svh); min-height: 780px; }
.hero-image-wrap { inset: -8% 0; z-index: -3; }
.hero-image { object-position: 50% 55%; }
.hero-shade { z-index: -2; background: linear-gradient(90deg,rgb(0 32 44 / 44%),transparent 80%),linear-gradient(180deg,rgb(0 31 39 / 22%),transparent 28%,rgb(0 39 47 / 12%) 65%,rgb(0 31 38 / 71%)); }
.hero-glow { z-index: -1; opacity: 1; background: radial-gradient(ellipse at var(--mouse-x,72%) var(--mouse-y,25%),rgb(193 255 234 / 14%),transparent 50%); }
.hero-content { top: auto; transform: none; width: 100%; max-width: 1680px; padding: 130px 7.2% 125px; }
.hero-eyebrow { gap: 12px; margin-bottom: 27px; font-size: 12px; letter-spacing: 1.7px; }
.location-cross { display: grid; place-items: center; width: 33px; height: 33px; border: 1px solid rgb(216 248 122 / 45%); border-radius: 50%; font-size: 22px; }
h1 { font-size: clamp(64px,7.8vw,125px); line-height: 1.09; letter-spacing: -.052em; }
.title-line { padding-right: .08em; }
.title-serif { letter-spacing: -.045em; }
.hero-bottom { margin-top: 39px; animation: content-in 1.1s .3s both; }
.hero-bottom p { font-size: 16px; line-height: 1.75; color: rgb(255 255 255 / 92%); }
.button { min-height: 62px; padding: 10px 10px 10px 24px; border: 1px solid rgb(255 255 255 / 15%); font-size: 14px; transition: background .25s,box-shadow .35s,transform .35s var(--ease); }
.button-lime { box-shadow: inset 0 1px 0 rgb(255 255 255 / 55%),0 6px 24px rgb(0 40 40 / 8%); }
.button-lime:hover { background: #e4ff9b; box-shadow: inset 0 1px 0 rgb(255 255 255 / 70%),0 8px 32px rgb(0 40 40 / 19%); }
.button .button-arrow { width: 40px; height: 40px; margin-left: 13px; padding: 11px; background: var(--ink); color: var(--lime); border-radius: 50%; transition: transform .35s var(--ease); }
.button:hover .button-arrow { transform: rotate(45deg); }
.dive-seal { right: 7.2%; bottom: 139px; width: 125px; height: 125px; border-color: rgb(255 255 255 / 30%); background: rgb(1 45 55 / 8%); backdrop-filter: blur(6px); }
.dive-seal>span { transition: transform .3s var(--ease); }
.dive-seal:hover>span { transform: translateY(5px); }
.hero-foot { left: 7.2%; right: 7.2%; bottom: 28px; gap: 25px; padding-top: 24px; border-top: 1px solid rgb(255 255 255 / 27%); font-size: 12px; letter-spacing: 1.3px; }
.hero-foot>a { min-height: 32px; }
.hero-coordinate { opacity: .7; }
.island-strip { padding-block: 29px; }
.island-strip>span { font-size: 12px; letter-spacing: .65px; line-height: 1.6; }
.island-names { gap: clamp(16px,2.7vw,42px); font-size: clamp(18px,1.6vw,24px); }
.island-names>span { display: flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.island-names small { font: 400 10px var(--font); letter-spacing: 0; opacity: .6; }
.island-names i { font-size: 22px; }

/* More deliberate spacing, image crops, and captions */
.section-pad { padding-block: 112px; }
.section-top { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.eyebrow { line-height: 1.6; }
.intro-grid { margin-top: 54px; }
h2 { font-size: clamp(43px,4.55vw,74px); line-height: 1.13; letter-spacing: -.045em; }
.intro-grid h2 em { position: relative; display: inline-block; isolation: isolate; }
.intro-grid h2 em:after { content: ''; position: absolute; z-index: -1; left: 2px; right: -3px; bottom: .1em; height: .16em; background: var(--lime); transform: rotate(-2deg); }
.intro-copy p { font-size: 17px; line-height: 1.85; }
.text-link { min-height: 44px; margin-top: 24px; }
.story-grid { grid-template-columns: .88fr 1.12fr; margin-top: 75px; }
.story-two { padding-top: 132px; }
.story-photo { height: auto; aspect-ratio: .86; border-radius: 16px 16px 72px 16px; box-shadow: 0 24px 42px -28px rgb(3 56 60 / 30%); transition: transform .65s var(--ease),box-shadow .65s; }
.story-two .story-photo { height: auto; aspect-ratio: 1.9; border-radius: 72px 16px 16px 16px; }
.story-photo:after { background: linear-gradient(180deg,rgb(0 33 42 / 30%),transparent 28%,transparent 48%,rgb(0 35 44 / 67%)); }
.story-photo img { transition: transform 1.3s var(--ease); }
.story-one .story-photo img { object-position: 57% 70%; }
.story-two .story-photo img { object-position: 50% 50%; }
.story-photo:hover img { transform: scale(1.05); }
.photo-label,.photo-index { top: 24px; font-size: 11px; letter-spacing: 1.5px; }
.photo-label { left: 25px; }
.photo-index { right: 25px; }
.story-two .photo-label { left: 42px; }
.photo-overlay { left: 29px; right: 20px; bottom: 32px; font-size: clamp(27px,2.3vw,37px); line-height: 1.18; letter-spacing: -.8px; }
.story-caption { margin-top: 24px; padding-top: 19px; border-top: 1px solid var(--line); }
.story-caption h3 { font-size: 18px; letter-spacing: -.5px; }
.story-caption p { margin-top: 8px; font-size: 14px; line-height: 1.7; }

/* Abstract rings echo the rhythm of the water. */
.island-life { isolation: isolate; padding-top: 99px; background: radial-gradient(ellipse at 50% 30%,#e8f4eb,#d5eae2 72%); }
.ripple-rings { position: absolute; z-index: -1; pointer-events: none; top: 44%; left: 50%; width: 92%; height: 80%; transform: translate(-50%,-50%) rotate(-12deg); }
.ripple-rings span { position: absolute; inset: 0; border: 1px solid rgb(6 62 66 / 8%); border-radius: 50%; }
.ripple-rings span:nth-child(2) { inset: -19%; }
.ripple-rings span:nth-child(3) { inset: -38%; }
.life-heading { max-width: 830px; }
.life-heading h2 { font-size: clamp(44px,5vw,80px); margin-top: 36px; }
.life-heading p { line-height: 1.85; }
.instagram-link { width: fit-content; max-width: 100%; margin: 36px auto 76px; padding: 14px 14px 14px 23px; border: 1px solid rgb(6 62 66 / 17%); border-radius: 60px; background: rgb(255 255 255 / 34%); backdrop-filter: blur(8px); transition: background .3s,border-color .3s; }
.instagram-link:hover { background: rgb(255 255 255 / 64%); border-color: rgb(6 62 66 / 30%); }
.instagram-link>svg { width: 26px; height: 26px; }
.round-arrow { width: 43px; height: 43px; margin-left: 15px; }
.instagram-link:hover .round-arrow { transform: rotate(45deg); }
.big-type { font-size: 15.3vw; font-weight: 550; line-height: .98; letter-spacing: -.075em; transform: translateX(var(--type-drift,0px)); }

.contact { position: relative; isolation: isolate; overflow: hidden; padding-block: 77px 96px; }
.contact:before { content: ''; position: absolute; z-index: -1; width: 700px; height: 700px; right: -220px; bottom: -370px; border: 1px solid rgb(216 248 122 / 9%); border-radius: 50%; box-shadow: 0 0 0 75px rgb(216 248 122 / 3%),0 0 0 150px rgb(216 248 122 / 2%); }
.contact .section-top { border-color: rgb(255 255 255 / 18%); }
.contact-grid { grid-template-columns: 1.25fr 1fr; gap: 9%; margin-top: 61px; }
.contact h2 { font-size: clamp(61px,7.4vw,118px); line-height: 1.06; }
.contact-asterisk { right: -9px; top: -5px; font-size: 76px; line-height: 1; transform: rotate(var(--contact-turn,-10deg)); }
.contact-copy { max-width: 400px; padding-left: 33px; border-left: 1px solid rgb(255 255 255 / 20%); }
.contact-copy>p { color: #c3d8d0; line-height: 1.85; margin-bottom: 27px; }
.contact-copy .button { white-space: nowrap; gap: 10px; padding: 10px 10px 10px 19px; }
.contact-copy .button-arrow { margin-left: 3px; }
.phone { display: inline-block; min-height: 32px; padding-top: 14px; margin: 0 0 0 3px; font-size: 14px; }
.phone:hover { text-underline-offset: 4px; }
.site-footer { gap: 37px; padding-top: 41px; padding-bottom: 25px; }
.site-footer>div:not(.footer-bottom) { gap: 20px; }
.site-footer>div:not(.footer-bottom)>a { display: flex; align-items: center; min-height: 44px; }
.site-footer>div:not(.footer-bottom)>a:first-child { justify-content: center; width: 44px; border: 1px solid rgb(255 255 255 / 24%); border-radius: 50%; }
.back-top { font-size: 12px; transition: color .2s; }
.back-top:hover { color: var(--lime); }
.footer-bottom { gap: 15px; padding-top: 23px; font-size: 12px; }
.floating-whatsapp { z-index: 35; width: 60px; height: 60px; right: 26px; bottom: 26px; border: 4px solid rgb(255 255 255 / 80%); box-shadow: 0 7px 28px rgb(0 38 44 / 20%); transition: transform .3s var(--ease),background .3s; }
.floating-whatsapp>.icon { width: 29px; height: 29px; }
.floating-whatsapp>.icon-whatsapp { width: 31px; height: 31px; }
.js-motion .reveal { transform: translateY(32px); transition: opacity 1s var(--ease),transform 1s var(--ease); }
.js-motion .reveal.visible { transform: translateY(0); }
@keyframes content-in { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1100px) {
  .site-header,.site-header.scrolled { padding-inline: 21px; gap: 20px; }
  .brand-name { font-size: 31px; }
  .brand-sub { font-size: 9px; letter-spacing: 1.5px; }
  .header-cta { gap: 12px; padding-inline: 16px; }
  .hero { min-height: 760px; }
  .hero-content { padding-inline: 6%; }
  h1 { font-size: 8.1vw; }
  .hero-bottom { gap: 30px; }
  .dive-seal { width: 110px; height: 110px; right: 6%; bottom: 135px; }
  .hero-foot { left: 6%; right: 6%; }
  .hero-coordinate { display: none; }
  .strip-end { display: none; }
  .island-names { gap: 23px; font-size: 20px; }
  .section-pad { padding-block: 86px; }
  .story-grid { gap: 6%; }
  .story-two { padding-top: 92px; }
  .story-two .story-photo { aspect-ratio: 1.6; }
  .photo-overlay { font-size: 29px; left: 24px; bottom: 27px; }
  .photo-label { font-size: 10px; letter-spacing: 1px; }
  .photo-index { font-size: 10px; }
  .contact-grid { gap: 6%; }
  .contact-copy { padding-left: 25px; }
  .contact-asterisk { font-size: 60px; right: -8px; }
  .contact-copy .button { padding-left: 17px; gap: 8px; font-size: 13px; }
  .contact-copy .button-arrow { width: 35px; height: 35px; padding: 9px; }
}
@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .header-cta { margin-left: auto; }
  .menu-toggle { display: flex; justify-content: center; flex-direction: column; align-items: center; gap: 6px; flex: 0 0 44px; height: 44px; padding: 0; background: none; border: 1px solid rgb(255 255 255 / 30%); border-radius: 50%; color: white; cursor: pointer; }
  .menu-toggle span { width: 19px; height: 1px; background: currentColor; transition: transform .3s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded=true] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .mobile-menu { position: fixed; z-index: 40; inset: 0; display: flex; flex-direction: column; padding: 130px 8% max(45px,env(safe-area-inset-bottom)); background: var(--deep); color: white; overflow-y: auto; overscroll-behavior: contain; visibility: hidden; opacity: 0; transform: translateY(-12px); transition: opacity .3s,transform .3s,visibility .3s; }
  .mobile-menu.open { visibility: visible; opacity: 1; transform: translateY(0); }
  .mobile-menu>a { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 84px; padding: 23px 0; border-bottom: 1px solid rgb(255 255 255 / 23%); font-size: clamp(26px,5vw,40px); }
  .mobile-menu>a>span { font-size: 13px; color: var(--lime); }
  .hero-bottom { display: block; }
  .hero-bottom .button { margin-top: 25px; }
  .island-strip>span { display: none; }
  .island-names { width: 100%; justify-content: space-evenly; }
  h2 { font-size: 43px; }
  .intro-copy p { font-size: 16px; line-height: 1.75; }
  .story-photo { border-bottom-right-radius: 50px; }
  .story-two .story-photo { border-top-left-radius: 50px; }
  .photo-overlay { font-size: 25px; }
  .story-two .photo-label { left: 29px; }
  .photo-label,.photo-index { top: 21px; }
  .story-caption h3 { font-size: 17px; }
  .contact-grid { grid-template-columns: 1fr 1fr; gap: 6%; }
  .contact h2 { font-size: 65px; }
  .contact-asterisk { display: none; }
  .contact-copy { padding-left: 0; border-left: 0; }
  .contact-copy>p { font-size: 16px; }
  .contact-copy .button .button-arrow { display: none; }
  .contact-copy .button { padding: 15px 20px; min-height: 56px; }
  .site-footer>span { display: none; }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 100px; }
  .site-header,.site-header.scrolled { inset: 14px 4% auto; gap: 10px; min-height: 70px; padding: 11px 13px; border-radius: 15px; }
  .brand-name { font-size: 29px; letter-spacing: -1.7px; }
  .brand-dot { font-size: 15px; margin-left: 5px; }
  .brand-sub { font-size: 8px; letter-spacing: 1.35px; }
  .header-cta { padding: 0; gap: 0; width: 44px; height: 44px; min-height: 44px; flex: 0 0 44px; justify-content: center; border-color: var(--lime); background: var(--lime); color: var(--ink); }
  .header-cta span { display: none; }
  .header-cta .icon { display: block; width: 25px; height: 25px; }
  .hero { min-height: 100svh; height: auto; max-height: none; align-items: center; }
  .hero-image-wrap { inset: -6% 0; }
  .hero-image { object-position: 57% 50%; }
  .hero-shade { background: linear-gradient(180deg,rgb(0 32 43 / 28%),rgb(0 35 47 / 13%) 25%,rgb(0 34 47 / 35%) 65%,rgb(0 27 37 / 80%)); }
  .hero-content { padding: 145px 7% 160px; }
  .hero-eyebrow { font-size: .8125rem; letter-spacing: .8px; gap: 9px; margin-bottom: 24px; }
  .location-cross { width: 28px; height: 28px; font-size: 20px; }
  h1 { font-size: clamp(2.375rem,10.3vw,4rem); letter-spacing: -.047em; line-height: 1.16; }
  .title-serif { letter-spacing: -.047em; white-space: normal; }
  .hero-bottom { margin-top: 28px; }
  .hero-bottom p { font-size: 1.125rem; line-height: 1.75; }
  .button { max-width: 100%; font-size: 1rem; min-height: 64px; padding-left: 19px; gap: 10px; }
  .button>span { min-width: 0; white-space: normal; line-height: 1.4; text-align: left; }
  .hero-bottom .button,.contact-copy .button { display: flex; width: 100%; max-width: 23rem; }
  .hero-bottom .button>span,.contact-copy .button>span { flex: 1; }
  .button .button-arrow { margin-left: 10px; width: 37px; height: 37px; padding: 10px; }
  .dive-seal { width: 84px; height: 84px; right: 7%; bottom: 93px; }
  .dive-seal>span { font-size: 28px; }
  .hero-foot { left: 7%; right: 7%; bottom: 21px; padding-top: 17px; gap: 14px; font-size: .75rem; letter-spacing: .6px; }
  .hero-foot>a { font-size: 0; gap: 0; min-width: 44px; justify-content: flex-end; }
  .island-strip { padding: 23px 6%; }
  .island-names { gap: 8px; justify-content: space-between; font-size: clamp(.9375rem,4vw,1.25rem); letter-spacing: -.4px; }
  .island-names>span { display: block; }
  .island-names small { display: block; margin-bottom: 7px; }
  .island-names i { font-size: 17px; }
  .section-pad { padding-block: 68px; }
  .section-top { padding-bottom: 17px; }
  .eyebrow { font-size: .8125rem; letter-spacing: .9px; gap: 9px; }
  .intro-grid { gap: 29px; margin-top: 34px; }
  h2 { font-size: clamp(2.5rem,11vw,3.875rem); letter-spacing: -.045em; }
  .intro-copy p { font-size: 1.125rem; line-height: 1.8; }
  .text-link { margin-top: 20px; font-size: 1rem; }
  .story-grid { grid-template-columns: 1fr; gap: 38px; margin-top: 42px; }
  .story-one { margin-right: 8%; }
  .story-two { margin-left: 0; padding-top: 0; }
  .story-photo { aspect-ratio: .88; border-radius: 12px 12px 54px 12px; }
  .story-two .story-photo { aspect-ratio: 1.7; border-radius: 44px 12px 12px 12px; }
  .photo-label { left: 21px; right: 18px; font-size: .75rem; line-height: 1.5; letter-spacing: .8px; }
  .photo-index { right: 20px; }
  .photo-overlay { left: 22px; bottom: 27px; font-size: 1.875rem; }
  .story-two .photo-overlay { font-size: 1.75rem; bottom: 21px; }
  .story-caption { margin-top: 18px; padding-top: 15px; }
  .story-caption h3 { font-size: 1.1875rem; line-height: 1.45; }
  .story-caption p { font-size: 1rem; margin-top: 6px; }
  .island-life { padding-top: 66px; }
  .ripple-rings { width: 120%; height: 68%; top: 37%; }
  .life-heading .eyebrow { font-size: .8125rem; letter-spacing: .5px; }
  .life-heading h2 { font-size: clamp(2.375rem,10.3vw,3.5rem); letter-spacing: -.042em; margin-top: 29px; }
  .life-heading p { font-size: 1.125rem; line-height: 1.75; margin-top: 23px; }
  .instagram-link { gap: 11px; margin-top: 29px; margin-bottom: 53px; padding: 12px 12px 12px 17px; }
  .instagram-link>span:not(.round-arrow) { min-width: 0; font-size: 1rem; }
  .instagram-link>svg { width: 24px; height: 24px; }
  .instagram-link small { font-size: .8125rem; overflow-wrap: anywhere; }
  .round-arrow { width: 37px; height: 37px; margin-left: 7px; flex-shrink: 0; }
  .big-type { font-size: 15.5vw; padding-bottom: 12px; }
  .contact { padding-block: 51px 57px; }
  .contact-grid { grid-template-columns: 1fr; gap: 33px; margin-top: 35px; }
  .contact h2 { font-size: clamp(58px,15.6vw,86px); }
  .contact-asterisk { display: block; right: 8px; top: 4px; font-size: 57px; }
  .contact-copy { padding-top: 25px; border-top: 1px solid rgb(255 255 255 / 18%); }
  .contact-copy>p { max-width: 360px; margin-bottom: 24px; font-size: 1.125rem; line-height: 1.8; }
  .contact-copy .button { padding: 11px 11px 11px 18px; gap: 10px; font-size: 1rem; white-space: normal; }
  .contact-copy .button .button-arrow { display: block; }
  .phone { font-size: 1rem; padding-top: 17px; }
  .site-footer { gap: 28px; padding-top: 32px; padding-bottom: 100px; }
  .site-footer>div:not(.footer-bottom) { gap: 12px; }
  .back-top { max-width: 90px; font-size: .875rem; line-height: 1.6; }
  .footer-bottom { flex-wrap: wrap; font-size: .8125rem; line-height: 1.6; padding-top: 21px; }
  .floating-whatsapp { width: 56px; height: 56px; right: 17px; bottom: max(17px,env(safe-area-inset-bottom)); }
}
@media (max-width: 360px) {
  .site-header,.site-header.scrolled { gap: 7px; padding-inline: 10px; }
  .brand-name { font-size: 26px; }
  .brand-sub { font-size: 7px; }
  .instagram-link { gap: 9px; padding-left: 13px; }
  .instagram-link>svg { width: 22px; height: 22px; }
  .round-arrow { margin-left: 0; width: 32px; height: 32px; }
  .contact-asterisk { font-size: 42px; }
  .contact-copy .button { gap: 8px; padding-left: 15px; font-size: 1rem; }
  .site-footer>div:not(.footer-bottom) { gap: 8px; }
  .site-footer .brand-name { font-size: 26px; }
}
@media (max-height: 650px) and (min-width: 601px) {
  .hero { height: auto; min-height: 620px; }
  .hero-content { padding-top: 158px; padding-bottom: 140px; }
  .hero-bottom { display: flex; }
  .hero-bottom .button { margin-top: 0; }
  .dive-seal { display: none; }
  .mobile-menu { padding-top: 114px; }
  .mobile-menu>a { min-height: 65px; padding-block: 15px; font-size: 26px; }
}
@media (max-height: 760px) and (max-width: 600px) {
  .dive-seal { display: none; }
  .hero { min-height: 630px; height: auto; }
  .hero-content { padding-top: 140px; padding-bottom: 125px; }
}
/* Two identical groups make the loop continuous at every screen width. */
.island-strip { gap: clamp(16px,2vw,30px); }
.island-strip>span { flex-shrink: 0; }
.island-marquee {
  flex: 1; min-width: 0; overflow: hidden;
  mask-image: linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);
  -webkit-mask-image: linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);
}
.island-track { display: flex; width: max-content; animation: island-drift 65s linear infinite; will-change: transform; }
.island-track>.island-names {
  --island-gap: clamp(2rem,4vw,4.5rem);
  flex: 0 0 auto; width: max-content; min-width: 100vw;
  justify-content: space-around; gap: var(--island-gap); padding-right: var(--island-gap);
  font-size: clamp(1.125rem,1.6vw,1.5rem); line-height: 1.5;
}
.island-track>.island-names>span { flex-shrink: 0; }
@keyframes island-drift { to { transform: translate3d(-50%,0,0); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none!important; transition: none!important; }
  .js-motion .reveal { opacity: 1; transform: none; }
  .hero-image,.tilt-card,.magnetic,.big-type,.contact-asterisk,.dive-seal>svg { transform: none!important; }
  .island-marquee { mask-image: none; -webkit-mask-image: none; }
  .island-track { width: 100%; transform: none; will-change: auto; }
  .island-track>.island-names { width: 100%; min-width: 0; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-right: 0; }
  .island-track>.island-names[aria-hidden=true],.island-names>.island-repeat { display: none; }
}
