/* Source credits have one home; property captions describe the place. */
.footer-credits{margin-top:1rem;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted)}
.footer-credits summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;list-style:none}
.footer-credits summary::-webkit-details-marker{display:none}
.footer-credits summary:after{content:'+';font-size:1.2rem;color:var(--forest)}
.footer-credits[open] summary:after{content:'−'}
.footer-credits .imagery-source{margin-top:0;max-width:95ch}
.footer-map-links{margin:.7rem 0 1rem}
.footer-map-links a{text-decoration:underline;display:inline-block;min-height:32px}
.map-help{padding-top:1rem;color:var(--muted);font-size:.8125rem;line-height:1.6}
.map-interaction{position:absolute;top:1rem;left:1rem;z-index:600;min-height:44px;padding:.6rem 1rem;background:#fff;color:var(--forest);border:1px solid var(--line);border-radius:4px;box-shadow:0 2px 12px #102f2920;font-size:.875rem;font-weight:500}
.map-interaction[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:#fff}
.map-interaction:not([hidden])~.map-loading{top:4.5rem}
.property-inline-image{display:none}
.property-page-facts{grid-column:2;grid-row:1}
.property-page-copy{grid-column:1;grid-row:1}
@media(pointer:coarse){
  #site-map:not(.is-map-interactive){touch-action:pan-y}
  #site-map.is-map-interactive{touch-action:none}
}
@media(max-width:960px){
  html{scroll-padding-top:7rem}
  .site-header{position:sticky;top:0;z-index:1000;padding:1rem var(--gutter);border-bottom:1px solid #163d3610;box-shadow:0 3px 18px #102f2906}
  .menu-toggle{min-width:44px;min-height:44px;gap:.6rem}
  .site-header nav{position:absolute;top:100%;left:0;right:0;padding:1rem var(--gutter) 1.25rem;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 18px #102f290a;grid-template-columns:1fr 1fr;gap:.4rem 1.5rem;max-height:calc(100svh - 90px);overflow-y:auto}
  .site-header nav.is-open{display:grid}
  .site-header nav>a{display:flex;align-items:center;min-height:48px;padding:.5rem 0;border-bottom:1px solid var(--line);font-size:1rem}
  .site-header nav .nav-contact{grid-column:1/-1;margin-top:.5rem;min-height:48px;background:var(--forest);color:#fff;border-color:var(--forest);padding:.65rem 1rem}
  .hero{min-height:0;height:auto}
  .hero-content{min-height:clamp(560px,calc(100svh - 90px),720px);padding:3rem var(--gutter) 1.6rem}
  .hero-copy{min-height:0;padding:0;justify-content:center}
  .hero-bottom{gap:1rem;margin-top:2rem;padding-top:1rem}
  .hero-cycle-toggle{width:44px;height:44px}
  .hero-map-link{min-height:44px}
  .intro{gap:1.5rem}
  .gallery-grid{gap:2rem 1.25rem}
  .gallery-photo figcaption a{width:44px;height:44px}
  .map-heading{margin-bottom:1rem}
  .map-context-note{margin-bottom:1rem}
  .map-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;padding:1rem 0}
  .map-views{grid-column:1/-1;width:100%;border-radius:5px;padding:4px}
  .map-views button{min-height:44px;font-size:.9375rem;border-radius:3px}
  .property-picker{grid-column:1/-1;order:2;display:block;width:100%}
  .property-picker label{display:block;margin-bottom:.4rem;font-size:.8125rem}
  .property-picker select{display:block;width:100%;max-width:none;min-height:50px;padding:.7rem 2rem .7rem .8rem;font-size:1rem;border-radius:4px}
  .parcel-switch{order:3;min-width:0;font-size:.875rem;gap:.6rem}
  .parcel-switch input{width:20px;height:20px;margin:0;flex-shrink:0}
  .reset-map{order:4;min-height:44px;padding:.6rem 0;font-size:.875rem}
  .reset-map>span{margin-left:.4rem}
  #site-map{height:clamp(320px,52svh,440px)}
  .map-wrap{border-radius:6px;overflow:hidden}
  .map-location{position:relative;left:auto;bottom:auto;width:auto;max-width:none;padding:1.25rem;box-shadow:none}
  .map-location strong{font-size:1.65rem}
  .map-location p{font-size:.875rem;margin:.45rem 0 .65rem}
  .map-location>a{min-height:44px;font-size:.9375rem}
  .map-location .map-parcel-note{margin-top:.8rem;padding-top:.8rem}
  .map-wrap .leaflet-top{top:.5rem}.map-wrap .leaflet-right{right:.5rem}
  .property-layout{gap:0}
  .property-layout>.property-image{display:none}
  .property-list summary{min-height:84px;padding:1.2rem 0;gap:1rem;align-items:flex-start}
  .property-title{font-size:1.6rem;line-height:1.2}
  .property-title>span{font-size:.8125rem;line-height:1.55;margin-top:.6rem}
  .expand{width:36px;height:36px;margin-top:.1rem;border:1px solid #a7b8ac;border-radius:50%}
  .expand:before,.expand:after{left:10px;top:17px}
  details[open] .expand{background:var(--forest);border-color:var(--forest)}
  details[open] .expand:before,details[open] .expand:after{background:var(--lime)}
  .property-detail{padding:0 0 1.4rem}
  .property-inline-image{display:block;overflow:hidden;margin:.1rem 0 1.1rem;border-radius:4px}
  .property-inline-image img{width:100%;height:auto;aspect-ratio:16/10}
  .property-guide-links{display:grid;gap:.35rem;margin-top:.85rem}
  .property-guide-links a{display:flex;justify-content:space-between;gap:1rem;min-height:48px;padding:.65rem .8rem;background:#fff;border:1px solid var(--line);border-radius:3px;text-decoration:none}
  .property-guide-links a:active{background:var(--lime)}
  .property-page-facts{grid-column:1;grid-row:1;padding:1.4rem;border-radius:5px}
  .property-page-copy{grid-column:1;grid-row:2}
  .property-page-intro{gap:1.75rem;padding-top:2rem;padding-bottom:2.5rem}
  .property-page-lead{font-size:1rem;margin-top:1.2rem}
  .property-page-intro .text-link{margin-top:1rem}
  .property-page-facts .text-link{min-height:48px}
  .property-page-body{gap:3rem}
  .breadcrumbs{font-size:.8125rem;gap:.4rem .7rem;padding-top:1.25rem}
  .breadcrumbs a{min-height:32px}
  .property-related nav{margin-top:1.5rem}
  .property-related nav>a{min-height:76px}
  .official-contact{padding-top:1.6rem}
  .official-contact .button{width:100%;gap:1rem}
  .footer-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem}
  .footer-top>p{grid-column:1/-1;order:0;font-size:1.2rem}
  .back-top{grid-column:2;grid-row:1;min-height:44px;gap:.4rem;font-size:.8125rem}
  .footer-bottom{margin-top:1.5rem;padding-top:1rem}
  .footer-bottom>div{gap:.35rem}
  .studio-credit,.footer-bottom .source-link{min-height:44px}
  .footer-disclosure{margin-top:1rem;font-size:.75rem;line-height:1.7}
  .footer-credits summary{min-height:52px}
}
@media(max-width:600px){
  :root{--gutter:clamp(1.25rem,5.5vw,2rem)}
  .hero-content{min-height:clamp(530px,calc(100svh - 230px),610px);padding-top:2.4rem;padding-bottom:1.25rem}
  .hero-copy{justify-content:flex-start}
  .hero h1{font-size:clamp(2rem,10.2vw,3.85rem);line-height:1.06}
  .hero-description{font-size:1rem;line-height:1.65;max-width:29rem;margin-top:1.35rem}
  .hero-actions{width:100%;align-items:stretch;gap:.65rem;margin-top:1.6rem}
  .hero-actions .button-light{width:100%;min-height:54px;padding:.85rem 1rem;font-size:.9375rem;gap:1rem}
  .hero-secondary{align-self:flex-start;min-height:44px;font-size:.9375rem}
  .hero-bottom{flex-direction:column;align-items:stretch;gap:.55rem;margin-top:1.75rem;font-size:.75rem}
  .hero-bottom p{gap:.25rem .55rem;max-width:none}
  .hero-bottom-tools{gap:1rem}
  .section{padding-top:3.5rem;padding-bottom:3.5rem}
  h2{font-size:clamp(2rem,8.8vw,2.8rem);line-height:1.1}
  .intro{gap:1.25rem}.intro-copy .lead{font-size:1.15rem}
  .gallery{padding-top:0}.gallery .section-heading{margin-bottom:1.6rem}
  .gallery-grid{gap:1.7rem}
  .gallery-photo-media{border-radius:5px}
  .gallery-photo img,.gallery-photo-wide img{aspect-ratio:16/10}
  .gallery-photo figcaption{padding-top:.85rem;gap:.85rem}
  .gallery-photo h3{font-size:1.5rem}
  .gallery-photo figcaption p{margin-top:.35rem}
  .map-section{padding-bottom:3.5rem}
  .map-heading>p,.section-heading>p{margin-top:1rem}
  .map-context-note{font-size:.75rem;line-height:1.6}
  .map-context-note span{display:block;margin-left:0}
  .map-help{font-size:.75rem}
  .opportunities .section-heading{margin-bottom:1.5rem}
  .property-title{font-size:1.5rem}
  .place{gap:1.75rem}.place-copy>p{margin-top:1.1rem}
  .place-image img{height:auto;aspect-ratio:4/3}
  .place-address{gap:1.4rem;margin-top:1.5rem;padding-top:1.1rem}
  .contact{gap:1.8rem}.contact-intro>p{font-size:1rem;margin-top:1.2rem}
  .official-contact h3{font-size:1.75rem}.official-contact p{margin-top:1rem}
  .site-footer{padding-top:2rem;padding-bottom:1.5rem}
  .footer-top .wordmark{font-size:1.7rem}.footer-top .wordmark span{font-size:.6875rem}
  .property-page-intro{padding-top:1.6rem;padding-bottom:2rem}
  .property-page-body{padding-top:0}
  .property-page-copy h2{font-size:2rem}
  .property-page-copy p{margin-top:1.15rem}
  .property-page-copy h2:not(:first-child){margin-top:2.2rem}
}
@media(prefers-reduced-motion:reduce){.site-header nav,.site-header nav>a{animation:none!important}}
