:root { --paper:#f7f3ee; --card:#fff; --ink:#2a211c; --muted:#6d625c; --gold:#9a7344; --line:#e4d5c4; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Nunito Sans",sans-serif; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.wrap { max-width:72rem; margin:0 auto; padding:0 1.25rem; }
.site-header, .site-footer { background:#fff; border-bottom:1px solid var(--line); }
.site-header { position:sticky; top:0; z-index:3; }
.site-footer { border-bottom:0; border-top:1px solid var(--line); }
.site-header .wrap, .footer-bar { display:flex; align-items:center; justify-content:space-between; gap:.8rem 1rem; min-height:4.4rem; flex-wrap:wrap; padding-top:.7rem; padding-bottom:.7rem; }
.brand { display:flex; align-items:center; gap:.7rem; }
.brand-mark { width:2.15rem; height:auto; display:block; flex:none; }
.monogram { width:2.2rem; height:2.2rem; border:1px solid var(--gold); border-radius:50%; display:grid; place-items:center; color:var(--gold); font-family:"Playfair Display",serif; flex:none; }
.brand-name { font-family:"Playfair Display",serif; font-size:1.05rem; }
.header-tools { display:flex; align-items:center; gap:.8rem 1.4rem; flex-wrap:wrap; }
.nav { display:flex; flex-wrap:wrap; gap:.7rem 1rem; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; }
.header-cta { display:inline-flex; align-items:center; justify-content:center; text-align:center; padding:.72rem 1.5rem; border:1px solid #c6a56a; border-radius:999px; background:#241c18; color:#c6a56a; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; line-height:1.35; }
@media (max-width:720px) { .header-cta { width:100%; } }
.kicker { color:var(--gold); letter-spacing:.18em; text-transform:uppercase; font-size:.68rem; font-weight:700; margin:0; }
.foot-menu { background:#161311; color:#f7f3ee; padding:2.8rem 0 2.4rem; }
.foot-mark { width:3.4rem; height:auto; display:block; margin:0 0 .85rem; }
.foot-name { margin:0; font-family:"Playfair Display",serif; font-size:clamp(1.6rem,2.4vw,2rem); font-weight:500; color:#fff; }
.foot-lead { margin:.35rem 0 0; font-family:"Cormorant Garamond",serif; font-style:italic; font-size:1.2rem; color:#c6a56a; }
.foot-cols { display:grid; gap:1.6rem 2rem; margin-top:2rem; }
@media (min-width:800px) { .foot-cols { grid-template-columns:1fr 1.25fr .85fr 1.35fr; } }
.foot-cols .kicker { margin-bottom:.35rem; }
.foot-cols a { display:block; margin-top:.42rem; color:#f3ece4; font-size:.92rem; line-height:1.35; }
.foot-cols a:hover { color:#c6a56a; }
.places { padding:1rem 0 1.3rem; }
.places p { margin:.85rem 0 .35rem; }
.places a { display:inline-block; margin:0 .7rem .4rem 0; color:var(--muted); font-size:.92rem; }
.places a:hover { color:var(--ink); }
.foot-quote { padding:1.5rem 0 2.2rem; border-top:1px solid var(--line); background:var(--paper); }
.foot-quote-row { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; }
.foot-quote-line { margin:.35rem 0 0; max-width:16em; font-family:"Playfair Display",serif; font-weight:500; font-size:clamp(1.55rem,2.6vw,2.2rem); line-height:1.15; }
.foot-quote-note { margin:.45rem 0 0; font-family:"Cormorant Garamond",serif; font-style:italic; font-size:1.35rem; line-height:1.3; color:var(--gold); }
.foot-quote img { width:4.4rem; height:auto; flex:none; mix-blend-mode:multiply; }
@media (max-width:640px) { .foot-quote img { width:3.2rem; } }
.float-chat { position:fixed; right:1rem; bottom:1rem; z-index:5; display:inline-flex; align-items:center; gap:.65rem; max-width:calc(100vw - 2rem); padding:.85rem 1.25rem; border:1px solid #c6a56a; border-radius:999px; background:#241c18; color:#c6a56a; font-size:.95rem; font-weight:600; box-shadow:0 12px 28px -14px rgba(36,28,24,.75); }
.float-chat svg { width:1.35rem; height:1.35rem; flex:none; }
