.listing-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-block:10px;display:flex}.breadcrumb [aria-current]{color:var(--ink)}.gallery-mosaic{aspect-ratio:2.35;border-radius:3px;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr 1fr;gap:8px;display:grid;position:relative;overflow:hidden}.gallery-tile{background:var(--stone);cursor:zoom-in;border:0;width:100%;height:100%;padding:0;display:block;position:relative;overflow:hidden}.gallery-tile img{object-fit:cover;transition:transform 1s var(--ease-out), filter .3s}.gallery-tile:hover img{transform:scale(1.03)}.gallery-tile:focus-visible{outline-offset:-4px}.gallery-tile-1{grid-row:1/span 2}.gallery-tile-wrap{display:contents}.gallery-tile-2{grid-column:2/span 2}.gallery-all{border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper);min-height:44px;box-shadow:var(--shadow-1);align-items:center;gap:8px;padding:0 16px;font-size:.9rem;font-weight:600;display:inline-flex;position:absolute;bottom:14px;right:14px}.gallery-all:hover{background:var(--ink);color:var(--limestone)}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--on-dark);background:#121211;border:0;margin:0;padding:0}.lightbox[open]{animation:fade-in .3s var(--ease-out);grid-template-rows:auto minmax(0,1fr) auto;display:grid}@keyframes fade-in{0%{opacity:0}}.lightbox::backdrop{background:#121211}.lightbox-top{padding:12px var(--gutter);justify-content:space-between;align-items:center;gap:16px;display:flex}.lightbox-count{align-items:baseline;gap:16px;min-width:0;font-size:.9rem;display:flex}.lightbox-caption{color:var(--on-dark-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lightbox-close,.lightbox-nav{width:48px;height:48px;color:var(--on-dark);background:#12121199;border:1px solid #f2ede44d;border-radius:50%;flex:none;place-items:center;display:grid}.lightbox-close:hover,.lightbox-nav:hover{background:var(--on-dark);color:var(--ink)}.lightbox :focus-visible{outline-color:var(--brick-light)}.lightbox-stage{touch-action:pan-y;min-height:0;position:relative}.lightbox-image{inset:0 var(--gutter);animation:lb-in .42s var(--ease-out);position:absolute}.lightbox-image[data-dir="-1"]{animation-name:lb-in-back}.lightbox-image img{object-fit:contain}@keyframes lb-in{0%{opacity:0;transform:translate(28px)}}@keyframes lb-in-back{0%{opacity:0;transform:translate(-28px)}}.lightbox-nav{position:absolute;top:50%;translate:0 -50%}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-thumbs{padding:12px var(--gutter) 18px;justify-content:center;gap:8px;display:flex}.lightbox-thumbs button{aspect-ratio:3/2;opacity:.55;background:0 0;border:2px solid #0000;border-radius:2px;width:84px;padding:0;transition:opacity .2s;display:block;position:relative;overflow:hidden}.lightbox-thumbs button img{object-fit:cover}.lightbox-thumbs button[aria-current],.lightbox-thumbs button:hover{opacity:1;border-color:var(--on-dark)}.listing-head{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px 48px;padding-block:clamp(28px,4vw,56px) clamp(20px,3vw,36px);display:grid}.listing-title{gap:14px;display:grid}.listing-title h1{font-size:clamp(2.8rem,6.4vw,6.2rem);line-height:.92}.listing-summary{color:var(--ink-2);max-width:52ch;font-size:1.1rem}.listing-price{text-align:right;justify-items:end;gap:4px;display:grid}.listing-price-amount{font-variant-numeric:lining-nums tabular-nums;font-family:var(--font-display);font-size:clamp(2.4rem,4.4vw,3.8rem);line-height:1}.listing-price-note{color:var(--ink-2);font-size:.92rem}.listing-actions{gap:10px;margin-top:14px;display:flex}.share-button{border:1px solid var(--rule-strong);border-radius:var(--radius);background:0 0;align-items:center;gap:8px;min-height:48px;padding:10px 16px;font-weight:600;display:inline-flex}.share-button:hover{border-color:var(--ink)}.section-nav{top:var(--header-h);z-index:30;background:var(--limestone);border-block:1px solid var(--rule);position:sticky}.section-nav ul{max-width:var(--max);padding-inline:var(--gutter);scrollbar-width:none;gap:4px;margin-inline:auto;display:flex;overflow-x:auto}.section-nav ul::-webkit-scrollbar{display:none}.section-nav a{white-space:nowrap;min-height:52px;color:var(--ink-2);align-items:center;padding:0 14px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.section-nav a:after{content:"";background:var(--brick);height:2px;transition:transform .3s var(--ease-out);position:absolute;bottom:-1px;left:14px;right:14px;transform:scaleX(0)}.section-nav a[aria-current]{color:var(--ink)}.section-nav a[aria-current]:after{transform:scaleX(1)}.section-nav a:focus-visible{outline-offset:-4px}.listing-body{grid-template-columns:minmax(0,8fr) minmax(280px,3.4fr);align-items:start;gap:clamp(32px,5vw,96px);display:grid}.listing-section{border-bottom:1px solid var(--rule);scroll-margin-top:calc(var(--header-h) + 60px);gap:22px;padding-block:clamp(40px,5vw,72px);display:grid}.listing-section:last-child{border-bottom:0}.listing-section>h2{font-size:clamp(2rem,3.4vw,3rem)}.listing-text{color:var(--ink-2);max-width:62ch}.lead{max-width:34ch}.highlights{grid-template-columns:1fr 1fr;gap:10px 24px;display:grid}.highlights li{border-top:1px solid var(--rule);align-items:start;gap:10px;padding-top:10px;font-weight:500;display:flex}.highlights svg{color:var(--brick);flex:none;margin-top:2px}.sub-title{margin-top:10px;font-size:1.5rem}.feature-tags{flex-wrap:wrap;gap:8px;display:flex}.feature-tags span{border:1px solid var(--rule-strong);border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:600}.floorplan,.fp-sheets{gap:16px;display:grid}.fp-sheets[data-floors="2"]{grid-template-columns:1fr 1fr}.fp-sheet{background:var(--paper);border:1px solid var(--rule);background-image:linear-gradient(var(--rule) 1px, transparent 1px), linear-gradient(90deg, var(--rule) 1px, transparent 1px);background-position:-1px -1px;background-size:24px 24px;gap:10px;padding:clamp(14px,2.4vw,28px);display:grid}.fp-sheet figcaption{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);border-top:1px solid var(--ink);justify-content:space-between;gap:12px;padding-top:8px;font-size:.82rem;font-weight:600;display:flex}.fp-svg{width:100%;height:auto;max-height:560px;font-family:var(--font-sans)}.fp-room{fill:var(--paper);stroke:var(--ink)}.fp-wet{fill:#e6e9e5}.fp-circulation{fill:#efe9df}.fp-stairs path{fill:none;stroke:var(--ink);stroke-width:.04px}.fp-stairs .fp-stairs-arrow{stroke:var(--brick);stroke-width:.06px}.fp-outer{fill:none;stroke:var(--ink)}.fp-gap{stroke:var(--paper);stroke-width:.34px}.fp-leaf{stroke:var(--ink);stroke-width:.05px}.fp-swing{fill:none;stroke:var(--ink);stroke-width:.025px;stroke-dasharray:.1 .06}.fp-glass{stroke:var(--ink);stroke-width:.035px}.fp-label text{text-anchor:middle;dominant-baseline:middle;fill:var(--ink);font-weight:600}.fp-label .fp-area{fill:var(--brick-deep);font-weight:500}.fp-outdoor rect{fill:#b4532a0d;stroke:var(--brick);stroke-width:.05px;stroke-dasharray:.2 .12}.fp-outdoor text{text-anchor:middle;dominant-baseline:middle;fill:var(--brick-deep);font-size:.3px;font-style:italic;font-family:var(--font-italic);font-family:var(--font-display)}.fp-entry{text-anchor:middle;fill:var(--ink-2);letter-spacing:.02px;font-size:.22px;font-weight:600}.fp-scale path,.fp-north path{stroke:var(--ink);stroke-width:.03px;fill:none}.fp-north path{fill:var(--brick);stroke:none}.fp-scale text,.fp-north text{fill:var(--ink);font-size:.24px;font-weight:600}.fp-schedule{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.fp-schedule summary{cursor:pointer;align-items:center;min-height:52px;font-weight:600;display:flex}.table-scroll{padding-bottom:12px;position:relative;overflow-x:auto}.fp-schedule table{border-collapse:collapse;width:100%;font-size:.92rem}.fp-schedule th,.fp-schedule td{text-align:left;border-bottom:1px solid var(--rule);padding:10px 12px 10px 0;font-weight:500}.fp-schedule thead th{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);font-size:.75rem;font-weight:600}.fp-note,.location-caption{color:var(--ink-2);font-size:.84rem}.location-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,40px);display:grid}.location-map{gap:8px;display:grid}.plan-inset{aspect-ratio:1.15;border:1px solid var(--rule-strong);background:var(--map-paper);border-radius:3px;width:100%;height:auto}.nearby-groups{gap:22px;display:grid}.nearby h3{align-items:center;gap:10px;margin-bottom:6px;font-size:1.25rem;display:flex}.nearby h3 svg{color:var(--brick)}.nearby li{border-bottom:1px solid var(--rule);justify-content:space-between;gap:16px;padding-block:10px;display:flex}.nearby-name{gap:1px;min-width:0;display:grid}.nearby-name strong{font-weight:600}.nearby-name span{color:var(--ink-2);font-size:.84rem}.nearby-dist{text-align:right;white-space:nowrap;justify-items:end;font-weight:600;display:grid}.nearby-dist small{color:var(--ink-2);font-size:.8rem;font-weight:500}.calc{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,40px);display:grid}.calc-inputs{gap:18px;display:grid}.calc-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.input-affix{position:relative}.input-affix input{padding-right:40px}.input-affix span{color:var(--ink-2);pointer-events:none;font-weight:600;position:absolute;top:50%;right:14px;translate:0 -50%}.calc-result{background:var(--charcoal);color:var(--on-dark);border-radius:4px;gap:12px;padding:clamp(20px,3vw,32px);display:grid}.calc-result-label{letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-2);font-size:.78rem;font-weight:600}.calc-big{font-variant-numeric:lining-nums tabular-nums;font-family:var(--font-display);font-size:clamp(2.8rem,5vw,4.2rem);line-height:1}.calc-breakdown{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.calc-breakdown>div{border-top:1px solid #7f786e59;gap:2px;padding-block:10px;display:grid}.calc-breakdown dt{opacity:.8;font-size:.8rem}.calc-breakdown dd{font-weight:650}.calc-inputs .calc-breakdown{grid-template-columns:1fr}.calc-note{color:var(--on-dark-2);font-size:.8rem}.afford{gap:10px;padding-top:6px;display:grid}.afford p{font-size:.92rem}.afford-bar{background:#f2ede426;border-radius:4px;height:8px;overflow:hidden}.afford-bar span{height:100%;transition:width .5s var(--ease-out);background:#8fbf8f;display:block}.afford-over .afford-bar span{background:var(--brick-light)}.afford-scale{border-radius:5px;grid-template-columns:30fr 10fr 20fr;height:10px;display:grid;position:relative;overflow:visible}.afford-zone-ok{background:#6f9a6f;border-radius:5px 0 0 5px}.afford-zone-stretch{background:#c79a45}.afford-zone-over{background:var(--brick-light);border-radius:0 5px 5px 0}.afford-scale i{background:var(--on-dark);width:4px;height:20px;transition:left .5s var(--ease-spring);border-radius:2px;margin-left:-2px;position:absolute;top:-5px}.calc-result :focus-visible{outline-color:var(--brick-light)}.booking{gap:22px;display:grid}.booking-step-title{outline:none;align-items:baseline;gap:12px;font-size:1.6rem;display:flex}.booking-step-num{font-family:var(--font-sans);letter-spacing:.1em;color:var(--brick-deep);font-size:.78rem;font-weight:700}.booking-kind{grid-template-columns:1fr 1fr;gap:10px;display:grid}.kind-option{cursor:pointer;position:relative}.kind-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.kind-option>span{border:1px solid var(--rule-strong);background:var(--paper);border-radius:4px;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;padding:14px 16px;transition:border-color .2s,box-shadow .2s;display:grid}.kind-option svg{color:var(--brick);grid-row:1/span 2}.kind-option small{color:var(--ink-2);font-size:.82rem}.kind-option input:checked+span{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.kind-option input:focus-visible+span{outline:2.5px solid var(--brick);outline-offset:2px}.booking-loading{min-height:210px;color:var(--ink-2);background:var(--paper);border-radius:4px;place-items:center;display:grid}.booking-days,.booking-slots{gap:10px;display:grid}.day-rail{scroll-snap-type:x proximity;gap:8px;padding:4px 2px 8px;display:flex;overflow-x:auto}.day-option{scroll-snap-align:start;cursor:pointer;flex:none;position:relative}.day-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.day-option>span{white-space:nowrap;border:1px solid var(--rule-strong);background:var(--paper);min-width:76px;transition:background .2s, color .2s, border-color .2s, transform .25s var(--ease-spring);border-radius:4px;justify-items:center;gap:1px;padding:10px 6px;line-height:1.15;display:grid}.day-option small{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600}.day-option strong{font-variant-numeric:lining-nums tabular-nums;font-family:var(--font-display);font-size:1.8rem;font-weight:450}.day-option em{color:var(--ok);margin-top:4px;font-family:inherit;font-size:.72rem;font-style:normal;font-weight:600}.day-option input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--limestone);transform:translateY(-2px)}.day-option input:checked+span em{color:#a9d4a9}.day-option input:focus-visible+span{outline:2.5px solid var(--brick);outline-offset:2px}.day-option[data-full]>span{opacity:.45;cursor:not-allowed}.day-option[data-full] em{color:var(--ink-2)}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.slot-option{cursor:pointer;position:relative}.slot-option input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.slot-option span{border:1px solid var(--rule-strong);background:var(--paper);border-radius:4px;place-items:center;min-height:48px;font-weight:650;transition:background .2s,color .2s,border-color .2s;display:grid}.slot-option:hover span{border-color:var(--ink)}.slot-option input:checked+span{background:var(--brick);border-color:var(--brick);color:#fff;animation:slot-pick .35s var(--ease-spring)}@keyframes slot-pick{50%{transform:scale(1.06)}}.slot-option input:focus-visible+span{outline:2.5px solid var(--ink);outline-offset:2px}.slot-option[data-taken]{cursor:not-allowed}.slot-option[data-taken] span{color:var(--ink-3);background:0 0;border-style:dashed;text-decoration:line-through}.booking-next{background:var(--paper);border:1px solid var(--ink);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.booking-next p{font-weight:600}.booking-summary{background:var(--paper);border:1px solid var(--rule-strong);border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.booking-summary svg{color:var(--brick)}.booking-summary p{display:grid}.booking-summary span{color:var(--ink-2);font-size:.92rem}.booking-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field-wide{grid-column:1/-1}.booking-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.ticket{background:var(--paper);border:1px solid var(--ink);box-shadow:8px 8px 0 var(--stone-2);animation:ticket-in .5s var(--ease-spring);border-radius:4px;gap:18px;padding:clamp(20px,3vw,32px);display:grid;position:relative}@keyframes ticket-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}.ticket-head{align-items:center;gap:12px;display:flex}.ticket-head svg{background:var(--brick);color:#fff;border-radius:50%;flex:none;width:40px;height:40px;padding:8px}.ticket-head h3{outline:none;font-size:1.9rem}.ticket-facts{border-top:1px dashed var(--ink-3);grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.ticket-facts>div{border-bottom:1px solid var(--rule);padding-block:10px}.ticket-facts dt{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);font-size:.75rem;font-weight:600}.ticket-facts dd{font-weight:600}.ticket-note{color:var(--ink-2);border-left:3px solid var(--brick);background:var(--limestone);padding:12px 14px;font-size:.9rem}.ticket-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.listing-aside{top:calc(var(--header-h) + 76px);padding-top:clamp(40px,5vw,72px);position:sticky}.agent-card{background:var(--paper);border:1px solid var(--rule-strong);border-radius:4px;gap:14px;padding:24px;display:grid}.agent-card>div{gap:2px;display:grid}.agent-card .agent-mono{background:var(--brick);color:#fff;width:64px;height:64px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:1.4rem;display:grid}.agent-card-name{font-family:var(--font-display);font-size:1.6rem;line-height:1.1}.agent-card-lang{color:var(--ink-2);font-size:.84rem}.agent-card-status{border-block:1px solid var(--rule);align-items:center;gap:10px;padding-block:12px;font-weight:600;display:flex}.dot{border-radius:50%;width:9px;height:9px}.dot-ok{background:var(--ok);box-shadow:0 0 0 4px #3f6a452e}.dot-pause{background:var(--warn)}.agent-card .button-primary,.agent-card .button-secondary{width:100%}.similar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.mobile-book-bar{display:none}@media (max-width:1023px){.listing-body{grid-template-columns:1fr}.listing-aside{padding-top:0;padding-bottom:48px;position:static}.calc,.location-grid{grid-template-columns:1fr}.similar-grid{grid-template-columns:1fr 1fr}}@media (max-width:760px){.listing{padding-bottom:76px}.gallery-mosaic{margin-inline:calc(var(--gutter) * -1);aspect-ratio:auto;border-radius:0;grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:4px}.gallery-tile-1{aspect-ratio:4/3;grid-area:auto/1/auto/-1}.gallery-tile-2{grid-column:auto}.gallery-tile-2,.gallery-tile-3{aspect-ratio:4/3}.gallery-tile-4{display:none}.gallery-all{top:calc(75vw - 58px);bottom:auto;right:10px}.listing-head{grid-template-columns:1fr}.listing-price{text-align:left;justify-items:start}.listing-actions{width:100%}.listing-actions>*{flex:1}.highlights,.booking-kind,.booking-fields,.ticket-facts,.fp-sheets[data-floors="2"],.calc-breakdown,.similar-grid{grid-template-columns:1fr}.lightbox-nav{top:auto;bottom:8px;translate:none}.lightbox-image{inset:0 0 64px}.lightbox-thumbs button{width:60px}.mobile-book-bar{z-index:45;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--ink);justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px -20px #1c1c1a80}.mobile-book-bar p{line-height:1.2;display:grid}.mobile-book-bar strong{font-size:1.15rem}.mobile-book-bar span{color:var(--ink-2);font-size:.8rem}.listing-section{scroll-margin-top:calc(var(--header-h) + 60px)}}
