:root{--ink:#102b27;--deep:#062c2a;--paper:#f5f0e6;--cream:#fffaf2;--lagoon:#1b7771;--coral:#ff5d3b;--line:#d8d0c1;--muted:#6f736d;--radius:22px;--shadow:0 24px 70px #082a221f;--serif:"DM Serif Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.skip{position:fixed;left:1rem;top:-5rem;background:var(--cream);padding:.8rem 1rem;z-index:100}.skip:focus{top:1rem}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);position:absolute;z-index:10;width:100%;color:white}.brand{font:1.1rem var(--sans);font-weight:700;letter-spacing:.28em;color:inherit;text-decoration:none}.brand span{color:var(--coral)}.nav nav{display:flex;gap:2rem}.nav nav a{color:inherit;text-decoration:none;font-size:.9rem}.nav nav a:hover{text-decoration:underline}.plan-button,.ghost,.segmented button,.chips button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:999px;padding:.75rem 1.1rem;cursor:pointer}.plan-button span{background:var(--coral);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;margin-left:.4rem}.hero{min-height:760px;height:100svh;max-height:980px;background:url("assets/hero-bg.png") center/cover;position:relative;color:white;display:flex;align-items:flex-end;justify-content:center;padding:0 clamp(1.25rem,4vw,4.5rem) 5.2rem}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#041d191f 10%,#041d1970 57%,#041d19c7)}.hero-copy{z-index:1;text-align:center;position:absolute;top:22%;max-width:760px}.hero h1,.closing h2{font:clamp(4rem,8vw,8.5rem)/.83 var(--serif);letter-spacing:-.035em;margin:.3rem 0 1.1rem}.hero-copy>p:last-child{font-size:clamp(1rem,2vw,1.25rem)}.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:700;color:var(--lagoon)}.eyebrow.light{color:#aad8d4}.search-card{position:relative;z-index:2;background:#fffaf4;color:var(--ink);display:grid;grid-template-columns:1fr 1fr .9fr .9fr 1fr auto;width:min(1280px,100%);border-radius:20px;padding:.7rem;box-shadow:var(--shadow)}.search-card label{display:flex;flex-direction:column;gap:.25rem;padding:.55rem .85rem;border-right:1px solid var(--line);font-size:.72rem;font-weight:700}.search-card input,.search-card select{border:0;background:transparent;color:var(--ink);outline:0;min-width:0;padding:.25rem 0}.primary{border:0;background:var(--coral);color:white;border-radius:14px;padding:1rem 1.3rem;font-weight:700;cursor:pointer;box-shadow:0 10px 24px #ff5d3b40}.primary:hover{background:#e94728;transform:translateY(-1px)}.scroll-cue{position:absolute;bottom:1.4rem;z-index:2;color:white;text-decoration:none;font-size:.75rem}.section{padding:clamp(5rem,10vw,9rem) clamp(1.25rem,6vw,7rem)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:4rem;margin-bottom:3rem}.section-head h2,.food h2{font:clamp(3rem,6vw,6.5rem)/.93 var(--serif);letter-spacing:-.035em;margin:.4rem 0}.section-head>p{max-width:420px;line-height:1.7;color:var(--muted)}.section-head.light,.section-head.light>p{color:white}.trip-strip{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.trip-strip div{display:grid;grid-template-columns:auto 1fr;gap:.15rem 1rem;padding:2rem;border-right:1px solid var(--line)}.trip-strip div:last-child{border:0}.trip-strip span{grid-row:span 2;font:3rem var(--serif);color:var(--coral)}.trip-strip small{color:var(--muted)}.dark-section,.activities{background:var(--deep);color:white}.segmented{display:flex;gap:.4rem;flex-wrap:wrap}.segmented button,.chips button{border-color:#ffffff50}.segmented button.active,.chips button.active{background:var(--coral);border-color:var(--coral);color:white}.flight-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem}.flight-layout>img{width:100%;height:540px;object-fit:cover;border-radius:var(--radius)}.option-list{display:grid;gap:1rem}.option{border:1px solid #ffffff3d;border-radius:18px;padding:1.4rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;background:#ffffff0a;cursor:pointer}.option:hover,.option.selected{border-color:var(--coral);background:#ffffff12}.option h3,.stay-card h3,.restaurant h3{margin:.2rem 0}.option p,.option small{color:#c8d6d3}.option strong{font:2rem var(--serif)}.option button{grid-column:1/-1}.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.stay-card{background:var(--cream);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.25s}.stay-card:hover{transform:translateY(-5px)}.stay-card img{width:100%;height:270px;object-fit:cover}.stay-card>div{padding:1.25rem}.card-row{display:flex;justify-content:space-between;align-items:center;gap:1rem}.stay-card p,.restaurant p{color:var(--muted)}.accordion{display:flex;gap:.75rem;height:520px}.activity{position:relative;flex:1;border:0;border-radius:var(--radius);overflow:hidden;color:white;cursor:pointer;background-position:center;background-size:cover;transition:flex .45s ease;min-width:80px}.activity.active{flex:3}.activity::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,#031b18d9)}.activity>div{position:absolute;z-index:1;left:1.5rem;right:1.5rem;bottom:1.5rem;text-align:left}.activity h3{font:clamp(1.8rem,3vw,3.3rem) var(--serif);margin:.3rem 0}.activity p{display:none}.activity.active p{display:block}.food{min-height:780px;background:linear-gradient(90deg,#062c2af2 0 46%,#062c2a66),url("assets/food.png") center/cover;color:white;display:grid;grid-template-columns:1fr .85fr;gap:4rem;align-items:center}.food-copy{max-width:630px}.food-copy>p:not(.eyebrow){font-size:1.1rem;max-width:460px}.chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:2rem}.restaurant-list{display:grid;gap:.8rem}.restaurant{background:#fffaf2ed;color:var(--ink);border-radius:16px;padding:1rem;display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;backdrop-filter:blur(12px)}.restaurant button{grid-column:2;grid-row:1/4}.essentials{background:#f8f3e9}.bento{display:grid;grid-template-columns:1.1fr .9fr 1fr;grid-template-rows:auto auto;gap:1rem}.bento article{background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:1.5rem;display:flex;flex-direction:column;gap:.6rem}.bento article>p{font-size:.7rem;letter-spacing:.14em;font-weight:700;margin:0;color:var(--lagoon)}.bento strong{font:2rem var(--serif)}.weather{background:linear-gradient(135deg,#c7e1dd,var(--cream))!important}.packing{grid-row:span 2}.packing label{display:flex;gap:.6rem;margin:.4rem 0}.packing input:checked+span{text-decoration:line-through;color:var(--muted)}.notes textarea{resize:vertical;border:1px solid var(--line);border-radius:10px;padding:.8rem;background:white}.text-button{border:0;background:transparent;color:var(--lagoon);text-align:left;padding:.5rem 0;cursor:pointer}.closing{background:var(--deep);color:white;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;min-height:720px;padding:5rem clamp(1.25rem,6vw,7rem);overflow:hidden}.closing h2{font-size:clamp(4rem,7vw,7rem)}.closing-copy{display:flex;flex-direction:column;align-items:flex-start}.closing-copy>small{margin-top:1rem;color:#b8c8c5}.closing img{width:115%;border-radius:24px;box-shadow:0 30px 90px #0008;transform:rotate(-2deg)}.large{font-size:1.05rem;padding:1.15rem 1.7rem}.full{width:100%}footer{display:flex;justify-content:space-between;align-items:center;padding:2rem clamp(1.25rem,6vw,7rem);background:#031f1d;color:#c6d1cf;font-size:.8rem}dialog{width:min(650px,calc(100% - 2rem));max-height:86vh;border:0;border-radius:24px;padding:0;background:var(--cream);color:var(--ink);box-shadow:0 30px 120px #0007}dialog::backdrop{background:#031f1dbd;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid var(--line)}.dialog-head h2{font:2.1rem var(--serif);margin:.2rem 0}.icon-button{border:0;background:#eee5d8;border-radius:50%;width:42px;height:42px;font-size:1.6rem;cursor:pointer}.trip-item{display:grid;grid-template-columns:36px 1fr auto;gap:1rem;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--line)}.trip-item span:first-child{width:36px;height:36px;border-radius:50%;background:#d8ebe8;display:grid;place-items:center}.trip-item small{color:var(--muted)}.trip-item button{border:0;background:transparent;color:var(--coral);cursor:pointer}.dialog-total{display:flex;justify-content:space-between;padding:1.4rem 1.5rem;font-size:1.2rem}.dialog-total strong{font:1.8rem var(--serif)}dialog>.full{width:calc(100% - 3rem);margin:0 1.5rem 1.5rem}.toast{position:fixed;right:1.5rem;bottom:1.5rem;background:var(--ink);color:white;padding:1rem 1.2rem;border-radius:12px;z-index:90;transform:translateY(150%);transition:.3s}.toast.show{transform:none}.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}:focus-visible{outline:3px solid #ffc2b5;outline-offset:3px}
@media(max-width:900px){.nav nav{display:none}.hero{min-height:850px;padding-bottom:4rem}.hero-copy{top:18%}.search-card{grid-template-columns:1fr 1fr}.search-card label{border-bottom:1px solid var(--line)}.search-card button{grid-column:1/-1}.section-head{align-items:flex-start;flex-direction:column;gap:1rem}.flight-layout,.food,.closing{grid-template-columns:1fr}.flight-layout>img{height:320px}.stay-grid{grid-template-columns:1fr}.accordion{height:680px;flex-direction:column}.activity.active{flex:3}.bento{grid-template-columns:1fr 1fr}.packing{grid-row:auto}.food{background:linear-gradient(#062c2ad9,#062c2ad9),url("assets/food.png") center/cover}.closing img{width:100%;margin-top:2rem}footer{flex-direction:column;gap:.5rem;text-align:center}}
@media(max-width:560px){.nav{height:64px}.hero h1{font-size:3.8rem}.hero-copy{top:15%}.search-card{grid-template-columns:1fr}.search-card label{padding:.4rem .7rem}.section{padding:4.5rem 1.1rem}.trip-strip{grid-template-columns:1fr}.trip-strip div{border-right:0;border-bottom:1px solid var(--line)}.flight-layout>img{height:240px}.bento{grid-template-columns:1fr}.food{padding:4.5rem 1.1rem}.closing{padding:4rem 1.1rem}footer p:last-child{display:none}.section-head h2,.food h2{font-size:3.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
