.estate-makieta-hero { position:relative; height:min(83vh,780px); min-height:570px; overflow:hidden; background:#21342a; }
.estate-makieta-hero > img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.estate-makieta-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(17,37,27,.69),rgba(17,37,27,.18) 65%,transparent); pointer-events:none; }
.estate-makieta-hero__copy { position:absolute; z-index:1; left:max(5vw,32px); bottom:clamp(55px,10vh,130px); color:#fff; }
.estate-makieta-hero__copy .eyebrow { color:#f2b99f; }
.estate-makieta-hero__copy h1 { max-width:780px; margin:12px 0 27px; color:#fff; font:400 clamp(54px,6vw,104px)/1.02 'Playfair Display',Georgia,serif; letter-spacing:-.05em; text-shadow:0 3px 18px rgba(0,0,0,.2); }
.estate-explore { padding:0 0 78px; scroll-margin-top:70px; }
@media (max-width:620px) { .estate-makieta-hero { height:72vh; min-height:520px; } .estate-makieta-hero > img { object-position:55% center; } .estate-makieta-hero::after { background:linear-gradient(0deg,rgba(17,37,27,.77),transparent 72%); } .estate-makieta-hero__copy { left:20px; right:20px; bottom:45px; } .estate-makieta-hero__copy h1 { font-size:clamp(48px,11vw,70px); } }
.estate-rotator { width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,380px); color:#fff; background:#182720; overflow:hidden; }
.estate-rotator__picture { position:relative; aspect-ratio:1; min-width:0; background:#8a9586; overflow:hidden; }
.estate-rotator__image { display:block; width:100%; height:100%; object-fit:cover; }
.estate-rotator__overlay { position:absolute; inset:0; width:100%; height:100%; }
.estate-rotator.is-loading .estate-rotator__overlay { opacity:0; }
.estate-rotator.is-loading .estate-rotator__image { opacity:.72; }
.estate-stage-zone { pointer-events:none; }
.estate-stage-zone > line { stroke:rgba(255,255,255,.88); stroke-width:2.3; stroke-dasharray:10 9; }
.estate-stage-label rect { fill:rgba(24,39,32,.9); stroke:rgba(255,255,255,.7); stroke-width:1.5; filter:drop-shadow(0 3px 8px rgba(0,0,0,.25)); }
.estate-stage-label text { fill:#fff; font:800 17px 'Manrope',Arial,sans-serif; letter-spacing:1px; }
.estate-building { cursor:pointer; outline:none; }
.estate-building__hit { fill:rgba(187,90,56,.08); stroke:rgba(255,255,255,.72); stroke-width:1.5; stroke-dasharray:5 5; transition:fill .2s ease,stroke .2s ease; }
.estate-building:hover .estate-building__hit,.estate-building.is-active .estate-building__hit,.estate-building:focus-visible .estate-building__hit { fill:rgba(187,90,56,.36); stroke:#fff; stroke-width:4; stroke-dasharray:none; }
.estate-building__pin { pointer-events:none; }
.estate-building__pin circle { fill:#fff; stroke:var(--gold); stroke-width:5; filter:drop-shadow(0 5px 10px rgba(0,0,0,.4)); }
.estate-building[data-status="sold"] .estate-building__pin circle { stroke:#aa5757; }
.estate-building[data-status="reserved"] .estate-building__pin circle { stroke:#e7bd41; }
.estate-building[data-status="available"] .estate-building__pin circle { stroke:#4d9a65; }
.estate-building__pin text { fill:#17271e; font:800 22px 'Manrope',Arial,sans-serif; }
.estate-building:hover .estate-building__pin circle,.estate-building.is-active .estate-building__pin circle,.estate-building:focus-visible .estate-building__pin circle { fill:var(--gold); stroke:#fff; }
.estate-building:hover .estate-building__pin text,.estate-building.is-active .estate-building__pin text,.estate-building:focus-visible .estate-building__pin text { fill:#fff; }
.estate-rotator__image-note { position:absolute; left:24px; bottom:24px; z-index:1; background:rgba(20,33,26,.83); color:#fff; padding:10px 14px; border-radius:7px; font-size:11px; font-weight:700; letter-spacing:.04em; pointer-events:none; }
.estate-rotator__panel { display:flex; flex-direction:column; min-height:0; padding:28px 30px 25px; }
.estate-rotator__topline { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:25px; border-bottom:1px solid rgba(255,255,255,.16); }
.estate-rotator__index { font:500 23px 'Playfair Display',Georgia,serif; }
.estate-rotator__active { color:#edb49d; font-size:10px; font-weight:800; letter-spacing:.16em; text-align:right; }
.estate-rotator__panel-main { padding:40px 0 30px; }
.estate-rotator__panel .eyebrow { margin-bottom:13px; color:#e99f7d; }
.estate-rotator__panel h3 { font:400 clamp(36px,3vw,52px)/1.1 'Playfair Display',Georgia,serif; letter-spacing:-.045em; }
.estate-rotator__panel-main p,.estate-rotator__building p { color:rgba(255,255,255,.66); font-size:13px; line-height:1.65; margin:13px 0 0; }
.estate-rotator__arrows { display:flex; gap:8px; margin-top:25px; }
.estate-rotator__arrows button { width:56px; height:56px; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:transparent; color:#fff; font-size:25px; cursor:pointer; transition:background .2s ease,transform .2s ease; }
.estate-rotator__arrows button:hover { background:var(--gold); transform:translateY(-3px); }
.estate-rotator__dots { display:flex; gap:7px; margin-top:20px; }
.estate-rotator__dots button { flex:1; height:38px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:6px; color:#fff; font:700 11px 'Manrope',Arial,sans-serif; cursor:pointer; }
.estate-rotator__dots button[aria-pressed="true"] { background:#fff; color:#1a2a20; }
.estate-rotator__building { padding:28px 0; border-top:1px solid rgba(255,255,255,.16); }
.estate-rotator__building h4 { font:400 30px 'Playfair Display',Georgia,serif; }
.estate-rotator__building-buttons { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-top:20px; }
.estate-rotator__building-buttons button { border:1px solid rgba(255,255,255,.28); border-radius:7px; background:rgba(255,255,255,.05); color:#fff; font:700 12px 'Manrope',Arial,sans-serif; padding:10px 12px; cursor:pointer; }
.estate-rotator__building-buttons button:hover,.estate-rotator__building-buttons button.is-active { background:var(--gold); border-color:var(--gold); }
.estate-rotator__unit-links { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-top:12px; }
.estate-rotator__unit-links:empty { display:none; }
.estate-rotator__unit-links a { display:block; padding:12px 8px; text-align:center; background:#fff; color:#173022; border-radius:7px; font-size:12px; font-weight:800; text-decoration:none; }
.estate-rotator__unit-links a:hover { background:#f6dfd3; }
.estate-rotator__unit-links a { display:grid; justify-items:center; gap:5px; border:2px solid transparent; }
.estate-rotator__unit-links a.estate-rotator__unit-link--sold { border-color:#aa5757; }
.estate-rotator__unit-links a.estate-rotator__unit-link--reserved { border-color:#e7bd41; }
.estate-rotator__unit-links a.estate-rotator__unit-link--available { border-color:#4d9a65; }
.estate-rotator__unit-status { font-size:10px; font-weight:800; }
.estate-rotator__unit-status--sold { color:#8e4141; }
.estate-rotator__unit-status--reserved { color:#795b00; }
.estate-rotator__unit-status--available { color:#276543; }
.estate-status-legend { display:flex; flex-wrap:wrap; gap:9px 14px; margin-top:20px; }
.estate-status-legend span { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; color:rgba(255,255,255,.82); }
.estate-status-legend span::before { content:""; width:11px; height:11px; border-radius:50%; background:var(--status-color); flex:none; }
.estate-status-legend__sold { --status-color:#aa5757; }
.estate-status-legend__reserved { --status-color:#e7bd41; }
.estate-status-legend__available { --status-color:#4d9a65; }
.estate-status-legend--plan { margin:0 0 18px; }
.estate-status-legend--plan span { color:#25392d; }
.estate-rotator__future { display:grid; gap:5px; padding-top:22px; margin-top:auto; border-top:1px solid rgba(255,255,255,.16); }
.estate-rotator__future span { font-size:10px; letter-spacing:.18em; color:#e99f7d; font-weight:800; }
.estate-rotator__future strong { font:400 25px 'Playfair Display',Georgia,serif; }
.estate-rotator__future small { color:rgba(255,255,255,.6); line-height:1.5; }
.estate-rotator__caption { margin-top:20px; color:var(--muted); }
@media (max-width:1100px) { .estate-rotator { grid-template-columns:minmax(0,1fr) 330px; } .estate-rotator__panel { padding:20px; } .estate-rotator__panel-main { padding:24px 0; } }
@media (max-width:900px) { .estate-rotator { display:block; } .estate-rotator__picture { width:100%; } .estate-rotator__panel { display:grid; grid-template-columns:1fr 1fr; column-gap:25px; } .estate-rotator__topline,.estate-rotator__future { grid-column:1/-1; } .estate-rotator__building { border-top:0; } }
@media (max-width:620px) { .estate-explore { padding-bottom:45px; } .estate-rotator__image-note { left:10px; bottom:10px; padding:7px 9px; font-size:9px; } .estate-rotator__panel { display:block; padding:20px 17px; } .estate-rotator__topline { padding-bottom:14px; } .estate-rotator__panel-main { padding:24px 0; } .estate-rotator__building { border-top:1px solid rgba(255,255,255,.16); } .estate-rotator__future { margin-top:10px; } .estate-stage-label text { font-size:21px; } }
@media (prefers-reduced-motion:reduce) { .estate-building polygon,.estate-rotator__arrows button { transition:none; } }
.estate-explore + .section .irep-view-tabs { display:none !important; }

.estate-plan-layout { max-width:1160px; margin-inline:auto; }
.estate-plan-main { margin-bottom:64px; }
.estate-plan-kicker { margin:0 0 18px; color:var(--gold); font-size:12px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.estate-plan { padding:clamp(8px,1.5vw,18px) !important; border:1px solid rgba(36,62,48,.14); box-shadow:0 22px 60px rgba(30,38,34,.08); }
.estate-plan .irep-project-preview__canvas img { display:block; width:100%; }
.estate-plan .irep-project-preview__svg-overlay svg g[polygon-type="flat"] path { fill:rgba(32,83,59,.16) !important; stroke:rgba(24,70,48,.62) !important; stroke-width:1.6 !important; cursor:pointer; transition:fill .2s ease,stroke .2s ease; }
.estate-plan .irep-project-preview__svg-overlay svg g[polygon-type="flat"][data-unit-status="sold"] path { fill:rgba(170,87,87,.42) !important; stroke:#8e4141 !important; }
.estate-plan .irep-project-preview__svg-overlay svg g[polygon-type="flat"][data-unit-status="reserved"] path { fill:rgba(231,189,65,.48) !important; stroke:#927013 !important; }
.estate-plan .irep-project-preview__svg-overlay svg g[polygon-type="flat"][data-unit-status="available"] path { fill:rgba(77,154,101,.4) !important; stroke:#276543 !important; }
.estate-plan .irep-project-preview__svg-overlay svg g[polygon-type="flat"]:hover path { fill:rgba(190,86,48,.48) !important; stroke:#fff !important; stroke-width:3 !important; }
.estate-plan .irep-project-preview__svg-overlay svg g[polygon-type="flat"][data-unit-status]:hover path { stroke:#fff !important; stroke-width:3 !important; }
.estate-plan-building-label { pointer-events:none; }
.estate-plan-building-label circle { fill:#fff; stroke:#b85e39; stroke-width:2.5; filter:drop-shadow(0 2px 4px rgba(0,0,0,.18)); }
.estate-plan-building-label text { fill:#173022; font:800 20px 'Manrope',Arial,sans-serif; }
.estate-plan-note { margin:15px 3px 0; color:var(--muted); }
.estate-plan-mobile-hint { display:none; }
.estate-plan-overview__image { position:relative; display:block; overflow:hidden; border:1px solid rgba(36,62,48,.14); border-radius:16px; background:#f9f7f1; box-shadow:0 16px 48px rgba(30,38,34,.06); }
.estate-plan-overview__image img { display:block; width:100%; height:auto; transition:transform .3s ease; }
.estate-plan-overview__outline { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.estate-plan-overview__stage polygon { fill:rgba(27,41,34,.27); stroke:rgba(30,52,39,.78); stroke-width:5; stroke-dasharray:16 12; }
.estate-plan-overview__stage text { fill:#fff; paint-order:stroke; stroke:rgba(20,37,27,.85); stroke-width:10; font:800 80px 'Manrope',Arial,sans-serif; letter-spacing:5px; }
.estate-plan-overview__first { fill:rgba(184,94,57,.08); stroke:#b85e39; stroke-width:10; stroke-linejoin:round; }
.estate-plan-overview__first-label { fill:#fff; paint-order:stroke; stroke:#b85e39; stroke-width:10; font:800 80px 'Manrope',Arial,sans-serif; letter-spacing:5px; }
.estate-plan-overview__image:hover img { transform:scale(1.015); }
@media (max-width:700px) { .estate-plan-main { margin-bottom:45px; } .estate-plan-mobile-hint { display:block; margin:-5px 0 12px; color:var(--muted); } .estate-plan [data-view="1"] { min-width:640px; } .estate-plan-overview__image { overflow-x:auto; } .estate-plan-overview__image img { width:1100px; max-width:none; } .estate-plan-overview__outline { width:1100px; max-width:none; } }
