/* Home: quieter selection controls, generous imagery, a clear next action. */
.home-page{--surface:#f6f8f3;--border:#ced8ca;--copy:#536354}
.home-page ::selection{background:#d5e8b6;color:#20382e}
.home-page input,.home-page select{caret-color:#254c40}
.home-page h1,.home-page h2,.home-page h3{text-wrap:balance;letter-spacing:-.03em}
.home-page .immersive-hero h1{letter-spacing:-.035em;font-weight:500;line-height:1.08;max-width:12ch}
.home-page .hero-copy{padding-top:48px;max-width:880px}
.home-page .hero-description{max-width:46ch;font-size:16px;line-height:1.7}
.home-page .hero-price small{font-size:12px}
.home-page .hero-scenes button{backdrop-filter:none;background:#254c40e8;border-radius:6px;text-align:center}
.home-page .hero-scenes button[aria-pressed=true]{background:#f6f8f3}
.home-page .photo-tag{backdrop-filter:none;background:#254c40e8}
.home-page .proof-strip{padding-block:32px}
.home-page .proof-strip span{font-size:12px;line-height:1.5}
.home-page .buyer-paths{grid-template-columns:1.2fr 1fr .8fr;gap:32px;padding-block:28px 40px}
.buyer-paths .family-path,.home-page .buyer-paths>a{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0 0 0 28px;border-left:1px solid var(--line);min-height:0;position:relative}
.buyer-paths .family-path{padding-left:0;border:0}
.home-page .buyer-paths strong{font-size:17px;font-weight:650;letter-spacing:-.02em}
.home-page .buyer-paths span{font-size:13px;font-weight:400;line-height:1.5;color:var(--copy);max-width:none}
.buyer-paths .family-path>div{display:flex;gap:20px}
.buyer-paths .family-path a{font-size:13px;text-decoration:underline;text-underline-offset:5px;min-height:36px;display:flex;align-items:center}
.home-page .buyer-paths>a{padding-right:36px}
.buyer-paths>a>svg{width:22px;height:22px;position:absolute;right:0;bottom:8px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .2s}
.buyer-paths>a:hover>svg{transform:translateX(4px)}
.home-page .property-section{padding-block:64px}
.home-page .section-heading{align-items:end;gap:24px;margin-bottom:30px}
.home-page .section-heading h2{font-size:clamp(30px,3.6vw,50px);font-weight:500;line-height:1.15}
.home-page .section-heading p{color:var(--copy)}
#apartments{background:#edf1e8;scroll-margin-top:0}
#apartments .delivery-years{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}
#apartments .delivery-years button{min-height:94px;padding:17px 20px;border:1px solid #c4d0bf;background:transparent;border-radius:8px;text-align:left;color:#20382e;box-shadow:none}
#apartments .delivery-years strong{display:flex;align-items:center;gap:12px;font-size:24px;line-height:1.2;font-weight:600;letter-spacing:-.02em}
#apartments .delivery-years strong span{font-size:12px;font-weight:500;margin:0;color:inherit}
#apartments .delivery-years small{display:block;font-size:12px;line-height:1.4;margin-top:10px;color:inherit}
#apartments .delivery-years button[aria-pressed=true]{background:#254c40;border-color:#254c40;color:#fff}
#apartments .delivery-years button:hover:not([aria-pressed=true]){background:#e0e8d9}
.catalog-controls{display:grid;grid-template-columns:1.05fr 1.55fr;gap:32px;padding:24px 0 10px;border-top:1px solid #cbd6c6}
#apartments .area-first{display:grid;grid-template-columns:1fr;gap:10px;background:none;margin:0;padding:0;border-radius:0}
#apartments .area-first h3,.room-filter-field>span{font-size:13px;line-height:1.4;font-weight:600;letter-spacing:0;margin:0}
#apartments .area-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:auto}
#apartments .area-inputs label{background:#fff;border:1px solid #bdcbbb;border-radius:6px;padding:0 12px;gap:6px;font-size:13px;color:var(--copy);min-width:0}
#apartments .area-inputs input{border:0;background:none;padding:11px 0;min-height:44px;width:100%;min-width:0;font-size:16px;color:#20382e;outline-offset:0}
#apartments .area-inputs input::placeholder{color:#667261;opacity:1}
#apartments .area-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;grid-column:auto}
#apartments .area-presets button{padding:6px 8px;min-height:36px;border:0;border-radius:4px;background:#e0e8d9;color:#334a37;font-size:12px}
#apartments .area-presets button[aria-pressed=true]{background:#254c40;color:#fff}
#apartments .filters{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:start;margin:0;padding:0;border:0;background:none}
.room-filter-field{min-width:0;display:grid;gap:10px}
#apartments .room-filters{display:flex;gap:5px;flex-wrap:nowrap;padding:0}
#apartments .room-filters button{border:1px solid #bdcbbb;background:#fff;min-height:46px;min-width:38px;padding:10px;flex:1;border-radius:6px;font-size:13px}
#apartments .room-filters button[aria-pressed=true]{background:#254c40;border-color:#254c40;color:#fff}
#apartments .budget-filter{min-width:0;width:100%;display:grid;grid-template-columns:1fr auto;gap:13px 8px;padding:0;font-size:13px;line-height:1.4}
#apartments .budget-filter b{font-size:14px;white-space:nowrap}
#apartments .budget-filter input{grid-column:1/-1;width:100%;margin:10px 0;accent-color:#254c40;min-height:24px;cursor:pointer}
.filter-secondary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:2px 0 6px;font-size:12px;color:var(--copy)}
.filter-secondary .text-link{font-size:12px;min-height:44px;text-decoration:underline;text-underline-offset:4px}
#apartments .advanced-filters{border-block:1px solid #cbd6c6;margin:0;padding:0}
#apartments .advanced-filters>summary{font-size:13px;min-height:48px;display:flex;align-items:center;padding:12px 0;cursor:pointer;gap:12px}
#apartments .advanced-filters>summary:after{content:'+';margin-left:auto;font-size:22px;font-weight:400}
#apartments .advanced-filters[open]>summary:after{content:'−'}
#apartments .advanced-filters .inventory-extra,#apartments .inventory-toolbar{padding-bottom:16px}
#apartments .catalogue-meta{display:flex;justify-content:space-between;align-items:start;margin:22px 0 12px;font-size:13px;gap:20px}
#result-count{font-size:16px;font-weight:600;white-space:nowrap}
.catalog-info{max-width:620px;text-align:right;line-height:1.6}
.catalog-info>summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px;min-height:32px;color:var(--copy)}
.catalog-info>div{text-align:left;padding:16px 0 0;max-width:70ch;font-size:13px}
.catalog-info p{margin:0 0 12px}
.catalog-info a{text-decoration:underline}
#apartments .inventory-year-heading{display:flex;justify-content:space-between;padding:14px 0;margin:0 0 6px;gap:20px;align-items:center;border:0}
#apartments .inventory-year-heading h3{order:-1;font-size:22px;line-height:1.2;margin:0;letter-spacing:-.02em}
#apartments .inventory-year-heading>div{display:flex;align-items:center;gap:14px}
#apartments .inventory-year-heading span,#apartments .inventory-year-heading p,#apartments .inventory-year-heading>b{font-size:12px;line-height:1.5;font-weight:400;margin:0;color:var(--copy)}
#apartments .apartment-grid{gap:20px}
#apartments .flat-card{border:0;border-radius:12px;padding:24px;background:#fff;box-shadow:none;transition:background .2s}
#apartments .flat-card:hover{background:#fcfdf9;box-shadow:none}
#apartments .flat-plan{height:226px;margin:8px 0 16px;padding:10px;border-radius:8px;background:#fff}
#apartments .flat-plan img{transition:transform .25s}
#apartments .flat-plan:hover img{transform:scale(1.035)}
#apartments .flat-top{align-items:center}
#apartments .status{font-size:12px;border-radius:4px;line-height:1.5}
#apartments .inventory-availability{font-size:12px;margin:0;line-height:1.6;color:#5f6c5d}
#apartments .inventory-availability.reserved{color:#755328}
#apartments .flat-title-row{align-items:baseline;gap:10px}
#apartments .flat-title-row h3{font-size:17px;letter-spacing:-.02em}
#apartments .flat-area{font-size:20px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
#apartments .flat-info{font-size:12px;gap:12px;color:var(--copy);margin-top:10px}
#apartments .flat-bottom{margin-top:22px;padding-top:18px;border-top:1px solid #e5eae0}
#apartments .flat-bottom strong{font-size:27px;line-height:1.3;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
#apartments .flat-bottom small{font-size:11px;line-height:1.5;margin-top:6px;color:var(--copy)}
#apartments .flat-actions{margin-top:18px}
#apartments .flat-actions .button{justify-content:space-between;font-size:14px;min-height:48px;padding:14px 18px;border-radius:6px}
#apartments .flat-designs{padding:10px 0 0;border:0}
#apartments .inventory-design-note{font-size:12px;color:var(--copy);margin:0 0 8px}
.flat-secondary-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
#apartments .flat-secondary-actions .text-link{font-size:12px;min-height:40px;padding:5px 0;text-decoration:underline;text-underline-offset:4px;text-align:left}
.catalog-load-error{grid-column:1/-1;padding:30px 0;max-width:60ch}
.catalog-load-error h3{font-size:24px;margin:0 0 12px}.catalog-load-error p{font-size:15px;line-height:1.6}.catalog-load-error>a{margin-left:20px;text-decoration:underline}
.home-page .showcase-card{border-radius:12px;box-shadow:none;border:0;background:#fff;overflow:hidden}
.home-page .showcase-photo{aspect-ratio:1.15}
.home-page .showcase-copy{padding:24px 0;background:#f7f8f3}
.home-page .showcase-copy h3{font-size:24px;font-weight:500}
.home-page .showcase-copy p{font-size:14px;line-height:1.65;max-width:42ch}
.home-page .design-price{border-top:1px solid #ced8ca;padding-top:18px;align-items:baseline;gap:12px}
.home-page .design-price span{font-size:12px;max-width:16ch;line-height:1.5}
.home-page .design-price b{font-size:21px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.home-page .neighbourhood-editorial .project-copy h3{letter-spacing:-.03em}
.home-page .selection-banner p,.home-page .catalogue-bottom p{font-size:13px;line-height:1.6}
@media(max-width:1100px){
  #apartments .apartment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-controls{grid-template-columns:1fr 1.2fr;gap:24px}
  #apartments .filters{grid-template-columns:1fr;gap:18px}
  #apartments .delivery-years button{padding:14px}
  #apartments .delivery-years strong{gap:7px;font-size:22px}
  #apartments .flat-card{padding:20px}
  #apartments .flat-title-row{flex-wrap:wrap}
  .home-page .buyer-paths{grid-template-columns:1.2fr 1fr .8fr;gap:24px}
}
@media(max-width:800px){
  .home-page .immersive-hero h1{font-size:clamp(42px,7.4vw,60px)}
  .home-page .hero-copy{padding-top:50px}
  .home-page .buyer-paths{grid-template-columns:1fr 1fr;gap:22px}
  .buyer-paths .family-path{grid-column:1/-1}
  .home-page .buyer-paths>a{padding:0 30px 0 0;border:0}
  #apartments .delivery-years strong{display:block}
  #apartments .delivery-years strong span{display:block;margin-top:5px}
  #apartments .inventory-year-heading p{display:none}
  .home-page .design-price{flex-direction:column;gap:6px}
  .home-page .design-price span{max-width:none}
}
@media(max-width:600px){
  #apartments .apartment-grid{grid-template-columns:minmax(0,1fr)}
  .home-page .hero.immersive-hero{min-height:620px;max-height:730px}
  .home-page .hero-copy{padding:70px 23px 95px;justify-content:center}
  .home-page .immersive-hero h1{font-size:clamp(38px,10.2vw,56px);line-height:1.12;letter-spacing:-.03em;max-width:11ch;margin-bottom:24px}
  .home-page .hero-description{font-size:14px;line-height:1.65;max-width:35ch;margin-bottom:22px}
  .home-page .hero-price{gap:20px;margin-top:24px;padding-top:20px}
  .home-page .hero-price strong{font-size:18px}
  .home-page .hero-price small{font-size:10px;line-height:1.5}
  .home-page .proof-strip{padding-block:26px;gap:22px}
  .home-page .proof-strip span{font-size:11px;max-width:20ch}
  .home-page .buyer-paths{padding-block:0 30px;gap:20px}
  .home-page .buyer-paths strong{font-size:15px}.home-page .buyer-paths span{font-size:12px}
  .buyer-paths .family-path{padding-top:24px;border-top:1px solid var(--line);width:100%}
  .buyer-paths .family-path a{min-height:44px}
  .home-page .property-section{padding-block:36px}
  .home-page .section-heading{display:block;margin-bottom:20px}
  .home-page .section-heading h2{font-size:31px;line-height:1.15;max-width:16ch}
  .home-page .section-heading p{font-size:13px;margin:12px 0 0;line-height:1.6}
  #apartments .delivery-years{gap:6px;margin-bottom:18px}
  #apartments .delivery-years button{padding:12px 8px;min-height:102px;border-radius:6px}
  #apartments .delivery-years strong{font-size:18px;line-height:1.2}
  #apartments .delivery-years strong span{font-size:10px;margin-top:6px}
  #apartments .delivery-years small{font-size:10px;margin-top:6px;line-height:1.4}
  .catalog-controls{grid-template-columns:1fr;gap:18px;padding:18px 0 0}
  #apartments .area-first{grid-template-columns:1fr auto;align-items:center;gap:10px}
  #apartments .area-inputs{width:210px;gap:6px}
  #apartments .area-inputs label{padding-inline:8px;font-size:12px}
  #apartments .area-inputs input{font-size:15px;min-height:44px}
  #apartments .area-presets{grid-column:1/-1}
  #apartments .area-presets button{min-height:40px;font-size:12px}
  #apartments .filters{gap:16px}
  .room-filter-field{grid-template-columns:1fr auto;gap:12px;align-items:center}
  .room-filter-field>span{max-width:9ch;font-size:12px}
  #apartments .room-filters{gap:4px}
  #apartments .room-filters button{padding:8px;min-width:33px;font-size:12px;min-height:44px}
  #apartments .budget-filter{grid-template-columns:1fr auto;gap:2px 8px;font-size:12px}
  #apartments .budget-filter input{margin:4px 0;min-height:30px}
  .filter-secondary{font-size:11px;margin:0;gap:20px}
  .filter-secondary>span{max-width:19ch;text-align:right;line-height:1.5}
  #apartments .advanced-filters>summary{font-size:12px;min-height:46px}
  #apartments .catalogue-meta{flex-direction:row;gap:12px;margin:18px 0 8px}
  #result-count{font-size:14px}.catalog-info{font-size:11px;text-align:right;max-width:50%}
  .catalog-info[open]{max-width:none;flex:1}.catalogue-meta:has(.catalog-info[open]){flex-wrap:wrap}.catalog-info>div{font-size:12px}
  #apartments .inventory-year-heading{gap:10px;flex-wrap:wrap;padding-block:10px;margin-bottom:0}
  #apartments .inventory-year-heading>div{gap:10px}
  #apartments .inventory-year-heading h3{font-size:20px}
  #apartments .inventory-year-heading span,#apartments .inventory-year-heading>b{font-size:11px}
  #apartments .flat-card{padding:22px}
  #apartments .flat-plan{height:230px}
  #apartments .flat-title-row h3{font-size:18px}
  #apartments .flat-title-row{flex-wrap:nowrap}
  #apartments .flat-area{font-size:20px}
  #apartments .flat-bottom strong{font-size:28px}
  #apartments .flat-secondary-actions .text-link{min-height:44px;font-size:12px}
  .home-page .design-showcase .showcase-card{min-width:88%;max-width:88%}
  .home-page .showcase-copy{padding:20px 0}
  .home-page .showcase-copy h3{font-size:23px}
  .home-page .design-price{flex-direction:row}
  .home-page .design-price span{max-width:16ch}
}
@media(prefers-reduced-motion:reduce){.home-page .flat-plan:hover img,.buyer-paths>a:hover>svg{transform:none}}

/* Give the photograph its own light: copy no longer darkens the building. */
.home-page .hero.immersive-hero{display:grid;grid-template-columns:44% 56%;height:auto;min-height:610px;max-height:none;background:#eef2e7}
.home-page .immersive-hero:after{display:none}
.home-page .immersive-hero .hero-visual{position:relative;grid-column:2;grid-row:1;z-index:0;min-height:610px}
.home-page .immersive-hero .hero-image{position:absolute;inset:0;object-position:58% center}
.home-page .immersive-hero .hero-copy{grid-column:1;grid-row:1;padding:54px 9%;max-width:none;color:#203c30;justify-content:center}
.home-page .immersive-hero h1{font-size:clamp(40px,4.1vw,62px);line-height:1.1;max-width:none;margin-bottom:24px}
.home-page .immersive-hero h1 span{color:#3e6548}
.home-page .hero-description{color:#405b49;font-size:15px;line-height:1.7}
.home-page .hero-actions{gap:18px;align-items:flex-start;flex-direction:column}
.home-page .hero-actions .text-link{color:#254c40}
.home-page .hero-actions .button{background:#254c40;color:#fff}
.home-page .hero-price{gap:24px;border-color:#cbd7c1;margin-top:30px;padding-top:24px;flex-wrap:wrap}
.home-page .hero-price strong{color:#203c30;font-size:21px}
.home-page .hero-price small{color:#4e6351;font-size:11px}
.home-page .hero-scenes{left:calc(44% + 24px);right:24px;bottom:24px;z-index:2}
.home-page .hero-scenes button{background:#214434;min-width:100px;font-size:13px}
.home-page .photo-tag{background:#214434;border:0;font-size:12px;max-width:calc(100% - 40px);line-height:1.5}
#apartments.property-section{padding-block:36px 50px}
#apartments .section-heading{margin-bottom:20px}
#apartments .section-heading h2{font-size:clamp(28px,3vw,40px)}
#apartments .delivery-years{margin-bottom:16px}
#apartments .delivery-years button{min-height:76px;padding:12px 16px}
#apartments .delivery-years strong{font-size:21px}
#apartments .delivery-years small{margin-top:6px}
#apartments .catalog-controls{padding-top:16px;gap:24px}
#apartments .catalogue-meta{margin-top:14px}
.showcase-followup{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:24px 0 16px}
@media(max-width:1000px){
 .home-page .hero.immersive-hero{grid-template-columns:46% 54%;min-height:570px}
 .home-page .immersive-hero .hero-visual{min-height:570px}
 .home-page .immersive-hero .hero-copy{padding:40px 7%}
 .home-page .hero-scenes{left:calc(46% + 16px);right:16px;gap:6px}
 .home-page .hero-scenes button{min-width:0;flex:1;padding:12px 8px}
 .home-page .hero-price{gap:16px}.home-page .hero-price strong{font-size:19px}
}
@media(max-width:700px){
 .home-page .hero.immersive-hero{display:flex;flex-direction:column;margin:0 10px;min-height:0;border-radius:12px;overflow:hidden}
 .home-page .immersive-hero .hero-visual{height:270px;min-height:270px;width:100%;order:0}
 .home-page .immersive-hero .hero-image{object-position:center}
 .home-page .immersive-hero .hero-copy{height:auto;order:2;padding:28px 24px 30px}
 .home-page .immersive-hero h1{font-size:40px;max-width:none;margin-bottom:18px}
 .home-page .hero-description{max-width:none;font-size:14px;margin-bottom:22px}
 .home-page .hero-price{width:100%;margin-top:24px;padding-top:20px;gap:24px}
 .home-page .hero-price strong{font-size:18px}.home-page .hero-price small{font-size:11px}
 .home-page .hero-actions{width:100%;gap:20px}.home-page .hero-actions .button{width:100%}
 .home-page .hero-scenes{position:static;order:1;padding:12px;gap:6px;background:#dce5d2}
 .home-page .hero-scenes button{min-width:0;font-size:12px;flex:1;background:transparent;color:#254c40;border:1px solid #9db190}
 .home-page .hero-scenes button[aria-pressed=true]{background:#254c40;color:#fff;border-color:#254c40}
 .home-page .photo-tag{top:14px;right:14px;font-size:11px;padding:7px 10px;max-width:calc(100% - 28px)}
 #apartments .delivery-years{gap:6px;margin-bottom:12px}
 #apartments .delivery-years button{padding:10px 6px;min-height:86px}
 #apartments .delivery-years strong{font-size:17px}
 #apartments .delivery-years strong span,#apartments .delivery-years small{font-size:10px}
 #apartments .catalog-controls{gap:12px;padding-top:12px}
 #apartments .filters{gap:12px}
 #apartments .section-heading{margin-bottom:16px}
 .showcase-followup{gap:20px}.showcase-followup .button{width:100%}
}

@media(max-width:600px){.property-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 5% max(10px,env(safe-area-inset-bottom));}.property-mobile-actions a{display:flex;align-items:center;justify-content:center;min-width:0;width:100%;font-size:12px;min-height:44px}}

#apartments .section-heading h2{max-width:none}
@media(max-width:600px){#apartments.property-section{padding-top:24px}#apartments .section-heading h2{font-size:28px}#apartments .section-heading p{margin-top:8px}#apartments .delivery-years button{min-height:80px}#apartments .filter-secondary>span{display:none}#apartments .filter-secondary{justify-content:flex-end}#apartments .catalogue-meta{margin-top:12px}}
