
:root{--iv:#FFFDF6;--cr:#F8F3E8;--ch:#E9D7A8;--gd:#B28A42;--es:#33251D;--tp:#76695D;--serif:"Cormorant Garamond","Playfair Display",Georgia,serif;--sans:"Segoe UI",Helvetica,Arial,sans-serif;--sh:0 18px 50px rgba(51,37,29,.14)}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{font:16px/1.7 var(--sans);color:var(--es);background:var(--iv);overflow-x:hidden}
img{max-width:100%;display:block;height:auto}a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15}h1{font-size:clamp(2.4rem,6vw,4.6rem)}h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin-bottom:.6em}h3{font-size:1.5rem;margin-bottom:.3em}
p{color:var(--tp);margin-bottom:1em}.wrap{width:min(1180px,92%);margin:auto}.sec{padding:clamp(56px,8vw,104px) 0}.cream{background:var(--cr)}.ctr{text-align:center}.note{font-size:.85rem;font-style:italic;color:var(--gd)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:2px solid var(--gd);outline-offset:3px}
.btn{display:inline-block;background:var(--gd);color:#fff;border:1px solid var(--gd);padding:13px 28px;font:600 .85rem var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:.3s;margin:0 8px 8px 0}
.btn:hover{background:var(--es);border-color:var(--es);transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--es);border-color:var(--gd)}.btn.ghost:hover{background:var(--es);color:#fff}.btn.ghost.light{color:#fff;border-color:#fff}.btn.sm{padding:9px 18px;font-size:.75rem}.btns{margin-top:1.2em}.ctr .btn{margin:0 4px}
.hdr{position:fixed;inset:0 0 auto;z-index:50;transition:.3s;color:#fff}.hdr.solid{background:rgba(255,253,246,.96);color:var(--es);box-shadow:0 2px 24px rgba(51,37,29,.1);backdrop-filter:blur(8px)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.mark{text-decoration:none;display:flex;flex-direction:column;line-height:1}.mark b{font:600 1.45rem var(--serif);letter-spacing:.28em}.mark small{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;margin-top:5px;color:var(--ch)}.hdr.solid .mark small{color:var(--gd)}.mark.light small{color:var(--ch)}
nav{display:flex;align-items:center;gap:22px}nav a{text-decoration:none;font-size:.85rem;letter-spacing:.04em;position:relative}nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--gd);transition:.3s}nav a:hover::after,nav a[aria-current]::after{width:100%}.navbtn{color:#fff!important;margin:0}
.burger{display:none;background:none;border:0;width:42px;height:42px;cursor:pointer}.burger span{display:block;width:24px;height:2px;background:currentColor;margin:5px auto;transition:.3s}.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(35,24,18,.82),rgba(35,24,18,.35))}
.hero-in{position:relative;display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;padding:130px 0 70px}.loc{color:var(--ch);letter-spacing:.2em;text-transform:uppercase;font-size:.78rem}.hmark{font:600 1rem var(--serif);letter-spacing:.5em;color:var(--ch);margin-bottom:12px}.hero h1{margin-bottom:.4em;animation:rise 1s both}.lead{color:#f1e8d6;max-width:520px;font-size:1.1rem}@keyframes rise{from{opacity:0;transform:translateY(24px)}}
.enq{background:rgba(255,253,246,.96);color:var(--es);padding:30px;box-shadow:var(--sh);border-top:3px solid var(--gd)}.enq h3{margin-bottom:12px}.enq label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.05em;margin-bottom:12px;color:var(--tp)}
input,select,textarea{width:100%;font:inherit;color:var(--es);background:#fff;border:1px solid #d8ccb4;padding:11px 12px;margin-top:5px;border-radius:0}input:focus,select:focus,textarea:focus{border-color:var(--gd);outline:0;box-shadow:0 0 0 3px rgba(178,138,66,.2)}.enq .btn{width:100%;margin:6px 0 0}
.err{color:#9b2c1d;font-size:.85rem;min-height:1.2em;margin:4px 0}.invalid{border-color:#9b2c1d!important}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}.split.rev>:first-child{order:2}.stack{position:relative;padding-bottom:12%}.stack>img:first-child{box-shadow:var(--sh);aspect-ratio:4/3;object-fit:cover;width:100%}.stack .over{position:absolute;right:-4%;bottom:0;width:48%;border:8px solid var(--iv);box-shadow:var(--sh);aspect-ratio:4/3;object-fit:cover}.rev .stack .over{right:auto;left:-4%}
.shead{text-align:center;max-width:620px;margin:0 auto 48px}.g3,.g4{display:grid;gap:28px}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.rcard,.pcard,.acard,.ocard{background:#fff;box-shadow:0 8px 30px rgba(51,37,29,.08);transition:.4s}.rcard:hover,.pcard:hover,.acard:hover,.ocard:hover{transform:translateY(-6px);box-shadow:var(--sh)}.rimg{display:block;overflow:hidden}.rcard img,.pcard img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .8s}.rcard:hover img,.pcard:hover img{transform:scale(1.05)}.rb,.pcard div{padding:22px}.pcard{text-decoration:none;overflow:hidden}.pcard p{margin:0;font-size:.92rem}
.acard,.ocard{padding:30px;border-top:2px solid var(--ch)}.acard p,.ocard p{margin:0 0 .6em}.ocard.big{padding:38px}.hl>div{border-left:1px solid var(--gd);padding:4px 0 4px 20px}.hl p{margin:0}
.mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mosaic a{overflow:hidden;display:block}.mosaic img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .8s}.mosaic a:hover img{transform:scale(1.06)}.mosaic a:nth-child(1){grid-row:span 1}
.mapcard{margin-top:24px;min-height:200px;background:linear-gradient(135deg,var(--ch),var(--cr));border:1px solid var(--gd);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.mapcard b{font:500 1.8rem var(--serif)}.mapcard span{color:var(--tp)}
.cta{background:linear-gradient(rgba(51,37,29,.92),rgba(51,37,29,.92));color:#fff;text-align:center}.cta p{color:var(--ch)}
.phero{position:relative;min-height:52vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden}.phero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(35,24,18,.8),rgba(35,24,18,.25))}.phero-in{position:relative;z-index:1;width:min(1180px,92%);margin:auto;padding:150px 0 48px}.phero p{color:var(--ch);margin:.5em 0 0;font-size:1.1rem}
.rgal .rmain{aspect-ratio:4/3;object-fit:cover;width:100%;box-shadow:var(--sh)}.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}.thumbs button{padding:0;border:2px solid transparent;background:none;cursor:pointer}.thumbs button.on{border-color:var(--gd)}.thumbs img{aspect-ratio:4/3;object-fit:cover;width:100%}
.ticks{list-style:none;padding:0;margin:0 0 1.2em}.ticks li{padding:8px 0 8px 28px;border-bottom:1px solid #e6dcc6;position:relative;color:var(--tp)}.ticks li::before{content:"";position:absolute;left:4px;top:17px;width:10px;height:10px;border:1px solid var(--gd);transform:rotate(45deg)}
.bform{background:#fff;padding:clamp(24px,4vw,44px);box-shadow:var(--sh);border-top:3px solid var(--gd)}.bform label{display:block;font-size:.8rem;font-weight:600;color:var(--tp);margin-bottom:14px}.fg{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.side ol{padding-left:20px;color:var(--tp)}.side h3{margin-top:12px}
.clist{list-style:none;padding:0;margin-bottom:24px}.clist li{padding:12px 0;border-bottom:1px solid #e6dcc6;display:flex;flex-direction:column}.clist b{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gd)}.edit{color:var(--tp);font-style:italic}
.filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:32px}.filters button{background:none;border:1px solid var(--gd);padding:8px 18px;font:inherit;font-size:.85rem;cursor:pointer;transition:.3s}.filters button.on,.filters button:hover{background:var(--gd);color:#fff}
.gal{columns:3;column-gap:14px}.gal figure{break-inside:avoid;margin:0 0 14px;position:relative;overflow:hidden}.gal figure.hide{display:none}.gal button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}.gal img{width:100%;transition:transform .8s}.gal figure:hover img{transform:scale(1.05)}.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 10px;color:#fff;font-size:.82rem;background:linear-gradient(transparent,rgba(35,24,18,.8));opacity:0;transition:.3s}.gal figure:hover figcaption{opacity:1}
.lb{position:fixed;inset:0;background:rgba(25,17,12,.94);z-index:100;display:flex;align-items:center;justify-content:center}.lb[hidden]{display:none}.lb figure{max-width:90vw;max-height:86vh;text-align:center}.lb img{max-height:76vh;width:auto;margin:auto}.lb figcaption{color:var(--ch);margin-top:12px}.lb button{position:absolute;background:none;border:0;color:#fff;font-size:3rem;cursor:pointer;padding:12px 18px}.lbx{top:8px;right:12px}.lbp{left:8px}.lbn{right:8px}
.faq{max-width:820px;margin:auto}.faq details{border-bottom:1px solid #d8ccb4;padding:18px 0}.faq summary{font:500 1.35rem var(--serif);cursor:pointer;list-style:none;display:flex;justify-content:space-between}.faq summary::after{content:"+";color:var(--gd)}.faq details[open] summary::after{content:"\2212"}.faq p{margin:10px 0 0}
.ftr{background:var(--es);color:#d9cdb8;padding:64px 0 0}.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}.ftr p{color:#bfb199}.ftr .tag{font:italic 1.4rem var(--serif);color:var(--ch)}.ftr h4{font:500 1.2rem var(--serif);color:var(--ch);margin-bottom:10px}.fl{display:flex;flex-direction:column;gap:6px}.fl a{text-decoration:none;font-size:.9rem}.fl a:hover{color:var(--ch)}.copy{margin-top:40px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem}
.wafab{position:fixed;right:18px;bottom:18px;z-index:40;background:#1f7a4d;color:#fff;text-decoration:none;padding:12px 20px;border-radius:40px;font-weight:600;font-size:.85rem;box-shadow:var(--sh)}
.rv{opacity:0;transform:translateY(18px);transition:.8s}.rv.in{opacity:1;transform:none}
@media(max-width:980px){.g4{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr}.hero-in{grid-template-columns:1fr}.gal{columns:2}.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.burger{display:block}nav{position:fixed;inset:0 0 0 auto;width:min(320px,82vw);background:var(--iv);color:var(--es);flex-direction:column;align-items:flex-start;padding:90px 30px;gap:18px;transform:translateX(100%);transition:.4s;box-shadow:var(--sh)}nav.open{transform:none}.hdr.menu .burger{color:var(--es)}.split,.split.rev{grid-template-columns:1fr}.split.rev>:first-child{order:0}.mosaic{grid-template-columns:1fr 1fr}.stack .over{right:0}}
@media(max-width:600px){.g3,.g4,.fg,.fgrid{grid-template-columns:1fr}.gal{columns:1}.mark b{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}
