@font-face{font-family:'Gambetta';src:url('assets/fonts/gambetta-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Switzer';src:url('assets/fonts/switzer-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Switzer';src:url('assets/fonts/switzer-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
:root{--forest:#163d36;--forest-dark:#102f29;--ink:#203b34;--muted:#53645c;--paper:#fff;--wash:#f1f4f0;--line:#c8d2cb;--lime:#dbe6ab;--serif:'Gambetta',Georgia,serif;--sans:'Switzer',sans-serif;--gutter:clamp(1.25rem,5.55vw,6.5rem);--ease:cubic-bezier(.16,1,.3,1);--motion:220ms var(--ease)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem;scrollbar-color:#739082 #edf1ec}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button,summary{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #b36b31;outline-offset:5px}input,textarea{caret-color:var(--lime)}::selection{background:var(--lime);color:var(--forest)}.icon{width:1.25rem;height:1.25rem;flex-shrink:0;vertical-align:middle;transition:transform var(--motion)}a:hover>.icon,a:hover>span>.icon,button:hover>.icon{transform:translate(2px,-2px)}.skip-link{position:fixed;left:1rem;top:-6rem;padding:.8rem 1rem;background:#fff;z-index:1001}.skip-link:focus{top:1rem}
.site-header{padding:1.65rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;background:#fff}.wordmark{display:inline-block;font-family:var(--serif);font-size:2.2rem;line-height:1.08;white-space:nowrap;letter-spacing:-.035em}.wordmark span{display:block;font-family:var(--sans);font-size:.75rem;font-weight:400;line-height:1.5;letter-spacing:0;margin-top:.45rem}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.9rem}.site-header nav>a{position:relative;padding:.5rem 0}.site-header nav>a:not(.nav-contact):after{content:'';height:1px;background:currentColor;position:absolute;bottom:.25rem;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform var(--motion)}.site-header nav>a:hover:after{transform:scaleX(1)}.site-header nav .nav-contact{display:flex;align-items:center;gap:1.5rem;border:1px solid var(--forest);padding:.8rem 1.1rem;transition:color var(--motion),background var(--motion)}.nav-contact:hover{background:var(--forest);color:#fff}.menu-toggle{display:none}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(3.3rem,5.75vw,6rem);line-height:1.04}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.3rem;min-height:50px;padding:.9rem 1.25rem;font-size:.94rem;font-weight:500;border:0;transition:background var(--motion),box-shadow var(--motion)}.button-light{background:var(--lime);color:var(--forest);margin-top:2.25rem}.button-light:hover{background:#ecf3ce;box-shadow:0 5px 18px #061b2322}.button:active{box-shadow:none}
.section{padding:6rem var(--gutter)}h2{font-size:clamp(2.45rem,3.55vw,4rem)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:5rem}.intro-copy{max-width:36rem}.intro-copy .lead{font-size:1.25rem;font-weight:500;color:var(--ink);line-height:1.4}.intro-copy p+p{margin-top:1.2rem;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid #8b9c91;min-height:44px;padding:.6rem 0;font-size:.94rem;font-weight:500;transition:color var(--motion)}.text-link:hover{border-color:var(--forest);color:#346d48}.intro-copy .text-link{margin-top:1.25rem}
.map-section{padding:0 var(--gutter) 5rem}.map-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:2rem}.map-heading>p{max-width:22rem;color:var(--muted)}.map-toolbar{display:flex;align-items:center;gap:1.3rem;border-top:1px solid var(--line);padding:1rem 0}.map-views{display:flex;align-items:center;background:var(--wash);padding:4px;flex-shrink:0}.map-views button{background:none;border:0;min-height:44px;padding:.65rem 1rem;color:var(--muted);font-size:.875rem;transition:background var(--motion),color var(--motion)}.map-views button.is-active{background:var(--forest);color:#fff}.map-views button:not(.is-active):hover{background:#e2e8df;color:var(--ink)}.parcel-switch{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer;line-height:1.3;min-height:44px}.parcel-switch input{width:18px;height:18px;accent-color:var(--forest)}.parcel-key{width:13px;height:13px;border:1.5px solid #f333df}.property-picker{margin-left:auto;display:flex;align-items:center;gap:.65rem}.property-picker label{font-size:.875rem;color:var(--muted)}.property-picker select{font-size:.875rem;border:1px solid #acbdb2;background:#fff;border-radius:0;padding:.65rem 2rem .65rem .7rem;color:var(--ink);min-height:44px;max-width:15rem}.reset-map{background:none;border:0;font-size:.875rem;padding:.65rem 0 .65rem .5rem;min-height:44px;white-space:nowrap}.reset-map>span{margin-left:.7rem}.map-wrap{position:relative;background:#d6ded3;isolation:isolate}#site-map{height:650px;width:100%;z-index:1;font-family:var(--sans)}.map-loading{position:absolute;z-index:500;left:1.2rem;top:1.2rem;background:#fff;padding:.8rem 1rem;font-size:.875rem;max-width:min(28rem,75%);box-shadow:0 2px 20px #0001}.map-loading[hidden]{display:none}.map-location{position:absolute;bottom:2.5rem;left:1.5rem;z-index:500;background:var(--forest);color:#fff;padding:1.35rem 1.5rem;width:20rem;max-width:calc(100% - 3rem);box-shadow:0 4px 24px #0002}.map-location strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.75rem;line-height:1.2;letter-spacing:-.025em}.map-location p{font-size:.875rem;color:#e1e9e4;margin:.6rem 0 .9rem}.map-location>a{display:flex;align-items:center;justify-content:space-between;gap:1.1rem;min-height:35px;font-size:.875rem;color:var(--lime)}.map-footnote{display:flex;justify-content:space-between;gap:2rem;padding:1rem 0;font-size:.8rem;color:var(--muted);line-height:1.6}.map-footnote p:last-child{max-width:31rem;text-align:right}.map-footnote a{text-decoration:underline}.map-no-script{padding:1rem;background:var(--wash)}.leaflet-control-attribution{font-size:.75rem!important}.leaflet-control-zoom{border:0!important;box-shadow:0 2px 10px #0002!important}.leaflet-control-zoom a{color:var(--forest)!important;width:44px!important;height:44px!important;line-height:44px!important}.leaflet-control-scale-line{background:#fffd!important;font-size:12px!important}.map-wrap .leaflet-top{top:1rem}.map-wrap .leaflet-right{right:1rem}.parcel-label{font-family:var(--sans);font-size:.8rem;line-height:1.4;background:var(--forest);border:0;border-radius:0;color:#fff;padding:.45rem .7rem;box-shadow:0 2px 12px #0003}.parcel-label:before{border-top-color:var(--forest)!important}.leaflet-interactive:focus-visible{outline:3px solid #fff;outline-offset:4px}
.opportunities{background:var(--wash)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.section-heading>p{max-width:20rem;color:var(--muted);font-size:1rem}.property-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:4rem;align-items:start}.property-image{position:relative;background:var(--forest-dark);min-height:510px;overflow:hidden}.property-image img{width:100%;height:510px}.property-image:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(10,37,29,.8))}.property-image figcaption{position:absolute;bottom:1.5rem;left:1.6rem;z-index:1;color:#fff;font-family:var(--serif);font-size:1.9rem;text-shadow:0 1px 4px #102f29}.property-list{border-top:1px solid #a7b8ac}.property-list details{border-bottom:1px solid #bbc9bf}.property-list summary{display:flex;gap:1rem;align-items:center;padding:1.45rem 0;list-style:none}.property-list summary::-webkit-details-marker{display:none}.property-title{flex:1;font-family:var(--serif);font-size:1.8rem;line-height:1.35;letter-spacing:-.025em}.property-title>span{display:block;font-family:var(--sans);font-size:.8rem;line-height:1.5;letter-spacing:.015em;margin-top:.65rem;color:var(--muted)}.expand{position:relative;width:30px;height:30px;flex-shrink:0;transition:transform var(--motion)}.expand:before,.expand:after{content:'';position:absolute;width:15px;height:1px;background:var(--ink);left:7px;top:14px}.expand:after{transform:rotate(90deg);transition:transform var(--motion)}details[open] .expand:after{transform:rotate(0)}summary:hover .property-title{color:#346d48}.property-detail{padding:0 2rem 1.5rem 0}.property-detail p{color:var(--muted);font-size:1rem;line-height:1.7;max-width:38rem}.property-detail .text-link{margin-top:.7rem}.availability-note{font-size:.8rem;line-height:1.65;color:var(--muted);padding-top:1.3rem}.availability-note a{text-decoration:underline}
.place{display:grid;grid-template-columns:.88fr 1.12fr;gap:5rem;align-items:center}.place-copy>p{color:var(--muted);margin-top:1.5rem;max-width:31rem}.place-copy .text-link{margin-top:1.3rem}.place-address{margin-top:2.3rem;border-top:1px solid var(--line);display:flex;gap:2.5rem;padding-top:1.4rem;max-width:31rem}.place-address>span{font-size:.875rem;color:var(--muted);padding-top:.1rem}.place-address p{font-size:1rem;line-height:1.6}.place-image img{width:100%;height:430px;object-position:42% center}.place-image figcaption{margin-top:.8rem;font-size:.8rem;color:var(--muted)}
.contact{background:var(--forest);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:6rem;align-items:start}.contact h2{font-size:clamp(3rem,4.5vw,5rem)}.contact-intro>p{color:#d5e2d9;max-width:29rem;margin-top:1.6rem;font-size:1.05rem}
.site-footer{padding:3rem var(--gutter) 1.5rem}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:3rem}.footer-top>p{font-family:var(--serif);font-size:1.35rem;color:var(--muted)}.back-top{font-size:.875rem;display:flex;align-items:center;gap:1.3rem;min-height:44px}.footer-bottom{margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:2rem;font-size:.8rem;color:var(--muted)}.footer-bottom>div{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.footer-bottom a:hover{text-decoration:underline}.footer-bottom .icon{width:1rem;height:1rem}
@keyframes show-property{from{opacity:.45;translate:0 5px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:no-preference){details[open] .property-detail{animation:show-property 240ms var(--ease)}.map-location.is-changing{animation:show-property 220ms var(--ease)}}
@media(min-width:1600px){.section{padding-top:7rem;padding-bottom:7rem}.property-image,.property-image img{height:560px;min-height:560px}}
@media(max-width:1200px){.site-header nav{gap:1.15rem}.map-toolbar{flex-wrap:wrap;gap:.8rem 1.3rem}.property-picker{margin-left:0}.reset-map{margin-left:auto}.contact{gap:3rem}.property-layout{gap:2.5rem}.intro,.place{gap:3rem}.property-title{font-size:1.65rem}.wordmark{font-size:1.9rem}}
@media(max-width:960px){.site-header nav{gap:1rem;font-size:.875rem}.site-header nav .nav-contact{gap:.8rem;padding:.7rem}.site-header{gap:1.2rem}.section-heading>p{max-width:16rem}.map-heading>p{max-width:18rem}}
@media(max-width:960px){html{scroll-padding-top:1rem}.site-header{padding:1.25rem var(--gutter);flex-wrap:wrap;gap:0}.wordmark{font-size:1.9rem}.wordmark span{font-size:.75rem}.menu-toggle{display:flex;gap:.85rem;align-items:center;border:0;background:transparent;font-size:.875rem;min-height:44px;padding:.6rem 0 .6rem .6rem}.menu-glyph{position:relative;width:20px;height:20px}.menu-glyph:before,.menu-glyph:after{position:absolute;content:'';height:1px;width:17px;left:0;background:var(--forest);top:6px;transition:transform var(--motion)}.menu-glyph:after{top:13px}.menu-toggle[aria-expanded=true] .menu-glyph:before{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-glyph:after{transform:translateY(-4px) rotate(-45deg)}.site-header nav{display:none;flex-basis:100%;padding:1.2rem 0 .2rem;flex-direction:column;align-items:stretch;gap:0}.site-header nav.is-open{display:flex}.site-header nav>a{padding:.8rem 0}.site-header nav .nav-contact{margin-top:.6rem;padding:.75rem 1rem;justify-content:space-between}h1{font-size:clamp(3.1rem,9.5vw,4.8rem)}.section{padding:4rem var(--gutter)}.intro{grid-template-columns:1fr;gap:2rem}h2{font-size:clamp(2.2rem,7.3vw,3rem)}.map-section{padding:0 var(--gutter) 3.5rem}.map-heading{display:block;margin-bottom:1.5rem}.map-heading>p{max-width:34rem;margin-top:1.25rem}.map-toolbar{gap:.75rem}.map-views{flex:1}.map-views button{flex:1}.parcel-switch{order:3;flex:1}.property-picker{order:2;width:100%;justify-content:space-between}.property-picker select{max-width:none;min-width:0;width:72%}.reset-map{order:4;padding-left:.5rem}.parcel-key{display:none}#site-map{height:540px}.map-location{left:1rem;bottom:2.5rem;padding:1rem;width:18.5rem;max-width:calc(100% - 2rem)}.map-location strong{font-size:1.5rem}.map-footnote{display:block;font-size:.8rem}.map-footnote p:last-child{max-width:none;text-align:left;margin-top:.65rem}.map-wrap .leaflet-right{right:.3rem}.map-wrap .leaflet-top{top:.3rem}.leaflet-control-attribution{max-width:90vw!important}.section-heading{display:block;margin-bottom:2rem}.section-heading>p{max-width:33rem;margin-top:1.25rem}.property-layout{grid-template-columns:1fr;gap:2rem}.property-image{min-height:280px}.property-image img{height:300px}.property-title{font-size:1.6rem}.property-title>span{font-size:.8rem}.property-detail{padding-right:.7rem}.place{grid-template-columns:1fr;gap:2.5rem}.place-copy>p{max-width:35rem}.place-image img{height:330px}.place-address{max-width:none;gap:1.7rem}.contact{grid-template-columns:1fr;gap:2.6rem}.contact h2{font-size:clamp(2.7rem,8vw,3.6rem)}.footer-top{flex-wrap:wrap;gap:1.7rem}.footer-top>p{order:3;width:100%;font-size:1.25rem}.footer-bottom{display:block;margin-top:1.5rem}.footer-bottom>div{margin-top:.75rem;align-items:flex-start;gap:.6rem}.back-top{margin-left:auto}.site-footer{padding:2.5rem var(--gutter) 1.5rem}}
@media(max-width:380px){h1{font-size:2.8rem}.wordmark{font-size:1.7rem}.wordmark span{font-size:.75rem}.menu-toggle{font-size:.8rem;gap:.5rem}.map-location{width:17rem}.parcel-switch{font-size:.8rem}.property-picker select{font-size:.8rem}.footer-top{gap:1rem}.back-top{gap:.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}

h1,h2,h3{letter-spacing:-.025em}.property-title>span{font-size:.875rem}

.availability-note{max-width:72ch}.map-footnote p{max-width:70ch}.footer-bottom{align-items:flex-start}.footer-bottom>div{max-width:70ch}.footer-bottom a{max-width:70ch}

/* A landscape-led entrance with readable type over the real site. */
.site-header nav{gap:clamp(.85rem,1.55vw,1.75rem)}
.hero{position:relative;isolation:isolate;display:flex;min-height:670px;height:calc(100svh - 108px);max-height:920px;background:var(--forest-dark);color:#fff;overflow:hidden}
.hero-image{position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--forest-dark)}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:65% 52%}
.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,31,24,.92) 0%,rgba(8,31,24,.74) 32%,rgba(8,31,24,.18) 75%),linear-gradient(0deg,rgba(8,31,24,.8),transparent 30%)}
.hero-content{width:100%;display:flex;flex-direction:column;justify-content:center;padding:3.5rem var(--gutter) 3rem}
.hero-copy{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:0}
.hero h1{font-size:clamp(3.5rem,7.05vw,7.5rem);line-height:1.01;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 2px 28px #071b1520}
.hero-line{display:block}.hero-line-accent{color:var(--lime);margin-top:.1em}
.hero-description{max-width:28rem;color:#f0f3ed;font-size:1.08rem;line-height:1.7;margin-top:1.8rem;text-wrap:pretty}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;margin-top:2rem}
.hero-actions .button-light{margin:0;min-height:56px;padding:1rem 1.3rem;gap:1.8rem}
.hero-secondary{display:inline-flex;gap:1rem;align-items:center;min-height:50px;border-bottom:1px solid #dbe6ab80;font-size:.94rem;font-weight:500}
.hero-secondary:hover{color:var(--lime);border-color:var(--lime)}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid #ffffff50;padding-top:1.35rem;margin-top:3rem;font-size:.83rem;color:#eef2e6}
.hero-bottom p{display:flex;flex-wrap:wrap;gap:.75rem}.hero-bottom p>span{color:#cbd5b4}
.hero-bottom>a{display:flex;align-items:center;gap:1.5rem;min-height:32px;white-space:nowrap}
.hero-credit{position:absolute;right:var(--gutter);bottom:.65rem;font-size:.75rem;line-height:1.4;color:#e7ece0}
.hero a:focus-visible{outline-color:var(--lime)}
.gallery{padding-top:0}.gallery .section-heading{align-items:flex-start;margin-bottom:2.5rem}.gallery .section-heading>p{max-width:23rem}
.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:1.5rem}
.gallery-photo{min-width:0}.gallery-photo img{width:100%;height:300px;object-fit:cover;background:var(--wash)}
.gallery-photo figcaption{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding-top:1.2rem}
.gallery-photo h3{font-size:1.55rem;letter-spacing:-.02em;line-height:1.2}.gallery-photo figcaption p{font-size:.82rem;color:var(--muted);margin-top:.45rem}
.gallery-photo figcaption a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);flex-shrink:0;transition:background var(--motion)}
.gallery-photo figcaption a:hover{background:var(--lime);border-color:var(--lime)}
.gallery-credit{font-size:.75rem;color:var(--muted);margin-top:1.5rem}
.property-image img{aspect-ratio:16/10;object-position:50% 50%}.property-image figcaption{max-width:calc(100% - 3.2rem)}
@media(min-width:1600px){.hero-content{padding-top:4rem;padding-bottom:3.5rem}.gallery-photo img{height:370px}}
@media(max-width:1100px){.hero h1{font-size:clamp(3.5rem,7.4vw,6rem)}.hero-bottom p{gap:.5rem}.gallery-grid{gap:1rem}.gallery-photo img{height:250px}.gallery-photo h3{font-size:1.35rem}.gallery-photo figcaption{gap:.5rem}}
@media(max-width:960px){.hero{min-height:690px;height:auto;max-height:none}.hero-content{padding:3rem var(--gutter) 3.3rem}.hero-copy{min-height:490px}.hero h1{font-size:clamp(3.2rem,8.2vw,5.8rem)}.hero-description{font-size:1rem;max-width:26rem}.hero-bottom{font-size:.8rem;margin-top:2.5rem;gap:1.5rem}.hero-bottom p{max-width:27rem}.hero-image img{object-position:63% center}.hero:before{background:linear-gradient(90deg,rgba(8,31,24,.89),rgba(8,31,24,.63) 55%,rgba(8,31,24,.28)),linear-gradient(0deg,rgba(8,31,24,.8),transparent 35%)}.gallery{padding-top:0}.gallery .section-heading{display:block}.gallery-grid{grid-template-columns:1fr 1fr;gap:2rem 1.25rem}.gallery-photo-wide{grid-column:1/-1}.gallery-photo img{height:270px}.gallery-photo-wide img{height:330px}.gallery-photo h3{font-size:1.5rem}.gallery-credit{margin-top:2rem}}
@media(max-width:600px){.hero{min-height:710px}.hero-content{padding-top:2.5rem;padding-bottom:3rem}.hero-copy{min-height:0;justify-content:flex-start}.hero h1{font-size:clamp(2.2rem,11.5vw,4.4rem);letter-spacing:-.035em}.hero-description{max-width:24rem;font-size:1rem;margin-top:1.5rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:1.75rem}.hero-actions .button-light{min-height:54px;font-size:.9rem}.hero-secondary{font-size:.9rem}.hero-bottom{flex-direction:column;align-items:flex-start;gap:.8rem;margin-top:2.5rem;padding-top:1rem;font-size:.76rem}.hero-bottom p{gap:.4rem .6rem;max-width:22rem}.hero-bottom>a{gap:.8rem}.hero-credit{left:var(--gutter);right:var(--gutter);font-size:.75rem}.hero-image img{object-position:64% center}.hero:before{background:linear-gradient(90deg,rgba(8,31,24,.86),rgba(8,31,24,.54)),linear-gradient(0deg,rgba(8,31,24,.92),transparent 60%)}.gallery-grid{grid-template-columns:1fr;gap:2rem}.gallery-photo-wide{grid-column:auto}.gallery-photo img,.gallery-photo-wide img{height:auto;aspect-ratio:16/10}.gallery-photo h3{font-size:1.65rem}.gallery .section-heading{margin-bottom:2rem}.gallery .section-heading>p{margin-top:1rem}}
@media(prefers-reduced-motion:no-preference){.hero-image img{animation:hero-reveal 1500ms var(--ease) both}.hero-copy{animation:none}.hero-line{animation:hero-copy-in 950ms var(--ease) both}.hero-line-accent{animation-delay:90ms}.hero-description{animation:hero-copy-in 850ms var(--ease) 180ms both}.hero-actions{animation:hero-copy-in 800ms var(--ease) 260ms both}.hero-bottom{animation:hero-detail-in 850ms var(--ease) 350ms both}}
@keyframes hero-reveal{from{transform:scale(1.045);opacity:.7}to{transform:scale(1);opacity:1}}
@keyframes hero-copy-in{from{opacity:.15;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes hero-detail-in{from{opacity:.25}to{opacity:1}}

/* Source context stays next to the map decision, not buried below it. */
.map-context-note{font-size:.875rem;color:var(--ink);margin-bottom:1rem;line-height:1.6}.map-context-note>span{display:block;color:var(--muted)}.map-location .map-parcel-note{font-size:.8rem;border-top:1px solid #688579;padding-top:.75rem;margin:.85rem 0 .2rem;color:#e1e9e4}.map-location #map-plan-link{font-weight:500}@media(max-width:960px){.map-location{bottom:2.5rem}.map-context-note{font-size:.8rem}}

/* Keep the property panel clear of the boundary geometry. */
.map-location{position:relative;left:auto;bottom:auto;width:100%;max-width:none;display:grid;grid-template-columns:minmax(12rem,1fr) minmax(16rem,1.4fr) auto;gap:.4rem 2rem;align-items:start;box-shadow:none}
.map-location strong{grid-column:1;grid-row:1}.map-location #map-property-description{grid-column:1;grid-row:2;margin:0}
.map-location #map-property-link{grid-column:3;grid-row:1}.map-location #map-plan-link{grid-column:3;grid-row:2}
.map-location .map-parcel-note{grid-column:2;grid-row:1/span 2;border:0;margin:0;padding:0}
.map-context-note{max-width:75ch}
@media(max-width:960px){.map-location{position:relative;left:auto;bottom:auto;display:block;width:100%;max-width:none;padding:1.25rem}.map-location #map-property-description{margin:.6rem 0}.map-location .map-parcel-note{margin:.75rem 0}.map-location>a{justify-content:flex-start}}

/* Independent editorial identity, with one discreet designer credit. */
[hidden]{display:none!important}
.official-contact{padding-left:3rem;border-left:1px solid #688579}.official-contact h3{font-size:2.1rem;line-height:1.25}.official-contact p{max-width:30rem;margin-top:1.25rem;color:#d5e2d9}.official-contact .contact-source{font-size:.875rem}
.footer-disclosure,.imagery-source{font-size:.8125rem;line-height:1.65;color:var(--muted);max-width:95ch;margin-top:1.2rem}.imagery-source{margin-top:.75rem}.imagery-source a{text-decoration:underline}
.property-detail .text-link{margin-right:.5rem}.hero-credit{max-width:calc(100% - 2 * var(--gutter))}
.hero-image img{object-position:62% center}.gallery-photo img{aspect-ratio:14/9}.property-image img{object-position:center}
@media(max-width:960px){.official-contact{padding:2rem 0 0;border-left:0;border-top:1px solid #688579}.official-contact h3{font-size:1.8rem}}
@media(max-width:600px){.contact h2{font-size:clamp(2rem,9.8vw,3.6rem)}}

/* Quiet feedback keeps the landscape and the visitor's next action in focus. */
:root{--motion-fast:160ms var(--ease);--motion-image:700ms var(--ease)}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--forest);outline-offset:5px}
.hero a:focus-visible,.contact a:focus-visible,.contact button:focus-visible,.map-location a:focus-visible{outline-color:var(--lime)}
.site-header nav>a:not(.nav-contact):after{transform-origin:right;transition:transform 300ms var(--ease)}
.site-header nav>a:not(.nav-contact):is(:hover,:focus-visible):after{transform:scaleX(1);transform-origin:left}
.button,.site-header nav .nav-contact{transition:background var(--motion),color var(--motion),border-color var(--motion),translate var(--motion-fast),box-shadow var(--motion)}
.button-light:hover{box-shadow:none}
.button:disabled{cursor:not-allowed;opacity:.65}
.button:disabled:hover{background:var(--lime);box-shadow:none}
.button:disabled .icon{transform:none}
.button:not(:disabled):active,.nav-contact:active,.gallery-photo figcaption a:active{translate:0 1px}
.text-link{transition:color var(--motion),border-color var(--motion)}
.hero-secondary{transition:color var(--motion),border-color var(--motion)}
.gallery-photo-media,.place-photo-media{overflow:hidden;background:var(--wash)}
.hero-image picture{display:block;height:100%}
.gallery-photo{position:relative}
.gallery-photo figcaption a:after{content:'';position:absolute;inset:0;z-index:1}
.gallery-photo-media img,.place-photo-media img{transition:transform var(--motion-image);transform-origin:center}
.gallery-photo figcaption a{transition:background var(--motion),border-color var(--motion),color var(--motion),translate var(--motion-fast)}
.gallery-photo:focus-within figcaption a{background:var(--lime);border-color:var(--lime)}
.property-image .property-image-previous{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.property-list summary{transition:background var(--motion)}
.property-title{transition:color var(--motion)}
.property-list summary:focus-visible .property-title{color:#346d48}
.expand{transition:background var(--motion),transform var(--motion)}
.property-list summary:is(:hover,:focus-visible) .expand{background:#dbe6ab80}
.property-list summary:active .expand{transform:scale(.9)}
.property-picker select{transition:border-color var(--motion),background var(--motion)}
.property-picker select:is(:hover,:focus-visible){border-color:var(--forest);background:#fafcf7}
.parcel-switch input{outline-offset:3px}
.reset-map{transition:color var(--motion)}
.reset-map:is(:hover,:focus-visible){color:#346d48}
.reset-map:hover>span>.icon{transform:rotate(-35deg)}
.map-views button:active{background:#cad7c7}
.map-views button.is-active:active{background:var(--forest-dark)}
.leaflet-control-zoom a{transition:background var(--motion),color var(--motion)}
.leaflet-control-zoom a:hover{background:var(--lime)!important}
.leaflet-control-zoom a:active{background:#c9d892!important}
.hero-bottom>a:hover .icon{transform:translateY(3px)}
.back-top:hover .icon{transform:translateY(-3px)}
.back-top,.studio-credit{transition:color var(--motion)}
.back-top:is(:hover,:focus-visible){color:#346d48}
.studio-credit{display:inline-flex;align-items:center;gap:.45rem;width:fit-content;min-height:32px;text-decoration:none!important;background:linear-gradient(currentColor,currentColor) left calc(100% - 5px)/0 1px no-repeat;transition:color var(--motion),background-size 300ms var(--ease)}
.studio-credit:is(:hover,:focus-visible){color:var(--forest);background-size:100% 1px}
.studio-credit .icon{width:.95rem;height:.95rem}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.gallery-photo:is(:hover,:focus-within) .gallery-photo-media img,.place-image:hover .place-photo-media img{transform:scale(1.035)}.button:not(:disabled):hover,.site-header nav .nav-contact:hover{translate:0 -2px}.button:not(:disabled):active,.site-header nav .nav-contact:active{translate:0 1px}}
@media(prefers-reduced-motion:no-preference){
  .reveal-ready{opacity:0;translate:0 16px;transition:opacity 650ms var(--ease),translate 750ms var(--ease);transition-delay:var(--reveal-delay,0ms)}
  .reveal-ready.is-revealed,.reveal-ready:focus-within{opacity:1;translate:0 0}
  .reveal-ready:focus-within{transition-delay:0ms}
  .gallery-photo.reveal-ready{translate:0 24px}
  .gallery-photo.reveal-ready.is-revealed,.gallery-photo.reveal-ready:focus-within{translate:0 0}
}
@keyframes menu-enter{from{opacity:.4;translate:0 -8px}to{opacity:1;translate:0 0}}
@media(max-width:960px) and (prefers-reduced-motion:no-preference){.site-header nav.is-open{animation:menu-enter 250ms var(--ease)}.site-header nav.is-open>a{animation:menu-enter 300ms var(--ease) both}.site-header nav.is-open>a:nth-child(2){animation-delay:30ms}.site-header nav.is-open>a:nth-child(3){animation-delay:60ms}.site-header nav.is-open>a:nth-child(4){animation-delay:90ms}.site-header nav.is-open>a:nth-child(5){animation-delay:120ms}.site-header nav.is-open>a:nth-child(6){animation-delay:150ms}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}
  .reveal-ready,.reveal-ready.is-revealed,.hero-line,.hero-description,.hero-actions,.hero-bottom{opacity:1!important;translate:none!important}
  .button,.nav-contact,.gallery-photo figcaption a,.property-image figcaption{translate:none!important}
  .hero-image img,.gallery-photo-media img,.place-photo-media img,.expand,.icon{transform:none!important}
}

/* Property guides share the site's type, imagery and clear source links. */
.breadcrumbs{display:flex;gap:.8rem;flex-wrap:wrap;padding:1.7rem var(--gutter) 0;font-size:.875rem;color:var(--muted)}
.breadcrumbs a{text-decoration:underline}
.property-page-intro{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:4rem;padding-top:3rem;padding-bottom:4rem}
.property-page-intro h1{font-size:clamp(3rem,5.1vw,5.5rem)}
.property-page-intro>div{min-width:0}
.property-page-lead{font-size:1.1rem;line-height:1.65;max-width:40ch;margin-top:1.6rem;color:var(--muted)}
.property-page-intro .text-link{margin-top:1.5rem}
.property-page-photo{min-width:0}.property-page-photo img{width:100%;height:400px}
.property-page-photo figcaption{font-size:.8rem;color:var(--muted);margin-top:.7rem}
.property-page-body{padding-top:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:6rem;align-items:start}
.property-page-copy{max-width:70ch}.property-page-copy h2{font-size:2.5rem}
.property-page-copy p{margin-top:1.4rem;color:var(--muted)}.property-page-copy h2:not(:first-child){margin-top:3rem}
.property-page-copy ul{padding-left:1.2rem;margin-top:1.3rem;color:var(--muted)}.property-page-copy li+li{margin-top:.85rem}
.property-page-copy .property-review-date{font-size:.8rem;margin-top:2rem}
.property-page-facts{background:var(--wash);padding:2rem}.property-page-facts h2{font-size:2rem}
.property-page-facts dl{margin:1rem 0}.property-page-facts dl>div{padding:.9rem 0;border-bottom:1px solid var(--line)}
.property-page-facts dt{font-size:.8rem;color:var(--muted)}.property-page-facts dd{margin:.25rem 0 0;font-size:1rem}
.property-page-facts .text-link{display:flex;font-size:.875rem;gap:1rem}.property-page-facts>p{font-size:.9rem;color:var(--muted);margin-top:1.5rem}
.property-page-facts .button{width:100%;gap:1rem;margin-top:1.5rem}
.property-related{background:var(--wash)}.property-related h2{font-size:clamp(2.2rem,3.4vw,3.4rem)}
.property-related nav{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;margin-top:2rem}
.property-related nav>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line);transition:color var(--motion)}
.property-related nav>a:hover{color:#346d48}.property-related small{display:block;color:var(--muted);margin-top:.25rem;font-size:.8rem}
.property-guide-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:.7rem}
.property-guide-links a{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;font-size:.875rem;text-decoration:underline;color:var(--ink)}
.property-guide-links .icon{width:1rem;height:1rem}
.map-toolbar :disabled{cursor:wait;opacity:.6}
.not-found{min-height:50vh}.not-found p{max-width:50ch;margin:1.5rem 0}
@media(max-width:960px){.property-page-intro{grid-template-columns:1fr;gap:2.5rem}.property-page-intro h1{font-size:clamp(2.8rem,8vw,4rem)}.property-page-photo img{height:auto;aspect-ratio:16/10}.property-page-body{grid-template-columns:1fr;gap:2.5rem}.property-page-facts{padding:1.5rem}.property-related nav{grid-template-columns:1fr}.property-page-copy h2{font-size:2.2rem}}
@media(max-width:600px){.property-page-intro h1{font-size:clamp(2.3rem,8.4vw,3rem)}}
