@font-face{font-family:"Libre Franklin";src:url("/fonts/libre-franklin-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url("/fonts/libre-franklin-500.ttf") format("truetype");font-weight:500;font-display:swap}
:root{--paper:#f8f8f8;--ink:#242923;--muted:#5b6159;--line:#d3d7cf;--olive:#394d36;--gutter:clamp(20px,3.5vw,64px);--section:clamp(64px,8vw,128px);--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:24px;scrollbar-color:var(--muted) var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 "Libre Franklin",sans-serif}
::selection{background:#d8e0d0;color:var(--ink)}:focus-visible{outline:3px solid var(--olive);outline-offset:6px}a{color:inherit;text-underline-offset:.3em;text-decoration-thickness:1px}a:hover{text-decoration:underline}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}img{display:block;width:100%;height:auto}figure,p,h1,h2{margin:0}h1,h2{font-weight:400;line-height:1.12;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(34px,3vw,54px)}h2{font-size:clamp(30px,3.1vw,48px)}
p{max-width:65ch}figure{min-width:0}figcaption{font-size:13px;line-height:1.5;color:var(--muted);padding-top:14px}
.skip-link{position:absolute;top:-100px;left:24px;background:var(--ink);color:white;padding:14px;z-index:10}.skip-link:focus{top:14px}
.site-header{margin:0 var(--gutter);min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:32px;border-bottom:1px solid var(--line)}
.wordmark{font-size:20px;font-weight:500;letter-spacing:-.04em;text-decoration:none;white-space:nowrap}nav{display:flex;align-items:center;gap:32px;font-size:13px}nav a{display:flex;align-items:center;gap:10px;min-height:44px;text-decoration:none}.nav-inquire{color:var(--olive)}
main{padding:0 var(--gutter)}.address-block{padding:42px 0 30px}.address-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px;font-size:15px;color:var(--muted)}.address-meta a{display:flex;align-items:center;gap:15px;font-size:13px;text-decoration:none}
.mobile-property-summary,.mobile-property-stream,.mobile-property-details{display:none}.site-header .mobile-property-nav-link{display:none}.desktop-listing-facts{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--ink);font-variant-numeric:tabular-nums}.desktop-listing-facts span+span{border-left:1px solid var(--line);padding-left:20px}
.photo-link{display:block;position:relative}.photo-link img{background:#e7e8e1}.photo-link:focus-visible{outline-offset:4px}
.hero img{aspect-ratio:4/3;object-fit:contain}.hero figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero figcaption a{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}
.chapter,.gallery-section{margin-top:var(--section)}.chapter-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:32px}.chapter-heading h2{max-width:22ch}.chapter-heading p{color:var(--muted);font-size:15px;max-width:34ch}.wide-photo{width:100%}
.property-overview{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(48px,8vw,128px);margin-top:clamp(72px,10vw,150px);padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.property-overview-kicker{margin-bottom:18px;color:var(--muted);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.property-overview h2{max-width:12ch}.property-narrative{display:grid;gap:22px}.property-narrative p{color:var(--muted);font-size:clamp(15px,1.2vw,18px);line-height:1.75}.property-narrative p:first-child{color:var(--ink);font-size:clamp(18px,1.55vw,22px);line-height:1.55}
.quiet-chapter{display:grid;grid-template-columns:1fr 2.2fr;gap:64px;align-items:center;margin-top:var(--section)}.quiet-copy h2{max-width:12ch}.quiet-copy p{color:var(--muted);margin:24px 0}.quiet-copy a{display:inline-flex;align-items:center;gap:14px;font-size:14px;text-decoration:none}
.gallery-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:26px 4px;min-height:76px;font-size:18px}summary::marker{color:var(--olive)}.summary-hint{float:right;font-size:13px;color:var(--muted);line-height:30px}.gallery-details[open] .summary-hint{display:none}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;padding:0 0 32px}.photo-grid img{aspect-ratio:4/3;object-fit:contain;background:#e9ebe5}.source-note{display:block}.gallery-provenance{margin-top:20px;font-size:12px;color:var(--muted);max-width:90ch}
.ready-section{display:grid;grid-template-columns:1fr 1fr;gap:72px;border-top:1px solid var(--line);padding-top:48px;margin-top:var(--section)}.ready-section p{color:var(--muted);max-width:48ch}.status-label{font-size:13px;font-weight:500;color:var(--olive);margin-bottom:16px}.ready-section h2{max-width:18ch}.preview-action{background:var(--line);color:#53594e;border:0;padding:14px 24px;margin-top:24px}
footer{margin:var(--section) var(--gutter) 0;padding:36px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}footer a:last-child{display:flex;align-items:center;gap:12px;text-decoration:none}.preview-notice{background:#e5e9df;color:var(--olive);padding:12px var(--gutter);font-size:12px;text-align:center}
dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:20px 32px;background:#171c18;color:#f8f8f5;overflow:auto}
dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:16px;animation:viewer-open 280ms var(--ease)}dialog::backdrop{background:#171c18}dialog :focus-visible{outline-color:#d2dbc8}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px}.viewer-toolbar p{font-variant-numeric:tabular-nums;font-size:14px}
dialog button,dialog a{background:transparent;border:1px solid #778170;color:inherit;min-height:44px;padding:8px 16px;font-size:13px;text-decoration:none}dialog button:hover,dialog a:hover{background:#30392c}#close-viewer{display:flex;align-items:center;gap:12px}dialog figure{display:flex;flex-direction:column;align-items:center;min-height:0}#viewer-image{min-height:0;flex:1;width:100%;object-fit:contain}dialog figcaption{color:#d2d8ce;text-align:center;font-size:13px;flex:none}dialog figcaption:empty{display:none}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:16px}body:has(dialog[open]){overflow:hidden}
@keyframes viewer-open{from{clip-path:inset(2% 0)}to{clip-path:inset(0)}}
@media(min-width:1700px){main,.site-header,footer{max-width:1640px;margin-left:auto;margin-right:auto}main{padding:0}}
@media(max-width:760px){.property-page .site-header{position:sticky;top:0;z-index:8;background:rgba(248,248,248,.97);padding-top:max(8px,env(safe-area-inset-top))}.property-page main{padding:0}.desktop-property-story,.site-header .desktop-property-nav-link{display:none}.site-header .mobile-property-nav-link{display:flex}.mobile-property-summary,.mobile-property-stream,.mobile-property-details{display:block}.mobile-property-summary{padding:18px var(--gutter) 0;border-bottom:1px solid var(--line)}.mobile-property-facts{display:flex;align-items:baseline;gap:4px 7px;white-space:nowrap;overflow-x:auto;font-size:13px;font-variant-numeric:tabular-nums;scrollbar-width:none}.mobile-property-facts::-webkit-scrollbar{display:none}.mobile-property-facts strong{font-size:clamp(22px,6vw,28px);font-weight:500;letter-spacing:-.035em}.mobile-property-facts span+span{border-left:1px solid var(--line);padding-left:7px}.mobile-property-address{color:var(--ink)!important;font-size:19px!important;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-property-summary>p{color:var(--muted);font-size:13px}.property-view-tabs{display:flex;width:auto;gap:36px;margin:14px 0 0;font-size:16px}.property-view-tabs a{position:relative;min-height:50px;text-decoration:none}.property-view-tabs a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--ink)}.property-view-tabs svg{width:18px}.mobile-property-stream{scroll-margin-top:74px;background:#fff}.mobile-property-stream figure+figure{border-top:8px solid var(--paper)}.mobile-property-stream .photo-link{width:100%}.mobile-property-stream img{width:100%;height:auto;object-fit:contain;background:#fff}.mobile-property-details{padding:48px var(--gutter) 56px}.mobile-property-details h2{font-size:30px}.mobile-property-details dl{display:grid;grid-template-columns:1fr 1fr;margin:26px 0 30px;border-top:1px solid var(--line)}.mobile-property-details dl div{padding:15px 0;border-bottom:1px solid var(--line)}.mobile-property-details dl div:nth-child(even){padding-left:18px;border-left:1px solid var(--line)}.mobile-property-details dt{font-size:12px;color:var(--muted)}.mobile-property-details dd{margin:2px 0 0;font-size:16px;font-variant-numeric:tabular-nums}.mobile-property-details>p{margin-top:22px}.mobile-property-details .property-source{font-size:12px;color:var(--muted)}.site-header{flex-wrap:wrap;justify-content:center;gap:0;padding:18px 0 6px}nav{width:100%;justify-content:space-between;gap:10px;margin-top:10px;font-size:12px}.wordmark{font-size:20px}.address-block{padding-top:32px}.address-meta{display:block;font-size:13px}.address-meta a{margin-top:18px}.hero figcaption{align-items:start;font-size:12px}.hero figcaption>span{max-width:19ch}.hero figcaption a{font-size:12px;gap:8px;min-height:44px}.chapter-heading{display:block}.chapter-heading p{margin-top:20px;max-width:50ch}.quiet-chapter{grid-template-columns:1fr;gap:28px}.quiet-copy h2{max-width:20ch}.quiet-copy p{margin:20px 0 12px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.photo-grid figcaption{font-size:12px}.summary-hint{display:none}.ready-section{grid-template-columns:1fr;gap:24px;padding-top:32px}footer{flex-wrap:wrap;justify-content:start;gap:18px}footer p{width:100%}dialog{padding:16px;gap:12px}dialog[open]{grid-template-rows:auto minmax(0,1fr) auto}.viewer-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.viewer-controls a{grid-column:1/-1;grid-row:2;text-align:center}.viewer-controls button{padding:10px 8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}dialog[open]{animation:none}}

/* Desktop framing retains the original pixels and lower-right watermark.
   Less sky/roof above; more terrace in the first view. Full original opens on click. */
@media(min-width:1000px){.hero img{height:min(calc((100vw - 2 * var(--gutter)) * .75),clamp(680px,85svh,920px));aspect-ratio:auto;object-fit:cover;object-position:center bottom}}
.chapter-nav{display:flex;flex-wrap:wrap;gap:12px 32px;margin-top:28px;font-size:13px;border-bottom:1px solid var(--line);padding-bottom:20px}
.chapter-nav a{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none}

/* Approved A mark; the symbol contains no rendered lettering. */
.brand-lockup{display:inline-flex;align-items:center;gap:15px;min-height:88px;padding:10px 0;color:var(--ink);text-decoration:none}
.brand-lockup:hover{text-decoration:none}
.brand-symbol{width:76px;height:auto;flex:none}
.brand-type{display:flex;flex-direction:column;gap:3px}
.brand-tagline{font-size:11px;line-height:1.5;letter-spacing:0;color:var(--muted)}
.brand-tagline span{padding:0 3px}
footer .brand-lockup{padding:0;min-height:64px}
@media(max-width:900px){.site-header{flex-wrap:wrap;justify-content:center;gap:0;padding:10px 0 6px}.site-header nav{width:100%;justify-content:space-between;margin-top:4px;gap:10px}.brand-lockup{min-height:72px}.brand-symbol{width:64px}.brand-lockup .wordmark{font-size:20px}.brand-tagline{font-size:10px}}
@media(max-width:360px){.brand-lockup{gap:10px}.brand-symbol{width:55px}.brand-lockup .wordmark{font-size:18px}.brand-tagline{font-size:9px}.brand-tagline span{padding:0 1px}}
@media(max-width:360px){.mobile-property-facts{flex-wrap:wrap;overflow:visible;row-gap:0}.mobile-property-facts strong{flex-basis:100%;font-size:24px}}
/* A more legible signature, retaining the approved tree and roof geometry. */
.brand-symbol{width:100px}.brand-lockup .wordmark{font-size:26px}.brand-tagline{font-size:12px}
@media(max-width:900px){.brand-symbol{width:78px}.brand-lockup .wordmark{font-size:23px}.brand-tagline{font-size:10px}}
@media(max-width:420px){.brand-lockup{gap:10px}.brand-symbol{width:64px}.brand-lockup .wordmark{font-size:20px}.brand-tagline{font-size:9px}}

/* Gallery highlights remain visible without JavaScript or an expansion step. */
.gallery-preview{padding-bottom:24px}
.gallery-collapse-label{display:none}
.gallery-details[open] .gallery-expand-label{display:none}
.gallery-details[open] .gallery-collapse-label{display:inline}

/* Property opening carousel: house first, details below; no automatic advance. */
.property-page main{padding:0;max-width:none;width:100%}
.property-page main>.desktop-property-story{padding-inline:var(--gutter);max-width:1768px;margin:auto}
.property-carousel{position:relative;height:calc(100svh - var(--property-header-height,94px));min-height:360px;background:#171c18;isolation:isolate}
.carousel-photo,.carousel-photo img{display:block;width:100%;height:100%}
.carousel-photo{touch-action:pan-y pinch-zoom}
.carousel-photo img{object-fit:cover;object-position:center;user-select:none}
.carousel-controls[hidden]{display:none}
.carousel-controls button{position:absolute;top:50%;translate:0 -50%;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #fff;background:rgba(20,25,21,.65);color:white}
.carousel-controls [data-carousel-prev]{left:20px}.carousel-controls [data-carousel-next]{right:20px}
.carousel-count,.carousel-address{position:absolute;bottom:20px;z-index:1;color:white;background:rgba(20,25,21,.8);padding:10px 14px;font-size:13px}
.carousel-count{right:20px;display:flex;gap:14px;align-items:center;min-height:44px;text-decoration:none}
.carousel-address{left:20px;max-width:50%}
.property-carousel :focus-visible{outline-color:white}
#property-scroll-gallery{padding:0;background:var(--paper);color:var(--ink);overflow-y:auto}
#property-scroll-gallery[open]{display:block;animation:none}
.scroll-gallery-toolbar{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 24px}
.scroll-gallery-toolbar strong{font-size:18px;font-weight:500}.scroll-gallery-toolbar p{font-size:13px}.scroll-gallery-toolbar span,.scroll-gallery-toolbar a{font-size:13px}.scroll-gallery-toolbar a{display:inline-flex;border:0;padding:6px 16px;min-height:44px}
.scroll-gallery-toolbar button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;padding:10px;border:0;color:var(--ink)}
#property-scroll-gallery .mobile-property-stream{display:block;margin:0;max-width:1600px;margin-inline:auto}
#property-scroll-gallery .mobile-property-stream figure{margin:0 0 8px;scroll-margin-top:var(--gallery-toolbar-height,145px)}
#property-scroll-gallery .mobile-property-stream img{width:100%;height:auto;object-fit:contain}
#property-scroll-gallery .mobile-property-stream a{display:block;padding:0;border:0;min-height:0}
#property-scroll-gallery :focus-visible{outline-color:var(--olive)}
@media(max-width:760px){.property-page main>.mobile-property-summary,.property-page main>.mobile-property-details{padding-inline:20px}.property-page main>.mobile-property-stream{margin-inline:0}.carousel-address{display:none}.carousel-controls [data-carousel-prev]{left:12px}.carousel-controls [data-carousel-next]{right:12px}.carousel-count{right:12px;bottom:16px}.scroll-gallery-toolbar{padding:10px 16px;gap:8px}.scroll-gallery-toolbar strong{font-size:15px}.scroll-gallery-toolbar p{font-size:11px}.scroll-gallery-toolbar a{padding:6px 12px}}

.scroll-gallery-toolbar button:hover{background:#e8eae5;color:var(--ink)}

.property-page:not(.has-property-carousel) #property-photo-stream{display:block}

/* Property landing-page exits: tour request and return to company portfolio. */
.property-next-steps{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin:48px var(--gutter) 64px;padding-top:40px;border-top:1px solid var(--line)}
.property-next-steps h2{font-size:clamp(28px,3vw,42px);line-height:1.2;margin-bottom:18px}
.property-next-steps a{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:14px 18px;margin-top:24px;text-decoration:none;border:1px solid var(--ink)}
.property-tour-button{background:var(--ink);color:var(--paper)}
.property-next-steps a:hover{background:var(--olive);color:white}
.property-next-steps .tour-email-note{font-size:12px;color:var(--muted);margin-top:12px}
@media(max-width:760px){.property-next-steps{grid-template-columns:1fr;gap:40px;margin-top:0}.property-next-steps a{width:100%;font-size:14px}}

/* On-page location, loaded only on request; originals/gallery remain photo-first. */
.property-location{margin:48px var(--gutter) 64px;scroll-margin-top:calc(var(--property-header-height,65px) + 20px)}
.property-map-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.property-map-heading h2{font-size:clamp(28px,3vw,42px);margin-bottom:12px}
.property-map-heading p,.map-disclosure{font-size:13px;color:var(--muted)}
.property-map-heading>a{display:inline-flex;align-items:center;gap:12px;min-height:44px;flex-shrink:0}
.property-map-canvas{height:450px;width:100%;background:#ecefe8;border:1px solid var(--line)}
.property-map-canvas iframe{display:block;width:100%;height:100%;border:0}
.property-map-placeholder{display:flex;height:100%;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;text-align:center}
.property-map-placeholder svg{width:38px;height:38px;fill:none;stroke:var(--olive);stroke-width:1.5}
.property-map-placeholder button{font:inherit;background:var(--ink);color:var(--paper);min-height:48px;padding:12px 20px;border:0;cursor:pointer}
.property-map-placeholder button[hidden]{display:none}
.map-disclosure{margin-top:12px;max-width:75ch}
@media(max-width:760px){.property-location{margin-top:12px}.property-map-heading{display:block}.property-map-heading>a{margin-top:12px}.property-map-canvas{height:360px}}

/* Full-screen individual photograph above the ordered gallery. */
#property-photo-detail{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:16px 24px;background:#171c18;color:#f8f8f5;border:0;overflow:hidden}
#property-photo-detail[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px}
#property-photo-detail::backdrop{background:#171c18}
.photo-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.photo-detail-toolbar p,.photo-detail-hint{font-size:14px;margin:0}
.photo-detail-toolbar button{display:flex;align-items:center;gap:14px;border:1px solid #778170;background:transparent;color:inherit;font:inherit;min-height:44px;padding:8px 14px}
.photo-detail-image{display:block;width:100%;height:100%;min-height:0;padding:0;border:0;background:transparent;cursor:zoom-out}
.photo-detail-image img{display:block;width:100%;height:100%;object-fit:contain}
.photo-detail-hint{text-align:center;color:#c9d0c7}
@media(max-width:760px){#property-photo-detail{padding:12px;gap:8px}.photo-detail-hint{font-size:12px}}
.photo-detail-image:hover{background:transparent}
#property-photo-detail .photo-detail-hint{width:100%;max-width:none}
