:root{--cran:#8a2a3c;--cran2:#6e1f2e;--bog:#0f5a4f;--bog2:#0b4238;--cream:#f7f1e6;--paper:#fffdf8;--ink:#2a2226;--mute:#6a5f63;--line:rgba(138,42,60,.2)}
img{max-width:100%;height:auto}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{font-family:'Hanken Grotesk',sans-serif;color:var(--ink);background:var(--paper);font-size:1.04rem;line-height:1.7}
h1,h2,h3,h4{font-family:'Bodoni Moda',serif;font-weight:500;line-height:1.1;color:var(--cran2)}
h2{font-size:clamp(2.1rem,4.6vw,3.4rem);margin-bottom:1rem}
h2 em,h1 em{font-style:italic;color:var(--bog)}
section{padding:clamp(4rem,8vw,6.5rem) 0}
.eyebrow{display:block;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:var(--bog);margin-bottom:.9rem}
.bg-cream{background:var(--cream)}
.bg-bog{background:var(--bog2);color:#eef3ee}
.bg-bog h2,.bg-bog h3{color:#fff}.bg-bog .eyebrow{color:#e9b8c2}
/* nav: centered logo stacked above links */
.navbar{background:var(--paper);border-bottom:1px solid var(--line);padding:.6rem 0}
.navbar .brand{display:flex;flex-direction:column;align-items:center;text-decoration:none;margin:0 auto}
.navbar .brand img{height:64px;width:auto}
.navbar .brand span{font-family:'Bodoni Moda',serif;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--bog);margin-top:.15rem}
.nav-top{display:flex;align-items:center;justify-content:space-between;width:100%}
.navbar-toggler{border:1px solid var(--line)}
.navbar.navbar-expand-lg .navbar-collapse{justify-content:center;width:100%}
.navbar .nav-link{color:var(--ink);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;padding:.5rem 1rem}
.navbar .nav-link:hover{color:var(--cran)}
.nav-phone{font-weight:700;color:var(--cran);text-decoration:none;font-size:.9rem}
.btn-cran{background:var(--cran);color:#fff;border:1px solid var(--cran);border-radius:2px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:.9rem 1.8rem;transition:.25s}
.btn-cran:hover{background:var(--cran2);color:#fff}
.btn-ghost{border:1px solid var(--bog);color:var(--bog);border-radius:2px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:.9rem 1.8rem;background:transparent}
.btn-ghost:hover{background:var(--bog);color:#fff}
/* signature: flooded cranberry bog */
.bog-band{height:46px;background:radial-gradient(circle at 12px 12px,var(--cran) 0 8px,transparent 9px),radial-gradient(circle at 38px 30px,#a8374b 0 8px,transparent 9px);background-size:52px 46px;opacity:.9}
.bog-band.thin{height:30px;background-size:40px 30px;background-image:radial-gradient(circle at 10px 10px,var(--cran) 0 6px,transparent 7px),radial-gradient(circle at 30px 22px,#a8374b 0 6px,transparent 7px);opacity:.75}
/* hero */
.hero{padding:clamp(2.5rem,5vw,4rem) 0 clamp(3rem,6vw,5rem);background:var(--cream)}
.hero h1{font-size:clamp(2.7rem,6.2vw,5.2rem);margin-bottom:1.1rem}
.hero .lead{font-size:1.15rem;color:var(--mute);max-width:34rem}
.hero-photo{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:50% 60%;border-radius:3px;display:block;max-height:min(66vh,480px)}
.hero-photo-wrap{position:relative}
.hero-photo-wrap:after{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--cran);border-radius:3px;z-index:-1}
.hero-meta{margin-top:1.6rem;font-size:.9rem;color:var(--mute)}
/* spaces */
.space{border-top:1px solid var(--line);padding:1.3rem 0}
.space h3{font-size:1.5rem;margin-bottom:.25rem}
.space .cap{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bog);font-weight:700}
.ph{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:3px;display:block}
.ph-tall{aspect-ratio:2/3;object-position:50% 40%}
.stat{font-family:'Bodoni Moda',serif;font-size:clamp(3rem,7vw,5rem);color:var(--cran);line-height:1}
/* menus */
.menu-list{list-style:none;padding:0;margin:0;columns:2;column-gap:3rem}
.menu-list li{break-inside:avoid;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.18);font-family:'Bodoni Moda',serif;font-size:1.25rem;color:#fff}
@media(max-width:767px){.menu-list{columns:1}}
.quote{font-family:'Bodoni Moda',serif;font-style:italic;font-size:clamp(1.5rem,3.2vw,2.3rem);color:var(--cran2);line-height:1.3}
.contact-card{background:#fff;border:1px solid var(--line);padding:2rem;border-radius:3px}
.contact-card a{color:var(--cran);font-weight:700}
.contact-card a.btn-cran,.contact-card a.btn-cran:hover{color:#fff}
.map{width:100%;height:100%;min-height:360px;border:0;border-radius:3px}
footer{background:var(--bog2);color:#d9e4df;padding:3rem 0 2rem;font-size:.92rem}
footer a{color:#fff}
.foot-chip{background:var(--paper);display:inline-block;padding:.5rem .9rem;border-radius:3px}
.foot-chip img{height:54px;width:auto;display:block}
@media(max-width:991px){.navbar .brand img{height:52px}.hero-photo-wrap:after{display:none}}
