/* Noudeal — Tropical Future. Static, dependency-free, progressively enhanced. */
@font-face{font-family:Manrope;src:url("assets/manrope-regular.ttf") format("truetype");font-weight:400 500;font-style:normal;font-display:swap}
:root{color-scheme:dark;--ink:#061e25;--white:#f6fffe;--muted:#c2d8d9;--lime:#b9f779;--aqua:#7ff2e7;--line:rgba(220,255,250,.2)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--white);font-family:Manrope,Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
img{display:block;width:100%;height:auto}
svg{width:24px;height:24px;flex:none}
figure,p,h1,h2{margin:0}
::selection{background:var(--lime);color:var(--ink)}
:focus-visible{outline:3px solid var(--lime);outline-offset:7px}
.skip-link{position:fixed;left:20px;top:-80px;z-index:20;background:var(--lime);color:var(--ink);padding:16px 24px;border-radius:8px}
.skip-link:focus{top:20px}
.page-shell{position:relative;isolation:isolate;overflow:hidden;min-height:100svh}
.wrap{width:calc(100% - 112px);max-width:1536px;margin-inline:auto}
.landscape{position:absolute;inset:0;z-index:-3;pointer-events:none}
.landscape img{height:100%;object-fit:cover;object-position:center 48%;opacity:.51}
.landscape::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,22,29,.96) 0%,rgba(3,29,35,.84) 32%,rgba(3,29,35,.35) 69%,rgba(3,29,35,.5) 100%),linear-gradient(0deg,#041c24 0%,rgba(4,28,36,.9) 4%,transparent 50%,rgba(4,28,36,.1) 80%)}
.ambient{position:absolute;z-index:-1;width:600px;height:600px;border-radius:50%;filter:blur(120px);pointer-events:none;opacity:.12}
.ambient-one{background:#18d5bd;top:-350px;left:15%}.ambient-two{background:#32c9db;top:200px;right:-400px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:119px;border-bottom:1px solid var(--line)}
.brand{display:block;width:205px;flex:none}.brand img{height:auto}
.destination{display:flex;gap:9px;align-items:center;color:#e1f4ef;font-size:.875rem}.destination svg{width:17px;height:17px;color:var(--aqua)}
.header-link{display:flex;gap:18px;align-items:center;font-size:.9375rem;padding:10px 0}.header-link svg{width:17px;height:17px;transition:transform .25s}.header-link:hover svg{transform:translate(3px,-3px)}
.hero{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.12fr);align-items:center;column-gap:36px;min-height:780px;padding:62px 0 65px}
.hero-copy{position:relative;z-index:3;padding-bottom:8px}
.eyebrow{display:flex;align-items:center;gap:15px;font-size:.75rem;color:#d8e9e6;letter-spacing:.035em;margin-bottom:31px;flex-wrap:wrap}
.coming-soon{display:inline-flex;align-items:center;min-height:29px;border:1px solid rgba(185,247,121,.45);padding:6px 11px;border-radius:5px;color:var(--lime);text-transform:uppercase;font-size:.6875rem;letter-spacing:.12em;font-weight:700;background:rgba(185,247,121,.045)}
h1{font-size:clamp(4.1rem,6.45vw,7rem);font-weight:500;line-height:.99;letter-spacing:-.063em;max-width:680px}
.escape{color:var(--aqua)}
.upgrade{color:var(--white)}
.intro{margin-top:27px;max-width:465px;font-size:1rem;line-height:1.65;color:#d1e4e1}
.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:11px;margin-top:30px;min-height:60px;padding:17px 22px;background:var(--lime);color:#143324;font-size:.9375rem;font-weight:700;border:1px solid var(--lime);border-radius:7px;box-shadow:0 6px 30px rgba(185,247,121,.1);transition:background .2s,transform .2s,box-shadow .2s}
.primary-button>svg:first-child{width:22px;height:22px}.primary-button .button-arrow{margin-left:12px;width:19px;height:19px;transition:transform .2s}
.primary-button:hover{background:#c7ff90;transform:translateY(-2px);box-shadow:0 9px 40px rgba(185,247,121,.18)}.primary-button:hover .button-arrow{transform:translateX(4px)}
.booking-note{margin-top:14px;font-size:.8125rem;line-height:1.5;color:#abc8c7}
.photo-universe{position:relative;isolation:isolate;height:654px;max-width:700px;width:100%;margin-left:auto}
.gallery-heading{position:absolute;left:7%;right:0;top:0;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.75rem;letter-spacing:.05em;color:#d3ece9}
.small-cross{color:var(--aqua);font-size:1.75rem}
.photo-card{position:absolute;overflow:hidden;border-radius:15px;border:1px solid rgba(217,255,252,.47);box-shadow:0 18px 65px rgba(0,15,21,.36);background:#17424b;transform:translateZ(0);transition:box-shadow .35s}
.photo-card>img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease;filter:saturate(.92)}
.photo-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,19,24,.16) 47%,rgba(0,19,24,.84) 100%);pointer-events:none}
.photo-card:hover>img{transform:scale(1.055)}
.photo-card figcaption{position:absolute;z-index:1;bottom:20px;left:22px;right:16px}
.photo-index{display:block;font-size:.625rem;letter-spacing:.13em;margin-bottom:10px;color:#dbf5ef;font-weight:600}
.photo-card strong{display:block;font-size:1.65rem;line-height:1.11;letter-spacing:-.035em;font-weight:500}
.category{display:block;font-size:.75rem;color:#d6e5e5;margin-top:9px;line-height:1.4}
.stay-card{left:4%;top:52px;width:59%;height:326px;transform:rotate(-3deg);z-index:2;animation:float-stay 4.5s ease-in-out 1}
.stay-card>img{object-position:50% 50%}
.card-corner{position:absolute;z-index:1;right:16px;top:16px;width:33px;height:33px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;background:rgba(4,28,36,.12);backdrop-filter:blur(8px)}.card-corner svg{width:18px;height:18px}
.sea-card{right:-1%;top:114px;width:40%;height:253px;transform:rotate(5deg);z-index:1;animation:float-sea 4.8s ease-in-out 1}
.sea-card figcaption{left:18px;bottom:18px}.sea-card strong{font-size:1.4rem}
.spa-card{left:7%;top:393px;width:36%;height:228px;transform:rotate(-5deg);z-index:3;animation:float-spa 4.6s ease-in-out 1}
.spa-card figcaption{left:19px;bottom:18px}.spa-card strong{font-size:1.4rem}.spa-card .photo-index{font-size:.625rem}
.day-card{left:47%;top:384px;width:53%;height:252px;transform:rotate(3deg);z-index:2;animation:float-day 4.9s ease-in-out 1}
.day-card figcaption{left:22px;bottom:20px}.day-card strong{font-size:1.45rem}
.island-stamp{position:absolute;z-index:4;left:37%;top:321px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:120px;height:120px;border-radius:50%;background:rgba(6,35,40,.72);border:1px solid rgba(197,255,243,.48);box-shadow:0 8px 30px rgba(0,0,0,.2),inset 0 0 35px rgba(123,233,217,.09);backdrop-filter:blur(15px);transform:rotate(10deg)}
.island-stamp span{font-size:.54rem;letter-spacing:.16em;font-weight:700;color:#d6f7e7}.island-stamp svg{width:38px;height:38px;color:var(--lime)}
.next-chapter{display:grid;grid-template-columns:1.02fr 1fr 1fr 1.16fr;gap:28px;align-items:center;border:1px solid var(--line);border-radius:13px;background:rgba(8,37,43,.58);backdrop-filter:blur(14px);padding:27px 30px}
.overline{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.625rem;color:var(--aqua);font-weight:700;margin-bottom:10px}.chapter-label p{font-size:1.4rem;line-height:1.2;letter-spacing:-.035em;color:#bbd3d1}.chapter-label strong{font-weight:500;color:var(--white)}
.chapter-item{display:flex;align-items:flex-start;gap:14px;min-width:0}.feature-number{font-size:.6875rem;color:var(--aqua);line-height:1.7;font-variant-numeric:tabular-nums}.chapter-item h2{font-size:.9375rem;line-height:1.4;font-weight:600;letter-spacing:-.015em}.chapter-item p{font-size:.8125rem;line-height:1.6;color:#b1cecb;margin-top:6px;max-width:180px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:27px 28px;font-size:.6875rem;color:#98b7b5;line-height:1.7}.site-footer a{font-size:.75rem;display:flex;gap:8px;color:#b9d1ce}.site-footer a span{color:#ecfaf5}.footer-separator{padding-inline:5px;color:#658985}.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}
@keyframes float-stay{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(-2.3deg)}}
@keyframes float-sea{0%,100%{transform:translateY(0) rotate(5deg)}50%{transform:translateY(7px) rotate(4deg)}}
@keyframes float-spa{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(5px) rotate(-4deg)}}
@keyframes float-day{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-6px) rotate(2deg)}}
@media(min-width:1700px){.hero{column-gap:65px;min-height:840px;padding-block:75px}.photo-universe{height:700px}.stay-card{height:355px}.sea-card{height:280px}.spa-card{top:422px;height:250px}.day-card{top:414px;height:274px}.island-stamp{top:350px}}
@media(max-width:1200px){.wrap{width:calc(100% - 72px)}.hero{column-gap:20px;min-height:740px;padding-block:60px}.photo-universe{height:590px}.stay-card{top:62px;height:288px}.sea-card{top:119px;height:227px}.spa-card{top:366px;height:209px}.day-card{top:364px;height:221px}.island-stamp{top:305px;width:101px;height:101px}.island-stamp span{font-size:.49rem}.island-stamp svg{width:30px;height:30px}.photo-card strong{font-size:1.4rem}.photo-card figcaption{left:16px;right:12px;bottom:18px}.photo-index{font-size:.6rem}.intro{font-size:1rem}.primary-button{padding:16px;gap:9px;font-size:.875rem}.next-chapter{padding:24px;gap:22px;grid-template-columns:.95fr 1fr 1fr 1.15fr}.chapter-item{gap:10px}.chapter-item h2{font-size:.875rem}.chapter-item p{font-size:.75rem}.site-footer{font-size:.625rem}}
@media(max-width:960px){.wrap{width:calc(100% - 64px)}.site-header{min-height:103px}.brand{width:180px}.hero{grid-template-columns:1fr;gap:42px;padding:55px 0 45px;min-height:0}.hero-copy{max-width:640px}h1{font-size:clamp(4.5rem,9.9vw,6.5rem);max-width:650px}h1 br:nth-of-type(2){display:none}h1 .escape::after{content:" "}.intro{max-width:510px}.photo-universe{height:650px;width:640px;max-width:94%;margin:0 auto}.gallery-heading{top:0}.stay-card{height:325px;top:54px}.sea-card{height:250px;top:119px}.spa-card{top:396px;height:225px}.day-card{top:387px;height:248px}.island-stamp{top:331px;left:37%;width:112px;height:112px}.photo-card strong{font-size:1.6rem}.photo-card figcaption{left:22px}.photo-index{font-size:.6875rem}.category{font-size:.8125rem}.next-chapter{grid-template-columns:1fr 1fr;gap:28px;padding:28px}.chapter-item h2{font-size:.9375rem}.chapter-item p{font-size:.8125rem;max-width:220px}.chapter-label p{font-size:1.45rem}.site-footer>span:nth-child(2){display:none}.site-footer{font-size:.6875rem}.landscape img{object-position:60% top}.landscape::after{background:linear-gradient(90deg,rgba(3,22,29,.88),rgba(3,29,35,.45)),linear-gradient(0deg,#041c24,transparent 70%)}.desktop-break{display:none}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.site-header{min-height:88px;gap:15px}.brand{width:158px}.destination{display:none}.header-link{font-size:.8125rem;gap:12px}.header-link svg{width:16px;height:16px}.hero{padding:38px 0 32px;gap:31px}.eyebrow{gap:11px;font-size:.6875rem;margin-bottom:25px}.coming-soon{font-size:.625rem;min-height:27px;padding:5px 9px}h1{font-size:clamp(3.4rem,12.5vw,5rem);letter-spacing:-.06em;line-height:1.035}h1 br:nth-of-type(2){display:block}.intro{margin-top:22px;font-size:.9375rem;line-height:1.65;max-width:410px}.primary-button{margin-top:23px;min-height:57px;padding:15px 18px;font-size:.8125rem;gap:9px}.primary-button .button-arrow{margin-left:5px;width:17px}.booking-note{font-size:.75rem;max-width:330px;line-height:1.6;margin-top:12px}.photo-universe{height:470px;max-width:100%;width:430px}.gallery-heading{left:3%;right:2%;font-size:.625rem;letter-spacing:.02em}.small-cross{font-size:1.35rem}.photo-card{border-radius:11px}.stay-card{left:2%;top:43px;width:59%;height:225px}.sea-card{right:0;top:81px;width:40%;height:182px}.spa-card{left:3%;top:284px;width:36%;height:171px}.day-card{left:43%;top:279px;width:55%;height:184px}.photo-card figcaption{left:13px;right:10px;bottom:14px}.photo-index{font-size:.5rem;letter-spacing:.07em;margin-bottom:7px}.photo-card strong{font-size:1.25rem;line-height:1.14}.sea-card strong,.spa-card strong,.day-card strong{font-size:1.075rem}.category{font-size:.625rem;margin-top:6px}.island-stamp{left:34%;top:234px;width:87px;height:87px;gap:5px}.island-stamp span{font-size:.42rem;letter-spacing:.1em}.island-stamp svg{width:25px;height:25px}.card-corner{width:28px;height:28px;right:12px;top:12px}.card-corner svg{width:15px;height:15px}.next-chapter{grid-template-columns:1fr;gap:23px;padding:25px 23px;border-radius:11px}.chapter-label{padding-bottom:23px;border-bottom:1px solid var(--line)}.chapter-label p{font-size:1.65rem}.chapter-label p br{display:none}.chapter-label p strong::before{content:" "}.overline{font-size:.625rem}.chapter-item{gap:16px}.feature-number{font-size:.75rem}.chapter-item h2{font-size:.9375rem}.chapter-item p{font-size:.8125rem;max-width:none;margin-top:3px}.site-footer{padding-block:24px 28px;gap:8px;justify-content:center;text-align:center;font-size:.625rem;flex-direction:column}.site-footer a{font-size:.75rem}.landscape img{object-position:63% top}.ambient-two{top:670px}.photo-card>img{filter:saturate(1.02)}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.brand{width:138px}.hero{padding-top:30px}h1{font-size:3.35rem}.eyebrow{gap:8px;font-size:.625rem}.primary-button{padding:14px 11px;gap:7px;font-size:.75rem}.photo-universe{height:433px}.stay-card{height:205px}.sea-card{height:166px}.spa-card{top:263px;height:155px}.day-card{top:258px;height:165px}.island-stamp{top:217px;width:78px;height:78px}.photo-card strong{font-size:1.05rem}.sea-card strong,.spa-card strong,.day-card strong{font-size:.95rem}.category{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(hover:none){.photo-card>img{transform:none!important}}
@media print{.page-shell{background:#061e25;print-color-adjust:exact}.ambient{display:none}.photo-card{animation:none}.skip-link{display:none}}

.sea-card>img{object-position:center 72%}
.photo-credit{display:block;text-align:right;margin:13px 2px 0;color:#98b7b5;font-size:.75rem;line-height:1.6}.photo-credit a{text-decoration:underline;text-underline-offset:3px}.category{font-size:.75rem}.photo-index{font-size:.6875rem}@media(max-width:600px){.photo-index{font-size:.625rem;letter-spacing:.02em}.photo-credit{text-align:center;font-size:.75rem;margin-top:18px}.category{font-size:.75rem}.spa-card .photo-index{font-size:.625rem}.chapter-label p{font-size:1.4rem}}

/* Keep both image captions clear where the floating cards overlap. */
.sea-card{z-index:3}

/* Let grid items shrink fully on small screens. */
.hero-copy,.photo-universe{min-width:0}
@media(max-width:960px){.hero{grid-template-columns:minmax(0,1fr)}h1 br:nth-of-type(2){display:block}.photo-universe{width:94%;max-width:640px}}
@media(max-width:600px){.photo-universe{width:100%;max-width:430px}.intro{max-width:100%}}
