
:root{--wine:#6E1E2E;--wine-d:#4A1320;--bottle:#2B1219;--cream:#F3EFEA;--white:#fff;--ink:#2A1A1F;--muted:#4A383E;--soft:#5E4A50;--olive:#5C6B2E;--gold:#B08A3E;--line:#D6CCC3}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;font-size:18px;line-height:1.65}
h1,h2,h3,.serif{font-family:Georgia,"Times New Roman",serif;font-weight:700;line-height:1.15;margin:0}
h1{font-size:clamp(36px,5vw,62px)}
h2{font-size:clamp(30px,3.6vw,46px)}
h3{font-size:24px}
p{margin:0}
a{color:var(--wine)}a:hover{color:var(--wine-d)}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
section{padding:88px 0}
.bg-white{background:var(--white)}
.bg-dark{background:var(--bottle);color:var(--cream)}
.bg-dark a{color:var(--cream)}
.eyebrow{font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--wine)}
.label{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--olive)}
.lead{font-size:20px;color:var(--muted)}
.muted{color:var(--muted)}
.stack{display:flex;flex-direction:column;gap:18px}
.row{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.row>*{flex:1 1 380px;min-width:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:24px}
.card{background:var(--cream);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:12px}
.bg-white .card{background:var(--cream)}
section:not(.bg-white) .card{background:var(--white)}
section.bg-dark .card{background:rgba(255,255,255,.06);border:1px solid #7A5560;color:#F3EFEA}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;border-radius:999px;font-weight:700;text-decoration:none;background:var(--wine);color:#fff;border:2px solid var(--wine)}
.btn:hover{background:var(--wine-d);color:#fff}
.btn.outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.light{background:var(--cream);color:var(--bottle);border-color:var(--cream)}
.photo{border-radius:22px;object-fit:cover;width:100%}
header.site{background:var(--cream)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-top:16px;padding-bottom:16px}
header.site img{height:62px;width:auto}
nav{display:flex;flex-wrap:wrap;gap:4px 24px;font-weight:600;font-size:16px}
nav a{text-decoration:none;color:var(--ink);padding:10px 0}
nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;color:var(--wine)}
.num{font-family:Georgia,serif;font-size:46px;color:var(--wine);line-height:1}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.gallery img{height:380px;object-fit:cover;border-radius:16px;width:100%}
details{border-top:1px solid var(--line);padding:18px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700;font-size:20px;min-height:44px;display:flex;align-items:center}
details p{margin-top:10px;color:var(--muted)}
form{display:flex;flex-direction:column;gap:16px}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
label{font-weight:600;font-size:16px;display:flex;flex-direction:column;gap:6px}
input,select,textarea{font:inherit;padding:12px 14px;border:1px solid #8C787E;border-radius:10px;background:#fff;min-height:48px}
button{font:inherit;cursor:pointer}
.check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:15px}
.check input{min-height:auto;margin-top:4px}
footer{border-top:1px solid var(--line);padding:32px 0;font-size:15px;color:var(--soft)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
footer nav a{font-weight:400;padding:4px 0}
.hidden{display:none}
.legal h2{font-size:26px;margin-top:32px}
.legal p{margin-top:10px}
@media (max-width:640px){section{padding:64px 0}header.site img{height:50px}.gallery img{height:300px}}
