@font-face {
font-family: "Roboto";
src: url("assets/fonts/Roboto-Variable.ttf") format("truetype");
font-style: normal;
font-weight: 100 900;
font-display: swap;
}
@font-face {
font-family: "Josefin Sans";
src: url("assets/fonts/JosefinSans-Variable.ttf") format("truetype");
font-style: normal;
font-weight: 100 700;
font-display: swap;
}
:root {
--gold: #D3B059;
--anthracite: #2E2B29;
--text: #111111;
--white: #FFFFFF;
--light-grey: #F5F5F5;
--line: rgba(46, 43, 41, 0.2);
--line-light: rgba(255, 255, 255, 0.34);
--muted: #625E59;
--header-height: 90px;
--content: calc(100vw - 14vw);
--gutter: max(24px, 7vw);
--font-body: "Roboto", sans-serif;
--font-label: "Josefin Sans", sans-serif;
--font-size-body: 21.6px;
--font-size-heading: 48px;
--font-size-subheading: 28.8px;
--font-size-label: 28.8px;
--font-size-nav: 21.6px;
--font-size-button: 19.2px;
--font-size-micro: 17.28px;
--font-size-hero-caption-mobile: 13.2px;
--font-size-data-grade: clamp(91.2px, 9.6vw, 148.8px);
--font-size-data-value: clamp(40.8px, 4.8vw, 64.8px);
--font-size-data-grade-mobile: 88.8px;
--font-size-data-value-mobile: 45.6px;
--font-size-control-icon: 28.8px;
--font-weight-body: 300;
--font-weight-regular: 400;
--font-weight-medium: 500;
--font-weight-bold: 700;
--line-height-body: 1.5;
--line-height-heading: 1.2;
--line-height-micro: 1.5;
--line-height-data-grade: 0.8;
--line-height-data-value: 1;
--line-height-control-icon: 1;
--letter-spacing-default: normal;
}
*,
*::before,
*::after { box-sizing: border-box;}
html {
scroll-behavior: auto;
scroll-padding-top: var(--header-height);
}
@media (prefers-reduced-motion: no-preference) {
html.js-enabled { scroll-behavior: smooth; }
}
body {
margin: 0;
min-width: 320px;
overflow-x: clip;
color: var(--text);
background: var(--white);
font-family: var(--font-body);
font-size: var(--font-size-body);
font-weight: var(--font-weight-body);
line-height: var(--line-height-body);
letter-spacing: var(--letter-spacing-default);
text-rendering: optimizeLegibility;
}
body.nav-open { overflow: hidden;}
img { display: block;max-width: 100%;height: auto;}
a { color: inherit;}
button,
input,
select,
textarea { border-radius: 0;font: inherit;}
button,
select { cursor: pointer;}
strong,
b { font-weight: var(--font-weight-medium);}
::selection { color: var(--text);background: var(--gold);}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.skip-link {
position: fixed;
top: 8px;
left: 8px;
z-index: 500;
padding: 12px 16px;
color: var(--text);
background: var(--gold);
font-size: var(--font-size-button);
font-weight: var(--font-weight-medium);
line-height: var(--line-height-body);
text-decoration: none;
transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0);}
:focus-visible { outline: 3px solid var(--gold);outline-offset: 4px;}
.unit-detail-link { text-decoration-color: var(--gold);text-underline-offset: 5px;text-decoration-thickness: 1px;}
.unit-detail-link:hover { text-decoration-thickness: 2px;}
.unit-table tr:has(.unit-detail-link) { cursor: pointer;}
.unit-table tr:has(.unit-detail-link):hover,
.unit-table tr:has(.unit-detail-link):focus-within { background-color: #f8f4e8;}
.unit-table .unit-detail-link:focus-visible { outline: 2px solid var(--gold);outline-offset: 4px;}
h1,
h2,
h3,
p { overflow-wrap: break-word;}
h1,
h2 {
margin: 0;
font-family: var(--font-body);
font-size: var(--font-size-heading);
font-weight: var(--font-weight-medium);
line-height: var(--line-height-heading);
text-transform: none;
text-wrap: balance;
}
h3 { margin: 0;font-family: var(--font-body);font-size: var(--font-size-subheading);font-weight: var(--font-weight-medium);line-height: var(--line-height-heading);text-transform: none;}
.section-label {
margin: 0 0 22px;
color: var(--gold);
font-family: var(--font-label);
font-size: var(--font-size-label);
font-weight: var(--font-weight-medium);
line-height: var(--line-height-heading);
text-transform: uppercase;
}
.section-label-light { color: var(--white);}
.section-note,
.selector-note,
.price-legend,
.trust-note { color: var(--muted);font-family: var(--font-body);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.site-header {
position: fixed;
inset: 0 auto auto 0;
z-index: 100;
height: var(--header-height);
display: grid;
grid-template-columns: clamp(176px, 15vw, 224px) minmax(0, 1fr);
width: 100%;
max-width: 100vw;
color: var(--white);
background: rgba(46, 43, 41, 0.57);
border-bottom: 1px solid var(--line-light);
transition: background-color 240ms ease, height 280ms ease, grid-template-columns 280ms ease;
}
.site-header.is-scrolled,
.site-header.nav-active { background: rgba(46, 43, 41, 0.94);}
@media (min-width: 901px) {
.site-header.is-scrolled { height: 60px;grid-template-columns: 104px minmax(0, min(860px, calc(100vw - 104px)));}
.site-header.is-scrolled .brand { padding: 6px 8px;}
.site-header.is-scrolled .brand img { width: 90px;max-height: 48px;}
.site-header.is-scrolled .site-nav a { font-size: 16.8px;padding-inline: 8px;}
}
.brand {
min-width: 0;
display: flex;
align-items: center;
justify-content: center;
padding: 8px 16px;
border-right: 1px solid var(--line-light);
}
.brand img {
width: min(185px, 100%);
max-height: calc(var(--header-height) - 16px);
aspect-ratio: 2.5 / 1;
object-fit: contain;
}
.site-nav {
min-width: 0;
display: grid;
grid-template-columns: repeat(7, minmax(0, 1fr));
}
.site-nav a {
min-width: 0;
display: flex;
align-items: center;
justify-content: center;
padding: 0 8px;
color: var(--white);
border-right: 1px solid var(--line-light);
font-family: var(--font-body);
font-size: var(--font-size-nav);
font-weight: var(--font-weight-body);
letter-spacing: var(--letter-spacing-default);
line-height: var(--line-height-body);
text-align: center;
text-shadow: 0 1px 10px rgba(0, 0, 0, 0.9);
text-decoration: none;
text-transform: uppercase;
transition: color 160ms ease, background-color 160ms ease;
}
.site-nav a:hover,
.site-nav a:focus-visible { color: var(--text);background: var(--gold);text-shadow: none;}
.menu-toggle {
display: none;
width: 50px;
height: 50px;
align-self: center;
justify-self: end;
padding: 9px;
color: var(--white);
background: transparent;
border: 3px solid currentColor;
}
.menu-toggle span:not(.sr-only) { display: block;width: 100%;height: 2px;margin: 6px 0;background: currentColor;}
.hero {
position: relative;
width: 100%;
height: 100svh;
min-height: 640px;
isolation: isolate;
overflow: hidden;
color: var(--white);
background: var(--anthracite);
}
.hero-frame {
position: absolute;
inset: 0;
isolation: isolate;
overflow: hidden;
background: var(--anthracite);
transform: scale(var(--hero-scale-x, 1), var(--hero-scale-y, 1));
transform-origin: center bottom;
}
.hero-light {
position: absolute;
inset: -30%;
z-index: -1;
pointer-events: none;
opacity: 0;
background:
radial-gradient(ellipse at 42% 46%, rgba(255, 238, 198, 0.16), transparent 48%),
radial-gradient(ellipse at 64% 60%, rgba(22, 24, 19, 0.14), transparent 52%);
transition: opacity 1000ms ease;
}
.hero-light.is-visible { opacity: 1;}
@media (hover: none), (pointer: coarse) {
.hero-light { display: none;}
}
.hero-slider,
.hero-slide,
.hero-shade { position: absolute;inset: 0;width: 100%;height: 100%;}
.hero-slider { z-index: -3;overflow: hidden;}
.hero-slide {
object-fit: cover;
object-position: center;
opacity: 0;
transform: scale(1.05) translate3d(-1.2%, 0, 0);
transition: opacity 1600ms ease-in-out, transform 7800ms linear;
}
.hero-slide.is-active { opacity: 1;transform: scale(1.05) translate3d(1.2%, 0, 0);}
.hero-shade { z-index: -2;background: linear-gradient(180deg, rgba(46, 43, 41, 0.18), transparent 32%, rgba(46, 43, 41, 0.12));}
.hero-overlay-card {
position: absolute;
top: clamp(210px, 34svh, 380px);
right: auto;
left: clamp(64px, 11.5vw, 184px);
width: min(374px, calc(100% - 48px));
color: var(--white);
text-shadow: 0 1px 1px rgba(17, 17, 17, 0.38);
}
.hero-overlay-card > p {
margin: 0;
padding: 13px 22px;
color: var(--white);
background: var(--gold);
font-family: var(--font-label);
font-size: var(--font-size-label);
font-weight: var(--font-weight-medium);
line-height: var(--line-height-heading);
text-transform: uppercase;
}
.hero-overlay-card > div { min-height: 0;display: flex;flex-direction: column;justify-content: center;padding: 22px 28px;background: rgba(46, 43, 41, 0.85);}
.hero-partner-divider { width: 100%;height: 1px;min-height: 1px;border: 0;margin: 18px 0 0;background: rgba(210, 177, 91, 0.8);}
.hero-overlay-card strong + span { margin-top: 8px; }
.hero-partner-logo { width: 70%;max-width: 240px;height: auto;margin: 18px auto 0;object-fit: contain;object-position: center;}
.hero-overlay-card span { font-size: 20px;line-height: var(--line-height-body);}
.hero-overlay-card strong { margin-top: 0;font-size: 36px;white-space: nowrap;font-weight: var(--font-weight-medium);line-height: var(--line-height-heading);}
.hero-note { position: absolute;right: 22px;bottom: 18px;margin: 0;color: rgba(255, 255, 255, 0.82);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);text-shadow: 0 1px 1px rgba(17, 17, 17, 0.38);}
.hero-indicators { position: absolute;bottom: 26px;left: 50%;display: flex;gap: 5px;transform: translateX(-50%);}
.hero-indicators button { width: 13px;height: 13px;padding: 0;background: rgba(255, 255, 255, 0.46);border: 1px solid rgba(46, 43, 41, 0.18);}
.hero-indicators button.is-active { background: var(--white);}
.project-intro {
position: relative;
min-height: 1160px;
padding: 0;
isolation: isolate;
overflow: hidden;
background: var(--white);
}
.project-intro::after {
position: absolute;
inset: 0;
z-index: 1;
content: "";
pointer-events: none;
background: linear-gradient(90deg, var(--white) 0%, var(--white) 38%, rgba(255, 255, 255, 0.98) 46%, rgba(255, 255, 255, 0.82) 55%, rgba(255, 255, 255, 0.24) 67%, transparent 78%);
}
.project-intro-copy {
position: relative;
z-index: 2;
width: min(58vw, 900px);
margin-left: 6.5vw;
padding-top: 180px;
}
.project-intro-copy p:not(.section-label) { margin: 24px 0 0;}
.project-intro-copy p:not(.section-label) { max-width: 750px;}
.project-intro-copy p:last-child { color: #4f4b47;}
.project-intro-image { position: absolute;inset: 0 0 0 auto;z-index: 0;width: 58%;margin: 0;}
.project-intro-image img { width: 100%;height: 100%;min-height: 1000px;object-fit: cover;object-position: 57% center;}
.project-intro-image figcaption,
.estate-visual figcaption,
.standards-images figcaption { margin-top: 8px;color: var(--muted);font-family: var(--font-body);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.project-intro-image figcaption { position: absolute;right: 18px;bottom: 14px;z-index: 2;margin: 0;color: rgba(255, 255, 255, 0.9);}
.project-ledger {
position: relative;
z-index: 2;
width: 46vw;
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
margin: 40px 0 0 6.5vw;
border-block: 1px solid var(--line);
}
.project-ledger article { min-width: 0;min-height: 122px;display: grid;grid-template-rows: 48px auto 1fr;align-content: start;align-items: start;justify-items: center;padding: 10px 8px;text-align: center;border-left: 1px solid var(--line);}
.project-ledger article:first-child { border-left: 0;}
.feature-icon { width: 48px;height: 48px;margin: 0;fill: none;stroke: var(--gold);stroke-width: 3.6;stroke-linecap: round;stroke-linejoin: round;vector-effect: non-scaling-stroke;}
.project-ledger strong { margin-top: 8px;color: var(--text);font-size: var(--font-size-body);font-weight: var(--font-weight-medium);line-height: var(--line-height-body);}
.project-ledger span { margin-top: 5px;color: var(--muted);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.project-technical-strip { position: relative;z-index: 2;width: 54vw;min-height: 84px;display: flex;align-items: center;gap: 16px;margin: 32px 0 48px 6.5vw;padding: 10px 14px;background: transparent;}
.project-technical-strip svg { flex: 0 0 50px;width: 50px;height: 50px;fill: none;stroke: var(--text);stroke-width: 3.8;stroke-linecap: round;stroke-linejoin: round;vector-effect: non-scaling-stroke;}
.project-technical-strip p { min-width: 0;flex: 1;margin: 0;font-size: var(--font-size-body);line-height: var(--line-height-body);}
.project-technical-strip strong,
.project-technical-strip span { display: block;}
.project-technical-strip strong { font-size: var(--font-size-body);font-weight: var(--font-weight-medium);line-height: var(--line-height-body);}
.project-technical-strip span { margin-top: 2px;color: var(--muted);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.project-technical-strip .energy-rating { display: inline-flex;align-items: center;gap: 7px;white-space: nowrap;vertical-align: middle;margin-top: 0;}
.project-technical-strip .energy-badge { min-width: 36px;height: 26px;display: inline-flex;align-items: center;justify-content: center;margin: 0;padding: 0 7px 0 12px;color: var(--white);background: #185f38;font-size: 18px;font-weight: var(--font-weight-bold);line-height: 1;clip-path: polygon(0 50%, 10px 0, 100% 0, 100% 100%, 10px 100%);}
.descriptive-prose { width: min(100%, 750px);max-width: 750px;text-align: justify;text-align-last: left;hyphens: auto;-webkit-hyphens: auto;overflow-wrap: break-word;}
.project-intro > .section-note { position: relative;z-index: 2;width: 61vw;margin: 10px 0 72px 6.5vw;}
.estate-selector {
display: grid;
grid-template-columns: minmax(0, 1.65fr) minmax(380px, 0.85fr);
min-height: 0;
align-items: center;
background: #e8e8e8;
}
.estate-visual { position: relative;height: 600px;min-height: 600px;margin: 0 0 0 3vw;overflow: hidden;}
.estate-visual img { width: 100%;height: 100%;min-height: 600px;object-fit: cover;transition: opacity 240ms ease, transform 420ms ease;}
.estate-visual img.is-switching { opacity: 0.35;transform: scale(1.012);}
.estate-visual figcaption { position: absolute;bottom: 12px;left: 16px;margin: 0;color: rgba(255, 255, 255, 0.88);}
.estate-options { align-self: center;padding: 54px clamp(28px, 4vw, 62px);color: var(--white);}
.estate-options h2 { margin-bottom: 30px;color: var(--text);}
.estate-option { width: 100%;display: grid;grid-template-columns: 34px 1fr;gap: 2px 12px;padding: 18px 0;color: var(--white);background: transparent;border: 0;border-top: 1px solid rgba(255, 255, 255, 0.82);text-align: left;}
.estate-option:last-of-type { border-bottom: 1px solid rgba(255, 255, 255, 0.82);}
.estate-option span { grid-row: 1 / 3;padding-top: 4px;font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.estate-option strong { font-size: var(--font-size-subheading);font-weight: var(--font-weight-medium);line-height: var(--line-height-heading);}
.estate-option small { color: rgba(255, 255, 255, 0.9);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.estate-option:focus-visible { color: var(--text);background: rgba(255, 255, 255, 0.18);}
.estate-option:focus-visible small { color: var(--text);}
@media (hover: hover) and (pointer: fine) {
.estate-option:hover { color: var(--text);background: rgba(255, 255, 255, 0.18);}
.estate-option:hover small { color: var(--text);}
}
.estate-copy { margin: 28px 0 0;color: var(--text);}
.underlined-link { display: inline-block;margin-top: 8px;padding-bottom: 4px;color: var(--text);border-bottom: 1px solid currentColor;font-size: var(--font-size-button);font-weight: var(--font-weight-medium);line-height: var(--line-height-body);text-decoration: none;text-transform: none;}
.offer-section { --content: 1120px;--font-size-body: 18px;--font-size-button: 16px;--font-size-micro: 16px;padding: 112px var(--gutter);background: var(--white);}
.offer-heading { width: min(var(--content), 100%);margin: 0 auto 24px;padding-bottom: 28px;border-bottom: 1px solid var(--line);display: block;}
.offer-heading > p { margin: 0;color: var(--muted);}
.offer-heading h2 { color: var(--gold);font-family: var(--font-label);font-weight: var(--font-weight-medium);text-transform: uppercase;}
.data-disclaimer { width: min(var(--content), 100%);display: grid;grid-template-columns: 220px 1fr;gap: 28px;margin: 0 auto 30px;padding: 18px 0;border-block: 1px solid var(--line);}
.data-disclaimer strong { color: var(--gold);font-family: var(--font-label);font-size: var(--font-size-micro);font-weight: var(--font-weight-medium);line-height: var(--line-height-micro);text-transform: uppercase;}
.data-disclaimer p { margin: 0;color: var(--muted);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.filters { width: min(var(--content), 100%);display: grid;grid-template-columns: 1fr 250px auto;gap: 22px;align-items: end;margin: 0 auto;padding: 22px 0;border-bottom: 1px solid var(--line);}
.filters fieldset { min-width: 0;margin: 0;padding: 0;border: 0;}
.filters legend,
.select-field label { display: block;margin: 0 0 8px;font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);text-transform: uppercase;}
.filter-buttons { display: flex;flex-wrap: wrap;}
.filter-button,
.reset-filter { min-height: 48px;padding: 10px 18px;color: var(--text);background: var(--white);border: 1px solid var(--gold);font-size: var(--font-size-button);font-weight: var(--font-weight-medium);line-height: var(--line-height-body);text-transform: none;}
.filter-button + .filter-button { margin-left: -1px;}
.filter-button:hover { background: #f8f4e8;}
.filter-button.is-active { color: var(--white);background: var(--gold);}
.filter-button:focus-visible,
.reset-filter:focus-visible { position: relative;z-index: 1;outline: 2px solid var(--text);outline-offset: 3px;}
.select-field select { width: 100%;min-height: 48px;padding: 10px 38px 10px 12px;color: var(--text);background: var(--white);border: 1px solid var(--anthracite);}
.reset-filter { border-color: var(--gold);}
.reset-filter:hover,
.reset-filter:focus-visible { background: var(--gold);}
.offer-result-line { width: min(var(--content), 100%);display: flex;justify-content: space-between;gap: 20px;margin: 20px auto;color: var(--muted);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.offer-result-line p { margin: 0;}
.unit-table-wrap { width: min(var(--content), 100%);margin: 0 auto;overflow-x: auto;border-bottom: 1px solid #999;}
.unit-table { width: 100%;min-width: 960px;border-collapse: collapse;background: var(--white);}
.unit-table th,
.unit-table td { padding: 14px 12px;border-bottom: 1px solid #999;text-align: center;vertical-align: middle;}
.unit-table th { color: var(--text);font-size: var(--font-size-body);font-weight: var(--font-weight-bold);line-height: var(--line-height-heading);text-transform: none;}
.unit-table td { font-size: var(--font-size-body);font-weight: var(--font-weight-body);line-height: var(--line-height-body);}
.unit-table td:first-child { font-size: var(--font-size-body);font-weight: var(--font-weight-bold);}
.unit-table .is-available { color: var(--text);}
.unit-table .is-available .unit-status { color: #80ad20;font-weight: var(--font-weight-bold);}
.unit-table .is-reserved,
.unit-table .is-sold,
.unit-table .is-unknown { color: #999;}
.unit-table tr:last-child td { border-bottom: 0;}
.unit-price { font-weight: var(--font-weight-body);white-space: nowrap;}
.unit-price small { display: block;max-width: 170px;margin-top: 4px;color: var(--muted);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);white-space: normal;}
.empty-row td { padding: 48px 16px;color: var(--muted);text-align: center;}
.price-legend { width: min(var(--content), 100%);margin: 14px auto 0;}
.garden-note { width: min(var(--content), 100%);margin: 10px auto 0;font-size: var(--font-size-micro);}
.garden-marker { font-size: .75em;line-height: 0;}
.locality-section { position: relative;min-height: max(736px, 80svh);display: flex;align-items: center;overflow: hidden;background: var(--white);}
.locality-image { position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: center;}
.locality-fade { position: absolute;inset: 0;background: linear-gradient(90deg, var(--white) 0%, rgba(255,255,255,.98) 32%, rgba(255,255,255,.92) 42%, rgba(255,255,255,.4) 58%, transparent 78%);}
.locality-copy { position: relative;z-index: 1;width: min(58vw, 750px);margin-left: 6.5vw;padding: 90px 0;}
.locality-art-note { position: absolute;right: 20px;bottom: 16px;z-index: 1;max-width: calc(100% - 40px);margin: 0;padding: 5px 9px;color: var(--white);background: rgba(46, 43, 41, 0.8);font-size: 14.4px;}
.locality-copy > p:last-child { width: 100%;max-width: none;margin-bottom: 0;}
.locality-copy h2 { width: 100%;max-width: none;}
.location-facts { display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));padding: 0 var(--gutter);background: var(--light-grey);}
.location-facts article { min-height: 176px;padding: 28px 24px;border-block: 1px solid var(--line);border-left: 1px solid var(--line);}
.location-facts article:first-child { border-left: 0;}
.location-facts article { display: grid;grid-template-columns: 56px minmax(0, 1fr);gap: 18px;align-content: center;}
.locality-feature-icon { width: 56px;height: 56px;fill: none;stroke: var(--gold);stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round;}
.location-facts article strong { margin-top: 0;}
.location-facts article p { margin-top: 4px;line-height: 1.25;}
@media (min-width: 1121px) { .location-facts { padding-inline: 24px;} }
.location-facts span { color: var(--gold);font-family: var(--font-label);font-size: var(--font-size-micro);font-weight: var(--font-weight-medium);line-height: var(--line-height-micro);}
.location-facts strong { display: block;margin-top: 12px;font-size: var(--font-size-body);font-weight: var(--font-weight-medium);line-height: var(--line-height-body);}
.location-facts p { margin: 8px 0 0;color: var(--muted);font-size: var(--font-size-body);line-height: var(--line-height-body);}
.amenities-section {
position: relative;
isolation: isolate;
min-height: 0;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
align-items: stretch;
background: var(--white);
}
/* The image and SVG share one clipped coordinate space, separate from copy. */
.amenities-map {
pointer-events: none;
position: relative;
grid-column: 2;
grid-row: 1;
min-width: 0;
overflow: hidden;
}
.amenities-fade { position: absolute;inset: 0 auto 0 0;width: min(100%, clamp(240px, 18vw, 460px));z-index: 1;pointer-events: none;background: linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 10%,rgba(255,255,255,.9) 25%,rgba(255,255,255,.68) 43%,rgba(255,255,255,.35) 62%,rgba(255,255,255,.1) 82%,transparent 100%);}
.amenities-photo { position: absolute;inset: 0;display: block;width: 100%;height: 100%;object-fit: cover;object-position: center;}
.amenities-map .amenities-site-overlay { position: absolute;inset: 0;z-index: 2;width: 100%;height: 100%;pointer-events: none;}
.amenities-site-overlay path { fill: none;stroke: #d4ae52;stroke-width: 3;}
.amenities-site-overlay .site-leader, .amenities-site-overlay .site-callout rect { stroke: #d4ae52;stroke-width: 4.5px;vector-effect: non-scaling-stroke;stroke-linejoin: miter;stroke-linecap: square;}
.amenities-site-overlay circle { fill: #d4ae52;}
.amenities-method { margin-top: 36px;max-width: 760px;color: var(--muted);font-size: 15px;line-height: 1.5;}
.amenities-sources a, .amenities-attribution a { text-decoration: underline;text-underline-offset: 3px;}
.amenities-sources p + p { margin-top: 16px;}
.amenities-copy { grid-column: 1;grid-row: 1;min-width: 0;padding: 88px clamp(24px, 3vw, 64px);background: var(--white);}
.amenities-copy h2 { max-width: 680px;font-size: clamp(32px, 2.5vw, 46px);line-height: 1.12;}
.amenities-copy .section-label { font-size: 16px;}
.amenities-intro { max-width: 750px;margin: 20px 0 0;color: var(--muted);font-size: 18px;line-height: 1.6;}
.amenities-grid { display: grid;width: 100%;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 28px 20px;margin-top: 36px;}
.amenities-grid article { min-width: 0;padding-inline: 16px 12px;border-left: 1px solid var(--line);}
.amenities-grid h3 { font-size: 20px;line-height: 1.3;}
.amenities-grid p { font-size: 16px;line-height: 1.5;}
.amenities-grid .amenity-time { margin: 8px 0 0;color: var(--gold);font-weight: 700;}
.amenities-grid .amenity-detail { margin: 6px 0 0;color: var(--text);font-size: 16px;font-weight: 600;line-height: 1.55;}
.amenities-attribution { margin: 12px 0 0;color: var(--muted);font-size: var(--font-size-micro);}
.amenities-sources { margin-top: 16px;font-size: var(--font-size-micro);}
.amenities-sources summary { width: fit-content;max-width: 100%;cursor: pointer;text-decoration: underline;text-underline-offset: 5px;}
.amenities-sources [data-amenity-sources]:not(:empty) { margin-top: 20px;color: var(--muted);overflow-wrap: anywhere;}
@media (min-width: 1800px) {
.amenities-section { min-height: 900px;}
.amenities-grid { grid-template-columns: repeat(4, minmax(0, 1fr));gap: 56px 12px;margin-top: 44px;}
.estate-selector { grid-template-columns: minmax(0, 1fr) 874px;}
.estate-options { padding-inline: 62px;}
}
@media (min-width: 1024px) and (max-width: 1199px) {
.amenities-site-overlay .site-callout { transform: translate(308.75px, 145px) scale(.75);}
}
@media (max-width: 1023px) {
.amenities-section { grid-template-columns: minmax(0, 1fr);}
.amenities-fade { inset: 0 0 auto;width: 100%;height: clamp(96px,18vw,160px);background: linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 10%,rgba(255,255,255,.9) 25%,rgba(255,255,255,.68) 43%,rgba(255,255,255,.35) 62%,rgba(255,255,255,.1) 82%,transparent 100%);}
.amenities-copy { padding: 48px 24px;}
.amenities-map { grid-column: 1;grid-row: 2;height: clamp(240px, 60vw, 380px);}
}
@media (max-width: 600px) {
/* Enlarge only the callout; the arrow target remains fixed on the photo. */
.amenities-site-overlay .site-callout { transform: translate(-1235px, -400px) scale(2);}
}
@media (max-width: 480px) {
.amenities-copy { padding: 40px 20px;}
.amenities-intro { font-size: 16px;}
.amenities-grid { grid-template-columns: 1fr;gap: 24px;}
}
.energy-section {
position: relative;
min-height: 805px;
display: grid;
grid-template-columns: minmax(360px, 0.72fr) minmax(520px, 1.28fr);
gap: 54px;
align-items: center;
padding: 112px var(--gutter);
overflow: hidden;
color: var(--text);
background: var(--anthracite);
}
.energy-backdrop { position: absolute;inset: 0;z-index: 0;width: 100%;height: 100%;object-fit: cover;object-position: center;}
.energy-wash { position: absolute;inset: 0;z-index: 1;background: linear-gradient(90deg, var(--white) 0%, rgba(255, 255, 255, 0.98) 29%, rgba(255, 255, 255, 0.84) 44%, rgba(255, 255, 255, 0.18) 70%, transparent 84%);}
.energy-heading,
.energy-values { position: relative;z-index: 2;}
.energy-heading { max-width: 520px;}
.energy-heading h2 { color: var(--text);}
.energy-heading > p:not(.section-label) { margin: 24px 0 0;color: var(--muted);}
.energy-heading > .energy-note { font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.energy-values { display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));background: rgba(255, 255, 255, 0.9);border-block: 1px solid rgba(46, 43, 41, 0.4);}
.energy-values article { min-width: 0;display: grid;grid-template-columns: auto minmax(0, 1fr);gap: 24px;align-items: center;padding: 40px 32px;}
.energy-values article + article { border-left: 1px solid rgba(46, 43, 41, 0.28);}
.energy-grade { color: var(--gold);font-family: var(--font-label);font-size: var(--font-size-data-grade);font-weight: var(--font-weight-body);line-height: var(--line-height-data-grade);}
.energy-values h3 { color: var(--text);font-size: var(--font-size-subheading);}
.energy-values p { margin: 7px 0 20px;color: var(--muted);font-size: var(--font-size-body);line-height: var(--line-height-body);}
.energy-values strong { display: block;color: var(--anthracite);font-size: var(--font-size-data-value);font-weight: var(--font-weight-body);line-height: var(--line-height-data-value);white-space: nowrap;}
.energy-values small { display: block;margin-top: 10px;color: var(--muted);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);white-space: normal;}
.standards-section {
--standards-gold: #d4ae52;
display: grid;
grid-template-columns: minmax(300px, 0.94fr) minmax(0, 2.06fr);
gap: 30px;
align-items: start;
padding: 160px 16px 160px max(24px, 7vw);
background: var(--white);
}
.standards-copy { align-self: start;max-width: none;}
.standards-copy h2 { font-weight: 700;}
.standards-copy .section-label { color: var(--standards-gold);}
.standards-copy > p:not(.section-label) { margin: 30px 0 0;color: var(--text);font-weight: 500;line-height: 1.5;}
.standards-highlight strong, .standards-pdf-link strong { font-weight: 700;}
.standards-highlight { display: grid;grid-template-columns: 46px minmax(0, 1fr);gap: 16px;align-items: center;margin-top: 28px;padding: 16px 18px;background: #f1f1ef;border-left: 3px solid var(--standards-gold);}
.standards-highlight svg { width: 42px;height: 42px;fill: none;stroke: var(--standards-gold);stroke-width: 1.7;stroke-linecap: round;stroke-linejoin: round;}
.standards-highlight p { margin: 0;color: var(--anthracite);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: 1.3;}
.standards-highlight strong,
.standards-highlight span { display: block;}
.standards-highlight strong { font-size: var(--font-size-button);font-weight: 700;}
.standards-highlight span { margin-top: 4px;color: var(--muted);}
.standards-pdf-link { width: fit-content;min-height: 56px;display: inline-grid;grid-template-columns: 30px auto;gap: 12px;align-items: center;margin-top: 16px;padding: 9px 18px 9px 14px;color: var(--text);background: var(--standards-gold);border: 1px solid var(--standards-gold);text-decoration: none;transition: color 180ms ease, background-color 180ms ease;}
.standards-pdf-link:hover,
.standards-pdf-link:focus-visible { color: var(--standards-gold);background: var(--white);}
.standards-pdf-link svg { width: 28px;height: 28px;fill: none;stroke: currentColor;stroke-width: 1.5;stroke-linecap: round;stroke-linejoin: round;}
.standards-pdf-link span,
.standards-pdf-link strong,
.standards-pdf-link small { display: block;}
.standards-pdf-link strong { font-size: var(--font-size-button);font-weight: 700;line-height: 1.15;}
.standards-pdf-link small { margin-top: 2px;font-size: 16px;font-weight: var(--font-weight-regular);letter-spacing: 0.04em;line-height: 1.2;text-transform: uppercase;}
.standards-details { margin-top: 22px;border-top: 1px solid var(--line);border-bottom: 1px solid var(--line);}
.standards-details summary { position: relative;padding: 16px 30px 16px 0;color: var(--anthracite);font-size: var(--font-size-micro);font-weight: var(--font-weight-medium);list-style: none;cursor: pointer;}
.standards-details summary::-webkit-details-marker { display: none;}
.standards-details summary::after { content: "+";position: absolute;top: 50%;right: 2px;color: var(--standards-gold);font-size: 24px;font-weight: var(--font-weight-regular);line-height: 1;transform: translateY(-52%);}
.standards-details[open] summary::after { content: "−";}
.standards-details > div { padding: 0 0 18px;}
.standards-details p { margin: 0;color: var(--muted);font-size: 15px;font-weight: var(--font-weight-regular);line-height: 1.45;}
.standards-details p + p { margin-top: 10px;}
.standards-details strong { color: var(--anthracite);font-weight: var(--font-weight-medium);}
.standards-details .standards-catalogue-note { margin-top: 14px;padding-top: 12px;border-top: 1px solid rgba(212, 174, 82, 0.55);font-size: 14px;}
.standards-images { min-width: 0;display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: clamp(14px, 1.5vw, 24px);align-items: start;}
.standards-image-note { grid-column: 1 / -1;margin: 0;color: var(--muted);font-size: var(--font-size-micro);line-height: var(--line-height-micro);}
.standards-images figure { min-width: 0;margin: 0;}
.standards-media { position: relative;aspect-ratio: 3 / 2;overflow: hidden;background: #e9e7e2;}
.standards-media > img { width: 100%;height: 100%;object-fit: contain;}
.standards-media > img[src="assets/web/standards-bath.webp"] { object-fit: cover;object-position: center;}
.standards-images figcaption { margin-top: 10px;color: var(--muted);font-size: 14px;letter-spacing: 0.02em;}
.contact-section { min-height: 0;display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);gap: 40px;align-items: center;padding: 64px max(var(--gutter), calc((100% - 1110px) / 2));color: var(--white);background: var(--text);}
.contact-form-column { max-width: 700px;}
.contact-form-column h2 { color: var(--white);font-family: var(--font-label);font-size: var(--font-size-heading);font-weight: var(--font-weight-medium);line-height: var(--line-height-heading);text-transform: uppercase;}
.contact-form-column > p:not(.section-label) { color: rgba(255, 255, 255, 0.7);}
.contact-form { display: grid;grid-template-columns: 1fr 1fr;gap: 16px;margin-top: 34px;}
.form-field { display: grid;gap: 6px;}
.form-field:nth-child(3),
.form-field:nth-child(4),
.demo-notice,
.submit-button,
.form-status { grid-column: 1 / -1;}
.form-field label { color: var(--gold);font-family: var(--font-label);font-size: var(--font-size-micro);font-weight: var(--font-weight-medium);line-height: var(--line-height-micro);text-transform: uppercase;}
.form-field input,
.form-field select,
.form-field textarea { width: 100%;min-height: 50px;padding: 11px 13px;color: var(--white);background: transparent;border: 1px solid rgba(211, 176, 89, 0.72);}
.form-field select option { color: var(--text);}
.form-field textarea { resize: vertical;}
.demo-notice { margin: 2px 0;color: rgba(255, 255, 255, 0.72);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.demo-notice strong { color: var(--gold);}
.submit-button { min-height: 54px;color: var(--text);background: var(--gold);border: 1px solid var(--gold);font-size: var(--font-size-button);font-weight: var(--font-weight-medium);line-height: var(--line-height-body);text-transform: none;}
.submit-button:hover,
.submit-button:focus-visible { color: var(--white);background: transparent;}
.form-status { min-height: 28px;margin: 0;color: var(--gold);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.contact-trust { align-self: center;border: 1px solid rgba(211, 176, 89, 0.48);}
.trust-brand { padding: 40px;background: var(--white);}
.trust-brand + .trust-brand { border-top: 1px solid var(--line);}
.trust-residence img { width: min(330px, 100%);margin: 0 auto;}
.trust-jaros img { width: min(300px, 100%);margin: 0 auto;}
.trust-jaros p { margin: 20px 0 0;color: var(--anthracite);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);text-align: center;}
.contact-trust .trust-note { margin: 0;padding: 18px 22px;color: rgba(255, 255, 255, 0.68);border-top: 1px solid rgba(211, 176, 89, 0.48);}
.contact-form-column .section-label { margin-bottom: 10px;}
.contact-section .section-label { font-size: 18px;}
.contact-form-column h2 { font-size: clamp(26px, 2.2vw, 34px);line-height: 1.18;}
.contact-form-column > p:not(.section-label) { margin: 16px 0 0;font-size: 16px;line-height: 1.45;}
.contact-section .contact-form { gap: 12px;margin-top: 20px;}
.contact-form > .form-field:nth-child(3),
.contact-form > .form-field:nth-child(4) { grid-column: auto;}
.contact-form > .form-field:nth-child(5),
.contact-form > .form-field:nth-child(6) { grid-column: 1 / -1;}
.contact-section .form-field label { font-size: 16px;}
.contact-section .form-field input,
.contact-section .form-field select,
.contact-section .form-field textarea { min-height: 44px;padding: 9px 11px;font-size: 16px;}
.contact-section .form-field textarea { height: 88px;}
.contact-section .demo-notice,
.contact-section .trust-note { font-size: 16px;line-height: 1.4;}
.contact-section .submit-button { min-height: 44px;width: fit-content;padding: 8px 20px;font-size: 16px;}
.contact-section .form-status:empty { display: none;}
.contact-section .trust-brand { padding: 24px;}
.contact-section .trust-residence img { width: min(240px, 100%);}
.contact-section .trust-jaros img { width: min(240px, 100%);}
.contact-section .trust-jaros p { margin-top: 12px;font-size: 14px;}
.contact-section .trust-note { padding: 14px 18px;}
.broker-contact { min-width: 0;padding: 28px 0 28px 32px;border-left: 1px solid var(--gold);}
.broker-eyebrow { margin: 0 0 24px;}
.broker-partner-logo { width: min(300px, 100%);height: auto;margin: 0 0 28px;}
.broker-profile { display: flex;align-items: center;gap: 24px;}
.broker-portrait { width: 148px;height: 170px;object-fit: cover;object-position: center top;}
.broker-identity { min-width: 0;}
.broker-identity h3 { margin: 0 0 12px;color: white;font-size: 28px;line-height: 1.15;font-weight: 500;}
.broker-identity h3 span { display: block;font-size: 15px;line-height: 1.6;}
.broker-identity p { margin: 6px 0;font-size: 16px;}
.broker-identity .broker-experience { color: #bbb;font-size: 16px;}
.broker-links { display: grid;gap: 12px;margin: 28px 0 18px;}
.broker-links a { display: block;width: fit-content;max-width: 100%;min-height: 44px;color: white;font-size: clamp(16px, 1.6vw, 23px);line-height: 1.4;overflow-wrap: anywhere;text-decoration: none;}
.broker-links a span { display: block;color: var(--gold);font-size: 16px;text-transform: uppercase;letter-spacing: .08em;}
.broker-links a:hover { color: var(--gold);}
.broker-profile-link { display: inline-flex;align-items: center;gap: 10px;min-height: 44px;padding: 10px 16px;border: 1px solid var(--gold);color: var(--gold);font-size: 14px;text-decoration: none;}
.broker-profile-link:hover, .broker-profile-link:focus-visible { background: var(--gold);color: #111;}
.broker-profile-link span { text-decoration: none;}
@media (max-width: 1100px) { .broker-profile { gap: 16px;} .broker-portrait { width: 120px;height: 150px;} }
@media (max-width: 600px) { .broker-contact { padding: 26px 0 0;border-left: 0;border-top: 1px solid var(--gold);} .broker-identity h3 { font-size: 24px;} }
.site-footer { display: grid;grid-template-columns: 1fr 1fr;gap: 44px;padding: 32px var(--gutter);background: var(--white);border-top: 1px solid var(--line);}
.site-footer p { margin: 0;color: var(--muted);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);}
.lightbox { width: min(92vw, 1400px);max-width: none;padding: 0;color: var(--white);background: transparent;border: 0;}
.lightbox::backdrop { background: rgba(17, 17, 17, 0.96);}
.lightbox-shell { position: relative;display: grid;grid-template-columns: 52px minmax(0, 1fr) 52px;gap: 14px;align-items: center;}
.lightbox figure { margin: 0;}
.lightbox figure img { width: 100%;max-height: 82vh;object-fit: contain;}
.lightbox figcaption { padding: 10px 0;color: rgba(255, 255, 255, 0.74);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);text-align: center;}
.lightbox-close,
.lightbox-arrow { width: 52px;height: 52px;color: var(--white);background: rgba(46, 43, 41, 0.85);border: 1px solid rgba(255, 255, 255, 0.55);font-size: var(--font-size-control-icon);line-height: var(--line-height-control-icon);}
.lightbox-close { position: absolute;top: 0;right: 0;z-index: 2;transform: translateY(-120%);}
@media (max-width: 1120px) {
.site-header { grid-template-columns: 176px minmax(0, 1fr);}
.brand { padding-inline: 12px;}
.site-nav { grid-template-columns: repeat(7, minmax(0, 1fr));}
.site-nav a { padding-inline: 5px;font-size: var(--font-size-nav);}
.estate-selector { grid-template-columns: minmax(0, 1.45fr) minmax(310px, 0.7fr);}
}
@media (max-width: 1180px) {
.standards-section { grid-template-columns: 1fr;align-items: start;}
.standards-copy { max-width: 720px;}
.standards-images { margin-top: 8px;}

}
@media (max-width: 900px) {
:root { --header-height: 76px;--gutter: 24px;}
.site-header { grid-template-columns: minmax(150px, 1fr) 66px;width: 100%;padding-left: 14px;border-right: 0;}
.brand { justify-content: flex-start;padding: 8px 0;border-right: 0;}
.brand img { width: 145px;}
.menu-toggle { display: block;width: 46px;height: 46px;margin-right: 12px;border-width: 2px;}
.site-nav { position: fixed;top: var(--header-height);right: 0;bottom: 0;left: 0;display: none;align-content: start;padding: 18px 24px 32px;overflow-y: auto;color: var(--white);background: rgba(46, 43, 41, 0.98);}
.site-header.nav-active .site-nav { display: grid;grid-template-columns: 1fr;}
.site-nav a { min-height: 58px;justify-content: flex-start;padding: 0;border-right: 0;border-bottom: 1px solid var(--line-light);font-size: var(--font-size-body);text-align: left;text-transform: uppercase;}
.estate-selector,
.offer-heading,
.standards-section,
.contact-section { grid-template-columns: 1fr;}
.project-intro { min-height: 0;display: flex;flex-direction: column;overflow: visible;}
.project-intro::after { display: none;}
.project-intro-copy { width: auto;max-width: 700px;margin: 0;padding: 76px 24px 48px;}
.project-intro-image { position: relative;inset: auto;width: 100%;height: 520px;}
.project-intro-image img { height: 100%;min-height: 0;}
.project-ledger { width: auto;grid-template-columns: repeat(2, minmax(0, 1fr));margin: 0 24px;}
.project-ledger article:nth-child(3) { border-top: 1px solid var(--line);border-left: 0;}
.project-ledger article:nth-child(4) { border-top: 1px solid var(--line);}
.project-technical-strip { width: auto;margin: 28px 24px 40px;}
.project-intro > .section-note { width: auto;margin: 10px 24px 66px;}
.estate-visual,
.estate-visual img { height: 520px;min-height: 520px;}
.estate-visual { margin-left: 0;}
.estate-options { padding-block: 64px;}
.offer-heading { gap: 24px;}
.filters { grid-template-columns: 1fr 1fr;}
.filters fieldset { grid-column: 1 / -1;}
.location-facts { grid-template-columns: repeat(2, minmax(0, 1fr));}
.location-facts article:nth-child(3) { border-left: 0;}
.energy-section { min-height: 760px;grid-template-columns: 1fr;gap: 40px;align-items: end;padding: 350px 24px 72px;}
.energy-wash { background: linear-gradient(0deg, var(--white) 0%, rgba(255, 255, 255, 0.98) 49%, rgba(255, 255, 255, 0.78) 60%, transparent 82%);}
.energy-heading { max-width: 700px;}
.standards-copy { max-width: 700px;}
.standards-images { margin-top: 12px;}
.contact-section { min-height: 0;gap: 32px;}
.contact-trust { max-width: 560px;}
}
@media (max-width: 640px) {
:root { --gutter: 16px;}
body { font-size: var(--font-size-body);}
h1,
h2 { font-size: var(--font-size-heading);}
.section-label { margin-bottom: 16px;font-size: var(--font-size-label);}
.site-header { background: linear-gradient(180deg, rgba(46, 43, 41, 0.72), rgba(46, 43, 41, 0.28));}
.brand img { width: 128px;}
.hero { height: 420px;min-height: 420px;}
.hero-slide { object-position: 54% center;}
.hero-overlay-card { display: none;}
.hero-note { right: auto;bottom: 8px;left: 10px;max-width: 240px;font-size: var(--font-size-hero-caption-mobile);}
.hero-indicators { bottom: 25px;}
.hero-indicators button { width: 12px;height: 12px;}
.project-intro-copy { width: auto;padding: 56px 16px 38px;}
.project-intro-copy p:not(.section-label) { margin-top: 20px;}
.project-intro-image { height: 320px;margin: 0;}
.project-intro-image figcaption { padding-inline: 16px;}
.project-ledger { margin: 0 16px;}
.project-ledger article { min-height: 182px;grid-template-rows: 64px auto 1fr;padding: 20px 10px;}
.feature-icon { width: 64px;height: 64px;margin: 0;}
.project-ledger strong { margin-top: 15px;font-size: var(--font-size-body);}
.project-ledger span { font-size: var(--font-size-micro);}
.project-technical-strip { align-items: flex-start;gap: 18px;margin: 24px 16px 36px;padding: 20px 16px;}
.project-technical-strip svg { flex-basis: 68px;width: 68px;height: 68px;}
.project-technical-strip p { font-size: var(--font-size-body);}
.project-technical-strip strong { font-size: var(--font-size-body);}
.project-intro > .section-note { margin: 10px 16px 52px;}
.estate-visual,
.estate-visual img { height: 380px;min-height: 380px;}
.estate-options { padding: 48px 16px 54px;}
.estate-options h2 { font-size: var(--font-size-heading);}
.estate-option { grid-template-columns: 28px 1fr;}
.offer-section { padding: 72px 16px;}
.offer-heading { margin-bottom: 32px;}
.data-disclaimer { grid-template-columns: 1fr;gap: 8px;}
.filters { grid-template-columns: 1fr;}
.filters fieldset,
.filters .select-field,
.reset-filter { grid-column: 1;}
.filter-buttons { display: grid;grid-template-columns: 1fr;}
.filter-button + .filter-button { margin-top: -1px;margin-left: 0;}
.offer-result-line { display: block;}
.offer-result-line p + p { margin-top: 4px;}
.unit-table { min-width: 0;}
.unit-table thead { position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0, 0, 0, 0);}
.unit-table,
.unit-table tbody,
.unit-table tr,
.unit-table td { display: block;width: 100%;}
.unit-table tr { padding: 14px 0;border-bottom: 1px solid var(--anthracite);}
.unit-table td { display: grid;grid-template-columns: 112px minmax(0, 1fr);gap: 12px;padding: 5px 0;border: 0;}
.unit-table td::before { content: attr(data-label);color: var(--muted);font-size: var(--font-size-micro);font-weight: var(--font-weight-regular);line-height: var(--line-height-micro);text-transform: uppercase;}
.unit-table td:first-child { margin-bottom: 4px;font-size: var(--font-size-body);}
.unit-price small { max-width: none;}
.locality-section { min-height: 576px;align-items: end;}
.locality-image { inset: 0;width: 100%;height: 62%;object-position: 57% center;}
.locality-fade { background: linear-gradient(0deg, var(--white) 0%, var(--white) 43%, rgba(255, 255, 255, 0.9) 55%, rgba(255, 255, 255, 0.04) 78%);}
.locality-copy { width: auto;margin: 0;padding: 76px 16px 58px;}
.locality-art-note { top: 12px;bottom: auto;font-size: 14.4px;}
.location-facts { grid-template-columns: 1fr;padding: 0 16px 72px;}
.location-facts article { min-height: 0;padding: 22px 0;border-left: 0;}
.energy-section { min-height: 0;gap: 34px;padding: 290px 16px 64px;}
.energy-backdrop { height: 360px;object-position: 56% center;}
.energy-wash { background: linear-gradient(0deg, var(--white) 0%, var(--white) 58%, rgba(255, 255, 255, 0.88) 68%, transparent 93%);}
.energy-values { grid-template-columns: 1fr;}
.energy-values article { grid-template-columns: 74px minmax(0, 1fr);gap: 18px;padding: 28px 0;}
.energy-values article + article { border-top: 1px solid var(--line);border-left: 0;}
.energy-grade { font-size: var(--font-size-data-grade-mobile);}
.energy-values strong { font-size: var(--font-size-data-value-mobile);}
.standards-section { gap: 44px;padding: 78px 16px 72px;}
.standards-highlight { grid-template-columns: 40px minmax(0, 1fr);padding: 14px;}
.standards-highlight svg { width: 36px;height: 36px;}
.standards-images { grid-template-columns: 1fr;gap: 28px;margin-inline: 0;}

.standards-images figcaption { padding-inline: 0;font-size: 14px;}
.contact-section { padding: 44px 16px;}
.contact-form { grid-template-columns: 1fr;}
.form-field,
.form-field:nth-child(3),
.form-field:nth-child(4),
.demo-notice,
.submit-button,
.form-status { grid-column: 1;}
.trust-brand { padding: 30px 24px;}
.site-footer { grid-template-columns: 1fr;gap: 18px;padding: 28px 16px;}
.lightbox-shell { grid-template-columns: 38px minmax(0, 1fr) 38px;gap: 4px;}
.lightbox-close,
.lightbox-arrow { width: 38px;height: 38px;}
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto;}
*,
*::before,
*::after { scroll-behavior: auto !important;animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;}
.hero-frame { transform: none;}
.hero-light { display: none;}
.hero-slide:not(.is-active) { display: none;}
.hero-slide.is-active { transform: none;}
}
