
:root{--bg:#f1efe9;--card:#fff;--tx:#20231b;--mu:#5c5f52;--ac:#2d3427;--br:#a8864f;--ln:#dcd8cc;--ph:#dad6c9;--bk:#e8e5db;--on:#fff;--wt:#e6e8df;--oa:#385a54;--ot:#e6ece6;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#1b1e18;--card:#242820;--tx:#ece9e0;--mu:#a3a597;--ac:#cdb085;--br:#c4a06a;--ln:#363a30;--ph:#2c3027;--bk:#2b2f26;--on:#1b1e18;--wt:#272b22;--oa:#98b8ab;--ot:#1e2b27;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#1b1e18;--card:#242820;--tx:#ece9e0;--mu:#a3a597;--ac:#cdb085;--br:#c4a06a;--ln:#363a30;--ph:#2c3027;--bk:#2b2f26;--on:#1b1e18;--wt:#272b22;--oa:#98b8ab;--ot:#1e2b27;color-scheme:dark}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.7 "DM Sans",system-ui,sans-serif}
h1,h2,h3{font-family:Jost,"DM Sans",system-ui,sans-serif;font-weight:500;line-height:1.1;letter-spacing:-.015em;margin:0 0 .5em}h2{font-size:1.9rem}
a{color:var(--ac)}
.w{max-width:1040px;margin:0 auto;padding:0 20px}
header{border-bottom:1px solid var(--ln)}
header .w{display:flex;justify-content:space-between;align-items:center;padding-top:14px;padding-bottom:14px;gap:16px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;font:500 1.35rem Jost,"DM Sans",system-ui,sans-serif;text-decoration:none;color:var(--tx)}
nav{display:flex;align-items:center;gap:30px}
nav a{margin-left:0;text-decoration:none;color:var(--mu);font:600 .78rem "DM Sans",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
nav a:hover{color:var(--tx);border-bottom-color:var(--br)}
nav a.navbtn{background:var(--ac);color:var(--on);padding:12px 26px;border-radius:999px;border-bottom:0;letter-spacing:.12em;box-shadow:0 1px 0 rgba(0,0,0,.08)}
nav a.navbtn:hover{filter:brightness(1.15);color:var(--on)}
nav a:focus-visible{outline:3px solid var(--br);outline-offset:3px}
@media(max-width:700px){nav{gap:0}nav a:not(.navbtn){display:none}}
.hero{padding:64px 0 40px}
.hero h1{font-size:clamp(2.3rem,6vw,4.2rem);max-width:16ch;line-height:1.05}
.hero p{max-width:52ch;color:var(--mu);font-size:1.15rem}
.btn{display:inline-block;background:var(--ac);color:var(--on);border:0;border-radius:6px;padding:12px 22px;font:600 1rem "DM Sans",system-ui,sans-serif;text-decoration:none;cursor:pointer}
.btn:focus-visible,.d:focus-visible,.t:focus-visible{outline:3px solid var(--br);outline-offset:2px}
.prop{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;padding:48px 0;border-top:1px solid var(--ln);align-items:start}
.prop.r{grid-template-columns:1fr 1.1fr}.prop.r .ph{order:2}
.ph{min-height:320px;background:var(--ph);border-radius:10px;display:grid;place-items:center;color:var(--mu);text-align:center;padding:20px}
.fact{font:500 1.1rem Jost,"DM Sans",system-ui,sans-serif;color:var(--ac);margin:0 0 14px}
ul{padding-left:1.1em;margin:0 0 1em}li{margin:.3em 0}
.note{background:var(--bk);border-left:4px solid var(--br);padding:12px 16px;border-radius:0 6px 6px 0;font-size:.95rem}
#book{padding:48px 0 64px;border-top:1px solid var(--ln)}
.bk{background:var(--card);border:1px solid var(--ln);border-radius:10px;padding:24px;max-width:480px}
.tabs{display:flex;gap:8px;margin-bottom:16px}
.t{flex:1;padding:10px;border:1px solid var(--ln);background:transparent;color:var(--tx);border-radius:6px;font:600 .95rem "DM Sans",system-ui,sans-serif;cursor:pointer}
.t[aria-pressed="true"]{background:var(--ac);color:var(--on);border-color:var(--ac)}
.mh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.mh button{background:none;border:1px solid var(--ln);color:var(--tx);border-radius:6px;width:36px;height:36px;font-size:1.1rem;cursor:pointer}
#g,.dw{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.dw{font-size:.8rem;color:var(--mu)}
.d{aspect-ratio:1;border:0;border-radius:6px;background:transparent;color:var(--tx);font:inherit;cursor:pointer}
.d:hover:not(:disabled){background:var(--bk)}
.d.x{color:var(--mu);text-decoration:line-through;opacity:.5;cursor:not-allowed}
.d.s{background:var(--ac);color:var(--on)}
#q{margin:16px 0;min-height:3.2em}
small{color:var(--mu)}
footer{border-top:1px solid var(--ln);padding:24px 0;color:var(--mu);font-size:.9rem}
@media(max-width:760px){.prop,.prop.r{grid-template-columns:1fr}.prop.r .ph{order:0}.ph{min-height:220px}}
label{display:block;margin:12px 0 4px;font-size:.9rem;color:var(--mu)}
input,select{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--ln);border-radius:6px;background:var(--bg);color:var(--tx);font:inherit}
input:focus-visible,select:focus-visible{outline:3px solid var(--br);outline-offset:1px}
#go{margin-top:16px}#m{margin:12px 0 0;min-height:1.5em}
label.ck{display:flex;gap:10px;align-items:flex-start;color:var(--tx);font-size:.95rem;margin-top:16px}label.ck input{width:auto;margin-top:5px}
.hero h1{max-width:20ch;text-wrap:balance}.faq{padding:32px 0 48px;border-top:1px solid var(--ln)}details{border-top:1px solid var(--ln);padding:12px 0}summary{cursor:pointer;font-weight:600}
.sec{font-size:2.4rem;margin:56px 0 0}h3{font-size:1.5rem}.faq h3{margin:24px 0 4px}
.hero{padding:48px 0 24px}
.grp{background:var(--pt);border-left:6px solid var(--pa);border-radius:14px;padding:4px 28px 12px;margin:48px 0}
.g-w{--pa:var(--ac);--pt:var(--wt)}.g-c{--pa:var(--oa);--pt:var(--ot)}
.grp .sec{color:var(--pa);margin:20px 0 6px}.grp .fact{color:var(--pa)}
.grp .ph{background:color-mix(in srgb,var(--pa) 16%,var(--bg))}
.grp .prop{border-top:1px solid color-mix(in srgb,var(--pa) 25%,transparent)}
.tag{display:inline-block;background:var(--pa);color:var(--on);border-radius:999px;padding:2px 14px;font-size:.9rem;margin:0 0 4px}
#book{padding:0 0 24px;border-top:0}
.bk{max-width:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;padding:28px}
.bk:has(.t[data-p="cottage"][aria-pressed="true"]),.bk:has(.t[data-p="cc"][aria-pressed="true"]){--ac:var(--oa);--tint:var(--ot)}
@media(max-width:760px){.bk{grid-template-columns:1fr}.grp{padding:4px 18px 12px}}
.bk{--tint:var(--wt);border-top:8px solid var(--ac)}
.cal{background:var(--tint);border:2px solid var(--ac);border-radius:10px;padding:16px}
.now{background:var(--ac);color:var(--on);border-radius:8px;padding:10px 16px;font:600 1.1rem "DM Sans",system-ui,sans-serif;margin:0 0 14px}
.sum{font-weight:600;color:var(--ac);margin:12px 0 0;min-height:1.5em}
.side{background:var(--card);border:1px solid var(--ln);border-radius:10px;padding:20px}
.pcard{display:flex;gap:14px;align-items:center;margin:0 0 16px}
.thumb{width:84px;height:64px;border-radius:8px;background:color-mix(in srgb,var(--ac) 22%,var(--bg));flex:none}
.pcard b{font:500 1.25rem Jost,"DM Sans",system-ui,sans-serif;display:block;line-height:1.1}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.chips span{border:1px solid var(--ln);border-radius:999px;padding:1px 10px;font-size:.85rem;color:var(--mu)}
.row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--ln)}
.row.tot{font-weight:700;font-size:1.25rem;border-bottom:0;color:var(--ac)}
.h4{font:500 1.15rem Jost,"DM Sans",system-ui,sans-serif;margin:18px 0 0}
.perks{list-style:none;padding:0;margin:14px 0 0;font-size:.9rem;color:var(--mu)}
.perks li{padding-left:22px;position:relative}.perks li::before{content:"✓";position:absolute;left:0;color:var(--ac);font-weight:700}
.map{height:280px;border-radius:10px;margin:16px 0 4px;border:1px solid var(--ln);z-index:0}.mapnote{font-size:.9rem;color:var(--mu);margin:0 0 12px}
.mark{height:46px;width:auto;border-radius:8px}
.hl{background:var(--card);border:1px solid var(--ln);border-left:5px solid var(--pa,var(--br));border-radius:10px;padding:14px 18px;margin:14px 0}.hl b{display:block;font:500 1.2rem Jost,"DM Sans",system-ui,sans-serif;color:var(--pa,var(--ac));line-height:1.2;margin-bottom:2px}
.rv{padding:28px 0 20px;border-top:1px solid var(--ln)}.rvg{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rv figure{margin:0;background:var(--card);border:1px solid var(--ln);border-left:5px solid var(--pa,var(--br));border-radius:10px;padding:18px 20px}.rv blockquote{margin:0 0 12px;font:italic 400 1.2rem/1.55 Newsreader,Georgia,serif;color:var(--tx)}.rv figcaption{font:600 .72rem "DM Sans",system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}@media(max-width:760px){.rvg{grid-template-columns:1fr}}
.rvg figure:last-child:nth-child(odd){grid-column:1/-1}
.gal{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:12px;overflow:hidden;align-self:start}
.gal .gp{padding:0;border:0;background:var(--ph);cursor:zoom-in;display:block;aspect-ratio:4/3;overflow:hidden}.gal .gl{grid-column:1/-1;aspect-ratio:3/2}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.gal .gp:hover img{transform:scale(1.03)}
.galbtn{position:absolute;right:12px;bottom:12px;background:var(--card);color:var(--tx);border:1px solid var(--ln);border-radius:999px;padding:9px 18px;font:600 .8rem "DM Sans",system-ui,sans-serif;letter-spacing:.06em;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.gal .gp:focus-visible,.galbtn:focus-visible,#lb button:focus-visible{outline:3px solid var(--br);outline-offset:2px}
#lb{border:0;padding:0;background:#14160f;color:#fff;width:100vw;max-width:100vw;height:100vh;max-height:100vh}#lb::backdrop{background:#000}
#lb .lbm{display:flex;flex-direction:column;height:100%;padding:14px 18px 16px;box-sizing:border-box;gap:10px}
#lb .lbt{display:flex;justify-content:space-between;align-items:center;gap:12px;font:600 .8rem "DM Sans",system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}
#lb .lbs{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:12px}#lb .lbs img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;min-width:0}
#lb button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;font:inherit;cursor:pointer;min-width:44px;height:44px;padding:0 16px;font-size:1.3rem}
#lb .lbc{text-align:center;font:400 1rem Jost,"DM Sans",system-ui,sans-serif;min-height:1.6em}
#lb .lbg{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}#lb .lbg button{height:34px;font:600 .72rem "DM Sans",system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}#lb .lbg button[aria-pressed="true"]{background:var(--br);color:#14160f}
@media(max-width:760px){#lb .lbs button{position:absolute;bottom:90px;z-index:2}#lb #lbp{left:16px}#lb #lbn{right:16px}}
.cot{padding:34px 0 26px;border-top:1px solid color-mix(in srgb,var(--pa) 25%,transparent)}
.cot .gal{grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px;gap:8px;margin-bottom:34px}.cot .gal .gl{grid-column:auto;grid-row:1/3;aspect-ratio:auto}.cot .gal .gp{aspect-ratio:auto}
.cotg{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:start}.cotl h3{margin-top:0}.cotr .map{height:360px;margin:0 0 6px}
.hls{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0 0}.hls .hl{margin:0;display:flex;flex-direction:column;justify-content:center}
.cot .note{margin:24px 0 0}
@media(max-width:760px){.cot .gal{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:6px;margin-bottom:24px}.cot .gal .gl{grid-column:1/-1;grid-row:auto;aspect-ratio:3/2}.cot .gal .gp{aspect-ratio:4/3}.cotg,.hls{grid-template-columns:1fr;gap:20px}.cotr .map{height:280px}}

.pimg{padding:0;border:0;cursor:zoom-in;overflow:hidden;display:block;min-height:320px}.pimg img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block;transition:transform .3s}.pimg:hover img{transform:scale(1.03)}.pimg:focus-visible{outline:3px solid var(--br);outline-offset:2px}
.grp .wgal{grid-template-columns:2fr 1fr 1fr;grid-template-rows:210px 210px;gap:8px;margin:34px 0 8px}.wgal .gl{grid-column:auto;grid-row:1/3;aspect-ratio:auto}.wgal .gp{aspect-ratio:auto}
@media(max-width:760px){.grp .wgal{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:6px;margin:24px 0 8px}.wgal .gl{grid-column:1/-1;grid-row:auto;aspect-ratio:3/2}.wgal .gp{aspect-ratio:4/3}.pimg,.pimg img{min-height:220px}}

.gsec{padding:44px 0 8px}.gsec.alt{padding:36px 0 44px}.gsec h2{margin:0 0 18px}
.tw{overflow-x:auto;border:1px solid var(--ln);border-radius:12px;background:var(--card)}
.sched{width:100%;border-collapse:collapse;min-width:520px;font-size:.98rem}
.sched th{text-align:left;font:600 .72rem "DM Sans",system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--mu);padding:12px 16px;border-bottom:1px solid var(--ln)}
.sched td{padding:12px 16px;border-bottom:1px solid var(--ln);vertical-align:top}
.sched tr:last-child td{border-bottom:0}
.sched tr.away td{color:var(--mu)}
.sched tr.home td{font-weight:500}
.sched small{display:block;color:var(--mu);font-weight:400}
.gh,.ga{display:inline-block;border-radius:999px;padding:1px 12px;font:600 .75rem "DM Sans",system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.gh{background:var(--ac);color:var(--on)}.ga{border:1px solid var(--ln);color:var(--mu)}
.gn{color:var(--mu);font-size:.92rem;margin:14px 0 0;max-width:70ch}

/* ---- multi-page additions ---- */
body[data-p="cottage"] .bk{--ac:var(--oa);--tint:var(--ot)}
.crumbs{display:flex;gap:8px;align-items:center;padding-top:16px;padding-bottom:0;font-size:.85rem;color:var(--mu)}.crumbs a{color:var(--mu)}
.pc .btn{background:var(--pa)}
body[data-p="cottage"] .hero .btn{background:var(--oa)}
.hero p.lede{max-width:56ch}
.alt{margin:12px 0 0;font-size:.9rem}
.fl{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:8px}.fl a{color:var(--mu)}footer p{margin:0}
.homes{padding:36px 0 8px}.pcs{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pc{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--ln);border-top:6px solid var(--pa);border-radius:14px;overflow:hidden}
.pcimg{display:block;height:260px;background:var(--ph);overflow:hidden}.pcimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.pcimg:hover img{transform:scale(1.03)}
a.pcimg.ph{display:grid;place-items:center;border-radius:0;min-height:0;text-decoration:none}
.pcb{padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:1}.pcb h3{margin:0}.pcb h3 a{color:var(--pa);text-decoration:none}.pcb p{margin:4px 0}.pcb .btn{margin-top:auto;align-self:flex-start}
.pc .fact{color:var(--pa)}
.why{padding:40px 0 8px}.whyl{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.whyl li{margin:0;border-top:3px solid var(--br);padding-top:12px}.whyl b{display:block;font:500 1.2rem Jost,"DM Sans",system-ui,sans-serif;margin-bottom:4px}.whyl span{color:var(--mu)}
.more{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:8px 0 32px}.more p{margin:0;font:500 1.15rem Jost,"DM Sans",system-ui,sans-serif}
.btn.alt{background:transparent;color:var(--tx);border:1px solid var(--ln);margin:0}
.btn.alt:hover{border-color:var(--tx)}
.faq .w{padding:0 20px}
.grp .tag{margin-top:20px}
.map:empty{display:grid;place-items:center;color:var(--mu);background:var(--bk)}
.punch{font:500 clamp(1.15rem,2.4vw,1.5rem)/1.35 Jost,"DM Sans",system-ui,sans-serif;letter-spacing:-.005em;color:var(--ac);border-left:4px solid var(--br);padding:2px 0 2px 16px;max-width:34ch;margin:0 0 18px}
.hero p.punch{color:var(--ac);font-size:clamp(1.15rem,2.4vw,1.5rem)}
.eyebrow{display:block;font:600 .75rem "DM Sans",system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ac);margin:0 0 8px}
.eyebrow::before{content:"";display:inline-block;width:28px;height:2px;background:var(--br);vertical-align:middle;margin-right:10px}
.pc .eyebrow{color:var(--ac)}
.fpunch{font:500 1.05rem Jost,"DM Sans",system-ui,sans-serif;color:var(--tx);margin:6px 0 10px}
#book{scroll-margin-top:12px}.homes+#book{padding-top:52px}
@media(max-width:760px){.pcs{grid-template-columns:1fr}.whyl{grid-template-columns:1fr}.pcimg{height:210px}}
