
:root{--abyss:#0f4553;--deep:#175a6d;--tide:#1f6e82;--foam:#eaf3f1;--mute:#8fa9a8;--sun:#f0a85a;--line:rgba(234,243,241,.14);--ease:cubic-bezier(.76,0,.24,1);--out:cubic-bezier(.16,1,.3,1);color-scheme:dark;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{background:var(--abyss);scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--abyss);color:var(--foam);font-family:'Outfit',system-ui,sans-serif;font-weight:300;font-size:1.125rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-wrap:pretty}
body.lock{overflow:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:rgba(15,69,83,.6);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:70}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.mute{color:var(--mute)}
a:focus-visible,button:focus-visible,summary:focus-visible,.track:focus-visible{outline:2px solid var(--sun);outline-offset:4px}
.glass{background:rgba(255,255,255,.12);border:1px solid var(--line);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%)}
.t-xl{font-size:clamp(3rem,10.5vw,9rem);line-height:.95;letter-spacing:-.045em;font-weight:200}
.t-l{font-size:clamp(2.1rem,5.4vw,4.2rem);line-height:1.05;letter-spacing:-.035em;font-weight:200}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.7rem 1.8rem;border-radius:999px;font-weight:500;transition:transform .5s var(--out),background .4s,color .4s,border-color .4s}
.btn:hover{transform:translateY(-2px)}.btn:active{transform:scale(.97)}
.btn-sun{background:var(--sun);color:#1b1006}.btn-sun:hover{background:#ffc07a}
.btn-line{border:1px solid rgba(234,243,241,.45)}.btn-line:hover{background:rgba(234,243,241,.1);border-color:var(--foam)}

/* INTRO */
.intro{position:fixed;inset:0;z-index:100;background:var(--abyss);display:grid;place-items:center;transition:transform 1.1s var(--ease),border-radius 1.1s var(--ease);will-change:transform}
.intro.out{transform:translateY(-101%);border-radius:0 0 50% 50%/0 0 9vw 9vw}
.intro svg{position:absolute;left:0;width:100%;top:calc(50% + 4.2rem);height:70px;overflow:visible}
.intro path{fill:none;stroke:var(--sun);stroke-width:1.2;stroke-dasharray:1600;stroke-dashoffset:1600;animation:draw 1.9s .3s var(--out) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.intro h2{margin:0;display:flex;font-size:clamp(2.2rem,8vw,5.5rem);font-weight:200;letter-spacing:-.03em;line-height:1.2;overflow:hidden;padding:0 .1em}
.intro h2 span{display:inline-block;transform:translateY(110%);animation:rise .9s calc(.15s + var(--i)*.045s) var(--out) forwards}
@keyframes rise{to{transform:none}}
.intro p{position:absolute;bottom:calc(10vh + env(safe-area-inset-bottom,0px));margin:0;font-size:.9rem;color:var(--mute);opacity:0;animation:fade .8s 1.3s forwards}
@keyframes fade{to{opacity:1}}

/* NAV + MENU */
.bar{position:fixed;top:env(safe-area-inset-top,0px);inset-inline:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:14px 22px}
.brand{font-weight:500;font-size:1.2rem;letter-spacing:-.02em;position:relative;z-index:90}
.mbtn{position:relative;z-index:90;display:flex;align-items:center;gap:.7rem;min-height:46px;padding:0 1.15rem;border-radius:999px;color:var(--foam);font:500 .95rem 'Outfit';cursor:pointer}
.mbtn i{display:block;width:18px;height:10px;position:relative}
.mbtn i::before,.mbtn i::after{content:"";position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .6s var(--out),top .6s var(--out)}
.mbtn i::before{top:1px}.mbtn i::after{top:8px}
.mbtn[aria-expanded="true"] i::before{top:4.5px;transform:rotate(45deg)}.mbtn[aria-expanded="true"] i::after{top:4.5px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:80;background:rgba(15,69,83,.78);backdrop-filter:blur(34px) saturate(150%);-webkit-backdrop-filter:blur(34px) saturate(150%);clip-path:circle(0 at calc(100% - 70px) 40px);visibility:hidden;transition:clip-path .9s var(--ease),visibility 0s .9s;display:grid;align-items:center;padding:96px 6vw 40px;overflow:auto}
.menu.open{clip-path:circle(150% at calc(100% - 70px) 40px);visibility:visible;transition:clip-path .9s var(--ease),visibility 0s}
.menu::before{content:"";position:absolute;inset:auto -10% -30% auto;width:70vw;height:70vw;background:radial-gradient(closest-side,rgba(240,168,90,.2),transparent);pointer-events:none}
.menu-in{display:grid;gap:3rem;max-width:1200px;width:100%;margin:auto;position:relative}
@media(min-width:900px){.menu-in{grid-template-columns:1.4fr 1fr;align-items:end}}
.menu ul{list-style:none;margin:0;padding:0}
.menu li{overflow:hidden;border-bottom:1px solid var(--line)}
.menu li a{display:flex;justify-content:space-between;align-items:baseline;padding:.35rem 0;font-size:clamp(2.2rem,7vw,5rem);font-weight:200;letter-spacing:-.04em;line-height:1.15;transform:translateY(110%);transition:transform .9s var(--out),opacity .4s,padding .5s var(--out),color .4s;transition-delay:0s}
.menu.open li a{transform:none;transition-delay:calc(.28s + var(--i)*.06s),0s,0s,0s}
.menu ul:hover li a{opacity:.35}.menu ul li a:hover{opacity:1;padding-left:1.2rem;color:var(--sun)}
.menu li a small{font-size:.95rem;color:var(--mute);letter-spacing:0;font-weight:300}
.mside{opacity:0;transform:translateY(20px);transition:opacity .8s .6s,transform .8s .6s var(--out);padding:1.6rem;border-radius:26px}
.menu.open .mside{opacity:1;transform:none}
.mside a.l{display:block;padding:.2rem 0;color:var(--mute);transition:color .3s}.mside a.l:hover{color:var(--foam)}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:140px 6vw 12vh;overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:scale(1.12);transition:transform 2.6s var(--out)}
.ready .hero img{transform:scale(1)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,52,66,.6),rgba(10,52,66,.02) 70%),linear-gradient(0deg,rgba(15,69,83,.9),transparent 30%)}
.hero>div{position:relative;z-index:2;max-width:1200px}
.ln{display:block;overflow:hidden}.ln>span{display:block;transform:translateY(105%);transition:transform 1.2s var(--out)}
.ready .ln>span{transform:none}.ready .ln:nth-child(2)>span{transition-delay:.12s}
.hero .sub,.hero .cta{opacity:0;transform:translateY(16px);transition:opacity 1s .5s,transform 1s .5s var(--out)}
.ready .hero .sub,.ready .hero .cta{opacity:1;transform:none}

section.s{padding:clamp(90px,16vw,200px) 6vw}
.wrap{max-width:1200px;margin:0 auto}
.rows a,.rows .r{display:grid;gap:1.2rem;padding:2.2rem 0;border-top:1px solid var(--line);transition:padding .6s var(--out)}
.rows .r:last-child{border-bottom:1px solid var(--line)}
@media(min-width:800px){.rows .r{grid-template-columns:1fr 1.2fr 150px 220px;align-items:center}}
.rows .r:hover{padding-left:1rem}
.rows img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;filter:saturate(.9);transition:filter .6s}
.rows .r:hover img{filter:none}
.rows h3{margin:0;font-weight:300;font-size:1.9rem;letter-spacing:-.03em;line-height:1.1}
.price{color:var(--sun);font-weight:500}
/* DAY STRIP */
.day{--p:0;background:color-mix(in oklch,#175a6d calc((1 - var(--p))*100%),#a65f33);padding:clamp(80px,12vw,150px) 0;transition:background .2s linear}
.track{display:flex;gap:2px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 6vw 24px;scrollbar-width:thin;scrollbar-color:var(--sun) transparent;overscroll-behavior-x:contain}
.pk{flex:0 0 min(86vw,460px);scroll-snap-align:start;position:relative;border-right:1px solid var(--line);padding:0 2rem 0 0;margin-right:2rem}
.pk .ph{overflow:hidden;border-radius:200px 200px 18px 18px}
.pk img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 1.4s var(--out)}
.pk:hover img{transform:scale(1.06)}
.pk h3{margin:1.4rem 0 .3rem;font-size:1.8rem;font-weight:300;letter-spacing:-.03em;line-height:1.15}
.pk .btn{margin-top:1.1rem}
details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:64px;padding:.8rem 0;font-size:1.3rem;font-weight:300}
summary::-webkit-details-marker{display:none}summary::after{content:"+";font-size:1.8rem;color:var(--sun);transition:transform .5s var(--out)}details[open] summary::after{transform:rotate(135deg)}
.wa{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:55;min-height:50px;padding:0 22px;border-radius:999px;display:flex;align-items:center;font-weight:500;transition:transform .5s var(--out)}.wa:hover{transform:translateY(-3px)}
.step{display:grid;gap:.4rem;border-top:1px solid var(--line);padding-top:1.4rem}.step b{font-weight:200;font-size:3rem;letter-spacing:-.04em;color:var(--sun);line-height:1}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-delay:0s!important;transition-delay:0s!important}html{scroll-behavior:auto}}
.light{--abyss:#f5f1e8;--foam:#0e2f39;--mute:#53696d;--line:rgba(14,47,57,.16);--sun:#b4571a;background:#f5f1e8;color:#0e2f39}.light .btn-sun{color:#fff}.light .btn-sun:hover{background:#c9692a}.light .btn-line{border-color:rgba(14,47,57,.4)}.light .btn-line:hover{background:rgba(14,47,57,.07);border-color:#0e2f39}

.t-m{font-size:clamp(2.6rem,8.5vw,7rem);line-height:.98;letter-spacing:-.045em;font-weight:200;margin:0}
.head{padding:clamp(140px,20vw,230px) 6vw clamp(60px,9vw,110px)}
.bar .rbtn{display:none}@media(min-width:900px){.bar .rbtn{display:inline-flex;min-height:46px;padding:0 1.4rem;margin-right:.6rem}.bar .rt{display:flex;align-items:center}}
.tiles{display:grid;gap:14px}@media(min-width:800px){.tiles{grid-template-columns:repeat(4,1fr)}}
.tile{position:relative;overflow:hidden;border-radius:18px;aspect-ratio:4/5;display:flex;align-items:flex-end;padding:1.4rem}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--out)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,40,52,.85),transparent 60%)}
.tile:hover img{transform:scale(1.07)}.tile span{position:relative;z-index:2;font-size:1.6rem;font-weight:300;letter-spacing:-.03em;line-height:1.1;color:#eaf3f1}
.facts{display:grid;gap:0}@media(min-width:800px){.facts{grid-template-columns:repeat(4,1fr)}}
.facts div{padding:1.6rem 1.4rem 1.6rem 0;border-top:1px solid var(--line)}.facts b{display:block;font-weight:400;font-size:1.2rem;margin-bottom:.2rem}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chips label{position:relative}
.chips input{position:absolute;opacity:0;inset:0;cursor:pointer;width:100%;height:100%}
.chips span{display:inline-flex;align-items:center;min-height:48px;padding:0 1.3rem;border-radius:999px;border:1px solid var(--line);transition:all .4s var(--out)}
.chips input:checked+span{background:var(--foam);color:var(--abyss);border-color:var(--foam)}
.chips input:focus-visible+span{outline:2px solid var(--sun);outline-offset:3px}
.fld{margin-bottom:2.4rem}.fld>p{margin:0 0 .9rem;font-size:1.15rem;font-weight:400}
.fld input[type=date],.fld input[type=text]{width:100%;max-width:420px;min-height:50px;border-radius:14px;border:1px solid var(--line);background:transparent;color:var(--foam);padding:0 1rem;font:inherit}
.step-n{display:flex;align-items:center;gap:1rem}.step-n button{width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--foam);font-size:1.5rem;cursor:pointer;transition:background .3s}.step-n button:hover{background:rgba(127,127,127,.2)}.step-n output{min-width:2ch;text-align:center;font-size:1.8rem;font-weight:200}
.sum{padding:1.8rem;border-radius:26px;position:sticky;top:90px}
