:root{--paper:#f1e6c9;--paper2:#ece0bf;--ink:#3a2e20;--soft:#76664b;--green:#5f6e3a;--red:#9a3a24;--rule:#b9a57c}
*{box-sizing:border-box}
html{background:#4d5a3a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M0 8L8 0' stroke='%23000' stroke-opacity='.08'/%3E%3C/svg%3E")}
body{margin:0;padding:22px;font:17px/1.45 "IM Fell English",Georgia,serif;color:var(--ink)}
a{color:inherit}.sc{font-family:"IM Fell English SC",Georgia,serif;letter-spacing:.08em}
.ph{color:#9b8862;font-style:italic}
.top{max-width:1320px;margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#f1e6c9}
.cart{border:1px solid rgba(241,230,201,.6);outline:1px solid rgba(241,230,201,.35);outline-offset:3px;padding:8px 22px;text-align:center}
.cart h1{margin:0;font-weight:400;font-size:30px;line-height:1.1}.small{font-size:14px}.sub{font-style:italic;font-size:15px;opacity:.9}
nav a{text-decoration:none;margin-left:20px;font-size:16px;opacity:.9}nav a:hover{opacity:1;text-decoration:underline}
nav .walk{border:1px solid #f1e6c9;padding:5px 12px;background:rgba(241,230,201,.12)}
.spread{max-width:1320px;margin:0 auto 22px;display:grid;grid-template-columns:1.25fr 1fr;box-shadow:0 12px 40px rgba(0,0,0,.4)}
.spread.two{grid-template-columns:1.25fr 1fr}
.page{background:var(--paper);padding:20px 30px 24px;position:relative;
 background-image:radial-gradient(ellipse at center,transparent 60%,rgba(120,90,40,.16)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.8'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .3 0 0 0 0 .1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
.page.left{box-shadow:inset -22px 0 26px -18px rgba(80,55,20,.35)}.page.right{box-shadow:inset 22px 0 26px -18px rgba(80,55,20,.35)}
.pg-h{display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);margin-bottom:10px;font-size:17px;color:var(--red)}.folio{font-style:italic;color:var(--soft);font-size:14px}
.map{width:100%;display:block}
.map .frame{fill:none;stroke:#5a4a32;stroke-width:2}.map .frame.thin{stroke-width:.8}
.mtn{fill:url(#hatch);stroke:none}.mtnline{fill:none;stroke:#5a4a32;stroke-width:1.4}
.path{fill:none;stroke:#d9c497;stroke-width:16;stroke-linecap:round}.path.sm{stroke-width:8}
.pathc{fill:none;stroke:#8f7a52;stroke-width:1;stroke-dasharray:3 5}
.tree circle{fill:#7f8c55;stroke:#4c5530;stroke-width:1}.tree .hi{fill:#9aa86a;stroke:none}
.bedp{fill:#cfd2a0;stroke:#5a4a32;stroke-width:1.2;transition:fill .2s}
.bed:hover .bedp{fill:#e3d9a3}.bed{cursor:pointer}
.fl{stroke:#5a4a32;stroke-width:.4}.flpoinsettia{fill:#b8402a}.flcanna{fill:#d97a2b}.flrose{fill:#e0b13a}.flpeony{fill:#d98fa3}.flivy{fill:#56702f}.flhillside{fill:#7aa0b8}
.marker circle{fill:var(--paper);stroke:var(--red);stroke-width:1.5}.num{text-anchor:middle;font:bold 13px "IM Fell English",serif;fill:var(--red)}
.lab{text-anchor:middle;font:italic 15px "IM Fell English",serif;fill:#3a2e20;paint-order:stroke;stroke:#f1e6c9;stroke-width:4px}
.lab2{text-anchor:middle;font:italic 12px "IM Fell English",serif;fill:#76664b}
.mtnlab{font-size:16px;letter-spacing:.1em}
.house{fill:#e8dcbd;stroke:#5a4a32;stroke-width:1.2;stroke-dasharray:4 3}.roof{fill:none;stroke:#5a4a32;stroke-width:1.5;stroke-dasharray:4 3}.pond{fill:url(#water);stroke:#5c7a86}
.soon{opacity:.8}.gate rect,.gate path{fill:none;stroke:#3a2e20;stroke-width:1.6}
.compass circle{fill:none;stroke:#5a4a32}.compass path{fill:#5a4a32}
.cap{margin:6px 0 0;font-style:italic;font-size:14px;color:var(--soft);text-align:center}
.key{list-style:none;margin:0;padding:0;columns:2;column-gap:22px}
.key li{break-inside:avoid;margin-bottom:12px;padding-bottom:8px;border-bottom:1px dotted var(--rule)}
.kh{display:flex;align-items:center;gap:8px}.kh b{width:22px;height:22px;border:1.5px solid var(--red);border-radius:50%;color:var(--red);display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.kh h3{margin:0;font-weight:400;font-size:19px}
.key p{margin:2px 0 6px;font-size:13.5px}
.kt{display:flex;gap:8px;flex-wrap:wrap}.kt a{text-decoration:none;width:84px;font-size:12px;line-height:1.2;font-style:italic;color:var(--soft)}
.kt img{width:84px;height:66px;object-fit:cover;display:block;border:3px solid #fbf6e7;box-shadow:0 1px 3px rgba(0,0,0,.3);margin-bottom:3px}
.key li.soon{opacity:1}.key li.soon h3{color:var(--soft)}
.walkbox{display:block;text-decoration:none;border:1px solid var(--ink);outline:1px solid var(--ink);outline-offset:-5px;padding:12px 18px;text-align:center;margin-top:6px;background:rgba(95,110,58,.1)}
.walkbox span{color:var(--red);display:block}.walkbox b{font-weight:400;font-size:24px;display:block}.walkbox small{color:var(--soft);font-style:italic}
.walkbox:hover{background:rgba(95,110,58,.22)}
.plates{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 18px}
.plates figure{margin:0;text-align:center}.plates a{display:flex;align-items:center;justify-content:center;height:130px}
.plates img{max-width:100%;max-height:130px;border:5px solid #fbf6e7;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.plates figcaption{font-size:13px;margin-top:5px;line-height:1.25}.plates figcaption span{color:var(--red)}
.drop::first-letter{float:left;font-size:58px;line-height:.8;padding:6px 6px 0 0;color:var(--red)}
.visit{margin-top:16px}.visit table{width:100%;border-collapse:collapse;font-size:15.5px}.visit th{text-align:left;font-weight:400;font-style:italic;color:var(--soft);width:38%;padding:5px 0;border-bottom:1px dotted var(--rule)}.visit td{padding:5px 0;border-bottom:1px dotted var(--rule)}
.fin{text-align:center;color:var(--soft);margin-top:22px}
.lb{position:fixed;inset:0;background:rgba(30,25,18,.88);display:flex;align-items:center;justify-content:center;z-index:9}.lb[hidden]{display:none}
.lb figure{margin:0;text-align:center}.lb img{max-width:90vw;max-height:84vh;border:10px solid #fbf6e7}.lb figcaption{color:#eee;font-style:italic;margin-top:8px}
.lb-x{position:absolute;top:14px;right:22px;font-size:38px;background:none;border:0;color:#fff;cursor:pointer}
@media (max-width:1100px){.top{flex-direction:column}nav a{margin:0 8px}.spread,.spread.two{grid-template-columns:1fr}.page.left,.page.right{box-shadow:none}.plates{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){body{padding:10px}.cart h1{font-size:22px}nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px}nav a{margin:0;font-size:14px}.page{padding:14px 14px 18px}.key{columns:1}.plates{grid-template-columns:repeat(2,1fr)}}
/* ---- v2 engraved estate plan ---- */
.map{background:#f0e6cc;box-shadow:0 1px 4px rgba(60,40,10,.25)}
.map .ink{fill:none;stroke:#3b3226;stroke-width:.8}.map .ink.thin{stroke-width:.6}.map .ink.hair{stroke-width:.45}
.map .hat{fill:none;stroke:#3b3226;stroke-width:.38;opacity:.7}.map .ridge{fill:none;stroke:#3b3226;stroke-width:.9;stroke-linejoin:round}
.map .pe{fill:none;stroke:#5a4c38;stroke-linecap:round}.map .pi{fill:none;stroke:#eadcb8;stroke-linecap:round}
.map .tshadow{fill:#3b3226;opacity:.08}.map .twash{fill:#a7b08a;opacity:.45}.map .tedge{fill:none;stroke:#3b3226;stroke-width:.5}.map .tree circle:not(.twash){fill:#3b3226}
.map .bwash{opacity:.55;stroke:none}.map .bhatch{fill:url(#bh)}.map .bedge{fill:none;stroke:#3b3226;stroke-width:.7}.map .bedge.dotted{stroke-dasharray:2 2.2}
.map .plant{fill:none;stroke:#3b3226;stroke-width:.45}
.map .mk{fill:#f5edd8;stroke:#7a2e1f;stroke-width:.7}.map .mkn{text-anchor:middle;font:600 8.5px "Cormorant SC",Georgia,serif;fill:#7a2e1f;letter-spacing:.04em}
.map .lt{text-anchor:middle;fill:#3b3226;font:12.5px "EB Garamond",Georgia,serif;paint-order:stroke;stroke:#f0e6cc;stroke-width:3px;stroke-linejoin:round}
.map .lt.sc{font-family:"Cormorant SC",Georgia,serif;font-weight:600;letter-spacing:.14em;font-size:12px}
.map .lt.wide{letter-spacing:.42em;font-size:13px}.map .lt.it{font-style:italic}.map .lt.small{font-size:10.5px}.map .lt.tiny{font-size:8.5px;letter-spacing:.06em;stroke-width:0}
.map .lt.ttl{font:italic 15px "EB Garamond",Georgia,serif;stroke-width:0}
.map .cbox{fill:#f5edd8;stroke:#3b3226;stroke-width:.9}
.map .bed{cursor:pointer}.map .bed .bwash{transition:opacity .25s}.map .bed:hover .bwash{opacity:.9}.map .bed:hover .bedge{stroke:#7a2e1f;stroke-width:1.1}
.map .soon{opacity:.85}
/* ---- v3 illustrated map ---- */
.map{background:#efe5cc;box-shadow:0 2px 8px rgba(60,40,10,.3);border-radius:1px}
.map .mframe{fill:none;stroke:#3b3226;stroke-width:1.4;opacity:.75}.map .mframe.thin{stroke-width:.6}
.map .mtitle{text-anchor:middle;font:600 17px "Cormorant SC",Georgia,serif;letter-spacing:.42em;fill:#3b3226;paint-order:stroke;stroke:rgba(244,236,214,.85);stroke-width:5px}
.map .area{fill:rgba(255,246,220,0);stroke:none;transition:fill .25s,stroke .25s}
.map .hot{cursor:pointer}.map .hot:hover .area,.map .hot:focus .area{fill:rgba(255,246,220,.28);stroke:#f7efd9;stroke-width:2;stroke-dasharray:6 4}
.map .pill{fill:rgba(247,240,222,.9);stroke:#3b3226;stroke-width:.7}
.map .ml{text-anchor:middle;font:600 13.5px "Cormorant SC",Georgia,serif;letter-spacing:.13em;fill:#2b2620}
.map .ms{text-anchor:middle;font:italic 12px "EB Garamond",Georgia,serif;fill:#6d6355}
.map .mk{fill:#f7f0de;stroke:#7a2e1f;stroke-width:1.3}.map .mkn{text-anchor:middle;font:700 13px "Cormorant SC",Georgia,serif;fill:#7a2e1f}
.map .tag{transition:transform .2s}.map .hot:hover .mk{fill:#7a2e1f}.map .hot:hover .mkn{fill:#f7f0de}
.map .compass .cr{fill:rgba(247,240,222,.7);stroke:#3b3226;stroke-width:.7}.map .compass .cn{fill:#f7f0de;stroke:#3b3226;stroke-width:.8}.map .compass .cd{fill:#3b3226}
/* ---- v3b soft hover ---- */
.map .hot:hover .area,.map .hot:focus .area{fill:transparent;stroke:none}
.map .area{fill:transparent;pointer-events:all}
.map .fx{opacity:0;pointer-events:none;transition:opacity .2s ease}
.map .dim{fill:#1e160c;opacity:.3}
.map:has(#hot-poinsettia:hover) .fx-poinsettia,.map:has(#hot-canna:hover) .fx-canna,.map:has(#hot-rose:hover) .fx-rose,.map:has(#hot-peony:hover) .fx-peony,.map:has(#hot-ivy:hover) .fx-ivy,.map:has(#hot-hillside:hover) .fx-hillside,.map:has(#hot-nanmay:hover) .fx-nanmay{opacity:1}
.map .mk,.map .mkn{transition:fill .2s ease}
.map .mtitle{stroke:none;font-size:16px}
