:root{font-size:16px;--ink:#171717;--muted:#646464;--line:#e4e4e4;--header:88px}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header) + 20px);scroll-behavior:auto}body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.55;overflow-anchor:none}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #171717;outline-offset:4px}button:disabled{opacity:.35;cursor:default}img{display:block;max-width:100%;height:auto}figure,p{margin:0}p{margin-bottom:1rem}h1,h2,h3{font-weight:500;line-height:1.22;letter-spacing:normal;margin:0}h1{font-size:2rem}h2{font-size:1.875rem;margin-bottom:1rem}h3{font-size:1.4rem}small,.small{font-size:.875rem}.muted{color:var(--muted)}[hidden]{display:none!important}.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.5rem;background:#fff;border-bottom:1px solid var(--line);padding:.75rem 1rem;max-width:1200px;margin:auto}.property-brand{flex:1;font-size:1rem;font-weight:600;line-height:1.3;max-width:15rem}.languages{display:flex;margin-left:auto}.languages button,#menu-open{min-width:2.75rem;min-height:2.75rem;border:0;background:#fff;padding:.5rem;font-size:.9375rem}.languages button{color:var(--muted)}.languages button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}#menu-open{border:1px solid var(--line);border-radius:2px;padding:.5rem .7rem}.hero,.section,footer{max-width:1100px;margin:auto}.hero-copy{padding:1.75rem 1.25rem 1.25rem}.eyebrow{color:var(--muted);font-size:.875rem;font-weight:400;margin-bottom:.8rem}.subtitle{margin:1rem 0 0;font-size:1rem;color:#4a4a4a}.hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}.hero-photo figcaption{font-size:.875rem;line-height:1.5;color:var(--muted);padding:.6rem 1.25rem 0}.hero-bottom{padding:1.25rem}.price{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.price strong,.deal-price{font-size:2rem;font-weight:600;line-height:1.25}.price strong small,.deal-price small{font-size:1rem;font-weight:400}.price span{font-size:.875rem;color:var(--muted)}.hero-actions{display:flex;flex-direction:column;gap:.1rem}.button{min-height:3.1rem;padding:.85rem 1rem;display:flex;align-items:center;justify-content:center;line-height:1.4;font-size:1rem;font-weight:500;border:1px solid #cfcfcf;border-radius:2px;text-align:center;width:100%;background:#fff}.primary{background:#171717;color:#fff;border-color:#171717}.primary:hover{background:#333}.secondary:hover{background:#f7f7f7}.text-link{display:inline-block;font-size:1rem;text-decoration:underline;text-underline-offset:4px;min-height:2.75rem;padding:.75rem 0;line-height:1.5;border:0;background:transparent}.hero-actions .text-link{text-align:center}.facts-line{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:.5rem;font-size:.875rem}.hero-priority{margin:1rem 0 0;font-size:1rem}.section{padding:3rem 1.25rem;border-top:1px solid var(--line)}.section-heading p:last-child{font-size:1rem;color:#555;max-width:42rem}.section-heading{margin-bottom:1.5rem}.filters{display:flex;overflow-x:auto;gap:.5rem;padding:3px 2px .7rem;margin:0 -2px .9rem;scrollbar-width:thin;overscroll-behavior-x:contain}.filters button{flex:none;border:1px solid #d7d7d7;background:#fff;border-radius:2px;min-height:2.75rem;padding:.55rem .8rem;font-size:.9375rem;white-space:nowrap}.filters button[aria-pressed=true]{border-color:#171717;background:#f6f6f6}.archive-note{font-size:.875rem;color:#666;line-height:1.55;margin:0 0 2rem;max-width:48rem}.photo-zone{margin:0 0 2.5rem;scroll-margin-top:1rem}.photo-zone:last-child{margin-bottom:0}.zone-heading{display:flex;gap:1rem;align-items:baseline;justify-content:space-between;margin-bottom:.8rem}.zone-counter{white-space:nowrap;font-size:.875rem;color:#666;flex:none}.zone-note{font-size:.875rem;color:#666;max-width:48rem;margin:0 0 1rem}.photo-rail{display:flex;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:.5rem;margin-right:-1.25rem;padding-right:1.25rem;touch-action:pan-x pan-y}.photo-card{margin:0;min-width:0}.photo-rail>.photo-card{flex:0 0 87%;scroll-snap-align:start}.photo-open{display:block;position:relative;width:100%;padding:0;border:0;background:#f5f5f5;touch-action:pan-x pan-y;text-align:left}.photo-open img{width:100%;height:15rem;object-fit:contain;background:#f5f5f5}.photo-card figcaption{padding:.8rem 0 .3rem;line-height:1.5}.photo-card figcaption strong{display:block;font-size:1rem;font-weight:400}.photo-card figcaption>span{display:block;font-size:.875rem;color:#666;margin-top:.3rem}.expand-badge{position:absolute;right:.6rem;bottom:.6rem;font-size:.875rem;background:#fffffff0;padding:.3rem .5rem;border-radius:2px}.rail-controls{display:flex;justify-content:flex-end;gap:.3rem}.rail-controls button{background:#fff;border:1px solid var(--line);width:2.75rem;min-height:2.75rem;font-size:1.2rem}.zone-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.zone-grid .photo-open img{height:9rem}.zone-grid figcaption strong{font-size:.875rem}.zone-grid .expand-badge{display:none}details{border-top:1px solid var(--line);margin-top:1rem}summary{position:relative;list-style:none;cursor:pointer;min-height:3.25rem;padding:1rem 2rem 1rem 0;font-size:1rem;line-height:1.5}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;top:.9rem;font-size:1.25rem}details[open]>summary:after{content:'−'}details>p{font-size:1rem;color:#555}details .button{margin:.8rem 0}.plan-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1.5rem 0 1rem}.plan-choice{min-width:0;padding:.8rem .45rem;background:#fff;border:1px solid #ddd;border-radius:2px;text-align:left}.plan-choice[aria-pressed=true]{outline:2px solid #171717;outline-offset:-2px;background:#fafafa}.plan-choice>span{display:block;font-size:.9375rem;margin-bottom:.3rem}.plan-choice strong{font-size:1.125rem;font-weight:500}.plan-choice small{font-size:.875rem}.plan-choice img{height:6rem;width:100%;object-fit:contain;margin-top:.8rem}.plan-detail{border:1px solid var(--line);padding:1rem}.plan-title strong{font-size:1rem;font-weight:500;display:block}.plan-title>span{display:block;font-size:.875rem;color:#666;margin-top:.3rem}.plan-image{display:block;background:#fff;border:0;padding:1rem 0 0;width:100%}.plan-image img{height:22rem;width:100%;object-fit:contain}.plan-image span{display:block;margin-top:1rem;font-size:.9375rem;text-decoration:underline}.plans>.small{margin-top:1rem}.deal-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.deal-tabs button{flex:1;background:#fff;border:1px solid #ddd;font-size:1rem;line-height:1.4;padding:.7rem;min-height:3rem}.deal-tabs button[aria-pressed=true]{border-color:#171717;background:#fafafa}.deal-panel h3{font-size:1.75rem}.deal-panel p:not(.eyebrow){margin:1rem 0}.deal-price{margin:1.5rem 0}.rental{margin-top:2rem}.rental small{display:block;color:#666;margin-top:.3rem}.specs{margin:1.5rem 0}.specs>div{display:grid;grid-template-columns:36% 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:1rem}.specs dt{color:#666}.specs dd{margin:0}.location-map{display:block;width:100%;height:20rem;background:#fafafa}.map-note{margin:1rem 0;font-size:.875rem}.tour{margin-top:2rem}.tour-warning{background:#fafafa;border-left:2px solid #999;padding:1rem}.tour iframe{display:block;width:100%;height:22rem;border:0}.contact-person{font-weight:600}.contact .primary{margin-top:1.5rem}.contact p{max-width:42rem}footer{padding:2rem 1.25rem 8rem;font-size:.875rem;color:#666}footer .brand{font-size:1rem;color:#171717;font-weight:600}footer p{margin-top:1rem;max-width:32rem}.bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:25;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem 1rem max(.65rem,env(safe-area-inset-bottom))}.bottom-bar>span{min-width:0}.bottom-bar strong{display:block;font-size:1.125rem;white-space:nowrap}.bottom-bar small{display:block;font-size:.875rem;color:#666;line-height:1.4}.bottom-bar .button{width:auto;max-width:55%;font-size:.9375rem;padding:.65rem .8rem}.bottom-bar small{max-width:11rem}dialog{color:#171717;background:#fff;border:0}dialog::backdrop{background:#0009}#menu-dialog{width:min(32rem,100%);max-width:100%;max-height:100dvh;margin:0 0 0 auto;padding:1.25rem;height:100dvh}.menu-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.menu-top strong{font-weight:500}.menu-top button{font:inherit;border:1px solid #ddd;background:#fff;min-height:2.75rem;padding:.5rem;white-space:nowrap}#menu-dialog nav{display:flex;flex-direction:column}#menu-dialog nav a{border-bottom:1px solid var(--line);padding:1rem 0;font-size:1.125rem;min-height:3rem}#viewer{width:100%;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:1rem;overflow:hidden}#viewer[open]{display:flex;flex-direction:column;gap:.7rem}.viewer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.viewer-top strong{font-size:1rem;font-weight:500;line-height:1.4}.viewer-top button{flex:none}#viewer button{border:1px solid #ddd;background:#fff;min-width:2.75rem;min-height:2.75rem;padding:.5rem .65rem;font-size:.9375rem}.viewer-navigation{display:flex;align-items:center;justify-content:space-between}.viewer-navigation span{font-size:.875rem}.viewer-tools{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.875rem}.viewer-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;display:flex;align-items:center;background:#fafafa}.viewer-scroll img{max-width:none;flex:none;object-fit:contain;display:block;user-select:none;-webkit-user-drag:none}.viewer-scroll.zoomed{display:block}.viewer-scroll.zoomed img{object-fit:initial}#viewer-caption{font-size:.875rem;margin:0;color:#555}.viewer-scroll:not(.zoomed){overflow:hidden}.plan-options .plan-choice strong{display:block}#start,#walk,#plans,#deal,#condition,#location,#contact{scroll-margin-top:0}
@media(min-width:700px){.top{padding:1rem 2rem}.property-brand{max-width:none}.hero{display:grid;grid-template-columns:1fr 1.2fr;gap:0 2rem;padding:2rem}.hero-copy{padding:0 0 1.5rem}.hero-photo{grid-column:2;grid-row:1/3;align-self:start}.hero-photo img{aspect-ratio:4/3}.hero-photo figcaption{padding-left:0}.hero-bottom{padding:0}.hero-actions{max-width:26rem}.section{padding:4rem 2rem}.photo-rail>.photo-card{flex-basis:45%}.photo-open img{height:21rem}.photo-rail{margin-right:0;padding-right:0}.plan-choice{padding:1rem}.plan-choice img{height:10rem}.plan-image img{height:30rem}.zone-grid{grid-template-columns:repeat(3,1fr)}.zone-grid .photo-open img{height:13rem}footer{padding-left:2rem}.bottom-bar{padding-left:max(2rem,calc((100vw - 1036px)/2));padding-right:max(2rem,calc((100vw - 1036px)/2))}.viewer-scroll img{margin:0 auto}}
@media(max-width:380px){.top{gap:.2rem;padding:.65rem .75rem}.property-brand{font-size:.9375rem}.languages button{padding:.4rem;min-width:2.5rem}#menu-open{font-size:.875rem;padding:.5rem}.plan-choice strong{font-size:1.0625rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Intrinsic wrapping also supports doubled text without clipping controls. */
.top{flex-wrap:wrap}.property-brand{flex:1 1 10rem;min-width:min(100%,10rem)}
h1,h2,h3,.property-brand,.viewer-top strong{overflow-wrap:anywhere}
.plan-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,6rem),1fr))}
.specs dd,.specs dt{min-width:0;overflow-wrap:anywhere}
.viewer-top,.viewer-tools{flex-wrap:wrap}.viewer-top>strong{min-width:0;flex:1 1 8rem}.viewer-tools{flex-shrink:0}.viewer-navigation{flex-shrink:0}
.viewer-scroll{touch-action:pan-y}.viewer-scroll.zoomed{touch-action:pan-x pan-y}
#menu-dialog .menu-top{flex-wrap:wrap}#menu-dialog nav a{overflow-wrap:anywhere}

.deal-tabs{flex-wrap:wrap}.deal-tabs button{flex:1 1 8rem;min-width:0;overflow-wrap:anywhere}.facts-line{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}

.bottom-bar .button{font-size:.9375rem}
/* Keep a useful image area at 200% text; long captions scroll below it. */
#viewer{overflow-y:auto}.viewer-top{position:sticky;top:0;background:#fff;z-index:2;flex-shrink:0}.viewer-scroll{flex:1 0 min(45vh,20rem);min-height:min(45vh,20rem)}#viewer-caption{flex-shrink:0}
/* v5 first viewport: readable offer, one action, supporting facts below. */
.hero-summary{max-width:1100px;margin:auto;padding:0 1.25rem 1.5rem}.hero-summary .facts-line{margin-top:0}
.top{padding-top:max(.5rem,env(safe-area-inset-top));padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}
@media(max-width:699px){
.hero{min-height:calc(100svh - var(--header));display:flex;flex-direction:column;justify-content:center;padding:0 0 max(.5rem,env(safe-area-inset-bottom));gap:0}
.hero-copy{padding:.6rem 1rem .5rem}.hero-copy .eyebrow{font-size:1rem;margin:0 0 .35rem;line-height:1.4}.hero h1{font-size:1.75rem;line-height:1.12}.hero .subtitle{font-size:1rem;line-height:1.4;margin:.4rem 0 0}
.hero-photo img{height:clamp(124px,calc(100svh - 370px - var(--safe-top) - var(--safe-bottom)),280px);aspect-ratio:auto;object-fit:cover;object-position:50% 58%}.hero-photo figcaption{padding:.3rem 1rem 0;font-size:.875rem;line-height:1.4}
.hero-bottom{padding:.5rem 1rem .5rem}.hero .price{margin:0 0 .5rem;gap:0}.hero .price strong{font-size:1.75rem;line-height:1.2}.hero .price span{font-size:1rem;line-height:1.4}.hero-actions .button{min-height:3rem;padding:.65rem 1rem}.hero-summary{padding:1rem}
}

:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}.top{padding-top:max(.5rem,var(--safe-top))}@media(max-width:699px){.hero{padding-bottom:max(.5rem,var(--safe-bottom))}}
@media(max-width:699px){.top{padding-bottom:.5rem}.hero-copy{padding:.4rem 1rem .35rem}.hero .subtitle{margin-top:.25rem}.hero-bottom{padding:.35rem 1rem}.hero .price{margin-bottom:.35rem}}
/* v6: robust single-row header overrides former flex wrapping/min-width rules. */
.top{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:4px;flex-wrap:nowrap;padding-left:12px;padding-right:12px;padding-bottom:6px}
.top .property-brand{min-width:0;max-width:none;white-space:nowrap;font-size:1rem;line-height:1.3;flex:none}
.top .languages{margin:0;gap:0}.top .languages button{min-width:44px;min-height:44px;padding:6px;font-size:1rem}
.top #menu-open{display:flex;align-items:center;justify-content:center;padding:0;min-width:44px;min-height:44px;width:44px;height:44px;border:0;background:transparent}
.large-text .top{grid-template-columns:1fr auto}.large-text .top .property-brand{display:none}.large-text .top .languages{justify-self:start}.large-text .top .languages button{font-size:1rem;width:auto}
.hero-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.hero-rail::-webkit-scrollbar{display:none}
.hero-photo{min-width:0;max-width:100%}
.hero-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;border:0;background:#f5f5f5;padding:0;display:block;touch-action:pan-x pan-y}
.hero-gallery-meta{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 1rem 0;font-size:.875rem;line-height:1.4}.hero-gallery-meta #hero-count{white-space:nowrap}
.hero-photo .hero-slide img{object-fit:contain;background:#f4f4f4}.hero-photo figcaption{padding-top:0}

.hero-photo .hero-slide:first-child img{object-fit:cover;object-position:50% 58%}.viewer-scroll:not(.zoomed){touch-action:none}
