/* Południowa 4: evidence-first sales page in the GNT visual system. */
.lewkow-page main > .section { padding-block:clamp(64px,6vw,88px); }
.lewkow-page main > .section,
.lewkow-page main > nav { scroll-margin-top:72px; }
.lewkow-page .detail-hero .pill { max-width:100%; white-space:normal; line-height:1.4; }
.lewkow-page .project-breadcrumb { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin:0 0 18px; color:var(--ink-soft); font-size:.875rem; line-height:1.5; }
.lewkow-page .project-breadcrumb a { color:var(--navy); font-weight:600; }
.lewkow-page .project-breadcrumb span[aria-hidden] { color:var(--sandstone-ink); }
.anchor-alias { position:absolute; top:0; left:0; width:1px; height:1px; pointer-events:none; }

/* The finished building, not a render, leads the page. */
.lewkow-page .detail-hero--sales { display:grid; grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr); min-height:0; background:var(--white); }
.lewkow-page .detail-hero--sales .detail-hero-content { grid-column:1; grid-row:1; display:flex; align-items:center; padding:clamp(52px,5vw,76px) clamp(32px,4vw,64px) clamp(52px,5vw,76px) max(32px,calc((100vw - var(--container))/2)); }
.lewkow-page .detail-hero--sales .detail-hero-content > .container { width:100%; max-width:570px; margin:0; }
.lewkow-page .detail-hero--sales .detail-hero-visual { position:relative; grid-column:2; grid-row:1; align-self:center; width:100%; height:auto; min-height:0; aspect-ratio:4 / 3; margin:0; overflow:hidden; background:var(--warm-ivory); }
.lewkow-page .detail-hero--sales .detail-hero-visual picture { display:block; width:100%; height:100%; }
.lewkow-page .detail-hero--sales .detail-hero-visual img { width:100%; height:100%; object-fit:cover; object-position:center; }
.lewkow-page .detail-hero-visual-label { position:absolute; right:18px; bottom:16px; padding:7px 11px; color:var(--brand); background:rgb(255 255 255 / 94%); border:1px solid rgb(39 51 97 / 12%); border-radius:7px; font-size:.875rem; font-weight:600; line-height:1.4; }
.lewkow-page .detail-hero--sales h1 { margin-bottom:0; font-size:clamp(3rem,4.2vw,4rem); }
.lewkow-page .detail-hero--sales .project-heading { margin-top:24px; }
.lewkow-page .detail-hero--sales .project-tagline { margin:9px 0 0; color:var(--navy); font-family:"Source Serif 4",Georgia,serif; font-size:clamp(1.35rem,2vw,1.7rem); font-style:italic; line-height:1.3; }
.lewkow-page .detail-hero--sales .project-address { margin-top:12px; font-size:1rem; }
.lewkow-page .detail-hero-lead { margin-top:22px; font-size:1rem; line-height:1.7; }
.lewkow-page .detail-hero--sales .facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; margin-top:25px; padding-top:22px; }
.lewkow-page .detail-hero--sales .fact strong { font-size:clamp(1.25rem,1.7vw,1.55rem); overflow-wrap:anywhere; }
.lewkow-page .detail-hero--sales .fact span { font-size:.8125rem; }
.lewkow-page .detail-hero--sales .detail-actions { margin-top:26px; }
.lewkow-page .detail-hero-update { margin-top:16px; color:var(--ink-soft); font-size:.8125rem; line-height:1.55; }

.lewkow-page .project-nav { position:sticky; top:0; z-index:25; box-shadow:0 7px 18px rgb(39 51 97 / 5%); }
.lewkow-page .project-nav a[aria-current="location"] { color:var(--navy); border-color:var(--sandstone); }

/* Standard and factual supporting sections. */
.project-story .split { align-items:start; gap:56px; }
.project-story { border-top:1px solid var(--line); }
.project-story .split-copy h2 { font-size:clamp(2rem,3.2vw,2.75rem); line-height:1.18; }
.project-story .comfort-actions { margin-top:28px; }
.story-panels { margin-top:40px; border-top:1px solid var(--line); }
.story-panels .story-detail { margin:0; }
.story-detail summary { min-height:68px; padding-block:20px; font-size:1rem; line-height:1.5; }
.story-detail-body { max-width:900px; padding:0 40px 24px 0; }
.story-detail-body p { margin:0 0 16px; color:var(--ink-soft); font-size:1rem; line-height:1.75; }
.story-detail-body p:last-child { margin-bottom:0; }
.story-detail-body .story-area-note { padding-top:16px; border-top:1px solid var(--line); font-size:.875rem; }
.story-detail .comfort-standard { max-width:900px; }
.story-detail .comfort-standard dd { font-size:1rem; }
.project-story .split-media { position:relative; aspect-ratio:4 / 3; }
.project-story .split-media img { object-position:center; }
.split-media-label { position:absolute; right:12px; bottom:12px; padding:7px 10px; color:var(--navy); background:rgb(255 255 255 / 93%); border-radius:7px; font-size:.8125rem; font-weight:600; }
.unit41-detail-heading .unit41-position { margin:8px 0 0; color:var(--forest-dark); font-size:.875rem; font-weight:600; }

.location-section { padding-block:68px; background:var(--forest-soft); border-block:1px solid var(--line); }
.location-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:36px 64px; align-items:start; }
.location-heading h2 { max-width:470px; margin:0; font-size:clamp(2rem,3.2vw,2.75rem); line-height:1.18; }
.location-copy p { margin:0 0 18px; color:var(--ink); font-size:1rem; line-height:1.75; }
.location-copy p:last-child { margin-bottom:0; }
.location-actions { margin-top:24px; }
.location-actions .btn { min-height:48px; }
.location-facts { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; padding-top:28px; border-top:1px solid var(--line); }
.location-facts--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.location-facts > div { min-width:0; }
.location-facts dt { margin:0 0 8px; color:var(--forest-dark); font-size:clamp(1.2rem,1.8vw,1.5rem); font-weight:700; line-height:1.35; }
.location-facts dd { margin:0; color:var(--ink-soft); font-size:.875rem; line-height:1.6; }

.faq-layout { display:grid; grid-template-columns:minmax(280px,.68fr) minmax(0,1.32fr); gap:clamp(36px,7vw,96px); align-items:start; }
.faq-heading { position:sticky; top:92px; }
.faq-heading h2 { margin-bottom:20px; }
.faq-heading > p:last-child { margin:0; color:var(--ink-soft); font-size:1rem; line-height:1.7; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; min-height:68px; align-items:center; justify-content:space-between; gap:24px; padding:18px 0; color:var(--navy); font-size:1rem; font-weight:650; line-height:1.45; list-style:none; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { flex:0 0 auto; color:var(--sandstone-ink); font-size:1.35rem; font-weight:400; transition:transform .2s ease; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { max-width:760px; margin:0; padding:0 40px 22px 0; color:var(--ink-soft); font-size:1rem; line-height:1.75; }

.sz-financing-grid--compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sales-contact-section { background:var(--surface); }
.sales-contact-card { grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); }
.sales-contact-person { padding-left:36px; border-left:1px solid rgb(255 255 255 / 24%); }
.sales-contact-person > p { margin:0 0 8px; color:#d9deea; font-size:.8125rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.sales-contact-person > strong,
.sales-contact-person > a,
.sales-contact-person > span { display:block; }
.sales-contact-person > strong { color:#fff; font-size:1.35rem; }
.sales-contact-person > a,
.sales-contact-person > span { margin-top:7px; color:#e0e4ee; font-size:.875rem; line-height:1.5; overflow-wrap:anywhere; }
.sales-contact-person .sales-contact-phone { color:#fff; font-size:1.65rem; font-weight:700; }
.sales-contact-person .cta-actions { justify-content:flex-start; margin-top:22px; }

@media (max-width:980px) {
  .lewkow-page .detail-hero--sales { grid-template-columns:minmax(0,1fr); min-height:0; }
  .lewkow-page .detail-hero--sales .detail-hero-content { grid-column:1; grid-row:1; padding:40px 0 32px; }
  .lewkow-page .detail-hero--sales .detail-hero-content > .container { width:min(calc(100% - 40px),var(--container)); max-width:none; margin-inline:auto; }
  .lewkow-page .detail-hero--sales .detail-hero-visual { grid-column:1; grid-row:2; width:min(calc(100% - 40px),760px); min-height:0; max-height:none; aspect-ratio:4 / 3; margin:0 auto 32px; border-radius:14px; }
  .lewkow-page .detail-hero--sales .detail-hero-visual img { object-position:center 45%; }
}

@media (max-width:980px) {
  .project-story .split { gap:32px; }
  .faq-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .faq-heading { position:static; }
  .sales-contact-card { grid-template-columns:minmax(0,1fr); }
  .sales-contact-person { padding:28px 0 0; border-top:1px solid rgb(255 255 255 / 24%); border-left:0; }
}

@media (max-width:900px) {
  .location-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .location-heading h2 { max-width:680px; }
  .sz-financing-grid--compact { grid-template-columns:minmax(0,1fr); }
}

@media (max-width:640px) {
  .lewkow-page main > .section { padding-block:48px; }
  .lewkow-page .section-head { gap:18px; margin-bottom:28px; }
  .lewkow-page .detail-hero--sales .detail-hero-content { padding:30px 0 26px; }
  .lewkow-page .detail-hero--sales .detail-hero-content > .container { width:calc(100% - 40px); }
  .lewkow-page .detail-hero--sales h1 { font-size:clamp(2.35rem,11vw,3rem); }
  .lewkow-page .detail-hero--sales .project-heading { margin-top:20px; }
  .lewkow-page .detail-hero--sales .project-tagline { font-size:1.25rem; }
  .lewkow-page .detail-hero-lead { margin-top:18px; }
  .lewkow-page .detail-hero--sales .facts { gap:16px 12px; margin-top:21px; padding-top:20px; }
  .lewkow-page .detail-hero--sales .fact strong { font-size:1.2rem; }
  .lewkow-page .detail-hero-update { font-size:.875rem; }
  .lewkow-page .detail-hero--sales .fact span,
  .lewkow-page .split-media-label,
  .lewkow-page .sales-contact-person > p,
  .lewkow-page .visual-card > a::after,
  .lewkow-page .visual-note,
  .lewkow-page .footer-col h3,
  .lewkow-page .footer-bottom,
  .lewkow-page .draft-badge { font-size:.875rem; }
  .lewkow-page .detail-hero--sales .detail-actions { display:grid; grid-template-columns:minmax(0,1fr); gap:9px; margin-top:23px; }
  .lewkow-page .detail-hero--sales .detail-actions .btn { width:100%; }
  .lewkow-page .detail-hero--sales .detail-hero-visual { aspect-ratio:1 / 1; margin-bottom:24px; }
  .lewkow-page .detail-hero-visual-label { right:10px; bottom:10px; }
  .story-panels { margin-top:28px; }
  .story-detail-body { padding-right:0; }
  .location-section { padding-block:48px; }
  .location-facts,
  .location-facts--two { grid-template-columns:minmax(0,1fr); gap:20px; padding-top:24px; }
  .location-facts > div + div { padding-top:20px; border-top:1px solid var(--line); }
  .faq-list summary { min-height:64px; gap:14px; font-size:.9375rem; }
  .faq-list details p { padding-right:0; font-size:.9375rem; }
  .sales-contact-person .cta-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .sales-contact-person .cta-actions .btn { width:100%; }
}

@media (max-width:360px) {
  .lewkow-page .detail-hero--sales .facts { grid-template-columns:minmax(0,1fr); }
}

@media (prefers-reduced-motion:reduce) {
  .faq-list summary span { transition:none; }
}

.detail-hero-update-strip {
  border-bottom:1px solid var(--line);
  background:#f5f7fa;
}
.detail-hero-update-strip .container {
  padding-block:12px;
  color:var(--muted);
  font-size:.875rem;
  line-height:1.5;
}
.detail-hero-update-strip p { margin:0; }

@media (min-width:981px) {
  .lewkow-page .detail-hero--sales .detail-hero-content { padding-block:44px; }
  .lewkow-page .detail-hero--sales .detail-hero-visual {
    height:clamp(420px,56vh,520px);
    aspect-ratio:auto;
  }
  .lewkow-page .detail-hero--sales .facts {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px;
    margin-top:24px;
  }
  .lewkow-page .detail-hero-lead { margin-top:18px; }
  .lewkow-page .detail-actions { margin-top:22px; }
}

/* Show the complete supplied 16:9 front graphic instead of cropping it to the photo frame. */
.lewkow-page .detail-hero--sales .detail-hero-visual.detail-hero-visual--graphic {
  height:auto;
  aspect-ratio:16 / 9;
}
.lewkow-page .detail-hero--sales .detail-hero-visual.detail-hero-visual--graphic img {
  object-fit:contain;
  object-position:center;
}
