:root{--navy:#0c2a3e;--sea:#1f6f8b;--sand:#f6f1e7;--gold:#c9a45c}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:'EB Garamond',Garamond,serif;font-size:19px;line-height:1.6;color:#1d2b33;background:var(--sand)}
h1,h2,h3{font-weight:500;line-height:1.15}h2{font-size:2.6rem;text-align:center;margin-bottom:.4rem}
a{color:var(--sea)}em{color:#8a7a5a;font-size:.9em}
.nav{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 5%}
.logo{font-size:1.8rem;font-weight:700;color:#fff;text-decoration:none;letter-spacing:.05em}.logo span{font-weight:400;font-style:italic;color:var(--gold)}
nav a{color:#fff;text-decoration:none;margin-left:2rem;font-size:1.1rem;letter-spacing:.08em;text-transform:uppercase}nav a:hover{color:var(--gold)}
.burger{display:none;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:6rem 1.5rem 3rem;background:linear-gradient(rgba(8,30,45,.45),rgba(8,30,45,.65)),url(https://images.unsplash.com/photo-1505142468610-359e7d316be0?w=1800) center/cover}
.hero h1{font-size:clamp(2.6rem,7vw,5rem);margin:.5rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.25em;color:var(--gold)}.lead{font-size:1.35rem;max-width:36rem;margin:0 auto 2rem;font-style:italic}
.btn{display:inline-block;background:var(--gold);color:var(--navy);padding:.8rem 2rem;border:2px solid var(--gold);text-decoration:none;font:inherit;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;margin:.3rem;transition:.2s}
.btn:hover{background:transparent;color:var(--gold)}.btn.ghost{background:transparent;color:#fff;border-color:#fff}
.section{padding:5rem 5%}.sub{text-align:center;color:#6b6b6b;font-style:italic;margin-bottom:2.5rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.8rem;max-width:1200px;margin:auto}
.card{background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.08);transition:.25s}.card:hover{transform:translateY(-6px)}
.card .img{height:200px;background:var(--sea) center/cover}.card .body{padding:1.3rem 1.5rem 1.6rem}.card h3{font-size:1.6rem}.meta{color:var(--sea);margin-bottom:.5rem}
.card a{text-decoration:none;font-weight:500;display:inline-block;margin-top:.7rem}
.about{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#eef}
.about-img{min-height:420px;background:url(https://images.unsplash.com/photo-1540946485063-a40da27545f8?w=1200) center/cover,linear-gradient(var(--sea),var(--navy))}
.about-text{padding:4rem 8%}.about h2{text-align:left;color:#fff}.about ul{margin:1.2rem 0 0 1.2rem}.about em{color:var(--gold)}
.cta{text-align:center;padding:5rem 1.5rem;color:#fff;background:linear-gradient(120deg,var(--sea),var(--navy))}.cta p{margin-bottom:1.5rem;font-size:1.2rem}.cta em{color:var(--gold)}
.cgrid{display:grid;grid-template-columns:1fr 1.3fr;gap:3rem;max-width:1000px;margin:2rem auto 0}.cgrid h3{margin-top:1rem;color:var(--navy)}
form{display:flex;flex-direction:column;gap:.8rem}input,textarea{font:inherit;padding:.7rem;border:1px solid #cfc6b4;background:#fff}form .btn{align-self:flex-start;margin:0}
footer{background:#081c29;color:#9fb3c0;text-align:center;padding:2.5rem 1rem;font-size:.95rem}
@media(max-width:800px){.burger{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);flex-direction:column;padding:1rem 5%}nav.open{display:flex}nav a{margin:.6rem 0}
.about,.cgrid{grid-template-columns:1fr}.about-img{min-height:260px}h2{font-size:2.1rem}}
html.shot .hero{min-height:760px}
.booking{background:#fff}.bk{display:grid;grid-template-columns:1.6fr 1fr;gap:2.5rem;max-width:1100px;margin:auto}
.bk h3{font-size:1.35rem;color:var(--navy);margin:1.4rem 0 .6rem}.bk h3:first-child{margin-top:0}
.pills{display:flex;flex-wrap:wrap;gap:.5rem}.pills button,.cal button,.party button{font:inherit;cursor:pointer;border:1px solid #cfc6b4;background:var(--sand);color:var(--navy);padding:.45rem 1rem;transition:.15s}
.pills button:hover:not(:disabled),.cal-grid button:hover:not(:disabled){border-color:var(--sea)}
.pills button.on,.cal-grid button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.cal{border:1px solid #e3dccd;padding:1rem;max-width:420px}.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;font-size:1.2rem}
.cal-head button{padding:.1rem .8rem;font-size:1.3rem}.cal-head button:disabled{opacity:.3;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.cal-grid .dow{font-size:.8rem;color:#888;text-transform:uppercase}
.cal-grid button{padding:.4rem 0}.cal-grid button:disabled{opacity:.3;cursor:default;background:none}
.party{display:flex;align-items:center;gap:1rem;font-size:1.4rem}.party button{width:2.4rem;padding:.2rem}
.email{display:flex;flex-direction:column;margin-top:1.4rem;font-size:.95rem;max-width:420px}
.summary{background:var(--navy);color:#eef;padding:2rem;align-self:start;position:sticky;top:1rem}.summary h3{color:#fff;margin-top:0}
dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:1rem 0}dt{color:#9fb3c0}dd{text-align:right}
.total{font-size:1.5rem;border-top:1px solid #31506a;padding-top:.8rem;margin-bottom:1rem;display:flex;justify-content:space-between}.total span{color:var(--gold)}
.summary .btn{width:100%;margin:0}.summary .btn:disabled{opacity:.45;cursor:not-allowed}.summary em{color:var(--gold)}
.notice{background:#fff6e0;color:#5a4410;padding:.7rem;margin-top:.8rem;font-size:.95rem}.small{font-size:.85rem;color:#9fb3c0;margin-top:.8rem}
@media(max-width:800px){.bk{grid-template-columns:1fr}.summary{position:static}}
html.bookonly body>*:not(#book):not(script){display:none}
.total.dep{font-size:1.1rem;border-top:0;padding-top:0}
.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
