:root{--sand:#F3EBDD;--ink:#14110F;--ember:#FF4F1F;--sea:#0E6E5C;--lagoon:#00A3A3;--night:#16193A;--gold:#D9A520;--blush:#F6B9A4;--mute:#6F6457;
--d:'Unbounded',Georgia,'Times New Roman',serif;--m:'Martian Mono','Courier New',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sand);color:var(--ink);font-family:var(--m);font-weight:200;font-size:14px;line-height:1.65;overflow-x:hidden}
a{color:inherit}.m{font-family:var(--m)}.small{font-size:.75rem}
b{font-weight:900}i{font-style:normal;font-weight:200}
.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem clamp(1rem,4vw,2.5rem);background:rgba(243,235,221,.92);backdrop-filter:blur(8px);border-bottom:1.5px solid var(--ink)}
.logo{font-family:var(--d);text-decoration:none;font-size:1.25rem;letter-spacing:-.02em;line-height:1}.logo b{font-weight:900}.logo i{font-weight:200}
.logo.big{font-size:clamp(3rem,12vw,7rem);display:block}
.top nav{display:flex;gap:1.1rem;align-items:center;font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}
.top nav a{text-decoration:none}.top nav a.cta{background:var(--ink);color:var(--sand);padding:.55rem .9rem;border-radius:999px}
@media(max-width:640px){.top nav a:not(.cta){display:none}}
.hero{padding:clamp(3rem,9vw,7rem) clamp(1rem,4vw,2.5rem) clamp(2rem,5vw,3.5rem);max-width:1400px;margin:0 auto}
.kick{font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;color:var(--ember);margin:0 0 1rem}
.hero h1{font-family:var(--d);margin:0;line-height:.9;letter-spacing:-.045em}
.hero .h9{display:block;font-weight:900;font-size:clamp(3.3rem,13.5vw,11.5rem)}
.hero .h2{display:block;font-weight:200;font-size:clamp(3.3rem,13.5vw,11.5rem);color:var(--ember)}
.lede{max-width:40rem;font-size:clamp(.9rem,1.4vw,1.05rem);margin:2rem 0}
.heroact{display:flex;gap:.7rem;flex-wrap:wrap}
.btn{font-family:var(--m);font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:999px;padding:1rem 1.4rem;cursor:pointer;background:var(--ember);color:#fff;text-decoration:none;display:inline-block;text-align:center}
.btn:hover{background:var(--ink)}.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--sand)}
.btn:disabled{opacity:.6;cursor:wait}
.search{margin:0 auto 4rem;max-width:1400px;padding:0 clamp(1rem,4vw,2.5rem)}
.tabs{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.2rem}.tabs::-webkit-scrollbar{display:none}
.tabs button{font-family:var(--m);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;border:1.5px solid var(--ink);background:transparent;color:var(--ink);padding:.75rem 1.1rem;border-radius:14px 14px 0 0;cursor:pointer;white-space:nowrap}
.tabs button[aria-selected=true]{background:var(--ink);color:var(--sand)}
.panel{background:var(--ink);color:var(--sand);border-radius:0 22px 22px 22px;padding:clamp(1rem,3vw,2rem)}
.sf,.pf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;align-items:end}
.sf label,.pf label,.pf legend{display:flex;flex-direction:column;gap:.35rem;font-weight:800;font-size:.66rem;text-transform:uppercase;letter-spacing:.14em}
.w2{grid-column:span 2}.w3{grid-column:span 3}.w4{grid-column:1/-1}
input,select,textarea{font:inherit;font-family:var(--m);font-weight:200;font-size:.95rem;letter-spacing:0;text-transform:none;width:100%;padding:.85rem .9rem;border-radius:12px;border:1.5px solid transparent;background:var(--sand);color:var(--ink);min-height:3rem}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ember)}
.sf .btn.go{grid-column:span 1;min-height:3rem}
.sf label.chk,.pf label.chk{flex-direction:row;align-items:center;gap:.5rem;min-height:3rem}
.chk input{width:1.2rem;height:1.2rem;min-height:0;accent-color:var(--ember)}
.ferr{grid-column:1/-1;margin:0;color:var(--blush);font-weight:800}
.note{grid-column:1/-1;margin:0;font-size:.8rem}.note a{color:var(--blush)}
.disc{font-size:.72rem;color:var(--mute);margin:.9rem .2rem 0}
@media(max-width:860px){.sf,.pf{grid-template-columns:repeat(2,minmax(0,1fr))}.w3{grid-column:1/-1}.sf .btn.go{grid-column:1/-1}}
@media(max-width:420px){.w2,.w3{grid-column:1/-1}.sf label.chk,.pf label.chk{grid-column:1/-1}}
.band{padding:clamp(3rem,7vw,5.5rem) clamp(1rem,4vw,2.5rem)}
.band>*{max-width:1320px;margin-left:auto;margin-right:auto}
.bh h2{font-family:var(--d);font-size:clamp(2.6rem,8vw,6.5rem);line-height:.92;letter-spacing:-.04em;margin:0 0 1rem}
.bh h2 b{display:block}.bh h2 i{display:block}
.bh p.m{max-width:36rem;margin:0 0 2rem}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){.grid,.grid.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.grid,.grid.g3{grid-template-columns:1fr}}
.pc{border-radius:22px;padding:1.4rem 1.3rem 1.2rem;display:flex;flex-direction:column;min-height:300px;position:relative;overflow:hidden;background:#fff;border:1.5px solid var(--ink)}
.pc::after{content:"";position:absolute;right:-60px;top:-60px;width:170px;height:170px;border-radius:50%;background:var(--ember);opacity:.9}
.pc .pk{position:relative;z-index:1;font-weight:800;font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;margin:0}
.pc h3{position:relative;z-index:1;font-family:var(--d);font-weight:900;font-size:clamp(1.7rem,2.6vw,2.4rem);line-height:.95;letter-spacing:-.03em;margin:1.6rem 0 .8rem}
.pc .pb{margin:0 0 1.2rem;font-size:.85rem;flex:1}
.pl{display:flex;flex-wrap:wrap;gap:.4rem}
.pl a{font-weight:800;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;padding:.55rem .8rem;border-radius:999px;background:var(--ink);color:var(--sand)}
.pl a:hover{background:var(--ember)}
.b-budget{background:var(--sand)}.b-budget h2 i{color:var(--sea)}
.b-budget .pc::after{background:var(--lagoon)}
.b-lux{background:var(--night);color:#F5EFE3}.b-lux h2 i{color:var(--gold)}.b-lux a{color:#F5EFE3}
.pc.lux{background:#1F2350;border-color:#3A3F78;color:#F5EFE3}.pc.lux::after{background:var(--gold);opacity:.85}
.pc.lux .pl a{background:var(--gold);color:var(--night)}.pc.lux .pl a:hover{background:#fff}
.b-cruise{background:var(--lagoon);color:var(--ink)}.b-cruise h2 i{color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:.6rem}
.chips a{font-family:var(--d);font-weight:900;font-size:clamp(1rem,2.2vw,1.6rem);letter-spacing:-.02em;text-decoration:none;padding:.8rem 1.2rem;border-radius:999px;background:var(--ink);color:#fff}
.chips a:nth-child(even){background:transparent;font-weight:200;box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}
.chips a:hover{background:#fff;color:var(--ink)}
.b-fam{background:#FFD84D}.b-fam h2 i{color:var(--ember)}.pc.fam::after{background:var(--sea)}
.b-hm{background:var(--blush)}.b-hm h2 i{color:#fff}.pc.hm::after{background:#E8436A}
.b-ny{background:var(--ink);color:var(--sand)}.b-ny h2 i{color:var(--ember)}
.pc.ny{background:var(--ink);color:var(--sand);border-color:#4A433C}.pc.ny::after{background:var(--ember)}
.pc.ny .pl a{background:var(--sand);color:var(--ink)}.pc.ny .pl a:hover{background:var(--ember);color:#fff}
.b-extra{background:var(--sand)}.b-extra h2 i{color:var(--lagoon)}
.plan{background:var(--ember);color:var(--ink);padding:clamp(3rem,7vw,5.5rem) clamp(1rem,4vw,2.5rem)}
.plan>*{max-width:1100px;margin-left:auto;margin-right:auto}
.planhead .kick{color:#fff}
.planhead h2{font-family:var(--d);font-size:clamp(2.6rem,8vw,6.5rem);line-height:.92;letter-spacing:-.04em;margin:0 0 1rem}
.planhead h2 b,.planhead h2 i{display:block}.planhead h2 i{color:#fff}
.planhead p.m{max-width:40rem;margin:0 0 2rem}
.pf{background:var(--ink);color:var(--sand);border-radius:22px;padding:clamp(1rem,3vw,2rem)}
.pf a{color:var(--blush)}
.pf fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.45rem}
.pf legend{width:100%;margin-bottom:.45rem}
.pf label.pill{flex-direction:row;cursor:pointer}
.pill input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.pill span{display:inline-block;font-weight:800;font-size:.72rem;letter-spacing:.06em;text-transform:none;padding:.6rem .9rem;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--sand)}
.pill input:checked+span{background:var(--ember);box-shadow:none;color:#fff}
.pill input:focus-visible+span{outline:2px solid var(--blush);outline-offset:2px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.done{background:var(--ink);color:var(--sand);border-radius:22px;padding:2rem}
.done h3{font-family:var(--d);font-weight:900;font-size:clamp(2.5rem,7vw,5rem);margin:0;letter-spacing:-.04em;color:var(--ember)}
.done pre{white-space:pre-wrap;font-family:var(--m);font-weight:200;background:#221E1A;border-radius:14px;padding:1rem;line-height:1.7}
.done .btn.ghost{color:var(--sand);box-shadow:inset 0 0 0 1.5px var(--sand)}
.foot{background:var(--ink);color:var(--sand);padding:3rem clamp(1rem,4vw,2.5rem) 2.5rem}
.fwrap{max-width:1400px;margin:0 auto}.foot .fl{display:flex;flex-wrap:wrap;gap:1.2rem;font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.foot .small{max-width:46rem;color:#B8AC9C}
.doc{max-width:760px;margin:0 auto;padding:clamp(2.5rem,7vw,5rem) clamp(1rem,4vw,2rem)}
.doc h1{font-family:var(--d);font-weight:900;font-size:clamp(2.6rem,9vw,5.5rem);letter-spacing:-.04em;line-height:.92;margin:0 0 .4rem}
.doc h1 i{display:block;color:var(--ember)}
.doc h2{font-family:var(--d);font-weight:900;font-size:1.25rem;letter-spacing:-.02em;margin:2.4rem 0 .5rem}
.doc p,.doc li{font-size:.9rem}.doc .upd{color:var(--mute);font-size:.75rem}
.doc table{border-collapse:collapse;width:100%;font-size:.82rem}.doc td,.doc th{border-bottom:1px solid #D9CBB4;padding:.5rem .4rem;text-align:left;vertical-align:top}
.doc th{font-weight:800;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}
