@font-face{font-family:"PT Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/PTSans-Regular.ttf") format("truetype")}
@font-face{font-family:"PT Sans";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/PTSans-Bold.ttf") format("truetype")}
:root{--ink:#252e29;--muted:#58635c;--green:#1e493b;--line:#d6d9d0;--paper:#f5f5ee;font:16px/1.45 "PT Sans",Arial,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}.wrap{width:min(1360px,94%);margin:auto}header{border-bottom:1px solid var(--line)}.bar{height:74px;display:flex;align-items:center;justify-content:space-between}.brand{color:var(--green);font-size:31px;font-weight:900;letter-spacing:-2px;font-style:italic;display:flex;align-items:center;gap:18px}.brand span,.bar-label{font:500 13px/1.35 "PT Sans",Arial,sans-serif;letter-spacing:.02em;color:var(--muted)}.brand span{border-left:1px solid var(--line);padding-left:18px}
.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:clamp(23px,4vw,58px) 0 24px}.kicker{font-size:11px;letter-spacing:.14em;font-weight:700;color:var(--muted);margin:0 0 7px}h1,h2,h3{margin:0}h1,h2,.area{font-family:"PT Sans",Arial,sans-serif;font-weight:400;line-height:1.05}h1{font-size:clamp(36px,4.3vw,68px);letter-spacing:-.045em}h2{font-size:36px;letter-spacing:-.035em}.block-switch{display:flex;border:1px solid #9daaa0;padding:3px;border-radius:6px}
button{font:inherit;color:inherit;cursor:pointer;background:transparent;border:1px solid var(--line);min-height:44px}button:focus-visible,[role=button]:focus-visible{outline:3px solid #bc712f;outline-offset:3px}.block-switch button{border:none;border-radius:3px;padding:8px 22px;font-weight:600}.block-switch button[aria-pressed=true],.numbers button[aria-pressed=true]{color:white;background:var(--green)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,24%,330px);gap:18px;align-items:stretch}.drawing,aside{border:1px solid var(--line);background:white;border-radius:9px;overflow:hidden}.drawing{min-width:0;display:flex;flex-direction:column}.drawing-head,.drawing-foot{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:8px}.drawing-head{border-bottom:1px solid var(--line)}.drawing-head button{border-radius:4px;padding:6px 13px;font-size:14px}.drawing-head button[aria-pressed=true]{border-color:var(--green);background:#e4ede7}.canvas{min-height:280px;flex:1;display:grid;align-items:center;padding:clamp(8px,2.1vw,34px);background:#fff}.canvas svg{display:block;width:100%;height:clamp(270px,32vw,500px);overflow:visible}.hit{cursor:pointer;outline:none}.hit polygon{fill:transparent;stroke:transparent;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round}.hit:hover polygon{fill:#b4c6ad66}.hit[aria-pressed=true] polygon{fill:#729f7877;stroke:#285b49}.hit:focus-visible polygon{stroke:#b36315;stroke-dasharray:5 3}.pin{pointer-events:none}.pin rect{fill:#fff;stroke:#4a544b;stroke-width:1.5}.pin text{fill:#28352c;font:600 21px "PT Sans",Arial,sans-serif;text-anchor:middle;dominant-baseline:central}.hit[aria-pressed=true] .pin rect{fill:var(--green);stroke:white}.hit[aria-pressed=true] text{fill:#fff}.drawing-foot{border-top:1px solid var(--line);font-size:12px;color:var(--muted);padding:13px 22px}.drawing-foot i{display:inline-block;width:10px;height:10px;background:#9dbba0;border:1px solid var(--green);margin-right:7px}
aside{display:flex;flex-direction:column}.picture{background:url('assets/facade.webp') center 51%/cover;min-height:115px;height:clamp(115px,11vw,165px)}.apartment,.picker{padding:20px}.apartment h2{font-size:29px}.area{font-size:clamp(37px,3.2vw,52px);color:var(--green);margin:15px 0 3px}.area small{font:500 20px "PT Sans",Arial,sans-serif}.caption,.hint{font-size:13px;color:var(--muted)}#note{margin:10px 0 0;font-size:13px;color:#77451f}.picker{margin-top:auto;border-top:1px solid var(--line)}h3{font-size:14px;margin-bottom:10px}.numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.numbers button{border-radius:4px}.hint{margin:12px 0 28px}
@media(max-width:740px){.wrap{width:94%}.bar{height:53px}.brand{font-size:26px}.brand span{font-size:11px;padding-left:10px}.bar-label{display:none}.intro{align-items:flex-start;flex-direction:column;margin:22px 0 15px}.block-switch button{padding:5px 20px}.layout{grid-template-columns:1fr;gap:12px}.drawing-head{padding:12px 15px}.drawing-head h2{font-size:29px}.canvas{padding:8px;min-height:0}.canvas svg{height:auto;max-height:52vh}.drawing-foot{padding:10px 12px;font-size:11px}.picture{display:none}.apartment,.picker{padding:14px 16px}.area{font-size:33px;margin-top:8px}.apartment h2{font-size:25px}.numbers{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}}

#floorPicker{font:400 clamp(24px,2.5vw,35px)/1.1 "PT Sans",Arial,sans-serif;letter-spacing:-.035em;color:var(--ink);background-color:#fff;border:1px solid #aab4ab;border-radius:4px;min-height:44px;padding:2px 7px;cursor:pointer}
#floorPicker option{font:16px "PT Sans",Arial,sans-serif}
#floorPicker:focus-visible{outline:3px solid #bc712f;outline-offset:2px}
.apartment-search{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px 16px;margin:0 0 20px}
.apartment-search label{display:grid;gap:5px;font-size:14px;font-weight:600}
#flatSearch{min-height:44px;width:240px;max-width:100%;padding:8px 12px;font:400 16px/1.4 "PT Sans",Arial,sans-serif;color:var(--ink);border:1px solid #9daaa0;border-radius:4px;background:white}
#flatSearch:focus-visible{outline:3px solid #bc712f;outline-offset:2px}
.matches{display:flex;flex-wrap:wrap;gap:8px}
.matches button{padding:7px 14px;text-align:left;border-radius:4px;background:white;line-height:1.3}
.matches button:hover{background:#e4ede7;border-color:var(--green)}
.matches strong,.matches span{display:block}.matches strong{color:var(--green);font-size:14px}.matches span,#searchStatus{color:var(--muted);font-size:13px}
#searchStatus{align-self:center}
.matches:empty,#searchStatus:empty{display:none}
@media(max-width:740px){.apartment-search label,#flatSearch{width:100%}.matches{width:100%}.matches button{flex:auto}}
.apartment-search :is(#roomFilter,#minArea,#maxArea){height:44px;padding:8px 12px;background:#fff;color:var(--ink);border:1px solid #9daaa0;border-radius:4px;font:400 16px "PT Sans",Arial,sans-serif}
#roomFilter{min-width:145px}#minArea,#maxArea{width:118px}#clearFilters{border-radius:4px;padding:8px 14px}
.apartment-search :is(input,select):focus-visible{outline:3px solid #bc712f;outline-offset:2px}
.matches{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));max-height:245px;overflow:auto;padding:3px}
#roomCount{display:inline-block;color:var(--muted);font-size:14px;margin-top:5px}
@media(max-width:740px){.apartment-search{display:grid;grid-template-columns:1fr 1fr;gap:10px}.apartment-search label{min-width:0}.apartment-search :is(#roomFilter,#minArea,#maxArea){min-width:0;width:100%}.matches,#searchStatus{grid-column:1/-1}.matches{max-height:200px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}}

/* Catalog shares the development's warm stone and forest-green identity. */
:root{--ink:#253b32;--muted:#60695f;--green:#244e3d;--line:#dbddd2;--paper:#f7f6f1}
body>header{background:var(--paper)}
body>header .bar{height:88px}
body>header .brand{letter-spacing:-1.7px}
body>header nav{gap:24px}
body>header nav a{font:700 15px "PT Sans",Arial,sans-serif;color:var(--ink);padding:12px 0;text-decoration:none;border-radius:0}
body>header #navPlan{border-bottom:2px solid var(--green);background:transparent}
#catalog{padding:34px 0 0}
.catalog-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;margin-bottom:64px}
.hero-copy{padding:14px 0}
#catalog .kicker{font-size:12px;letter-spacing:.14em;color:#58694e}
#catalog h1{font-family:"PT Sans",Arial,sans-serif;font-size:clamp(38px,4.3vw,65px);font-weight:700;letter-spacing:-.045em;line-height:1.06;text-wrap:balance;margin:22px 0}
.hero-description{max-width:390px;font-size:18px;line-height:1.5;color:var(--muted);margin:0}
.project-facts{display:flex;gap:38px;margin:35px 0 0;padding-top:23px;border-top:1px solid var(--line);max-width:490px}
.project-facts dt{font-size:30px;line-height:1.2;letter-spacing:-.025em;font-weight:700}
.project-facts dd{font-size:13px;color:var(--muted);margin:5px 0 0}
.hero-render{position:relative;display:block;min-width:0;overflow:hidden;border-radius:8px;aspect-ratio:1.42;color:white}
.hero-render img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hero-render:hover img{transform:scale(1.025)}
.hero-render span{position:absolute;bottom:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;background:#244e3df2;color:#fff;border:1px solid #ffffff35;border-radius:5px;padding:14px 18px;font-size:16px;font-weight:700}
.hero-render b{font-size:25px;font-weight:400}
#catalog .intro{margin:0 0 23px;align-items:end}
#catalog .intro h2{font-family:inherit;font-weight:700;font-size:clamp(25px,2.8vw,36px);line-height:1.12;letter-spacing:-.025em}
.selection-hint{font-size:14px;color:var(--muted);margin:0;line-height:1.5}
#catalog .apartment-search{display:grid;grid-template-columns:1.35fr 1.2fr 1fr 1fr auto;gap:16px;padding:24px;background:#eeefe7;border:1px solid var(--line);border-radius:8px;margin-bottom:28px}
#catalog .apartment-search label{min-width:0;font-size:13px;gap:9px;font-weight:700}
#catalog .apartment-search :is(input,select){font:16px "PT Sans",Arial,sans-serif;width:100%;min-width:0;height:48px;min-height:48px;padding:10px 13px;border:1px solid #aab3a5;border-radius:5px;color:var(--ink);background:#fff}
#catalog input::placeholder{color:#6a7268;opacity:1}
#catalog #clearFilters{height:48px;min-height:48px;font-size:14px;font-weight:700;padding:10px 16px;border-color:#aab3a5;background:transparent;border-radius:5px}
#catalog #clearFilters:hover{background:#e0e5d9}
#searchStatus,#catalog #matches{grid-column:1/-1}
#catalog #searchStatus{font-size:14px}
#catalog #matches:empty,#catalog #searchStatus:empty{display:none}
#catalog .matches{max-height:290px;gap:10px;padding:3px}
#catalog .matches button{min-height:70px;border-color:#b5c0af;padding:13px 16px;border-radius:5px;transition:background .16s,border-color .16s}
#catalog .matches strong{font-size:17px;margin-bottom:5px}
#catalog .matches span{font-size:14px}
.plan-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 18px}
.plan-toolbar p{font-size:14px;color:var(--muted);margin:0}
#catalog .block-switch{border-color:#b7c0af;border-radius:6px;padding:4px}
#catalog .block-switch button{min-width:108px;min-height:44px;padding:10px 20px;border-radius:3px}
#catalog .layout{grid-template-columns:minmax(0,1fr) 305px;gap:22px}
#catalog .drawing,#catalog aside{border-radius:8px;border-color:var(--line)}
#catalog .drawing-head{padding:20px 24px}
#catalog .drawing-head>div{display:flex;align-items:center;gap:16px}
#catalog #blockName{margin:0;font-size:13px;color:var(--green)}
#catalog #floorPicker{font:700 23px/1.2 "PT Sans",Arial,sans-serif;border:0;background:#f0f2e9;border-radius:5px;padding:9px 14px;letter-spacing:-.02em;min-height:48px}
#catalog #dimensions{min-height:44px}
#catalog .canvas{background:#fff;padding:25px}
#catalog .canvas svg{height:clamp(310px,35vw,500px)}
#catalog .pin text{font-family:"PT Sans",Arial,sans-serif}
#catalog aside{background:#fff}
#catalog .apartment{padding:27px 24px}
#catalog .apartment h2{font-family:inherit;font-size:29px;font-weight:700;letter-spacing:-.025em}
#catalog #context{font-size:11px;margin-bottom:14px}
#catalog #roomCount{font-size:15px;margin-top:8px}
#catalog .area{font-family:inherit;font-size:57px;font-weight:700;line-height:1.1;margin:25px 0 4px;letter-spacing:-.05em}
#catalog .area small{font:400 23px "PT Sans",Arial,sans-serif;letter-spacing:0}
#catalog .caption{font-size:13px;margin-bottom:23px}
#catalog #facadeLink,#catalog #flatTour{font-family:inherit;display:block;min-height:48px;padding:12px 14px;width:100%;border-radius:5px;font-size:14px;font-weight:700;line-height:1.3}
#catalog #flatTour{background:var(--green);color:white;border-color:var(--green);margin-top:10px}
#catalog #flatTour:hover{background:#173c2c}
#catalog #facadeLink{background:#f1f3ec;border-color:#b6c0b0}
#catalog .picker{padding:22px 24px;background:#f6f7f1}
#catalog .picker h3{font-size:14px;margin-bottom:14px}
#catalog .numbers{gap:7px}
#catalog .numbers button{border-color:#bbc4b4;background:#fff;border-radius:5px;font-weight:700}
#catalog .numbers button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}
#catalog .numbers button:hover{border-color:var(--green)}
#catalog .hint{margin:18px 0 35px}
#catalog :is(button,a,input,select,[role=button]):focus-visible,body>header a:focus-visible{outline:3px solid #96632b;outline-offset:4px}
#catalog [hidden]{display:none!important}

@media(max-width:1024px){
 .catalog-hero{gap:28px;margin-bottom:45px}
 #catalog h1{font-size:43px}
 .project-facts{gap:22px}
 #catalog .apartment-search{grid-template-columns:1.3fr 1.2fr 1fr 1fr;gap:13px}
 #catalog #clearFilters{grid-column:4}
 #catalog .layout{grid-template-columns:minmax(0,1fr) 275px;gap:14px}
 #catalog .apartment,#catalog .picker{padding:22px 18px}
}
@media(max-width:740px){
 body>header .bar{height:72px;gap:12px}
 body>header .brand{font-size:27px}
 body>header .brand span{display:none}
 body>header nav{gap:16px}
 body>header nav a{font-size:13px}
 #catalog{padding-top:22px}
 .catalog-hero{grid-template-columns:1fr;gap:23px;margin-bottom:37px}
 .hero-copy{padding:0}
 #catalog h1{font-size:clamp(37px,7.2vw,52px);margin:14px 0 16px}
 .hero-description{font-size:16px;max-width:450px}
 .project-facts{margin-top:22px;padding-top:18px;gap:25px;justify-content:space-between;max-width:490px}
 .project-facts dt{font-size:27px}
 .project-facts dd{font-size:12px}
 .hero-render{aspect-ratio:1.6;max-height:390px}
 .hero-render span{bottom:13px;left:13px;right:13px;padding:9px 13px;font-size:14px}
 #catalog .intro{gap:12px;margin-bottom:20px}
 #catalog .intro h2{font-size:28px}
 .selection-hint{display:none}
 #catalog .apartment-search{grid-template-columns:1fr 1fr;padding:18px;gap:15px}
 #catalog #clearFilters{grid-column:1/-1}
 .plan-toolbar{gap:14px;align-items:start}
 .plan-toolbar p{max-width:145px;font-size:12px}
 #catalog .block-switch button{min-width:85px;padding:9px 15px}
 #catalog .layout{grid-template-columns:1fr;gap:16px}
 #catalog .drawing-head{padding:15px}
 #catalog .drawing-head>div{gap:10px}
 #catalog #floorPicker{font-size:20px;padding:8px}
 #catalog .canvas{padding:12px}
 #catalog .canvas svg{height:auto;max-height:520px;min-height:280px}
 #catalog .apartment{padding:23px}
 #catalog .area{font-size:49px;margin-top:18px}
 #catalog .picker{padding:20px 23px}
}
@media(prefers-reduced-motion:reduce){.hero-render img{transition:none}.hero-render:hover img{transform:none}}
