@font-face {
  font-family: "Manrope";
  src: url("fonts/manrope-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("fonts/manrope-600.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("fonts/manrope-700.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Source Serif 4";
  src: url("fonts/source-serif-4-500.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Source Serif 4";
  src: url("fonts/source-serif-4-400-italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

/* GNT brand system — version 1.0. */
:root {
  --gnt-navy: #273361;
  --warm-ivory: #f5f2ea;
  --white: #ffffff;
  --forest: #62705a;
  --sandstone: #c4a970;
  --sandstone-ink: #80652f;
  --graphite: #292b30;
  --brand: var(--gnt-navy);
  --brand-deep: var(--gnt-navy);
  --navy: var(--brand);
  --navy-deep: var(--brand-deep);
  --ink: var(--graphite);
  --ink-soft: #565960;
  --header-surface: var(--white);
  --surface: var(--warm-ivory);
  --accent: var(--sandstone);
  --accent-text: var(--sandstone-ink);
  --focus: #53669d;
  --line: rgb(39 51 97 / 14%);
  --forest-dark: #4f5d49;
  --forest-soft: #eef0eb;
  --cream: var(--warm-ivory);
  --sand: #eee7d7;
  --sage: #e5e9e1;
  --shadow: 0 12px 30px rgb(39 51 97 / 8%);
  --radius: 16px;
  --radius-sm: 12px;
  --container: 1220px;
  --sans: "Manrope", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: "Source Serif 4", Georgia, serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; color: var(--ink); background: var(--surface); font-family: var(--sans); font-size: 17px; font-weight: 400; line-height: 1.6; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
::selection { color: #fff; background: var(--navy); }
a:focus-visible, button:focus-visible, summary:focus-visible, select:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.container { width: min(calc(100% - 64px), var(--container)); margin-inline: auto; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--navy); font-family: var(--sans); font-weight: 600; line-height: 1.14; letter-spacing: -.035em; text-wrap: balance; overflow-wrap: break-word; }
h1 { font-size: clamp(3.25rem, 4.6vw, 4rem); }
h2 { font-size: clamp(2.125rem, 3.2vw, 2.75rem); }
h3 { font-size: clamp(1.45rem, 2vw, 1.9rem); }
p { text-wrap: pretty; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; color: var(--navy); font-size: 14px; line-height: 1.5; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow::before { width: 30px; height: 2px; flex-shrink: 0; background: var(--accent); content: ""; }
.section { padding: clamp(72px, 8vw, 116px) 0; }
.section--white { background: var(--white); }
.section--sand { background: var(--sand); }
.section--forest { color: var(--ink); background: var(--forest-soft); }
.section-head { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr); gap: 80px; align-items: end; margin-bottom: 46px; }
.section-head h2 { max-width: 730px; margin-bottom: 0; }
.section-head p { max-width: 480px; margin-bottom: 0; color: var(--ink-soft); }
.section-head .eyebrow { margin-bottom: 20px; color: var(--navy); }
.section--forest .section-head p { color: var(--ink-soft); }
.section--forest .eyebrow, .section--forest .number { color: var(--forest); }
.cta-card, .contact-card { --accent: var(--sandstone); --accent-text: var(--warm-ivory); }
.cta-card .eyebrow, .contact-card .eyebrow { color: var(--warm-ivory); }
.btn { display: inline-flex; min-height: 52px; max-width: 100%; align-items: center; justify-content: center; gap: 12px; padding: 13px 22px; border: 1px solid transparent; border-radius: var(--radius-sm); color: var(--white); background: var(--navy); font-size: 14px; line-height: 1.4; text-align: center; font-weight: 600; text-decoration: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
.btn:hover { background: #202a50; }
.btn:disabled { cursor:not-allowed; opacity:.55; }
.btn--light { color: var(--navy); background: var(--sandstone); }
.btn--light:hover { background: #d1bb8d; }
.btn--outline { color: var(--navy); background: transparent; border-color: #b9bfcc; }
.btn--outline:hover { background: var(--white); border-color: var(--navy); }
.btn--arrow::after { content: "↗"; font-size: 20px; line-height: 1; }
.btn--soft { color: var(--navy); background: var(--sand); }
.btn--soft:hover { background: #e5dbc2; }
.text-link { display: inline-flex; align-items: center; gap: 22px; min-height: 44px; padding: 8px 0; font-size: 14px; font-weight: 600; border-bottom: 1px solid var(--accent); }
.text-link::after { content: "↗"; font-size: 20px; }
.skip-link { position: fixed; top: 12px; left: 20px; z-index: 100; padding: 12px 20px; background: #fff; color: var(--navy); transform: translateY(-200%); }
.skip-link:focus { transform: none; }
.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; }

/* The corporate descriptor is separate from the protected GNT mark. */
.site-header, .site-header--dark { position: relative; z-index: 30; color: var(--navy); background: var(--header-surface); border-bottom: 1px solid var(--line); }
.nav { display: flex; min-height: 96px; align-items: center; justify-content: space-between; gap: 32px; }
.site-header .brand { display: inline-flex; min-height: 70px; flex: 0 0 auto; align-items: center; gap: 18px; }
.site-header .brand-logo { width: 136px; flex: 0 0 136px; }
.brand-descriptor { max-width: 162px; padding-left: 18px; color: var(--navy); border-left: 1px solid var(--line); font-size: 11px; font-weight: 600; line-height: 1.45; letter-spacing: .025em; }
.site-footer .brand { display: inline-flex; min-height: 58px; align-items: center; }
.site-footer .brand-logo { width: 136px; }
.nav-links { display: flex; align-items: center; gap: 30px; }
.nav-links > a:not(.btn) { padding: 10px 0; font-size: 14px; font-weight: 600; border-bottom: 2px solid transparent; }
.nav-links > a:not(.btn):hover, .nav-links > a[aria-current]:not(.btn) { border-color: var(--accent); }
.nav-links .btn, .nav-links .btn--light { color: var(--white); background: var(--navy); }
.nav-links .btn:hover { background: #202a50; }
.nav-phone { display: inline-flex; align-items: center; gap: 8px; font-variant-numeric: tabular-nums; }
.nav-phone svg { width: 17px; height: 17px; }
.menu-toggle { display: none; width: 46px; height: 46px; flex-shrink: 0; border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--navy); background: var(--white); font-size: 24px; }

/* Architecture comes first; a quiet white introduction follows the panorama. */
.hero { color: var(--navy); background: var(--white); border-bottom: 1px solid var(--line); }
.hero-inner { padding-block: 42px; }
.hero-copy { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 28px 48px; align-items: center; }
.hero h1 { margin: 0; font-size: clamp(3.25rem,4.6vw,4rem); line-height: 1.08; }
.hero h1 em { display: block; margin-top: .08em; font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.025em; }
.hero-copy > .btn { min-width: 200px; }
.hero-visual { position: relative; width: 100%; max-width: 1800px; margin: 0 auto; background: var(--surface); }
.hero-media { width: 100%; height: auto; aspect-ratio: 21/9; object-fit: cover; object-position: center 52%; }
.hero-visual > figcaption { position: absolute; left: max(32px,calc((100% - var(--container))/2)); bottom: 22px; max-width: calc(100% - 64px); }
.hero-project { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 18px; color: var(--navy); background: var(--white); border: 1px solid var(--line); border-left: 3px solid var(--sandstone); border-radius: var(--radius-sm); }
.hero-project small { display: block; margin-top: 2px; color: var(--ink-soft); font-size: 11px; line-height: 1.4; }
.hero-project strong { display: block; font-size: 13px; line-height: 1.5; font-weight: 700; }
.hero-project > span:last-child { font-size: 22px; }
.hero-project:hover { background: var(--surface); }
.hero--sales { padding: clamp(46px,6vw,82px) 0; overflow: hidden; }
.hero-sales-layout { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: clamp(42px,6vw,86px); align-items: center; }
.hero-sales-copy { min-width: 0; padding-block: 12px; }
.hero-sales-copy .eyebrow { margin-bottom: 22px; color: var(--forest-dark); }
.hero-sales-copy h1 { max-width: 650px; margin: 0 0 10px; font-size: clamp(3.35rem,5.1vw,4.85rem); line-height: 1.01; }
.hero-sales-tagline { display:block; margin-top:12px; color:var(--navy); font-family:"Source Serif 4",Georgia,serif; font-size:clamp(1.65rem,2.7vw,2.35rem); font-style:italic; font-weight:400; letter-spacing:-.02em; line-height:1.14; }
.hero-sales-address { margin: 0 0 24px; color: var(--navy); font-size: 16px; font-weight: 600; }
.hero-sales-lead { max-width: 610px; margin: 0 0 30px; color: var(--ink-soft); font-size: 17px; line-height: 1.65; }
.hero-sales-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 0 28px; padding: 20px 0; border-block: 1px solid var(--line); }
.hero-sales-facts > div { min-width: 0; padding-inline: 18px; border-right: 1px solid var(--line); }
.hero-sales-facts > div:first-child { padding-left: 0; }
.hero-sales-facts > div:last-child { padding-right: 0; border-right: 0; }
.hero-sales-facts dt { margin-bottom: 5px; color: var(--ink-soft); font-size: 14px; line-height: 1.4; }
.hero-sales-facts dd { margin: 0; color: var(--navy); font-size: clamp(1.15rem,1.8vw,1.5rem); font-weight: 700; line-height: 1.25; letter-spacing: -.025em; }
.hero-sales-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-sales-actions .btn { min-width: 190px; }
.hero-sales-visual { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.hero-sales-visual picture { display: block; }
.hero-sales-visual img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center 48%; }
.hero-sales-visual figcaption { position: absolute; right: 14px; bottom: 14px; padding: 8px 12px; color: var(--white); background: rgb(39 51 97 / 90%); border-radius: 8px; font-size: 14px; line-height: 1.4; }
.trust-section { padding: 26px 0; background: var(--surface); border-bottom: 1px solid var(--line); }
.trust-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.trust-section .trust-strip { background: var(--white); border: 1px solid var(--line); }
.trust-item { padding: 34px 28px; border-right: 1px solid var(--line); }
.trust-item:first-child { padding-left: 28px; }
.trust-item:last-child { border-right: 0; }
.trust-item strong { display: block; margin-bottom: 7px; color: var(--navy); font-size: clamp(1.65rem,2.5vw,2.5rem); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; }
.trust-item span { color: var(--ink-soft); font-size: 14px; line-height: 1.5; }

/* Offer information sits below photographs, so neither competes with the other. */
.project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.project-card { display: flex; flex-direction: column; min-width: 0; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.project-card:hover { border-color: #a8b0c3; box-shadow: var(--shadow); }
.project-card > img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-bottom: 1px solid var(--line); }
.project-card-content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 28px 32px 32px; }
.project-card h3 { margin: 0 0 10px; font-size: 30px; font-weight: 600; }
.project-card p { margin: 0 0 24px; color: var(--ink-soft); }
.project-card .project-location { margin-bottom: 8px; font-size: 14px; color: var(--ink-soft); }
.project-card .project-tagline { margin:-2px 0 7px; color:var(--navy); font-family:"Source Serif 4",Georgia,serif; font-size:18px; font-style:italic; line-height:1.35; }
.project-card .project-meta { display: flex; flex-wrap: wrap; gap: 6px 0; width: 100%; padding: 17px 0; margin: 0 0 22px; border-block: 1px solid var(--line); color: var(--ink); font-size: 14px; }
.project-meta span + span::before { content: "·"; padding: 0 10px; color: var(--accent-text); }
.project-card .text-link { margin-top: auto; color: var(--navy); }
.project-price { margin-bottom: 18px; color: var(--navy); font-size: 24px; font-weight: 700; letter-spacing: -.02em; }
.project-price small { font-size: 14px; color: var(--ink-soft); font-weight: 400; letter-spacing: 0; }
.pill { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--navy); background: var(--warm-ivory); font-size: 14px; font-weight: 600; line-height: 1.5; }
.pill::before { width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: currentColor; content: ""; }
.pill--muted { color: var(--ink-soft); background: #f5f4f1; border-color: var(--line); }
.project-card[href*="poludniowa"] .pill, .project-card[href*="zniwna"] .pill { color: var(--forest-dark); background: var(--forest-soft); border-color: rgb(98 112 90 / 28%); }
.project-card--zytnia { grid-column: 1/-1; display: grid; grid-template-columns: .8fr 1.2fr; }
.project-card--zytnia > img { height: 100%; min-height: 300px; aspect-ratio: auto; object-fit: contain; padding: 40px; border: 0; background: var(--navy); }
.project-card--zytnia .project-card-content { padding: 38px 44px; }
.project-grid--completed { grid-template-columns: minmax(0,1fr); }
.project-grid--completed .project-card { display: grid; grid-template-columns: 1.3fr 1fr; }
.project-grid--completed .project-card > img { height: 100%; aspect-ratio: 16/9; object-position: center 85%; border-bottom: 0; }
.project-grid--completed .project-card-content { padding: 40px; justify-content: center; }
.project-grid--completed .project-card .text-link { margin-top: 6px; }
.about-realizations { overflow: hidden; background: var(--warm-ivory); }
.about-realizations__desktop { position: relative; width: min(100%,1536px); margin-inline: auto; }
.about-realizations__desktop > img { width: 100%; height: auto; }
.about-realizations__stat-card { position: absolute; z-index: 1; top: 4.9%; left: 38.55%; display: flex; width: 14.35%; height: 26.45%; flex-direction: column; padding: 1.45% 1.65%; color: var(--white); background: #0f2a4a; border-radius: clamp(8px,.8vw,12px); }
.about-realizations__stat-card strong { font-family: var(--serif); font-size: clamp(3rem,5vw,4.8rem); font-weight: 500; line-height: .82; letter-spacing: -.04em; }
.about-realizations__stat-card > span { margin-top: 1.05vw; font-size: clamp(.57rem,.88vw,.82rem); font-weight: 600; line-height: 1.45; letter-spacing: .15em; text-transform: uppercase; }
.about-realizations__stat-card i { width: 100%; height: 1px; margin: auto 0 1.1vw; background: rgb(255 255 255 / 65%); }
.about-realizations__stat-card small { font-size: clamp(.55rem,.82vw,.75rem); line-height: 1.45; }
.about-realizations__desktop-link { position: absolute; z-index: 2; left: 2.47%; bottom: 2.73%; width: 23%; height: 6.55%; border-radius: 10px; transition: background .2s, box-shadow .2s; }
.about-realizations__desktop-link:hover { background: rgb(255 255 255 / 7%); box-shadow: inset 0 0 0 2px rgb(255 255 255 / 45%); }
.about-realizations__desktop-link:focus-visible { outline: 3px solid var(--white); outline-offset: 4px; background: rgb(255 255 255 / 10%); }
.about-realizations__mobile { display: none; }
.split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 80px; align-items: center; }
.split-media { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: var(--radius); aspect-ratio: 4/5; background: var(--sand); }
.split-media img { width: 100%; height: 100%; object-fit: cover; }
.split-media figcaption { position: absolute; inset: auto 0 0; padding: 18px 24px; color: var(--white); background: var(--navy); font-size: 13px; }
.split-media--portfolio { isolation: isolate; background: var(--navy-deep); }
.split-media--portfolio .portfolio-scale { position: absolute; inset: 0; transform: scale(1.18); transform-origin: center 82%; object-position: center 78%; }
.split-media--portfolio .portfolio-feature { position: absolute; z-index: 1; right: 24px; bottom: 72px; width: 46%; height: 35%; border: 3px solid var(--white); border-radius: var(--radius-sm); object-position: center 52%; box-shadow: var(--shadow); }
.portfolio-proof { position: absolute; z-index: 2; top: 24px; left: 24px; display: flex; align-items: center; gap: 13px; padding: 13px 17px; color: var(--white); background: var(--navy); border-radius: var(--radius-sm); }
.portfolio-proof strong { font-family: var(--serif); font-size: clamp(32px,4vw,46px); font-weight: 500; line-height: .85; }
.portfolio-proof span { font-size: 11px; font-weight: 700; line-height: 1.25; letter-spacing: .09em; text-transform: uppercase; }
.split-media--portfolio figcaption { z-index: 3; letter-spacing: .02em; }
.split-copy h2 { margin-bottom: 24px; }
.split-copy > p { margin-bottom: 24px; color: var(--ink-soft); font-size: 17px; }
.split-copy > .eyebrow { color: var(--navy); font-size: 12px; }
.check-list { margin: 28px 0 32px; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.check-list li { position: relative; padding: 16px 0 16px 30px; border-bottom: 1px solid var(--line); font-size: 16px; }
.check-list li::before { position: absolute; top: 16px; left: 0; color: var(--accent-text); content: "✓"; }
.values { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.value-card { padding: 28px 0 0; border-top: 1px solid var(--line); }
.value-card .number { display: block; margin-bottom: 36px; color: var(--sandstone-ink); font-size: 14px; font-weight: 700; letter-spacing: .08em; }
.value-card h3 { margin-bottom: 16px; font-size: 26px; letter-spacing: -.025em; }
.value-card p { margin-bottom: 0; color: var(--ink-soft); font-size: 16px; }
.cta-card { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.7fr); gap: 48px; align-items: center; padding: 62px; color: var(--white); background: var(--navy); border-radius: var(--radius); border-left: 4px solid var(--sandstone); }
.cta-card h2 { margin-bottom: 20px; }
.cta-card h2, .contact-card h3 { color: var(--white); }
.cta-card p { max-width: 640px; margin-bottom: 0; color: #e0e4ee; }
.cta-card .eyebrow { margin-bottom: 20px; }
.cta-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; }
.cta-card .btn--outline, .contact-card .btn--outline { color: var(--white); background: transparent; border-color: rgb(255 255 255 / 48%); }
.cta-card .btn--outline:hover, .contact-card .btn--outline:hover { background: rgb(255 255 255 / 9%); border-color: var(--white); }

/* Consistent detail headers and direct routes to units, plans and contact. */
.page-hero { padding: 88px 0 72px; background: var(--surface); border-bottom: 1px solid var(--line); }
.page-hero h1 { max-width: 990px; margin-bottom: 24px; font-size: clamp(3.25rem,4.6vw,4rem); }
.page-hero > .container > p:not(.eyebrow) { max-width: 700px; margin-bottom: 0; color: var(--ink-soft); font-size: 18px; }
.detail-hero { display: grid; grid-template-columns: 1.08fr 1fr; color: var(--brand); background: var(--white); border-bottom: 1px solid var(--line); }
.detail-hero > img { grid-column: 2; grid-row: 1; width: 100%; height: 100%; min-height: 600px; max-height: none; object-fit: cover; object-position: 67% center; }
.detail-hero-content { grid-column: 1; grid-row: 1; align-self: center; padding: 62px 50px 62px max(32px,calc((100vw - var(--container))/2)); }
.detail-hero-content > .container { width: auto; margin: 0; }
.detail-hero h1 { margin: 0 0 24px; font-size: clamp(3.25rem,4.6vw,4rem); }
.detail-hero p { max-width: 570px; margin-bottom: 0; color: var(--ink-soft); font-size: 17px; }
.detail-hero .pill { color: var(--brand); background: var(--surface); border-color: var(--line); }
.detail-hero .btn--light { color: var(--white); background: var(--brand); }
.detail-hero .btn--light:hover { background: #202a50; }
.detail-hero .btn--outline { color: var(--brand); background: transparent; border-color: #b9bfcc; }
.detail-hero .btn--outline:hover { background: var(--surface); border-color: var(--brand); }
.detail-hero .facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--line); }
.fact { min-width: 0; }
.fact strong { display: block; margin-bottom: 5px; font-size: clamp(1.35rem,1.9vw,1.75rem); font-weight: 700; letter-spacing: -.025em; line-height: 1.3; }
.fact span { display: block; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.detail-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.detail-hero--zytnia > img { object-fit: contain; object-position: center; padding: 50px; background: var(--navy); }
.detail-hero--panorama { display: block; }
.detail-hero--panorama > img { width: 100%; max-width: 1800px; min-height: 0; height: auto; aspect-ratio: 21/9; margin-inline: auto; object-fit: cover; object-position: center 52%; }
.detail-hero--siteview > img { aspect-ratio: auto; object-fit: contain; }
.detail-hero--completed > img { object-position: center 88%; }
.detail-hero--panorama .detail-hero-content { padding: 42px 0; }
.detail-hero--panorama .detail-hero-content > .container { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 0 64px; width: min(calc(100% - 64px),var(--container)); margin-inline: auto; }
.detail-hero--panorama .pill { grid-column: 1; justify-self: start; }
.detail-hero--panorama h1 { grid-column: 1; grid-row: 2; margin: 0; }
.detail-hero--panorama .project-heading { grid-column: 1; grid-row: 2; min-width: 0; }
.detail-hero .project-address { margin: 16px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.5; }
.detail-hero--panorama .detail-hero-content > .container > p { grid-column: 2; grid-row: 1/3; max-width: none; align-self: center; }
.detail-hero--panorama .detail-actions { grid-column: 1/-1; margin-top: 26px; }
.detail-hero--panorama .facts { grid-column: 1/-1; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 28px; }
.project-slogan { margin: 14px 0 0 !important; color: var(--forest) !important; font-family: var(--serif); font-size: clamp(1.45rem,2.2vw,1.9rem) !important; font-weight: 500; line-height: 1.25; }
.lewkow-page .eyebrow, .lewkow-page .feature-icon { color: var(--forest); }
.lewkow-page .pill { color: var(--forest-dark); background: var(--forest-soft); border-color: rgb(98 112 90 / 28%); }
.lewkow-page .location-section { background: var(--forest-soft); }
.lewkow-page .cta-card .eyebrow, .lewkow-page .contact-card .eyebrow { color: var(--warm-ivory); }

.project-nav { background: #fff; border-bottom: 1px solid var(--line); }
.project-nav .container { display: flex; flex-wrap: wrap; gap: 0 32px; align-items: center; }
.project-nav a { display: inline-flex; align-items: center; min-height: 62px; padding: 16px 0; color: var(--ink-soft); font-size: 14px; font-weight: 600; border-bottom: 2px solid transparent; }
.project-nav a:hover { color: var(--navy); border-color: var(--accent); }
.project-nav .project-nav-contact { margin-left: auto; color: var(--navy); }
.feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.feature { min-width: 0; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--white); }
.feature-icon { display: block; margin-bottom: 32px; color: var(--accent-text); font-size: 14px; font-weight: 700; }
.feature h3 { margin-bottom: 14px; font-size: 25px; }
.feature p { margin-bottom: 0; color: var(--ink-soft); font-size: 16px; }

/* Photography is shown in landscape proportions; documents stay uncropped. */
.gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.gallery img { width: 100%; height: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: var(--radius-sm); background: var(--sand); }
.gallery img:first-child { grid-column: 1/-1; aspect-ratio: 16/8; }
.interior-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.interior-grid figure, .interior-feature-grid figure { position: relative; min-width: 0; margin: 0; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.interior-grid figure:last-child:nth-child(odd) { grid-column: 1/-1; }
.interior-grid img, .interior-feature-grid img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.interior-grid figure:last-child:nth-child(odd) img { aspect-ratio: 16/8; }
.interior-grid figcaption, .interior-feature-grid figcaption { padding: 12px 18px; color: var(--ink-soft); font-size: 14px; border-left: 2px solid var(--accent); }
.interior-feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.visual-note { margin: 22px 0 0; color: var(--ink-soft); font-size: 13px; }
.unit-grid, .plan-grid, .floorplan-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.unit-card, .floorplan-pair, .plan-card { min-width: 0; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.unit-preview { height: 330px; overflow: hidden; background: var(--white); border-bottom: 1px solid var(--line); }
.unit-preview img { width: 100%; height: 100%; object-fit: contain; }
.unit-body { padding: 32px; }
.unit-body h3 { margin-bottom: 24px; font-size: 27px; }
.unit-price { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; margin: 0; padding: 22px 0; border-block: 1px solid var(--line); }
.unit-price-item span { display: block; margin-bottom: 8px; color: var(--ink-soft); font-size: 13px; }
.unit-price-item strong { display: block; color: var(--navy); font-size: clamp(1.35rem,2vw,1.85rem); line-height: 1.3; font-weight: 700; letter-spacing: -.03em; }
.price-updated { margin: 14px 0 24px; color: var(--ink-soft); font-size: 13px; line-height: 1.6; }
.unit-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; margin-bottom: 28px; border-top: 1px solid var(--line); }
.unit-fact { padding: 14px 0; border-bottom: 1px solid var(--line); }
.unit-fact span { display: block; margin-bottom: 5px; color: var(--ink-soft); font-size: 13px; }
.unit-fact strong { font-size: 17px; font-weight: 600; }
.unit-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.catalog-card .unit-preview { height: auto; aspect-ratio: 1.45; padding: 10px; }
.catalog-card .unit-body { padding: 26px; }
.catalog-card .unit-body h3 { font-size: 25px; }
.catalog-card .unit-actions .btn { width: 100%; }
.catalog-intro { max-width: 760px; margin-bottom: 38px; color: var(--ink-soft); }
.plan-card img { width: 100%; aspect-ratio: 1.35; object-fit: contain; background: #fff; }
.plan-card-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; padding: 24px; border-top: 1px solid var(--line); }
.plan-card-footer h3 { margin: 0; font-size: 25px; }
.plan-card-footer .eyebrow { margin-bottom: 8px; }
.plan-card--site-map img { aspect-ratio: 3/4; }
.floorplan-pair-head { padding: 24px; border-bottom: 1px solid var(--line); }
.floorplan-pair-head .eyebrow { margin-bottom: 8px; }
.floorplan-pair-head h3 { margin: 0; font-size: 25px; }
.floorplan-previews { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.floorplan-preview { min-width: 0; border-right: 1px solid var(--line); }
.floorplan-preview:last-child { border-right: 0; }
.floorplan-preview img { width: 100%; aspect-ratio: 1.42; object-fit: contain; }
.floorplan-preview-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 16px; border-top: 1px solid var(--line); }
.floorplan-preview-footer strong { font-size: 14px; }
.floorplan-preview-footer .btn { padding: 10px 13px; }

/* Direct, working contact options come before the existing demo form. */
.contact-grid { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 68px; align-items: start; }
.contact-card { padding: 36px; border-radius: var(--radius); color: var(--white); background: var(--navy); }
.contact-card h2,
.contact-card h3 { color:var(--white); font-size:34px; }
.contact-card > p:not(.eyebrow) { color: #e0e4ee; }
.contact-line { padding: 22px 0; border-bottom: 1px solid #46537b; }
.contact-line:last-child { border-bottom: 0; }
.contact-line span { display: block; margin-bottom: 8px; color: #cfd6e7; font-size: 14px; }
.contact-line strong { font-size: 18px; font-weight: 500; overflow-wrap: anywhere; }
.contact-line a:hover { text-decoration: underline; text-underline-offset: 5px; }
.contact-line a[href^="tel:"] { font-size: clamp(1.65rem,3vw,2.4rem); letter-spacing: -.03em; }
.contact-direct { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; }
.form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.field { display: grid; gap: 8px; min-width: 0; }
.field--wide,
.field--full { grid-column:1/-1; }
.field > span,
.field label { color:var(--ink); font-size:14px; font-weight:600; }
.field input,
.field select,
.field textarea { width:100%; min-width:0; padding:15px 16px; border:1px solid #b9bfcc; border-radius:var(--radius-sm); color:var(--ink); background:var(--white); outline:0; font:inherit; }
.field textarea { min-height: 150px; resize: vertical; }
.field input:focus,
.field select:focus,
.field textarea:focus { border-color:var(--navy); box-shadow:0 0 0 3px #27336115; }
.field [aria-invalid="true"] { border-color:#b42318; box-shadow:0 0 0 1px #b42318; }
.form-note { grid-column: 1/-1; margin: 0; color: var(--ink-soft); font-size: 13px; }
.form-preview-note { padding: 16px 18px; margin: 0 0 24px; border-left: 2px solid var(--accent); background: var(--surface); color: var(--ink-soft); font-size: 14px; }
.form-status { grid-column: 1/-1; display: none; padding: 16px; border: 1px solid var(--line); border-radius: 4px; color: var(--navy); background: var(--surface); font-size: 14px; }
.form-status.visible { display: block; }
.contact-choice-panel > p:not(.eyebrow) { max-width: 660px; color: var(--ink-soft); }
.contact-topic-list { display: grid; gap: 12px; margin-top: 28px; }
.contact-topic { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: center; min-height: 82px; padding: 17px 20px; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-sm); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.contact-topic:hover { border-color: #a8b0c3; box-shadow: var(--shadow); transform: translateY(-1px); }
.contact-topic strong { display: block; margin-bottom: 3px; color: var(--navy); font-size: 17px; line-height: 1.4; }
.contact-topic span { display: block; color: var(--ink-soft); font-size: 14px; line-height: 1.5; }
.contact-topic .contact-topic-tagline { margin-bottom:2px; color:var(--navy); font-family:"Source Serif 4",Georgia,serif; font-size:15px; font-style:italic; }
.contact-topic > b { color: var(--navy); font-size: 22px; font-weight: 400; }
.contact-form-panel { padding-top:34px; margin-top:34px; border-top:1px solid var(--line); scroll-margin-top:90px; }
.contact-form-panel h3 { margin:0 0 12px; color:var(--navy); font-size:clamp(1.55rem,2.6vw,2rem); }
.contact-form-panel > p:not(.eyebrow) { margin:0 0 22px; color:var(--ink-soft); }
.contact-form-panel .contact-form-help { margin-top:-10px; font-size:.875rem; }
.contact-email-form { padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface); }
.contact-form-privacy { margin:0; color:var(--ink-soft); font-size:.8125rem; line-height:1.6; }
.contact-form-privacy a { color:var(--navy); text-decoration:underline; text-underline-offset:3px; }
.contact-form-actions { display:flex; flex-wrap:wrap; gap:12px; }
.contact-response-note { padding: 18px 20px; margin: 22px 0 0; color: var(--ink-soft); background: var(--surface); border-left: 3px solid var(--sandstone); font-size: 14px; }
.mobile-sales-bar { display: none; }
.site-legal-note { padding: 24px 0; color: var(--ink-soft); background: var(--white); border-top: 1px solid var(--line); }
.site-legal-note p { max-width: 1120px; margin: 0; font-size: 12.5px; line-height: 1.65; }
.site-legal-note strong { color: var(--ink); font-weight: 600; }
.site-footer { padding: 72px 0 28px; color: var(--white); background: var(--navy); }
.footer-main { display: grid; grid-template-columns: 1fr .5fr .65fr 1fr; gap: 40px; padding-bottom: 56px; }
.footer-main--with-developer { grid-template-columns: 1.05fr .5fr .65fr .9fr 1fr; gap: 28px; }
.footer-main > div { min-width: 0; }
.footer-main .brand { margin-bottom: 24px; }
.footer-main p { max-width: 350px; color: #cfd6e7; font-size: 14px; }
.footer-col h3 { margin-bottom: 20px; color: #e6e9f3; font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: .04em; }
.footer-col a { display: block; margin: 10px 0; color: #e0e4ee; font-size: 14px; }
.footer-col a:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.footer-sales strong, .footer-developer strong { display: block; margin-bottom: 12px; font-size: 16px; font-weight: 500; }
.footer-sales span, .footer-developer span { display: block; margin-top: 14px; color: #cfd6e7; font-size: 14px; }
.footer-sales a, .footer-developer a { overflow-wrap: anywhere; }
.footer-sales a[href^="tel:"] { color: #fff; font-size: 23px; line-height: 1.4; letter-spacing: -.015em; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 30px; padding-top: 24px; border-top: 1px solid #46537b; color: #cfd6e7; font-size: 13px; }
.footer-bottom a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.draft-badge { display: block; padding: 10px 32px; color: #cfd6e7; background: var(--navy-deep); border-top: 1px solid #46537b; text-align: center; font-size: 12px; }

.privacy-layout { display:grid; grid-template-columns:minmax(240px,.34fr) minmax(0,1fr); gap:clamp(36px,6vw,80px); align-items:start; }
.privacy-summary { position:sticky; top:92px; display:grid; gap:10px; padding:28px; color:var(--white); background:var(--navy); border-radius:var(--radius); }
.privacy-summary strong { font-size:1.1rem; }
.privacy-summary span,
.privacy-summary a { color:#e0e4ee; line-height:1.55; }
.privacy-summary a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.privacy-summary small { padding-top:16px; margin-top:8px; color:#cfd6e7; border-top:1px solid #46537b; }
.privacy-content { display:grid; gap:34px; }
.privacy-content section { padding-bottom:30px; border-bottom:1px solid var(--line); }
.privacy-content h2 { margin:0 0 14px; color:var(--navy); font-size:clamp(1.45rem,2.3vw,1.9rem); }
.privacy-content p,
.privacy-content li { color:var(--ink-soft); line-height:1.75; }
.privacy-content ul { display:grid; gap:10px; padding-left:22px; margin:0; }
.privacy-content a { color:var(--navy); text-decoration:underline; text-underline-offset:3px; }

@media (max-width: 1100px) {
  .brand-descriptor { display: none; }
  .nav-links { gap: 22px; }
  .nav-links .nav-phone { display: none; }
  .about-realizations { padding: 72px 0 56px; }
  .about-realizations__desktop { display: none; }
  .about-realizations__mobile { display: block; }
  .about-realizations__mobile-copy { max-width: 720px; margin-bottom: 30px; }
  .about-realizations__mobile-copy .eyebrow { margin-bottom: 14px; color: var(--navy); font-size: 14px; letter-spacing: .12em; }
  .about-realizations__mobile-copy .eyebrow::before { display: none; }
  .about-realizations__mobile-copy h2 { margin-bottom: 20px; color: var(--navy); font-family: var(--serif); font-size: clamp(2.8rem,7vw,4rem); font-weight: 500; line-height: 1; letter-spacing: -.035em; }
  .about-realizations__mobile-copy > p:last-child { max-width: 660px; margin-bottom: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.6; }
  .about-realizations__mobile-stat { display: inline-flex; align-items: center; gap: 16px; padding: 16px 20px; margin-bottom: 30px; color: var(--white); background: #0f2a4a; border-radius: var(--radius-sm); }
  .about-realizations__mobile-stat strong { font-family: var(--serif); font-size: 48px; font-weight: 500; line-height: .9; }
  .about-realizations__mobile-stat span { font-size: 12px; font-weight: 600; line-height: 1.45; letter-spacing: .1em; text-transform: uppercase; }
  .about-realizations__qualities { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px 14px; margin: 0 0 34px; padding: 0; list-style: none; }
  .about-realizations__qualities li { display: flex; min-width: 0; align-items: center; gap: 12px; color: var(--ink); font-size: 14px; line-height: 1.35; }
  .about-realizations__qualities svg { width: 38px; height: 38px; flex: 0 0 38px; fill: none; stroke: var(--navy); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .about-realizations__mobile-main { width: 100%; margin-bottom: 12px; border-radius: var(--radius-sm); }
  .about-realizations__mobile-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .about-realizations__mobile-gallery img { width: 100%; height: 100%; min-height: 0; border-radius: var(--radius-sm); object-fit: cover; }
  .about-realizations__mobile-front { grid-column: 1/-1; }
  .about-realizations__mobile-footer { display: grid; gap: 28px; margin-top: 22px; }
  .about-realizations__mobile-link { width: 100%; min-height: 58px; justify-content: space-between; padding-inline: 24px; background: var(--navy); font-size: 16px; }
  .about-realizations__mobile-link span { font-size: 24px; font-weight: 400; line-height: 1; }
  .about-realizations__wordmark { display: flex; align-items: center; justify-content: flex-end; gap: 16px; color: var(--sandstone-ink); }
  .about-realizations__wordmark span { width: min(30vw,130px); height: 1px; background: var(--sandstone); }
  .about-realizations__wordmark img { width: 84px; }
  .detail-hero-content { padding-right: 32px; }
  .section-head, .split { gap: 48px; }
  .footer-main--with-developer { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-main--with-developer > div:first-child { grid-column: 1/-1; }
  .cta-card { padding: 48px; }
}
@media (max-width: 900px) {
  .container { width: min(calc(100% - 40px),var(--container)); }
  h1, .hero h1, .page-hero h1, .detail-hero h1 { font-size: clamp(2.75rem,7vw,3.4rem); }
  h2 { font-size: clamp(2rem,5vw,2.5rem); }
  .nav { min-height: 86px; }
  .menu-toggle { display: grid; place-items: center; }
  .nav-links { position: fixed; z-index: 40; inset: 86px 0 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 28px 24px; overflow-y: auto; visibility: hidden; opacity: 0; pointer-events: none; color: var(--navy); background: var(--header-surface); }
  .nav-links.open { visibility: visible; opacity: 1; pointer-events: auto; }
  .nav-links > a:not(.btn) { padding: 20px 0; font-size: 21px; border-bottom: 1px solid var(--line); }
  .nav-links .nav-phone { display: flex; font-size: 18px; }
  .nav-links .btn { margin-top: 26px; }
  .hero-copy { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .hero-copy > .btn { justify-self: start; }
  .hero-media { aspect-ratio: auto; object-fit: contain; }
  .hero-visual > figcaption { left: 20px; max-width: calc(100% - 40px); }
  .hero-sales-layout { grid-template-columns: minmax(0,1fr); gap: 34px; }
  .hero-sales-copy { max-width: 760px; }
  .hero-sales-copy h1 { max-width: 760px; }
  .hero-sales-visual img { aspect-ratio: 16/9; }
  .detail-hero--panorama .detail-hero-content > .container { width: calc(100% - 40px); gap: 0 32px; }
  .detail-hero--panorama h1 { font-size: clamp(2.75rem,7vw,3.4rem); }
  .trust-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trust-item { padding: 26px; }
  .trust-item:first-child { padding-left: 26px; }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section-head, .split, .contact-grid { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .section-head p { max-width: 640px; }
  .split-media { aspect-ratio: 4/3; }
  .project-card-content { padding: 26px; }
  .project-card h3 { font-size: 28px; }
  .project-card--zytnia .project-card-content { padding: 30px; }
  .project-grid--completed .project-card { grid-template-columns: minmax(0,1fr); }
  .project-grid--completed .project-card > img { max-height: 500px; }
  .project-grid--completed .project-card-content { padding: 30px; }
  .cta-card { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .cta-actions { justify-content: flex-start; }
  .detail-hero { grid-template-columns: minmax(0,1fr); }
  .detail-hero > img { grid-column: 1; grid-row: 1; min-height: 0; height: 360px; object-position: center; }
  .detail-hero-content { grid-column: 1; grid-row: 2; padding: 42px 24px; }
  .detail-hero p { max-width: 750px; }
  .detail-hero .facts { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .detail-hero--zytnia > img { height: 270px; padding: 40px; }
  .detail-hero--panorama > img { height: auto; min-height: 0; }
  .detail-hero--siteview > img { aspect-ratio: auto; }
  .values, .feature-grid { gap: 26px; }
  .value-card h3 { font-size: 24px; }
  .unit-grid, .plan-grid, .floorplan-grid { grid-template-columns: minmax(0,1fr); }
  .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .footer-main > div:first-child { grid-column: 1/-1; }
}

@media (max-width:760px) {
  .privacy-layout { grid-template-columns:minmax(0,1fr); }
  .privacy-summary { position:static; }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  .container { width: calc(100% - 36px); }
  h1, .hero h1, .page-hero h1, .detail-hero h1 { font-size: clamp(2.25rem,10vw,2.75rem); }
  h2 { font-size: clamp(1.875rem,8vw,2.25rem); }
  .section { padding: 58px 0; }
  .site-header .brand { min-height: 62px; }
  .site-header .brand-logo { width: 118px; flex-basis: 118px; }
  .site-footer .brand-logo { width: 124px; }
  .hero-inner { padding-block: 26px; }
  .hero-copy { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .hero h1 { font-size: clamp(2.25rem,10vw,2.75rem); }
  .hero-copy > .btn { width: 100%; }
  .hero--sales { padding: 38px 0 42px; }
  .hero-sales-layout { gap: 30px; }
  .hero-sales-copy .eyebrow { margin-bottom: 16px; }
  .hero-sales-address { margin-bottom: 18px; }
  .hero-sales-lead { margin-bottom: 24px; font-size: 16px; }
  .hero-sales-facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 0; padding: 18px 0; }
  .hero-sales-facts > div { padding-inline: 14px; }
  .hero-sales-facts > div:nth-child(2) { padding-right: 0; border-right: 0; }
  .hero-sales-facts > div:last-child { grid-column: 1/-1; padding: 18px 0 0; border-top: 1px solid var(--line); }
  .hero-sales-actions { display: grid; }
  .hero-sales-actions .btn { width: 100%; }
  .hero-sales-visual img { aspect-ratio: 4/3; }
  .hero-project { padding: 8px 12px; gap: 18px; }
  .hero-visual > figcaption { bottom: 12px; left: 12px; max-width: calc(100% - 24px); }
  .trust-item, .trust-item:first-child { padding: 24px 14px; }
  .trust-item strong { font-size: 26px; overflow-wrap: anywhere; }
  .trust-item span { font-size: 14px; }
  .section-head { margin-bottom: 32px; gap: 24px; }
  .project-grid { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .project-card-content, .project-card--zytnia .project-card-content { padding: 24px; }
  .project-card--zytnia { grid-template-columns: minmax(0,1fr); }
  .project-card--zytnia > img { min-height: 190px; height: 190px; padding: 32px; }
  .project-grid--completed .project-card-content { padding: 24px; }
  .about-realizations { padding: 58px 0 44px; }
  .about-realizations__mobile-copy h2 { font-size: clamp(2.6rem,10vw,4rem); }
  .about-realizations__qualities { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .values, .feature-grid { grid-template-columns: minmax(0,1fr); }
  .value-card .number { margin-bottom: 20px; }
  .cta-card { padding: 34px 24px; }
  .cta-actions .btn { width: 100%; }
  .page-hero { padding: 58px 0 48px; }
  .page-hero > .container > p:not(.eyebrow) { font-size: 17px; }
  .detail-hero > img { height: 280px; }
  .detail-hero-content { padding: 36px 20px; }
  .detail-hero h1 { font-size: clamp(2.25rem,10vw,2.75rem); }
  .detail-hero .facts { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 16px; }
  .detail-hero--zytnia > img { height: 200px; padding: 24px; }
  .detail-hero--panorama > img { height: auto; aspect-ratio: 16/9; }
  .detail-hero--siteview > img { aspect-ratio: auto; }
  .detail-hero--panorama .detail-hero-content { padding: 32px 0; }
  .detail-hero--panorama .detail-hero-content > .container { grid-template-columns: minmax(0,1fr); width: calc(100% - 40px); gap: 0; }
  .detail-hero--panorama .detail-hero-content > .container > * { grid-column: 1; grid-row: auto; }
  .detail-hero--panorama h1 { margin-bottom: 20px; font-size: clamp(2.25rem,10vw,2.75rem); }
  .detail-hero--panorama .project-heading { margin-bottom: 20px; }
  .detail-hero--panorama .facts { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .project-nav .container { gap: 0 20px; }
  .project-nav a { min-height: 50px; padding: 12px 0; }
  .project-nav .project-nav-contact { margin-left: 0; }
  .unit-body { padding: 24px; }
  .unit-body h3 { font-size: 25px; }
  .unit-price { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .unit-actions .btn { width: 100%; }
  .catalog-grid { grid-template-columns: minmax(0,1fr); }
  .gallery, .interior-grid, .interior-feature-grid { grid-template-columns: minmax(0,1fr); }
  .gallery img, .gallery img:first-child, .interior-grid img, .interior-grid figure:last-child:nth-child(odd) img { aspect-ratio: 4/3; }
  .interior-grid figure:last-child:nth-child(odd) { grid-column: auto; }
  .floorplan-previews { grid-template-columns: minmax(0,1fr); }
  .floorplan-preview { border-right: 0; border-bottom: 1px solid var(--line); }
  .floorplan-preview:last-child { border-bottom: 0; }
  .contact-card { padding: 26px; }
  .contact-card h2,
  .contact-card h3 { font-size:29px; }
  .form { grid-template-columns: minmax(0,1fr); }
  .field--full { grid-column:auto; }
  .contact-email-form { padding:20px; }
  .contact-form-actions .btn { width:100%; }
  .site-legal-note { padding: 20px 0; }
  .footer-main { grid-template-columns: minmax(0,1fr); gap: 30px; padding-bottom: 36px; }
  .footer-main > div:first-child { grid-column: auto; }
  .site-footer { padding: 56px 0 24px; }
  .lewkow-page { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  .mobile-sales-bar { position: fixed; z-index: 60; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: .78fr 1.22fr; gap: 8px; padding: 10px 18px calc(10px + env(safe-area-inset-bottom)); background: rgb(255 255 255 / 96%); border-top: 1px solid var(--line); box-shadow: 0 -10px 28px rgb(39 51 97 / 12%); backdrop-filter: blur(10px); }
  .mobile-sales-bar .btn { min-width: 0; min-height: 48px; padding: 10px 12px; }
  body.menu-open .mobile-sales-bar { display: none; }
}
@media (max-width: 420px) {
  .trust-strip { grid-template-columns: minmax(0,1fr); }
  .trust-item, .trust-item:first-child { padding: 22px 20px; border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-item:last-child { border-bottom: 0; }
  .trust-item strong { font-size: 24px; }
  .about-realizations__qualities { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 900px) {
}

/* Investment index: separate current, planned and completed offers. */
.investments-index-page .investments-offers { padding-top:clamp(36px,5vw,68px); }
.investments-status-group + .investments-status-group { margin-top:54px; padding-top:42px; border-top:1px solid var(--line); }
.investments-status-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-bottom:20px; }
.investments-status-heading h3 { margin:0; color:var(--brand); font-size:clamp(1.5rem,2.2vw,2rem); }
.investments-status-heading span { color:var(--ink-soft); font-size:.875rem; }
.investments-status-grid { display:grid; gap:28px; }
.investments-status-grid--planned { grid-template-columns:repeat(2,minmax(0,1fr)); }
.investments-status-grid--available .project-card { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr); }
.investments-status-grid--available .project-card>img { height:100%; min-height:420px; aspect-ratio:auto; border-right:1px solid var(--line); border-bottom:0; }
.investments-index-page .project-card h4 { margin:0 0 10px; color:var(--brand); font-size:30px; font-weight:600; line-height:1.2; }
.investments-index-page .project-card h4 a { color:inherit; }
.investments-index-page .project-card h4 a:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
.investments-index-page .project-card .btn { min-height:48px; margin-top:auto; }
.investments-index-page .project-card .pill { font-size:.875rem; white-space:normal; }
.investments-index-page .project-card--available .pill,.investments-index-page .project-card--completed .pill { color:var(--forest-dark); background:var(--forest-soft); border-color:rgb(98 112 90 / 28%); }
.investments-index-page .investments-status-grid .project-card--zytnia { grid-column:auto; display:flex; grid-template-columns:none; }
.investments-index-page .investments-status-grid .project-card--zytnia>img { width:100%; height:auto; min-height:210px; aspect-ratio:16/9; object-fit:contain; padding:34px; border-bottom:1px solid var(--line); background:var(--navy); }
.investments-index-page .project-grid--completed .project-card h3 a { color:inherit; }
.investments-index-page .project-grid--completed .project-card .btn { margin-top:6px; }
@media(max-width:900px){.investments-status-grid--planned{grid-template-columns:minmax(0,1fr)}.investments-status-grid--available .project-card{grid-template-columns:minmax(0,1fr)}.investments-status-grid--available .project-card>img{height:auto;min-height:0;aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--line)}.investments-status-heading{align-items:flex-start;flex-direction:column;gap:5px}}
@media(max-width:640px){.investments-status-group+.investments-status-group{margin-top:40px;padding-top:34px}.investments-index-page .project-card h4{font-size:27px}.investments-index-page .investments-status-grid .project-card--zytnia>img{min-height:170px;height:170px;padding:26px}}

/* Keep long project navigation compact and discoverable on touch screens. */
@media (max-width: 900px) {
  .project-nav { overflow: hidden; }
  .project-nav .container {
    width: 100%;
    flex-wrap: nowrap;
    gap: 0 24px;
    padding-inline: 20px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .project-nav .container::-webkit-scrollbar { display: none; }
  .project-nav a {
    flex: 0 0 auto;
    min-height: 54px;
    padding: 14px 0;
    white-space: nowrap;
    scroll-snap-align: start;
  }
  .project-nav .project-nav-contact { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Desktop readability pass: keep the offer and first action above the fold. */
@media (min-width:901px) {
  .nav { min-height:84px; }
  .site-header .brand { min-height:60px; }
  .site-header .brand-logo { width:124px; flex-basis:124px; }
  .section { padding:clamp(68px,6vw,96px) 0; }
  .page-hero { padding:58px 0 52px; }
  .section-head { margin-bottom:34px; }
  .hero--sales { padding:clamp(48px,4.2vw,64px) 0; }
  .hero-sales-visual img { height:clamp(400px,56vh,520px); aspect-ratio:auto; }
}

@media (min-width:901px) {
  .project-grid--home .project-card--featured {
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);
    align-items:stretch;
  }
  .project-grid--home .project-card--featured > img {
    width:100%;
    height:100%;
    min-height:400px;
    aspect-ratio:auto;
    object-fit:cover;
    border-right:1px solid var(--line);
  }
  .project-grid--home .project-card--featured .project-card-content {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:36px;
  }
  .project-grid--home .project-card--zytnia {
    grid-column:auto;
    display:flex;
    grid-template-columns:none;
  }
  .project-grid.project-grid--home .project-card.project-card--zytnia > img {
    width:100%;
    height:clamp(260px,24vw,320px);
    min-height:0;
    aspect-ratio:auto;
    object-fit:contain;
    padding:32px;
    border-bottom:1px solid var(--line);
    background:var(--navy);
  }
  .project-grid--home .project-card--zytnia .project-card-content {
    display:flex;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:28px 32px 32px;
  }
}

@media (max-width:900px) {
  .project-grid--home .project-card--featured { display:block; }
}

.investments-index-page .page-hero { padding:48px 0 42px; }
.investments-index-page .page-hero h1 { margin-bottom:16px; }
.investments-index-page .investments-offers { padding-top:34px; }
.investments-index-page .investments-status-heading { margin-bottom:16px; }
.investments-index-page .project-card { position:relative; }
.investments-index-page .project-card h4 a::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
}
.investments-index-page .project-card .btn,
.investments-index-page .project-card a:not(h4 a) { position:relative; z-index:2; }

@media (min-width:901px) {
  .investments-index-page .investments-status-grid--available .project-card > img {
    min-height:380px;
    height:clamp(380px,50vh,460px);
    object-fit:cover;
  }
  .investments-index-page .project-card-content { padding:28px 30px; }
  .investments-index-page .project-card-content > p { margin:10px 0 18px; }
  .investments-index-page .project-meta { margin-bottom:12px; }
}

/* The supplied Południowa front graphic stays uncropped in every primary placement. */
.hero-sales-visual--graphic img {
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:contain;
  object-position:center;
}
.project-card > img.poludniowa-main-graphic {
  object-fit:contain;
  object-position:center;
  background:var(--surface);
}
.investments-index-page .investments-status-grid--available .project-card > img.poludniowa-main-graphic {
  object-fit:contain;
}

/* The home page opens with the offer while keeping the GNT brand promise visible. */
.home-investments-first {
  padding-top:clamp(38px,4.2vw,62px);
  background:var(--white);
}
.home-investments-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);
  gap:28px 72px;
  align-items:end;
  margin-bottom:34px;
}
.home-brand-motto {
  margin:0 0 18px;
  color:var(--sandstone-ink);
  font-family:var(--serif);
  font-size:clamp(1.2rem,2vw,1.55rem);
  font-style:italic;
  line-height:1.35;
}
.home-investments-heading h1 {
  max-width:720px;
  margin:0;
  font-size:clamp(2.65rem,4.2vw,4rem);
  line-height:1.08;
}
.home-investments-heading > p {
  margin:0;
  color:var(--ink-soft);
  font-size:1rem;
  line-height:1.7;
}
@media (max-width:760px) {
  .home-investments-first { padding-top:32px; }
  .home-investments-heading { grid-template-columns:minmax(0,1fr); gap:18px; margin-bottom:26px; }
  .home-brand-motto { margin-bottom:14px; font-size:1.18rem; }
  .home-investments-heading h1 { font-size:clamp(2.25rem,11vw,3.1rem); }
}
