:root{--paper:#f4ecd8;--paper2:#ebe0c3;--forest:#3f5b3a;--moss:#6f8a4e;--clay:#b5593a;--mustard:#d9a441;--ink:#3b2f25;--card:#fbf6e8}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 Lora,Georgia,serif}
h1,h2,h3,.brand{font-family:'Playfair Display',Georgia,serif;color:var(--forest);line-height:1.2}
h1{font-size:clamp(2rem,5vw,3rem);margin:.4em 0 .3em}h2{font-size:1.7rem}h3{font-size:1.25rem;margin:.2em 0}
a{color:var(--clay)}img{max-width:100%;display:block}
.wrap{max-width:1100px;margin:0 auto;padding:2rem 16px}
.top{position:sticky;top:0;z-index:20;background:var(--forest);color:#f4ecd8;display:flex;align-items:center;justify-content:space-between;padding:.6rem 20px;border-bottom:4px solid var(--mustard);flex-wrap:wrap}
.brand{color:#f4ecd8;text-decoration:none;font-size:1.3rem;font-weight:700;display:flex;flex-direction:column;line-height:1.1}.brand small{font:italic .75rem Lora;color:var(--mustard)}.leaf{color:var(--mustard)}
nav{display:flex;gap:.2rem;flex-wrap:wrap}nav a{color:#f4ecd8;text-decoration:none;padding:.4rem .7rem;border-radius:3px;font-size:.92rem}nav a:hover,nav a.on{background:rgba(255,255,255,.15);color:var(--mustard)}
.burger{display:none;background:none;border:1px solid #f4ecd8;color:#f4ecd8;font-size:1.4rem;border-radius:4px;padding:.1rem .6rem}
.hero{min-height:70vh;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:3rem 16px}
.hero h1{color:#fff;max-width:20ch;margin:.2em auto .6em;text-shadow:0 2px 10px rgba(0,0,0,.5)}.kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.85rem;color:var(--mustard)}
.btn{display:inline-block;background:var(--clay);color:#fff;text-decoration:none;padding:.55rem 1.2rem;border-radius:4px;border:0;font:600 1rem Lora;cursor:pointer;box-shadow:0 2px 0 #8a3f27}.btn:hover{background:#9c4a2f}.btn.big{padding:.8rem 2rem;font-size:1.1rem}
.orn{color:var(--mustard);text-align:center;font-size:1.6rem;letter-spacing:.4em;margin:0}.intro{text-align:center;max-width:800px}.lead{font-size:1.15rem;max-width:760px;font-style:italic}.intro .lead{margin:auto}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.card,.box,.svc,.place{background:var(--card);border:1px solid #d9c9a0;border-radius:6px;box-shadow:0 3px 0 var(--paper2)}
.card img{height:260px;width:100%;object-fit:cover;border-radius:6px 6px 0 0}.card div{padding:1rem 1.3rem 1.4rem}
.band{background:var(--forest);color:#f4ecd8}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}.facts b{display:block;font:700 2rem 'Playfair Display';color:var(--mustard)}.facts span{font-size:.9rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:1.5rem 0}.svc{padding:1.2rem}.svc span{font-size:2rem}.svc p{margin:.3rem 0 0;font-size:.95rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0}.box{padding:1.3rem 1.5rem}.box.wide{margin-top:1.5rem}
.ticks{list-style:none;padding:0}.ticks li{padding-left:1.5rem;position:relative;margin:.4rem 0}.ticks li:before{content:'❦';position:absolute;left:0;color:var(--moss)}
.ap{border-bottom:2px dashed var(--moss);padding-bottom:.3rem;margin-top:2.5rem;scroll-margin-top:90px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:1rem 0}
.tile{position:relative;padding:0;border:6px solid #fff;background:#fff;box-shadow:0 3px 8px rgba(60,40,10,.25);cursor:pointer;aspect-ratio:4/3;overflow:hidden;transform:rotate(-.4deg)}.tile:nth-child(even){transform:rotate(.5deg)}.tile:hover{transform:scale(1.03);z-index:2}
.tile img{width:100%;height:100%;object-fit:cover}.tile span{position:absolute;left:0;right:0;bottom:0;background:rgba(40,50,30,.78);color:#fff;font-size:.8rem;padding:.25rem .5rem;text-align:left}
#lb{position:fixed;inset:0;background:rgba(20,18,10,.94);z-index:50;display:flex;align-items:center;justify-content:center}#lb[hidden]{display:none}
#lb figure{margin:0;max-width:86vw;text-align:center;color:#fff}#lb img{max-height:80vh;margin:auto;border:6px solid #fff}#lb figcaption{margin-top:.6rem}
#lb button{background:none;border:0;color:#fff;font-size:3rem;cursor:pointer;padding:.5rem 1rem}.x{position:absolute;top:8px;right:14px}
form label{display:block;margin:.6rem 0;font-weight:600;font-size:.95rem}input,select,textarea{display:block;width:100%;padding:.55rem;margin-top:.2rem;border:1px solid #b9a77c;border-radius:4px;background:#fff;font:1rem Lora}.row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.map{width:100%;height:320px;border:0;border-radius:4px}.note{font-size:.9rem;font-style:italic}
.places{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.3rem;margin-top:1rem}.place{overflow:hidden;display:flex;flex-direction:column}.place .map{height:210px;border-radius:0}.place div{padding:.9rem 1.2rem 1.2rem}.place p{margin:.4rem 0}
.tag{background:var(--mustard);color:#3b2f25;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;padding:.1rem .5rem;border-radius:3px}
footer{background:var(--forest);color:#e8dfc0;text-align:center;padding:1.5rem 16px;margin-top:3rem;font-size:.9rem}footer p{margin:.3rem}
@media(max-width:820px){.cards,.two,.grid3{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}.burger{display:block}nav{display:none;width:100%;flex-direction:column;padding-top:.5rem}nav.open{display:flex}body{font-size:17px}}