:root{--maroon:#6e1c3a;--maroon-d:#4e1228;--pine:#2f5d3a;--pine-d:#244a2e;--cream:#f6efe0;--ink:#2a1a20;--gold:#e8b44a}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);scroll-padding-top:90px}
h1,h2,h3,.navbar-brand,.vacancy{font-family:'Alfa Slab One',serif;font-weight:400}
.topbar{background:var(--pine-d);color:var(--cream);font-size:.85rem;padding:.4rem 0;letter-spacing:.04em}
.topbar a{color:var(--gold);text-decoration:none;font-weight:700}
.mainnav{background:var(--maroon);border-bottom:4px solid var(--gold)}
.navbar-brand{color:var(--cream)!important;font-size:1.15rem;display:flex;align-items:center;gap:.6rem;white-space:normal}
.tree{width:34px;height:34px;flex:none}
.nav-link{color:var(--cream)!important;font-weight:500}
.nav-link:hover{color:var(--gold)!important}
.navbar-toggler{border-color:rgba(246,239,224,.5);background:var(--cream)}
.btn-reserve{background:var(--gold);color:var(--maroon-d);font-weight:700;border:0;border-radius:3px}
.btn-reserve:hover{background:#f3c566;color:var(--maroon-d)}
.btn-ghost{border:2px solid var(--cream);color:var(--cream);border-radius:3px;font-weight:500}
.btn-ghost:hover{background:var(--cream);color:var(--maroon)}
.hero{background:var(--maroon);color:var(--cream);padding:3rem 0 3.5rem;position:relative}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:repeating-linear-gradient(90deg,var(--gold) 0 18px,transparent 18px 36px);opacity:.55}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:var(--gold);margin-bottom:.6rem}
.sec .eyebrow{color:var(--maroon)}
.hero h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.04;margin-bottom:1rem}
.hero h1 span{display:block;color:var(--gold)}
.hero .lead{max-width:34rem;margin-bottom:1.5rem;opacity:.95}
.sign-photo{position:relative;margin:0;max-width:340px;margin-inline:auto}
.sign-photo img{width:100%;height:auto;max-height:min(66vh,480px);object-fit:cover;object-position:50% 40%;border-radius:4px;border:5px solid var(--cream);display:block}
.vacancy{position:absolute;left:-14px;bottom:18px;background:var(--maroon-d);color:var(--cream);border:3px solid var(--cream);padding:.35rem 1rem;letter-spacing:.12em;text-transform:uppercase;font-size:1.05rem;border-radius:4px;transform:rotate(-3deg)}
.vacancy:before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:#7ee08a;margin-right:.55rem;box-shadow:0 0 8px #7ee08a}
.sec{padding:5rem 0}
.narrow{max-width:760px}
h2{font-size:clamp(1.9rem,4vw,2.8rem);color:var(--maroon);margin-bottom:1.2rem}
.sec-green{background:var(--pine);color:var(--cream)}
.sec-green h2{color:var(--cream)}
.sec-green .eyebrow{color:var(--gold)}
.room{border:2px solid rgba(246,239,224,.35);padding:1.5rem;height:100%;border-radius:4px}
.room h3{font-size:1.4rem;color:var(--gold)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;display:block}
.amen{list-style:none;padding:0;columns:2;margin-bottom:1.5rem}
.amen li{padding:.35rem 0 .35rem 1.6rem;position:relative;break-inside:avoid}
.amen li:before{content:"";position:absolute;left:0;top:.7rem;width:.8rem;height:.8rem;background:var(--pine);clip-path:polygon(50% 0,100% 100%,0 100%)}
.policy{color:#5b4650}
.band{background:var(--maroon);color:var(--cream);padding:2.5rem 0}
.band h2{color:var(--cream);margin:0}
.phone{font-family:'Alfa Slab One',serif;font-size:1.7rem;color:var(--pine);text-decoration:none}
.mapwrap{aspect-ratio:4/3;border:5px solid var(--maroon);border-radius:4px;overflow:hidden}
.mapwrap iframe{width:100%;height:100%;border:0}
.foot{background:var(--maroon-d);color:var(--cream);padding:1.4rem 0;font-size:.9rem}
.foot a{color:var(--gold)}
@media(max-width:575px){.amen{columns:1}.sec{padding:3.5rem 0}.hero{padding:2rem 0 2.5rem}.navbar-brand{font-size:1rem}.vacancy{left:-4px}}
.coffee{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px;display:block}
