/* Intrinsic component sizing with a small, purpose-led Bento introduction. */
:root{--page-gutter:clamp(1rem,4vw,3.125rem);--space-section:clamp(2.5rem,5vw,4.5rem);--space-grid:clamp(1rem,2.1vw,1.75rem);--radius-panel:1.125rem;--radius-control:.625rem}
html{scroll-padding-top:8rem}.wrap{padding-inline:max(var(--page-gutter),env(safe-area-inset-left)) max(var(--page-gutter),env(safe-area-inset-right));max-width:1280px}
.site-header.wrap{position:sticky;top:max(.5rem,env(safe-area-inset-top));z-index:20;width:calc(100% - var(--page-gutter)*2);max-width:1180px;min-height:5rem;height:auto;margin-block:.75rem 0;padding:12px max(12px,env(safe-area-inset-left)) 12px max(12px,env(safe-area-inset-right));border:1px solid #d5dfd8;border-radius:1rem;background:#fff;box-shadow:0 5px 24px #1d302d06;display:flex;flex-wrap:wrap;gap:.5rem .75rem}
.header-actions{margin-left:auto;gap:clamp(.75rem,1.5vw,1.375rem);min-width:0}.language-switch [data-lang]{min-width:44px;min-height:44px;padding:6px;font-size:11px;border-radius:.375rem}.language-switch [data-lang][aria-current=page]{background:#e7eee9;box-shadow:none}.main-nav a,.nav-saved{min-height:44px;min-width:44px;display:inline-flex;align-items:center}.main-nav{gap:clamp(.75rem,2vw,1.875rem)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.site-header.wrap{background:rgba(255,255,255,.9);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1)}.compare-tray{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}
.hero{container:hero / inline-size;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem;padding-top:clamp(1.5rem,3.2vw,2.75rem);padding-bottom:clamp(1.5rem,3vw,2.5rem)}
.hero-copy{grid-column:1/6;grid-row:1/3;min-width:0;padding:clamp(.25rem,1.2vw,1rem) 0 0}.hero h1,html[lang=fr-CA] .hero h1,html[lang=zh-Hans] .hero h1{font-family:var(--sans);font-size:clamp(2.5rem,4.2vw,3.7rem);font-weight:650;letter-spacing:-.055em;line-height:1.08;margin:1rem 0 1.125rem}.hero h1 em{font-family:inherit;font-style:normal;letter-spacing:inherit}.hero-description{font-size:clamp(.8125rem,.95vw,.9375rem);line-height:1.85;max-width:26rem}.hero .text-link{margin-top:1rem}.hero-footnote,html[lang=fr-CA] .hero-footnote{display:none}
.hero-image-panel{grid-column:6/-1;grid-row:1/4;height:clamp(26rem,34vw,31.5rem);min-height:0;overflow:hidden;border-radius:var(--radius-panel)}.hero-photo{height:100%;width:100%;object-fit:cover}.hero-property{left:1.5rem;right:1.5rem;bottom:1.75rem;width:calc(100% - 3rem);margin:0;padding:4rem 0 .5rem;background:linear-gradient(transparent,rgba(10,28,22,.65));text-shadow:0 1px 8px #10231f66}.hero-property strong{font-size:clamp(1.5rem,2.5vw,2rem)}.hero-photo-top{top:1.25rem;left:1.25rem;right:1.25rem}.pill{border-radius:2rem;padding:.45rem .8rem}.image-caption{bottom:.5rem;right:.75rem;border-radius:.375rem;background:#fffffff2;max-width:calc(100% - 1.5rem);font-size:9px}.circle-arrow{background:#ffffff18}
.bento-action{display:flex;gap:.875rem;align-items:center;justify-content:space-between;text-align:left;border-radius:var(--radius-panel);min-width:0;min-height:8rem;padding:clamp(1rem,1.8vw,1.375rem);color:var(--ink);border:1px solid #d8e3d9;line-height:1.45}.bento-action.buyer-trigger{grid-column:1/4;grid-row:3;background:#e6eee5}.bento-action.seller-trigger{grid-column:4/6;grid-row:3;background:#efede6;border-color:#e2ded2}.bento-action>span:first-child{display:grid;gap:.375rem;min-width:0}.bento-action small{font-size:10px;color:var(--muted);letter-spacing:.04em}.bento-action strong{font-family:var(--sans);font-size:clamp(1rem,1.35vw,1.25rem);font-weight:600;letter-spacing:-.025em;overflow-wrap:anywhere}.bento-action .bento-description{font-size:11px;color:var(--muted);line-height:1.65}.bento-action>.bento-arrow{font-size:22px;flex-shrink:0}.bento-action:hover{border-color:#aabdaf}.bento-action.seller-trigger{gap:.5rem}.bento-action.seller-trigger .bento-description{display:none}
@container hero (width < 62rem){.hero-copy{grid-column:1/7}.hero-image-panel{grid-column:7/-1}.bento-action.buyer-trigger{grid-column:1/4}.bento-action.seller-trigger{grid-column:4/7}.hero h1,html[lang=fr-CA] .hero h1,html[lang=zh-Hans] .hero h1{font-size:clamp(2.3rem,5.4cqi,3.4rem)}}
@container hero (width < 48rem){.hero-copy{grid-column:1/-1;grid-row:auto}.hero-image-panel{grid-column:1/-1;grid-row:auto;height:auto;aspect-ratio:1.8}.bento-action.buyer-trigger{grid-column:1/7;grid-row:auto}.bento-action.seller-trigger{grid-column:7/-1;grid-row:auto}.hero h1,html[lang=fr-CA] .hero h1,html[lang=zh-Hans] .hero h1{font-size:clamp(2.5rem,7.4cqi,3.6rem)}.hero-description{max-width:34rem}.bento-action{min-height:6.25rem}.bento-action.seller-trigger .bento-description{display:block}}
@container hero (width < 30rem){.bento-action.buyer-trigger,.bento-action.seller-trigger{grid-column:1/-1;grid-row:auto;min-height:5rem}.bento-action>span:first-child{gap:.2rem}.bento-action strong{font-size:1.0625rem}.bento-action small{font-size:9px}.bento-action .bento-description,.bento-action.seller-trigger .bento-description{display:none}.hero-image-panel{aspect-ratio:1.45}.hero-photo-top{top:1rem;left:1rem;right:1rem}.hero-property{left:1rem;right:1rem;width:calc(100% - 2rem);bottom:1.75rem}.hero-copy{padding-top:0}}
.search-bar{border-radius:var(--radius-panel);padding:clamp(1rem,1.8vw,1.375rem)}.search-field select,.advanced-filters select,.sort-controls select{min-height:44px}.button{min-height:44px;border-radius:var(--radius-control)}.text-link,.quiet-button,.footer-link,.card-detail-button{min-height:44px;min-width:44px}.quiet-button,.footer-link{display:inline-flex;align-items:center}.advanced-filters{gap:clamp(.875rem,2vw,1.5rem)}
.listings-section{padding-top:var(--space-section);padding-bottom:var(--space-section)}.section-heading{gap:clamp(1.25rem,3vw,2.5rem)}h2,.section-heading h2{font-size:clamp(1.75rem,2.7vw,2.4rem)}.section-description{font-size:clamp(.75rem,.85vw,.875rem)}
.listing-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:var(--space-grid)}.listing-card{container:property / inline-size;min-width:0}.property-layout{display:grid;grid-template-columns:minmax(0,1fr);height:100%;min-width:0}.card-image-wrap{border-radius:1rem;aspect-ratio:1.5}.card-body{padding-top:1rem;min-width:0}.card-body h3{font-size:clamp(1.25rem,6.2cqi,1.65rem);overflow-wrap:anywhere}.card-location{overflow-wrap:anywhere}.card-description{font-size:clamp(.75rem,2.9cqi,.8125rem);line-height:1.75}.card-price{font-size:clamp(1.125rem,5.7cqi,1.4rem)}.card-specs{gap:.5rem .875rem;min-width:0}.card-specs>span{min-width:0;overflow-wrap:anywhere}.card-detail-button{padding-block:.5rem}.save-button,.icon-button,.view-switch button{min-width:44px;min-height:44px;width:44px;height:44px}.library-tabs button,.filter-tabs button{min-height:44px}.card-reference{overflow-wrap:anywhere}
.listing-grid.list-view{grid-template-columns:minmax(0,1fr)}.listing-grid.list-view .listing-card{display:block;grid-template-columns:none;gap:0;padding:0;border:0}.list-view .property-layout{grid-template-columns:6.875rem minmax(0,1fr);gap:clamp(.875rem,2cqi,1.75rem);padding-bottom:1.5rem;border-bottom:1px solid var(--line)}.list-view .card-image-wrap{width:100%;height:auto;min-height:0;aspect-ratio:1;align-self:start}.list-view .card-image{width:100%;height:100%}.list-view .card-body{padding:0}.list-view .card-body h3{font-size:clamp(1.125rem,2.8cqi,1.65rem)}.list-view .card-description{font-size:clamp(.6875rem,1.5cqi,.8125rem)}.list-view .card-location{font-size:clamp(.625rem,1.2cqi,.75rem)}.list-view .card-specs{font-size:clamp(.625rem,1.2cqi,.75rem);gap:.375rem .75rem}.list-view .card-price{font-size:clamp(1.0625rem,2cqi,1.375rem)}.list-view .card-bottom{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.list-view .card-labels{display:none}.list-view .save-button{width:44px;height:44px;top:.375rem;right:.375rem}.list-view .photo-fallback{min-height:0;height:100%;font-size:.75rem;padding:.5rem;aspect-ratio:1}.list-view .card-detail-button{min-height:44px;font-size:.6875rem}.list-view .card-reference{font-size:.5625rem}
@container property (width > 35rem){.list-view .property-layout{grid-template-columns:minmax(14rem,30%) minmax(0,1fr)}.list-view .card-image-wrap,.list-view .photo-fallback{aspect-ratio:1.5}.list-view .card-labels{display:block}.list-view .card-bottom{margin-top:1rem}.list-view .card-description{max-width:44rem}.list-view .card-reference{font-size:.625rem}}
@container property (width < 20rem){.card-bottom{flex-wrap:wrap;gap:.25rem 1rem}.card-specs{gap:.375rem .625rem}.list-view .property-layout{grid-template-columns:5.5rem minmax(0,1fr);gap:.875rem}.list-view .card-bottom{display:block}.list-view .card-detail-button{display:flex;justify-content:space-between}.card-image-wrap .save-button{top:.5rem;right:.5rem}}
.approach-section{padding-block:var(--space-section)}.approach-layout{gap:clamp(2rem,6vw,6rem)}.approach-heading h2{font-size:clamp(2rem,3.2vw,2.75rem)}.seller-section{padding-block:var(--space-section)}.seller-section h2{font-size:clamp(1.75rem,2.5vw,2.2rem)}.site-footer{padding-top:clamp(1.75rem,3vw,2.5rem)}
dialog{border-radius:1rem;padding:clamp(1.25rem,3vw,2rem);scrollbar-gutter:stable}.detail-dialog{padding:0}.detail-body{padding:clamp(1.25rem,3vw,2.2rem)}.enquiry-dialog input:not([type=checkbox]),.enquiry-dialog textarea,.enquiry-dialog select{border-radius:.5rem}.buyer-criteria{border-radius:.75rem}.share-dialog input{border-radius:.5rem}.compare-tray{bottom:max(1rem,env(safe-area-inset-bottom));border-radius:.875rem;max-width:calc(100vw - 2rem)}.toast{bottom:calc(max(1rem,env(safe-area-inset-bottom)) + 5rem);border-radius:.625rem}
@media(max-width:860px){.site-header.wrap{min-height:4.75rem}.main-nav{display:none}}
@media(max-width:600px){.site-header.wrap{padding-block:8px;gap:4px 8px;min-height:4.5rem}.header-actions{gap:0}.brand-wordmark strong{font-size:clamp(1.125rem,5.5vw,1.375rem)}.brand .brand-mark{width:26px;height:34px}.brand-wordmark small{font-size:6.5px}.language-switch [data-lang]{font-size:10px}.hero{padding-top:1.5rem;padding-bottom:1.5rem}.hero h1,html[lang=fr-CA] .hero h1,html[lang=zh-Hans] .hero h1{margin:1rem 0;letter-spacing:-.055em}.hero .text-link{margin-top:.625rem}.hero-description{font-size:.8125rem}.search-button{margin-left:0}.advanced-filters>.quiet-button,.search-under .quiet-button{min-height:44px}.library-tabs{gap:.25rem}.library-tabs button{padding-inline:.375rem;gap:.375rem}.sort-controls select{max-width:calc(100% - 104px)}.view-switch button{width:44px;height:44px}.filter-tabs{gap:clamp(.75rem,4vw,1.5rem)}.detail-actions{gap:.625rem}.footer-bottom{gap:.25rem}.card-image-wrap .save-button{width:44px;height:44px}}
@media(prefers-contrast:more){.site-header.wrap,.compare-tray{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--ink)}}
/* Long French library labels wrap as a group on very narrow screens. */
.library-tabs{flex-wrap:wrap}.listing-search input{min-height:44px}.compare-table button{min-height:44px;min-width:44px}
.hero-image-panel .photo-fallback{display:block;padding:4.5rem 1.25rem 1rem;font-family:var(--sans);font-size:.8125rem;font-weight:500;text-align:left}
