@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&display=swap');
:root{--ink:#102b31;--muted:#50666a;--paper:#f7f5ef;--line:#ccd9d3;--green:#477566}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 "Times New Roman",Times,Georgia,serif;-webkit-user-select:none;user-select:none}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}img{display:block;width:100%;height:auto;-webkit-user-drag:none}h1,h2,h3{font-family:"Times New Roman",Times,Georgia,serif;font-weight:400;line-height:1.12;margin:0 0 22px}h1{font-size:clamp(2.8rem,5.1vw,5.6rem);letter-spacing:-.045em}h2{font-size:clamp(2.4rem,4.2vw,4.7rem);letter-spacing:-.035em}h3{font-size:1.7rem}p{margin:0 0 18px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d59235;outline-offset:4px}.wrap{max-width:1380px;margin:auto;padding-left:clamp(24px,5vw,76px);padding-right:clamp(24px,5vw,76px)}.eyebrow{font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700;display:block;margin-bottom:18px;color:var(--green)}.top{background:var(--ink);color:#fff;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:23px clamp(24px,5vw,76px)}.brand{font-size:1rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;font-weight:700}.top nav{display:flex;gap:25px;flex-wrap:wrap}.top nav a{font-size:.9rem;text-decoration:none;min-height:36px;display:flex;align-items:center}.top nav a:hover{text-decoration:underline}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:clamp(28px,4vw,64px);padding:36px clamp(24px,5vw,76px) 58px}.hero-copy{padding:20px 0}.hero-copy p{font-size:1.2rem;color:var(--muted);max-width:480px}.hero .photo-stage img{filter:contrast(1.08) saturate(1.08)}.hero .photo-stage{box-shadow:0 18px 45px #102b311a}.primary{display:inline-flex;background:var(--ink);color:#fff;padding:15px 24px;border-radius:100px;text-decoration:none;font-weight:700;margin:14px 0 24px}.hero-facts{display:flex;gap:10px 18px;flex-wrap:wrap;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line);padding-top:20px}.section-head{max-width:780px;margin:0 0 40px}.section-head p{max-width:700px;color:var(--muted);font-size:1.1rem}.rooms{padding-top:80px;padding-bottom:80px}.room{border-top:1px solid #b7cac2}.room:last-child{border-bottom:1px solid #b7cac2}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.room>summary{display:grid;grid-template-columns:40px minmax(0,1fr) 36px;gap:16px;align-items:center;padding:23px 0}.room-number{font-size:.8rem;color:var(--green);letter-spacing:.1em}.room-title{font-family:"Times New Roman",Times,Georgia,serif;font-size:clamp(1.6rem,2.6vw,2.5rem);line-height:1.2}.plus{border:1px solid var(--ink);border-radius:50%;height:34px;width:34px;display:grid;place-items:center;font-size:1.4rem}.room[open]>summary .plus{transform:rotate(45deg)}.room-body{padding:0 0 35px 56px}.room-tip{color:var(--muted);font-size:.95rem;margin:0 0 18px}.feature{background:#fff;border-bottom:1px solid var(--line)}.feature>summary{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:600;font-size:1.05rem;min-height:62px}.feature>summary:after{content:'+';font-size:1.3rem;flex-shrink:0}.feature[open]>summary:after{content:'−'}.feature[open]>summary{background:#e4eee8}.feature-body{padding:24px}.feature-body>p{max-width:850px;color:var(--muted);line-height:1.65}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;align-items:start}.gallery-grid.single{max-width:760px;grid-template-columns:1fr}.photo{margin:0;min-width:0}.photo-stage{position:relative;background:#dfe7e1;overflow:hidden}.photo-stage img{width:100%;height:auto;object-fit:contain}.annotations{position:absolute;inset:0;pointer-events:none}.annotations[hidden]{display:none}.photo-tag{position:absolute;transform:translate(-50%,-50%);padding:7px 9px;color:#fff;background:rgba(8,39,42,.92);border:1px solid #e3f1ea;border-radius:6px;font-size:clamp(.75rem,1.1vw,.9rem);font-weight:600;line-height:1.25;max-width:38%;box-shadow:0 2px 12px #0004;text-align:center;overflow-wrap:break-word}.photo-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:12px}.photo-actions button{min-height:44px;border:1px solid var(--ink);border-radius:100px;padding:9px 15px;background:transparent;color:var(--ink);font-size:.88rem;font-weight:600}.photo-actions .reveal{background:var(--ink);color:white}.photo-actions .reveal[aria-pressed=true]{background:#dce9e2;color:var(--ink)}.photo figcaption{padding:8px 0;color:var(--muted);font-size:.85rem}.source-note{font-size:.86rem;color:var(--muted);max-width:950px;margin-top:24px}.care{background:#e0ebe3;padding:75px 0}.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.care p{font-size:1.14rem;color:var(--muted)}.visit{padding-top:85px;padding-bottom:85px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}.visit article{background:white;border-top:3px solid #83a493;padding:30px}.visit p{color:var(--muted)}.contact{background:var(--ink);color:#fff;padding:75px 0}.contact .eyebrow{color:#a8cbbb}.email{font-size:clamp(1rem,2.3vw,1.7rem);overflow-wrap:anywhere;line-height:1.6}.reply-note{font-size:.92rem;color:#bcd1cb;margin-top:18px}footer{padding-top:45px!important;padding-bottom:45px!important}footer strong{font-family:"Times New Roman",Times,Georgia,serif;font-size:1.8rem;font-weight:400}footer p{font-size:.85rem;color:var(--muted);max-width:800px;margin:8px 0}footer a{font-size:.9rem}dialog{padding:20px;background:var(--paper);color:var(--ink);border:0;width:min(1000px,94vw);max-height:92vh;overflow:auto}dialog::backdrop{background:rgba(6,24,26,.88)}.viewer-head{display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:-20px;background:var(--paper);padding:10px 0;z-index:3}.viewer-head button{border:1px solid var(--ink);padding:8px 16px;border-radius:100px;background:white;min-height:44px}dialog .photo{max-width:850px;margin:auto}
@media(max-width:850px){.hero{grid-template-columns:1fr;padding-top:24px;gap:10px;max-width:720px}.hero-copy{padding:25px 0 0}.hero h1{max-width:600px}.top{align-items:flex-start}.top nav{gap:10px 18px;justify-content:flex-end}.care-grid{grid-template-columns:1fr;gap:30px}.room-body{padding-left:0}.gallery-grid{gap:20px}.photo-tag{font-size:.75rem;padding:6px 7px}}
@media(max-width:550px){.top{display:block;padding:17px 24px 10px}.brand{display:block;margin-bottom:8px}.top nav{justify-content:space-between;gap:6px}.top nav a{font-size:.8rem}.hero{padding:22px 24px 45px}.hero h1{font-size:clamp(2.6rem,11vw,3.8rem)}.hero-copy p{font-size:1.06rem}.rooms{padding-top:45px}.room>summary{grid-template-columns:25px minmax(0,1fr) 32px;gap:10px;padding:22px 0}.room-title{font-size:1.65rem}.room-number{font-size:.75rem}.feature>summary{padding:18px 16px;font-size:1rem}.feature-body{padding:18px 14px}.gallery-grid{grid-template-columns:1fr}.visit-grid{grid-template-columns:1fr}.visit article{padding:24px}.care{padding:55px 0}.visit{padding-top:55px;padding-bottom:55px}.contact{padding:55px 0}.photo-actions button{font-size:.81rem;padding:9px 12px}.photo-tag{font-size:.75rem;max-width:38%}.hero-facts{font-size:.8rem}.wrap{padding-left:24px;padding-right:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Clear controls, quiet markers, generous photo viewing */
.primary,.feature>summary,.top nav,.photo-actions button{font-family:"Times New Roman",Times,Georgia,serif;letter-spacing:.015em}
.primary{font-size:1.08rem;font-weight:500;border:0}
.blueprints{padding-top:65px;padding-bottom:65px;border-top:1px solid var(--line)}
.blueprints .section-head{margin-bottom:28px}
.blueprint{border-top:1px solid var(--line);margin-top:10px}
.plan-image,.image-open{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}
.plan-image{max-width:680px;margin:auto}
.plan-hint{text-align:center;font-size:.9rem;margin:14px 0 0}
.all-photos{padding-top:60px;padding-bottom:60px;background:#e4eee8}
.all-photos>p{max-width:720px}
[hidden]{display:none!important}
.photo-tag{display:grid;place-items:center;width:26px;height:26px;max-width:none;padding:0;border-radius:50%;font-size:14px;font-weight:600;line-height:1;background:#102b31;color:#fff;border:2px solid white;box-shadow:0 2px 6px #0004}
.upgrade-key{counter-reset:upgrade;list-style:none;padding:15px 0 0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.upgrade-key li{counter-increment:upgrade;display:flex;gap:10px;align-items:center;font-size:1rem;line-height:1.4}
.upgrade-key li:before{content:counter(upgrade);display:grid;place-items:center;flex:0 0 26px;height:26px;background:var(--ink);color:white;border-radius:50%;font-size:14px}
dialog{width:min(1440px,98vw);max-height:96dvh;padding:20px 28px}
dialog .photo{max-width:1280px}
dialog .photo-stage{background:#dfe7e1}
.large-plan{max-width:1050px;margin:auto}
.large-plan p{padding-top:20px}
@media(max-width:550px){dialog{width:100vw;max-width:100vw;max-height:100dvh;padding:12px;border-radius:0}.viewer-head{top:-12px}.upgrade-key{grid-template-columns:1fr}.blueprints,.all-photos{padding-top:42px;padding-bottom:42px}.photo-tag{width:24px;height:24px;font-size:13px}.primary{font-size:1rem}.top nav{justify-content:flex-start;gap:8px 16px}}

body{font-size:18px}
.primary,.feature>summary,.top nav,.photo-actions button{font-family:"Times New Roman",Times,Georgia,serif}
.primary{font-size:1.2rem}
.feature>summary{font-size:1.18rem}
.photo-actions button{font-size:1rem}
.photo-credit{display:block;font-size:.8rem;margin-top:4px;color:var(--muted)}
.legal{padding-top:45px;padding-bottom:45px;border-top:1px solid var(--line)}
.legal>p{max-width:850px}
.legal details{margin-top:12px}
.legal .feature-body p{font-size:1rem}
.reference-note{font-size:.9rem;color:var(--muted);padding:10px 0}
@media(max-width:550px){.feature>summary{font-size:1.08rem}.photo-actions button{font-size:.95rem}.primary{font-size:1.12rem}}

/* Upright serif headings and photo-first room stories */
h1,h2,.room-title{font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:0;line-height:1.14}
h1{font-size:clamp(3.6rem,6.3vw,6.6rem)}
h2{font-size:clamp(3.1rem,5.2vw,5.3rem)}
.room-title{font-size:clamp(2.15rem,3.5vw,3.25rem)}
.room-photo-panel{max-width:1000px;margin:0 auto}
.room-photo-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1000px;margin:20px auto 28px}
.room-photo-controls button{background:var(--ink);color:white;border:1px solid var(--ink);border-radius:100px;padding:10px 22px;min-height:46px;font-size:1rem}
.room-photo-controls button:disabled{background:transparent;color:#526568;border-color:#afbfba;cursor:default}
.room-photo-controls span{font-size:1rem;text-align:center}
.photo-upgrade-details{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.photo-upgrade-details h3,.room-notes h3{font:600 1.2rem/1.3 "Times New Roman",serif;margin-bottom:8px}
.photo-upgrade-details p{font-size:1rem;color:var(--muted)}
.room-notes article+article{margin-top:22px}
@media(max-width:550px){.hero h1{font-size:clamp(3.25rem,13vw,4.5rem)}.room-title{font-size:2.25rem}.photo-upgrade-details{grid-template-columns:1fr}.room-photo-controls{gap:8px}.room-photo-controls button{padding:9px 12px;font-size:.95rem}.room-photo-controls span{font-size:.9rem}}

h1,h2,.room-title{font-style:normal;font-weight:500;letter-spacing:-.015em;line-height:1.14}
h1{font-size:clamp(3rem,5.3vw,5.8rem)}
h2{font-size:clamp(2.6rem,4.4vw,4.8rem)}
.room-title{font-size:clamp(1.8rem,2.9vw,2.7rem)}
@media(max-width:550px){.hero h1{font-size:clamp(2.8rem,11vw,3.8rem)}.room-title{font-size:1.95rem}}

/* Room collections and comfortably sized labelled views */
.room-intro{max-width:780px;font-size:1.12rem;color:var(--muted);margin:0 0 28px}
.room-photo-grid{gap:32px 24px;margin-bottom:28px}
.view-heading{font:500 1.12rem/1.4 Georgia,serif;margin:0 0 12px}
.room-photo-card .photo-stage{aspect-ratio:4/3;display:grid;place-items:center}
.room-photo-card .image-open{height:100%}
.room-photo-card .photo-stage img{height:100%;max-height:360px;object-fit:contain}
dialog{width:min(940px,96vw);max-height:92dvh;padding:18px 24px}
dialog .photo{max-width:860px}
dialog .photo-stage{width:fit-content;max-width:100%;margin:auto}
dialog .photo-stage img{max-height:62dvh;width:auto;max-width:100%;object-fit:contain}
.photo-tag{display:block;transform:none;width:max-content;height:auto;max-width:130px;border-radius:5px;padding:4px 6px;font:600 12px/1.2 Arial,sans-serif;text-align:left;border:1px solid #fff;background:#102b31ed}
.upgrade-key{grid-template-columns:1fr;gap:14px;padding-top:20px}
.upgrade-key li{align-items:flex-start;font-size:1rem}
.photo-upgrade-details{gap:18px}.photo-upgrade-details h3{font-size:1.1rem}
@media(max-width:550px){dialog{width:96vw;max-width:96vw;padding:12px}.photo-tag{max-width:100px;font-size:12px;padding:3px 4px}.room-photo-grid{grid-template-columns:1fr}.room-intro{font-size:1.05rem}}

/* Direct, numbered upgrade references with responsive callouts */
dialog.many-labels{width:min(1240px,98vw)}
dialog.many-labels .photo{max-width:1160px}
dialog.many-labels .photo-stage img{max-height:82dvh;min-height:0}
dialog .photo-stage{min-width:0}
.annotations{pointer-events:none}.annotations .photo-tag{pointer-events:auto;cursor:pointer;display:flex;gap:5px;align-items:center;max-width:150px;min-height:32px;padding:4px 7px;font:500 12px/1.2 Arial,sans-serif;z-index:2}
.photo-tag b{display:grid;place-items:center;min-width:23px;height:23px;border-radius:50%;background:#fff;color:#102b31;font-size:12px;flex-shrink:0}
.photo-tag:hover,.photo-tag:focus-visible{background:#255b4e;outline:2px solid #fff;outline-offset:2px}
.label-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.label-lines line{stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 1px #102b31)}.label-lines circle{fill:#fff;stroke:#102b31;stroke-width:1.5}
.upgrade-key li{padding:13px 10px;border-bottom:1px solid var(--line);scroll-margin-top:95px;border-radius:5px;transition:background .2s}
.upgrade-key li:before{display:none}.upgrade-key li.selected-upgrade{background:#dcece2;outline:2px solid #477566}
.upgrade-number{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:var(--ink);color:white;font:500 13px Arial,sans-serif;flex-shrink:0}
.upgrade-key p{margin:5px 0 0;color:var(--muted);font-size:1rem;line-height:1.55}.context-note{display:block;font-size:.85rem;color:var(--muted);margin-top:6px}
.label-hint{font-size:.92rem;color:var(--muted);margin:14px 0 0}.return-photo{border:1px solid var(--ink);border-radius:30px;padding:10px 18px;margin:22px 0 8px;background:white;color:var(--ink)}
@media(max-width:550px){dialog.many-labels{width:98vw;max-width:98vw}.annotations .photo-tag{max-width:105px;padding:3px 4px;gap:3px;font-size:12px;min-height:32px}.photo-tag b{min-width:21px;height:21px;font-size:11px}.upgrade-key li{padding:12px 5px;gap:8px}dialog.many-labels .photo-stage img{max-height:none;width:100%}.label-hint{font-size:.88rem}}

dialog .photo-stage img{width:100%;max-height:none}dialog.many-labels .photo-stage img{max-height:none}

/* A calm, single-destination neighborhood explorer. */
.location-section{padding-top:85px;padding-bottom:70px}.location-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:30px;align-items:start}.location-map-card{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden;position:sticky;top:20px}.map-topline{padding:16px 24px;background:var(--ink);color:#fff;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.map-topline>span{font-size:.65rem;letter-spacing:.13em;color:#bcd1cb}.map-topline strong{font-weight:400;font-size:1.15rem}#neighborhood-map{width:100%;height:390px;border:0;display:block;background:#e0ebe3}.map-detail{padding:25px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 18px}.map-detail .eyebrow{font-size:.65rem;margin-bottom:10px}.map-detail h3{font-size:1.8rem;margin:0 0 8px}.map-detail p{font-size:.9rem;color:var(--muted);margin:0 0 14px}.map-detail #place-note,.map-route{grid-column:1/-1}.map-detail #place-note:empty{display:none}.distance-display{text-align:right;display:flex;flex-direction:column}.distance-display strong{font-size:2.9rem;font-family:'Cormorant Garamond',Georgia,serif;line-height:1;color:var(--green)}.distance-display span{font-size:.75rem;color:var(--muted);margin-top:6px}.map-route{padding-top:15px;border-top:1px solid var(--line);font-size:.93rem}.directory-hint{font-size:.94rem;color:var(--muted)}.location-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:19px}.location-filters button{border:1px solid var(--line);border-radius:30px;background:transparent;padding:8px 12px;min-height:40px;font-size:.8rem;color:var(--ink)}.location-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}#destination-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.destination-card{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;color:var(--ink);min-height:95px}.destination-card strong{font-weight:500;font-size:1.03rem;line-height:1.15;display:block}.destination-card small{display:block;font-size:.68rem;color:var(--muted);margin-top:7px}.destination-distance{font-size:.95rem;white-space:nowrap;color:var(--green)}.destination-card:hover{border-color:var(--green)}.destination-card[aria-pressed=true]{background:#e0ebe3;border:2px solid var(--green);padding:15px}.location-section>.source-note{margin-top:25px}.room-notes{margin-top:24px}.room-notes article+article{margin-top:25px}.room-notes h3{font-size:1.35rem;margin-bottom:10px}
@media(max-width:1050px){.location-layout{grid-template-columns:1fr}.location-map-card{position:static}#destination-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.location-section{padding-top:55px;padding-bottom:55px}#neighborhood-map{height:310px}#destination-list{grid-template-columns:1fr 1fr}.destination-card{padding:13px;gap:8px;flex-direction:column;align-items:flex-start}.destination-card[aria-pressed=true]{padding:12px}.map-detail{padding:20px}.map-topline{padding:15px 20px}.map-detail h3{font-size:1.6rem}.distance-display strong{font-size:2.5rem}.location-filters button{min-height:44px}.destination-card strong{font-size:.96rem}}
.analytics-consent{position:fixed;z-index:10000;bottom:18px;left:18px;right:18px;max-width:720px;margin:auto;padding:20px;background:#fff;color:#102b31;border:1px solid #477566;border-radius:12px;box-shadow:0 5px 35px #102b3140;font:16px/1.45 Georgia,serif}.analytics-consent p{margin-bottom:12px}.analytics-consent div{display:flex;gap:12px;flex-wrap:wrap}.analytics-consent button,#analytics-preferences{padding:10px 16px;min-height:44px;border:1px solid #102b31;border-radius:24px;background:#fff;color:#102b31}.analytics-consent button:first-child{background:#102b31;color:#fff}

.owner-note{padding-top:20px;padding-bottom:75px}.owner-note h2{max-width:800px}.owner-note .feature{border:1px solid var(--line);border-radius:12px;overflow:hidden}.owner-signoff{margin-top:24px}.contact p{max-width:850px}.contact-routing{margin-top:24px}.distance-origin{border-left:3px solid var(--green);padding-left:18px}.contact h2{max-width:950px}@media(max-width:550px){.owner-note{padding-bottom:55px}}

.place-source{grid-column:1/-1;font-size:.85rem;margin:0 0 16px}.place-source[hidden]{display:none}
.hero-copy .asking-price{display:flex;flex-direction:column;gap:4px;margin:24px 0 8px;color:var(--ink)}.asking-price span{font-size:1rem;letter-spacing:.06em}.asking-price strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.25rem,4vw,3.25rem);font-weight:600;line-height:1.15}

.hero-copy .hero-highlights{color:#174c32;font-size:clamp(1.1rem,2.1vw,1.4rem);font-weight:700;line-height:1.5;margin:0 0 24px}.hero-highlights strong{font-weight:700}.canonical-photo-link{display:inline-block;margin-top:10px;font-size:1rem}#hero-photo{scroll-margin-top:24px}

/* Consistent titles, stronger green accents and an easily closed collection. */
:root{--green:#174c32}
.eyebrow,.room-number,.distance-display strong,.destination-distance{color:var(--green);font-weight:700}
.eyebrow,.brand{text-transform:capitalize}
.top nav a,.primary,.photo-actions button,.view-heading,.room-title,.photo-tag span,.upgrade-key strong,.room-notes h3,figcaption,.feature>summary,.location-filters button,.viewer-head span,.return-photo{text-transform:capitalize}
.owner-note .feature>summary{text-transform:none}
.hero-highlights{text-transform:capitalize}
.contact{background:#edf3eb;color:var(--ink)}
.contact .eyebrow,.contact .reply-note{color:var(--green);font-weight:700}
.map-topline{background:#edf3eb;color:var(--ink)}
.map-topline>span{color:var(--green);font-weight:700;text-transform:capitalize}
.all-photos{background:#fff0dd;scroll-margin-top:20px}
#all-gallery figcaption{font-weight:700;color:#000}
.gallery-close-bar{position:sticky;top:8px;z-index:5;display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff0ddf5;border:1px solid #d5b78e;box-shadow:0 4px 14px #34220d18;border-radius:12px;padding:12px 16px;margin:0 0 24px}
.gallery-close-bar span{font-weight:700}
.gallery-close-bar button{border:1px solid var(--green);background:white;color:var(--green);font-weight:700;border-radius:24px;padding:10px 16px;min-height:44px}
@media(max-width:550px){.gallery-close-bar{top:6px;padding:10px}.gallery-close-bar span{display:none}.gallery-close-bar button{width:100%}.top nav{gap:8px 14px}}

/* Readable highlights, navigation and expandable owner notes on every screen. */
.hero-highlights strong{display:flex;flex-wrap:wrap;gap:6px 0}
.hero-highlights span{display:inline-block;white-space:nowrap}
.hero-highlights span:not(:last-child)::after{content:'·';display:inline-block;margin:0 10px}
.top nav{justify-content:flex-end;gap:10px 20px}
.top nav a{min-height:44px}
.personal-note-link{border:1px solid #ffffff80;border-radius:20px;padding:3px 12px}
#a-personal-note{scroll-margin-top:24px}
.owner-note .feature+.feature{margin-top:18px}
.owner-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}
.owner-detail{min-width:0;border-top:1px solid var(--line);padding-top:18px}
.owner-detail h3{font-size:1.3rem;font-weight:700;line-height:1.3;color:var(--green);margin-bottom:10px}
.owner-detail p{font-size:1.05rem;line-height:1.7;margin:0;overflow-wrap:break-word}
@media(max-width:850px){.top{flex-wrap:wrap}.top nav{justify-content:flex-start;width:100%}.owner-details{grid-template-columns:1fr;gap:20px}}
@media(max-width:550px){.hero-copy .hero-highlights{font-size:1.1rem;max-width:100%;line-height:1.55}.top nav{gap:6px 14px}.personal-note-link{padding:3px 10px}.owner-story .feature-body{padding:20px 16px}.owner-detail h3{font-size:1.18rem}.owner-detail p{font-size:1rem}.owner-note .feature>summary{font-size:1.08rem;line-height:1.45}.owner-details{margin-top:20px}}

.owner-detail>summary{font-size:1.2rem;font-weight:700;line-height:1.4;color:var(--green);display:flex;justify-content:space-between;gap:12px;min-height:44px;padding-bottom:10px}.owner-detail>summary::after{content:"+"}.owner-detail[open]>summary::after{content:"−"}.owner-details{align-items:start}.owner-detail>p{padding-top:8px}.owner-detail>summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}

/* Consistent oval navigation on desktop and mobile. */
.top nav a{border:1px solid #ffffff80;border-radius:999px;padding:6px 14px;text-align:center;justify-content:center}.top nav{gap:8px}.viewer-head #viewer-title{font-size:1.05rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}@media(max-width:550px){.top nav a{padding:6px 10px}.viewer-head{gap:12px}}

.destination-sort{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 18px;font-weight:700}.destination-sort select{max-width:100%;font:inherit;background:white;color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:10px 14px;min-height:44px}.distance-display strong.route-distance{font-size:1.2rem;max-width:95px;line-height:1.3}

.care .care-statement{font-size:clamp(1.5rem,2.5vw,2.3rem);line-height:1.5;color:var(--ink);margin:0}.owner-detail>p+p{margin-top:16px}

.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.inventory-category{min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff}.inventory-category>summary{display:flex;justify-content:space-between;gap:12px;padding:18px;font-weight:700;color:var(--green);min-height:56px}.inventory-category>summary:after{content:"+"}.inventory-category[open]>summary:after{content:"−"}.inventory-category ol{padding:0 24px 12px 42px;margin:0}.inventory-category li{padding:5px 0;overflow-wrap:anywhere}.inventory-category li ol{padding:8px 0 0 24px}.inventory-category>summary:focus-visible{outline:3px solid #d59235;outline-offset:3px}@media(max-width:680px){.inventory-grid{grid-template-columns:1fr}.inventory-category>summary{padding:16px}}

.destination-expand{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px}.destination-expand p{margin:0;font-size:.9rem;color:var(--muted)}.destination-expand button{border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fff;font:inherit;padding:10px 18px;min-height:44px}.destination-expand button[hidden]{display:none}@media(max-width:550px){.destination-expand button{width:100%}}

/* Persistent navigation with measured anchor clearance. */
:root{--site-header-height:130px}
html{scroll-padding-top:calc(var(--site-header-height) + 16px)}
.top{position:sticky;top:0;z-index:100;background:#102c50;color:#fff;box-shadow:0 3px 16px #102c5026;padding-top:14px;padding-bottom:14px}
.top .brand{flex-shrink:0}
.top nav a:hover{background:#ffffff18}
.hero h1.lifestyle-headline{font-size:clamp(2rem,3.5vw,3.65rem);line-height:1.15;letter-spacing:.005em;overflow-wrap:normal;text-wrap:balance}
main section[id],#a-personal-note{scroll-margin-top:0}
.gallery-close-bar{top:calc(var(--site-header-height) + 8px)}
@media(max-width:850px){.top{display:block;padding:10px 24px}.top .brand{margin:0 0 8px}.top nav{display:flex;flex-wrap:nowrap;overflow-x:auto;width:100%;gap:8px;justify-content:flex-start;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9bb6d0 #102c50;padding-bottom:5px}.top nav a{flex:0 0 auto;white-space:nowrap;min-height:44px}.hero h1.lifestyle-headline{font-size:clamp(1.85rem,5vw,3rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* A quiet invitation, shown anew on every visit and refresh. */
body.welcome-pending{overflow:hidden}
.welcome-pending #site-content{visibility:hidden}
.hero h1.lifestyle-headline{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;text-transform:none;font-style:normal;font-size:clamp(2.5rem,4vw,4.1rem);line-height:1.08;letter-spacing:-.018em}
#welcome-invitation{position:fixed;inset:0;margin:0;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:clamp(16px,4vw,48px);overflow:auto;background:radial-gradient(ellipse at 15% 10%,#fff9f6 0,transparent 46%),radial-gradient(ellipse at 90% 85%,#f5d5df 0,transparent 50%),#fbe9ee;color:#543a43;overscroll-behavior:contain}
#welcome-invitation[open]{display:grid;place-items:center}
#welcome-invitation::backdrop{background:#fbe9ee}
.invitation-card{position:relative;z-index:1;isolation:isolate;width:min(760px,100%);margin:auto;padding:60px clamp(22px,6vw,72px) 32px;text-align:center;border:1px solid #b98c78;border-radius:160px 160px 12px 12px;background:#fffaf8ee;box-shadow:0 18px 75px #81515d18,inset 0 0 65px #f8e1e72e}
.invitation-card::before{content:'';position:absolute;inset:9px;border:1px solid #dcbca8;border-radius:151px 151px 7px 7px;pointer-events:none;z-index:-1}
.invitation-close{position:absolute;top:19px;right:22px;border:1px solid #d9b8b9;border-radius:30px;padding:7px 13px;min-height:44px;background:#fffaf8;color:#704952;font-size:.9rem}.invitation-close span{font-size:1.3rem;margin-left:5px}
.invitation-ornament{color:#ac8566;font-size:1.35rem;letter-spacing:.2em;margin:4px 0 18px}
.invitation-kicker{font-family:Georgia,serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#916575;margin:0 0 18px}
#welcome-title{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.5rem,5.2vw,4.5rem);line-height:1.05;font-weight:500;letter-spacing:-.025em;color:#65404d;margin:0 0 20px}
.invitation-lead{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.35;color:#7b5260}
.invitation-rule{display:flex;align-items:center;justify-content:center;gap:16px;color:#b38a70;margin:24px auto;max-width:180px}.invitation-rule:before,.invitation-rule:after{content:'';height:1px;background:#d9bca9;flex:1}
#welcome-message{font:400 1.02rem/1.7 Georgia,serif;max-width:550px;margin:auto;color:#66515a}#welcome-message p{margin:0 0 16px}
.invitation-enter{display:block;margin:26px auto 10px;min-height:48px;padding:13px 28px;border:1px solid #8c596b;border-radius:99px;background:#805366;color:#fff;font:600 1rem Georgia,serif;box-shadow:0 5px 20px #80536618}.invitation-enter:hover{background:#684254}.invitation-enter span{margin-left:16px}.invitation-motion{border:0;background:transparent;color:#89616e;text-decoration:underline;text-underline-offset:4px;font-size:.8rem;min-height:44px;padding:10px}.bottom-ornament{margin:10px 0 0;font-size:1rem}
.welcome-stars{position:fixed;inset:0;overflow:hidden;pointer-events:none}.welcome-stars span{position:absolute;top:-10%;left:var(--x);font-size:var(--size);color:#b28e67;opacity:0;animation:invitation-fall var(--duration) var(--delay) linear infinite}
@keyframes invitation-fall{0%{transform:translate3d(0,-20px,0) rotate(0);opacity:0}15%{opacity:.8}75%{opacity:.55}100%{transform:translate3d(var(--drift),110vh,0) rotate(140deg);opacity:0}}
.motion-paused .welcome-stars span{animation-play-state:paused}
@media(max-width:550px){#welcome-invitation{padding:14px}.invitation-card{padding:64px 24px 22px;border-radius:95px 95px 12px 12px}.invitation-card::before{border-radius:86px 86px 7px 7px}.invitation-close{right:16px;top:13px}.invitation-kicker{font-size:.63rem;letter-spacing:.14em}#welcome-message{font-size:.93rem;line-height:1.6}.invitation-rule{margin:18px auto}.hero h1.lifestyle-headline{font-size:clamp(2.3rem,9vw,3.3rem)}}
@media(prefers-reduced-motion:reduce){.welcome-stars span{animation:none!important;top:var(--x);opacity:.25}.invitation-enter{transition:none}}

/* Jewel-toned holiday sparkles behind the opaque invitation card. */
#welcome-invitation .welcome-stars{z-index:0}
#welcome-invitation .welcome-stars span{color:var(--color,#c28b19);text-shadow:0 0 7px #fff9;filter:drop-shadow(0 1px 1px #fff8)}
@media(prefers-reduced-motion:reduce){#welcome-invitation .welcome-stars span{opacity:.5}}

/* Midnight-plum invitation with luminous holiday stars. */
#welcome-invitation{background:radial-gradient(ellipse at 15% 8%,#48334e 0,transparent 50%),radial-gradient(ellipse at 90% 90%,#253554 0,transparent 48%),#141421;color:#f7e9ef}
#welcome-invitation::backdrop{background:#141421}
#welcome-invitation .invitation-card{background:linear-gradient(145deg,#2c2438,#1d2030);border-color:#c9aa7b;box-shadow:0 24px 90px #0007,inset 0 0 70px #bd80980a}
#welcome-invitation .invitation-card::before{border-color:#a88a654d}
#welcome-invitation #welcome-title{color:#fff0f5;text-shadow:0 2px 20px #efbdce12}
#welcome-invitation .invitation-kicker{color:#dfc399}
#welcome-invitation .invitation-lead{color:#e7c2d1}
#welcome-invitation #welcome-message{color:#e0d7e3}
#welcome-invitation .invitation-ornament,#welcome-invitation .invitation-rule{color:#e2c28d}
#welcome-invitation .invitation-rule::before,#welcome-invitation .invitation-rule::after{background:#c5a47570}
#welcome-invitation .invitation-close{background:#30293c;color:#f4e5ed;border-color:#9e81965e}
#welcome-invitation .invitation-close:hover{background:#46354e}
#welcome-invitation .invitation-enter{background:#edcfdb;color:#302236;border-color:#f5dce6;box-shadow:0 5px 24px #e7a9ca24}
#welcome-invitation .invitation-enter:hover{background:#fbe5ee}
#welcome-invitation .invitation-motion{color:#ccb8cf}
#welcome-invitation .welcome-stars span{text-shadow:0 0 10px currentColor;filter:none}
/* Reserve image space so expanding rooms does not jump while photos load. */
.room,.room-photo-grid{overflow-anchor:none}
.photo-stage img{height:auto}
.upgrade-key .upgrade-points{display:block;list-style:disc;padding-left:1.25rem;margin:.75rem 0}
.upgrade-key ol.upgrade-points{list-style:decimal}
.upgrade-key .upgrade-points>li{display:list-item;background:none;border:0;padding:0;margin:.5rem 0;box-shadow:none}
.evidence-link{display:inline-block;border:1px solid #234c43;border-radius:999px;background:#eef5ef;color:#174b35;font:inherit;font-weight:700;padding:10px 16px;margin:8px 0;cursor:pointer;max-width:100%;white-space:normal;text-align:left}
.evidence-link:hover{background:#dcebe0}
#evidence-viewer{width:min(900px,94vw);max-height:92dvh;padding:22px;background:#fffdf8;color:#172d32}
#evidence-viewer::backdrop{background:rgba(10,18,25,.83)}
#evidence-title{font-size:1.35rem;margin:0}
.evidence-figure{margin:16px 0;text-align:center}
.evidence-figure img{display:block;max-width:100%;width:auto;height:auto;max-height:68dvh;object-fit:contain;margin:auto}
.evidence-figure figcaption{font-size:.9rem;overflow-wrap:anywhere;margin-top:12px;font-weight:700;color:#172d32}
.evidence-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px}
.evidence-navigation button{padding:10px 16px;border:1px solid #becdc6;border-radius:30px;background:#f1f5ed;font:inherit;color:#173f30;cursor:pointer}
.evidence-navigation button:disabled{opacity:.4;cursor:default}
@media(max-width:550px){#evidence-viewer{width:96vw;max-height:94dvh;padding:14px;border-radius:12px}#evidence-title{font-size:1.1rem}.evidence-figure img{max-height:66dvh}.evidence-navigation{gap:7px}.evidence-navigation button{padding:10px;font-size:.9rem}.upgrade-key .upgrade-points{padding-left:1.2rem}.evidence-link{font-size:.95rem}}
/* Browsers can suppress page content for printing, but cannot prevent screenshots. */
@media print{html,body{background:white!important;margin:0!important;padding:0!important;overflow:hidden!important}body>*{display:none!important}dialog,dialog::backdrop{display:none!important;background:transparent!important}*{box-shadow:none!important}@page{margin:0}}
/* Numbered, closed-by-default notes and home inventory. */
.owner-detail>summary,.inventory-category>summary{display:flex;align-items:baseline;gap:12px}
.section-index{font:700 .85rem/1.4 Arial,sans-serif;color:#174b35;min-width:24px;flex-shrink:0}
.note-statements{padding-left:1.6rem;margin:16px 0 20px;max-width:900px}
.note-statements>li{padding-left:6px;margin:0 0 12px;line-height:1.65;color:var(--muted);font-size:1.05rem}
.note-statements>li::marker,.inventory-category li::marker{color:#174b35;font-weight:700}
.inventory-category ol{padding-left:1.7rem}.inventory-category li{padding-left:5px;margin-bottom:9px}
.owner-detail>.evidence-link{margin:0 8px 14px 0}
@media(max-width:550px){.owner-detail>summary,.inventory-category>summary{gap:9px}.note-statements{padding-left:1.35rem}.note-statements>li{font-size:1rem;padding-left:3px}.owner-detail>.evidence-link{display:block;width:100%}}
.all-upgrades{background:#102b31;color:#fff;padding:65px 0}.all-upgrades p{max-width:850px}.all-upgrades .document-hint{font-size:.95rem;margin-top:12px;color:#d5e5df}
#evidence-viewer.document-viewer{width:min(1100px,96vw)}
#evidence-viewer.document-viewer .evidence-figure img{width:100%;max-height:none;height:auto}
#evidence-viewer.document-viewer .evidence-navigation{position:sticky;bottom:-22px;padding:12px 0;background:#fffdf8;z-index:4}
#evidence-viewer.document-viewer .viewer-head{top:-22px}
@media(max-width:550px){.all-upgrades{padding:42px 0}#evidence-viewer.document-viewer .viewer-head{top:-14px}#evidence-viewer.document-viewer .evidence-navigation{bottom:-14px}}
/* Suppress all website content, including open dialogs, in browser print output. */
@media print{html body,html body *{visibility:hidden!important}html body>*{display:none!important}html body{background:#fff!important}dialog::backdrop{display:none!important}}
/* Programmatic focus announces the main heading without a visible focus box. */
.lifestyle-headline[tabindex="-1"]:focus{outline:none;box-shadow:none}
