:root{--hh:65px;--wine:#7a1f2b;--wine2:#5c1520;--wood:#6b4a33;--cream:#faf5ef;--sand:#f1e6d8;--ink:#2b211c;--mut:#6d5f55}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hh) + 12px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:Mulish,system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.script{font-family:"Great Vibes",cursive}
h1,h2,h3{font-family:"Cormorant Garamond",serif;line-height:1.15}
h1{font-size:clamp(2rem,6vw,3.3rem)}h2{font-size:clamp(1.7rem,4.5vw,2.5rem);margin-bottom:.6rem}h3{font-size:1.4rem;margin-bottom:.3rem}
.kick{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800;color:var(--wine);margin-bottom:.5rem}
.lead{font-size:1.08rem;color:var(--mut);margin:1rem 0 1.4rem}
.hd{position:sticky;top:0;z-index:10;background:rgba(250,245,239,.95);backdrop-filter:blur(8px);border-bottom:1px solid #eadccb}
.hd-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px}
.brand{text-decoration:none;display:flex;align-items:baseline;gap:8px}
.brand .script{font-size:2rem;color:var(--wine)}.brand small{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--wood);font-weight:700}
.nav{display:none;gap:26px}.nav a{text-decoration:none;font-weight:600;font-size:.95rem}.nav a:hover{color:var(--wine)}
@media(min-width:860px){.nav{display:flex}}
@media(max-width:400px){.brand small{display:none}}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--wine);color:#fff;text-decoration:none;font-weight:800;padding:13px 22px;border-radius:999px;border:2px solid var(--wine);transition:.2s}
.btn:hover{background:var(--wine2)}
.btn svg{width:20px;height:20px;fill:currentColor}
.btn-sm{padding:8px 16px;font-size:.9rem}
.btn-ghost{background:transparent;color:var(--wine)}.btn-ghost:hover{background:var(--wine);color:#fff}
.btn-lg{font-size:1.15rem;padding:16px 28px}
.btn-light{background:#fff;color:var(--wine);border-color:#fff}.btn-light:hover{background:var(--sand)}
.ctas{display:flex;flex-wrap:wrap;gap:12px}.ctas.center{justify-content:center}
.hero{padding:40px 0 56px;background:linear-gradient(180deg,var(--sand),var(--cream))}
.hero-in{display:grid;gap:32px;align-items:center}
.hero-img img{border-radius:20px;box-shadow:0 20px 50px rgba(60,30,15,.25)}
@media(min-width:860px){.hero-in{grid-template-columns:1.05fr 1fr}.hero{padding:72px 0 88px}}
.sec{padding:64px 0}.alt{background:var(--sand)}
.grid{display:grid;gap:16px;margin-top:24px}
@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}@media(min-width:1000px){.grid{grid-template-columns:repeat(4,1fr)}}
.card{background:#fff;border-radius:18px;padding:24px;border:1px solid #eadccb}
.card p{color:var(--mut)}
.ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--sand);margin-bottom:12px}.ic svg{width:24px;height:24px;fill:var(--wine)}
.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}
.photos figure{position:relative}.photos img{aspect-ratio:1;object-fit:cover;border-radius:14px;width:100%}
figcaption{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;font-size:.62rem;padding:2px 7px;border-radius:6px}
.two{display:grid;gap:32px;align-items:center}@media(min-width:860px){.two{grid-template-columns:1fr 1fr}}
.chk{list-style:none;padding:0;margin-top:1rem}.chk li{padding-left:28px;position:relative;margin:.4rem 0;font-weight:700}.chk li:before{content:"✓";position:absolute;left:0;color:var(--wine)}
.note{background:#fff;border-radius:18px;padding:26px;border-left:5px solid var(--wine)}.note p{color:var(--mut)}
.book{background:linear-gradient(135deg,var(--wine),var(--wood));color:#fff;text-align:center}
.book .kick{color:#f3d9c4}.book .lead{color:#f6e8dc}.book .btn:not(.btn-light){background:var(--wine2);border-color:#fff}
.small{font-size:.82rem;opacity:.8;margin-top:14px}
.info{list-style:none;padding:0;margin:1rem 0 1.4rem}.info li{display:flex;gap:12px;margin:.7rem 0}.info svg{width:22px;height:22px;fill:var(--wine);flex:none;margin-top:2px}
.map iframe{width:100%;height:340px;border:0;border-radius:18px}
.ft{background:var(--ink);color:#e9ddd0;text-align:center;padding:40px 0}.ft .script{font-size:2.4rem;color:#f3d9c4}.ft a{color:#f3d9c4}
