@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(fonts/inter-400.woff2) format("woff2")}@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(fonts/inter-600.woff2) format("woff2")}@font-face{font-family:"Playfair Display";font-weight:600;font-display:swap;src:url(fonts/playfair-600.woff2) format("woff2")}@font-face{font-family:"Playfair Display";font-weight:500;font-style:italic;font-display:swap;src:url(fonts/playfair-500i.woff2) format("woff2")}:root{--bg:#fbf7f0;--surface:#fff;--line:#e8dfd0;--text:#1c2a33;--muted:#5c6b74;--sea:#0b5d75;--sea-dark:#073f50;--sun:#d9733f;--radius:16px;--display:"Playfair Display",Georgia,serif;--wrap:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--text);font:400 1.0625rem/1.65 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}a{color:inherit}a:focus-visible{outline:3px solid var(--sun);outline-offset:3px}h1,h2{font-family:var(--display);font-weight:600;line-height:1.05;margin:0}h1 em,h2 em{font-weight:500;color:var(--sun)}.kicker{margin:0 0 .75rem;color:var(--sun);font-weight:600;font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase}.button{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:999px;background:var(--sea);color:#fff;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}.button:hover{background:var(--sea-dark);transform:translateY(-2px)}.button svg{width:1.25rem;height:1.25rem;fill:currentColor}.button-light{background:#fff;color:var(--sea-dark)}.button-light:hover{background:var(--bg)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem max(1.25rem,calc((100% - var(--wrap))/ 2));background:rgb(251 247 240 / .92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand img{width:auto;height:2.5rem}.topbar nav{display:flex;align-items:center;gap:1.5rem;font-weight:600;font-size:.9375rem}.topbar nav a{text-decoration:none}.topbar nav a:not(.call):hover{color:var(--sea)}.topbar nav a:not(.call){display:none}.call{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;border-radius:999px;background:var(--sea);color:#fff}.call:hover{background:var(--sea-dark)}.call svg{width:1.1rem;height:1.1rem;fill:currentColor}@media (min-width:640px){.topbar nav a:not(.call){display:inline}.brand img{height:3rem}}.hero{position:relative;min-height:clamp(32rem,calc(100svh - 4.1rem),54rem);display:flex;align-items:flex-end;overflow:hidden;color:#fff}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:20% 50%}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgb(7 36 46 / .88) 5%,rgb(7 36 46 / .45) 45%,rgb(7 36 46 / 0) 75%),linear-gradient(to right,rgb(7 36 46 / .5),rgb(7 36 46 / 0) 60%)}.hero-text{position:relative;z-index:1;width:100%;max-width:var(--wrap);margin:0 auto;padding:0 1.25rem 3.5rem}.hero .kicker{color:#ffc9a3}.hero h1{font-size:clamp(3rem, 11vw, 6.5rem);max-width:10ch}.hero h1 em{color:#ffc9a3}.hero-text>p:not(.kicker){max-width:28rem;margin:1rem 0 1.75rem;font-size:1.1875rem;color:#e9f1f4}main>section{max-width:var(--wrap);margin:0 auto;padding:4rem 1.25rem}main h2{font-size:clamp(2.25rem, 6vw, 3.5rem)}.intro{display:grid;gap:2.5rem;align-items:center}.intro p:not(.kicker){color:var(--muted);max-width:36rem;margin:1.25rem 0}.perks{list-style:none;margin:1.75rem 0 0;padding:0;display:grid;gap:.9rem}.perks li{display:flex;align-items:center;gap:.85rem;font-weight:600}.perks svg{flex:none;width:2.5rem;height:2.5rem;padding:.55rem;border-radius:50%;background:#e3eff2;fill:var(--sea)}.intro-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:0 24px 50px -24px rgb(7 36 46 / .45)}@media (min-width:880px){.intro{grid-template-columns:1fr 1fr;gap:4rem;padding-block:6rem}.intro-img img{aspect-ratio:4/5}}main>.availability{max-width:calc(var(--wrap) - 2.5rem);margin:0 1.25rem;padding:3rem 1.5rem;border-radius:var(--radius);background:linear-gradient(135deg,var(--sea),var(--sea-dark));color:#fff;text-align:center}@media (min-width:1210px){main>.availability{margin-inline:auto}}.availability .kicker{color:#ffc9a3}.availability h2{font-size:clamp(1.9rem, 5vw, 2.75rem)}.availability p:not(.kicker){max-width:32rem;margin:1rem auto 1.75rem;color:#d6e6eb}.gallery-section h2{margin-bottom:2rem}.gallery{display:grid;gap:1rem}.gallery figure{position:relative;margin:0;overflow:hidden;border-radius:var(--radius)}.gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1.1rem .9rem;background:linear-gradient(to top,rgb(0 0 0 / .65),rgb(0 0 0 / 0));color:#fff;font-family:var(--display);font-size:1.3rem}@media (min-width:640px){.gallery{grid-template-columns:repeat(2,1fr)}.gallery .wide{grid-column:span 2}.gallery .wide img{aspect-ratio:16/7}}@media (min-width:1000px){.gallery{grid-template-columns:repeat(3,1fr)}.gallery .wide{grid-column:span 3}.gallery .wide img{aspect-ratio:21/8}}.contact{display:grid;gap:2.5rem;border-top:1px solid var(--line)}.contact p:not(.kicker){color:var(--muted);margin:1.25rem 0 1.75rem}.contact dl{margin:0;padding:1.5rem;display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-self:start}.contact dt{color:var(--muted);font-size:.9375rem}.contact dd{margin:0;font-weight:600}@media (min-width:880px){.contact{grid-template-columns:1.3fr 1fr;align-items:center}}footer{padding:1.75rem 1.25rem 2.25rem;text-align:center;color:var(--muted);font-size:.875rem;border-top:1px solid var(--line)}footer p{margin:0}footer nav{display:flex;justify-content:center;gap:1.25rem;margin-top:.5rem}footer a{color:var(--muted)}footer a:hover{color:var(--text)}.legal{max-width:46rem;margin:0 auto;padding:2rem 1.25rem 3rem}.legal h1{font-size:clamp(2.5rem, 8vw, 3.75rem);margin:1.5rem 0 .5rem}.legal h2{font-size:1.6rem;margin:2.25rem 0 .5rem}.legal li,.legal p{color:#3b4a53}.legal a{color:var(--sea)}.legal .back{font-weight:600;text-decoration:none}