/* GNT: calm architecture, warm light and restrained natural accents. */
.spokojny-page { background:var(--warm-ivory); color:var(--ink); }
.spokojny-page h1,.spokojny-page h2,.spokojny-page h3 { color:var(--brand); }
.spokojny-page .section { padding:clamp(56px,6vw,88px) 0; }
.spokojny-page .eyebrow { font-size:.875rem; letter-spacing:.08em; }
.sz-hero { padding:44px 0 52px; background:var(--white); }
.sz-hero-grid { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(28px,4vw,60px); align-items:center; }
.sz-hero h1 { font-size:clamp(3.25rem,4.6vw,4rem); margin-bottom:18px; line-height:1.06; }
.sz-hero .sz-tagline { color:var(--brand); font-family:var(--serif); font-size:clamp(1.45rem,2.1vw,1.9rem); font-weight:500; line-height:1.3; margin:0 0 20px; }
.sz-hero p { max-width:38em; }
.sz-hero-area { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); margin:24px 0 0; border-block:1px solid #d8dfeb; }
.sz-hero-area>div { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:17px 0; }
.sz-hero-area>div+div { margin-left:24px; padding-left:24px; border-left:1px solid #d8dfeb; }
.sz-hero-area>div:nth-child(3) { grid-column:1/-1; margin-left:0; padding-left:0; border-top:1px solid #d8dfeb; border-left:0; }
.sz-hero-area dt { color:#626b7c; font-size:.875rem; line-height:1.4; }
.sz-hero-area dd { order:-1; margin:0 0 5px; color:var(--brand); font-size:clamp(1.2rem,1.8vw,1.5rem); font-weight:700; line-height:1.2; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.sz-hero-area-primary dd { font-size:clamp(1.75rem,2.5vw,2.15rem); letter-spacing:-.04em; }
.sz-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.sz-stage-note { margin:22px 0 0; padding-left:14px; border-left:2px solid var(--sandstone); font-size:.9375rem; line-height:1.55; }
.sz-stage-note strong { display:block; color:var(--brand); font-weight:600; }
.sz-proof-link { display:inline-flex; max-width:40em; min-height:44px; align-items:center; margin-top:14px; color:var(--brand); font-size:.875rem; font-weight:600; line-height:1.5; text-decoration:underline; text-decoration-color:var(--sandstone); text-underline-offset:4px; }
.sz-hero-media { margin:0; min-width:0; }
.sz-hero-media img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:var(--warm-ivory); border-radius:var(--radius); }
.sz-image-note { margin:10px 0 0; color:#646a76; font-size:.875rem; line-height:1.5; }
.spokojny-page .project-nav .container { column-gap:24px; }
.sz-location { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr); gap:clamp(30px,6vw,90px); align-items:start; }
.sz-location h2 { max-width:800px; font-size:clamp(2.125rem,3.2vw,2.75rem); margin-bottom:22px; }
.sz-location p { max-width:780px; }
.sz-address { padding:28px; background:var(--forest-soft); border-top:3px solid var(--forest); border-radius:var(--radius-sm); }
.sz-address svg { width:28px; height:28px; color:var(--forest); margin-bottom:16px; }
.sz-address strong { display:block; font-size:1.125rem; color:var(--brand); }
.sz-address p { margin:8px 0 18px; font-size:1rem; }
.sz-address a { font-size:.9375rem; text-decoration:underline; text-underline-offset:4px; }
.sz-benefits { background:var(--warm-ivory); }
.sz-benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; border:1px solid var(--line); background:var(--line); border-radius:var(--radius); overflow:hidden; }
.sz-benefit { background:var(--white); padding:26px 22px 28px; min-width:0; }
.sz-benefit-icon { width:30px; height:30px; color:var(--forest); display:block; margin-bottom:20px; }
.sz-benefit h3 { font-size:1.125rem; line-height:1.4; letter-spacing:-.02em; font-weight:600; margin:0 0 10px; text-wrap:pretty; }
.sz-benefit p { font-size:1rem; line-height:1.6; color:#5d6470; margin:0; }
.sz-feature { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(28px,5vw,70px); align-items:center; }
.sz-feature-media { margin:0; min-width:0; }
.sz-feature-media img { aspect-ratio:16/9; height:auto; width:100%; object-fit:contain; }
.sz-feature h2 { font-size:clamp(2.125rem,3vw,2.75rem); margin:0 0 22px; }
.sz-feature-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:28px 0; padding:22px 0; border-block:1px solid #dfe3eb; }
.sz-feature-values dt { font-size:.875rem; color:#626a77; }
.sz-feature-values>div { display:flex; flex-direction:column; }
.sz-feature-values dd { order:-1; }
.sz-feature-values dd { margin:0 0 8px; color:var(--brand); font-size:2rem; font-weight:700; line-height:1.2; font-variant-numeric:tabular-nums; }
.sz-feature .text-link { font-size:1rem; }
.sz-standard { background:var(--warm-ivory); }
.sz-standard-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,6vw,80px); align-items:start; }
.sz-standard h2 { font-size:clamp(2.125rem,3vw,2.75rem); margin-bottom:22px; }
.sz-standard p { margin-bottom:20px; }
.sz-specs { border-top:1px solid #cfd5e0; }
.sz-specs details { border-bottom:1px solid #cfd5e0; }
.sz-specs summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; min-height:68px; padding:18px 0; color:var(--brand); font-weight:600; font-size:1rem; line-height:1.5; }
.sz-specs summary::-webkit-details-marker { display:none; }
.sz-specs summary::after { content:'+'; font-size:1.6rem; font-weight:400; flex:none; }
.sz-specs details[open] summary::after { content:'−'; }
.sz-specs details p,.sz-specs details ul { font-size:1rem; margin:0 0 22px; padding-right:16px; }
.sz-specs details ul { padding-left:20px; }
.sz-specs li+li { margin-top:8px; }
.sz-stage-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:0 0 36px; padding:26px 0; border-block:1px solid #d8dfeb; }
.sz-stage-stats>div { padding:0 28px; border-left:1px solid #d8dfeb; display:flex; flex-direction:column; }
.sz-stage-stats dd { order:-1; }
.sz-stage-stats>div:first-child { padding-left:0; border-left:0; }
.sz-stage-stats dd { color:var(--brand); font-size:clamp(2.3rem,4vw,3.4rem); font-weight:700; line-height:1.2; margin:0 0 8px; letter-spacing:-.04em; }
.sz-stage-stats dt { font-size:1rem; color:#444c5d; }
.sz-stage-stats small { display:block; margin-top:4px; font-size:.875rem; color:#626b7c; }
.sz-docs { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; }
.sz-docs h2 { font-size:clamp(2.125rem,3vw,2.75rem); }
.sz-doc-preview { display:block; border:1px solid #dce1e9; padding:12px; background:var(--white); border-radius:var(--radius-sm); }
.sz-doc-preview img { width:100%; height:auto; }
.sz-doc-preview span { display:flex; justify-content:space-between; gap:12px; padding:12px 10px 6px; color:var(--brand); font-size:.9375rem; }
.sz-gallery { background:var(--warm-ivory); }
.sz-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 20px; }
.sz-gallery-grid figure { margin:0; min-width:0; }
.sz-photo { display:block; position:relative; overflow:hidden; background:var(--sand); border-radius:var(--radius-sm); }
.sz-photo img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.sz-photo::after { content:'Powiększ'; position:absolute; right:10px; bottom:10px; padding:6px 10px; color:var(--brand); background:var(--white); font-size:.875rem; line-height:1.4; border-radius:8px; }
.sz-photo:hover::after { background:var(--brand); color:#fff; }
.sz-gallery-grid figcaption { font-size:.9375rem; color:#515b6b; margin-top:10px; line-height:1.5; }
.sz-gallery-more { margin-top:30px; }
.sz-gallery-more>summary { display:flex; gap:16px; justify-content:center; color:var(--brand); padding:16px; border:1px solid #b5bed0; border-radius:var(--radius-sm); cursor:pointer; font-size:1rem; list-style:none; }
.sz-gallery-more>summary::-webkit-details-marker { display:none; }
.sz-gallery-more>summary::after { content:'+'; }
.sz-gallery-more[open]>summary::after { content:'−'; }
.sz-gallery-more[open]>.sz-gallery-grid { margin-top:28px; }
.sz-contact { padding:clamp(28px,4vw,56px); display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:32px; border:1px solid #d7dde8; border-radius:var(--radius); background:var(--white); }
.sz-contact h2 { font-size:clamp(2.125rem,3vw,2.75rem); }
.sz-contact p:last-child { margin-bottom:0; }
.sz-contact-person { padding-left:32px; border-left:1px solid #d7dde8; align-self:center; }
.sz-contact-person strong { display:block; color:var(--brand); font-size:1.25rem; margin-bottom:18px; }
.sz-contact-person>a:not(.btn) { display:block; margin:12px 0 0; color:var(--brand); font-size:.9375rem; overflow-wrap:anywhere; }
.sz-contact-person .btn { width:100%; font-size:1.125rem; }
.sz-lightbox { width:min(1800px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 24px); padding:0; border:1px solid #bec7d8; border-radius:var(--radius); color:var(--brand); background:var(--white); }
.sz-lightbox::backdrop { background:#141c35dd; }
.sz-lightbox-top { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 20px; border-bottom:1px solid #dfe3eb; }
.sz-lightbox-top p { margin:0; font-size:1rem; line-height:1.5; }
.sz-lightbox button { min-height:44px; min-width:44px; border:1px solid #cbd2e0; padding:8px 14px; background:#fff; color:var(--brand); border-radius:4px; }
.sz-lightbox-image { width:100%; height:min(73dvh,1050px); object-fit:contain; background:#f3f5f8; }
.sz-lightbox-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px; }
.sz-lightbox-bottom a { font-size:.9375rem; text-decoration:underline; text-underline-offset:4px; }
.sz-lightbox-nav { display:flex; align-items:center; gap:10px; }
.sz-lightbox-nav span { min-width:52px; text-align:center; font-size:.9375rem; }
body.sz-lightbox-open { overflow:hidden; }
.spokojny-page [hidden] { display:none!important; }
@media(max-width:1100px){.sz-hero-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px}.sz-hero h1{font-size:3rem}.sz-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sz-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sz-hero-actions .btn{flex:1 1 180px}.sz-location{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:36px}}
@media(max-width:820px){.sz-hero-grid{grid-template-columns:minmax(0,1fr)}.sz-hero-copy{grid-row:1;max-width:700px}.sz-hero-media{grid-row:2}.sz-hero{padding-top:20px}.sz-hero-media img{max-height:380px}.sz-hero h1{font-size:clamp(2.75rem,7vw,3.4rem)}.sz-hero-actions .btn{flex:0 1 auto;min-height:48px}.sz-location,.sz-feature,.sz-standard-layout,.sz-docs,.sz-contact{grid-template-columns:minmax(0,1fr)}.sz-address{padding:24px}.sz-feature-media{max-width:100%}.sz-contact-person{border-left:0;padding:24px 0 0;border-top:1px solid #d7dde8}.sz-gallery-grid{gap:22px 16px}.sz-stage-stats>div{padding-inline:20px}}
@media(max-width:520px){.sz-hero{padding-top:14px}.sz-hero-area{grid-template-columns:minmax(0,1fr)}.sz-hero-area>div+div{margin-left:0;padding-left:0;border-left:0;border-top:1px solid #d8dfeb}.sz-hero-actions{display:grid;grid-template-columns:minmax(0,1fr)}.sz-benefit-grid,.sz-gallery-grid{grid-template-columns:minmax(0,1fr)}.sz-benefit{padding:24px}.sz-benefit-icon{margin-bottom:14px}.sz-stage-stats{grid-template-columns:minmax(0,1fr);gap:18px;padding-block:24px}.sz-stage-stats>div{padding:0 0 18px;border-left:0;border-bottom:1px solid #d8dfeb;display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 14px;align-items:center}.sz-stage-stats>div:last-child{border-bottom:0;padding-bottom:0}.sz-stage-stats dd{font-size:2.5rem;margin:0;grid-column:1;grid-row:1}.sz-stage-stats dt{grid-column:2;grid-row:1}.sz-stage-stats small{grid-column:2}.sz-lightbox{width:calc(100vw - 12px)}.sz-lightbox-top,.sz-lightbox-bottom{padding:10px 12px}.sz-lightbox-top p{font-size:.9375rem}.sz-lightbox-image{height:60dvh}.sz-lightbox-bottom{flex-wrap:wrap}.sz-lightbox-nav{margin-left:auto}.sz-photo::after{font-size:.875rem}}

.sz-hero-followup {
  border-top:1px solid #d8dfeb;
  border-bottom:1px solid #d8dfeb;
  background:#fff;
}
.sz-hero-followup .container {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-block:15px;
}
.sz-hero-followup .sz-stage-note,
.sz-hero-followup .sz-proof-link { margin:0; }

@media(min-width:821px) {
  .sz-hero { padding:36px 0 42px; }
  .sz-hero-area { margin-top:20px; }
  .sz-hero-actions { margin-top:22px; }
}
@media(max-width:820px) {
  .sz-hero-followup .container { align-items:flex-start; flex-direction:column; gap:8px; }
}
