.delivery-time {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 0 0;
  padding: 9px 11px;
  border-left: 3px solid var(--accent);
  background: #f5efe6;
  color: #4c514d;
  font-size: 12px !important;
  line-height: 1.35;
}

/* v62: czytelny zakres zawarty w cenie na stronach modeli */
.price-included-box {
  display: grid;
  gap: .45rem;
  margin-top: 1.15rem;
  padding: 1rem 1.05rem;
  border-left: 3px solid var(--accent, #c55035);
  background: rgba(255, 255, 255, .44);
}

.price-included-box strong {
  font-size: 1rem;
  line-height: 1.35;
}

.price-included-box span {
  color: var(--ink-soft, #5f625e);
  line-height: 1.45;
}

.model-delivery-time {
  margin: 1rem 0 .25rem;
}

.layout-flexibility-note {
  max-width: 760px;
  margin: 14px 0 20px;
  padding: 13px 16px;
  border-left: 3px solid var(--accent, #c55035);
  background: #f3ece2;
  color: var(--ink, #303532);
  font-weight: 600;
  line-height: 1.5;
}

@media (max-width: 700px) {
  .technology-matrix th,
  .technology-matrix td,
  .technology-matrix th *,
  .technology-matrix td * {
    line-height: 1.55;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .technology-matrix th,
  .technology-matrix td {
    padding-top: 12px;
    padding-bottom: 13px;
    overflow: visible;
  }

  .technology-matrix .matrix-section th {
    white-space: normal;
    line-height: 1.45;
    overflow: visible;
  }

  .card-bottom small,
  .price-included-box strong,
  .layout-flexibility-note {
    line-height: 1.55;
  }
}

/* v54 final mobile overrides */
@media(max-width:950px) {
  body header,
  body header>nav,
  body header>nav.open,
  body .menu,
  body .mobile-header-contact,
  body .mobile-phone-reveal summary {
    background:#fff!important;
  }
  body .menu,
  body header>nav,
  body header>nav .nav-box {
    color:var(--ink)!important;
  }
}
@supports (-webkit-touch-callout:none) {
  body .menu {
    -webkit-appearance:none;
    appearance:none;
    background:#fff!important;
    color:var(--ink)!important;
    border-color:var(--line)!important;
  }
  body .card-bottom>span,
  body .mobile-card-cta b,
  body .btn span[aria-hidden="true"] {
    font-family:Arial,Helvetica,sans-serif!important;
    font-style:normal!important;
    transform:none!important;
  }
}

/* v56 — precyzyjne wyrównanie i poprawki wskazane przez klienta */
header>.logo .brand-slogan,
body header>.logo span.brand-slogan{
  width:100%!important;
  margin:0!important;
  transform:none!important;
  text-align:center!important;
  font-family:"Segoe Script","Snell Roundhand","Brush Script MT",cursive!important;
  font-style:normal!important;
  font-weight:800!important;
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.header-phone-button{
  display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);
  border-radius:5px;background:#fff;color:var(--ink);cursor:pointer;flex:0 0 38px;
}
.header-phone-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.header-phone-number{position:absolute;top:calc(100% + 7px);right:6%;z-index:120;padding:10px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;box-shadow:0 10px 24px rgba(31,38,34,.16);white-space:nowrap;font-weight:800}
.header-phone-number a{color:var(--ink);text-decoration:none}
.mobile-phone-number{right:64px}
.mobile-phone-button{display:none}

.assurance-strip,
.service-tiles{
  width:88%;max-width:none;margin-left:auto;margin-right:auto;padding:0!important;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;
  border:0!important;background:transparent!important;align-items:stretch;
}
.assurance-strip{margin-top:24px;margin-bottom:16px}
.service-tiles{margin-top:0;margin-bottom:28px}
.assurance-strip>div,
.service-tile,
.service-tile:first-child,
.service-tile:last-child{
  min-width:0;min-height:112px;height:100%;box-sizing:border-box;padding:24px!important;
  border:1px solid #d8cfc2!important;border-radius:8px;background:#f4ede3!important;
}
.service-tile{align-items:flex-start}

.cfg-addon-group{position:relative;margin:42px 0 34px!important;padding:30px 20px 20px!important;overflow:visible!important}
.cfg-addon-group legend{float:none;width:auto;margin:0 0 14px;padding:0 9px;background:#faf7f2;line-height:1.3!important}
.cfg-required-works legend{background:var(--soft)}
.cfg-addon-group .cfg-addon:first-of-type{margin-top:8px}
.cfg-addon-group>legend+.cfg-addon{margin-top:22px}
.cfg-addon-group>.cfg-note{margin:14px 0 22px!important}

.lendi-financing{max-width:900px!important}
.lendi-financing .lendi-widget{height:760px;min-height:760px;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;background:transparent!important}
.lendi-financing .lendi-widget>div{height:100%;overflow:hidden!important}
.lendi-financing iframe{display:block!important;width:100%!important;height:760px!important;border:0!important;overflow:hidden!important;scrollbar-width:none}

.hero-socials>.hero-lendi{width:38px;height:38px;min-width:38px;padding:0;border-radius:50%;font-size:10px}
.footer-social .social-lendi .social-icon{width:30px;height:30px;border-radius:50%;font-size:13px}

@media(max-width:850px){
  .assurance-strip,.service-tiles{width:88%;grid-template-columns:1fr;gap:10px}
  .assurance-strip>div,.service-tile,.service-tile:first-child,.service-tile:last-child{min-height:0;padding:20px!important}
  .desktop-phone-button,.desktop-phone-number{display:none!important}
  .mobile-phone-button{display:grid}
  header>.logo .brand-slogan,body header>.logo span.brand-slogan{font-size:9px!important}
}
@media(max-width:620px){.hero-socials>.hero-lendi{width:36px;height:36px;min-width:36px}}

/* v54: consistent options, iPhone navigation, Smart gallery and partners */
button,.menu,summary {
  -webkit-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

.menu {
  background: #fff;
  color: var(--ink);
}

.card-bottom>span,
.mobile-card-cta b,
.btn span[aria-hidden="true"],
.text-link {
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  line-height: 1;
}

.mobile-phone-reveal {
  display: none;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
}

.mobile-phone-reveal summary {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #d7c9b7;
  border-radius: 6px;
  background: #fff;
  color: var(--accent);
  list-style: none;
  cursor: pointer;
}

.mobile-phone-reveal summary::-webkit-details-marker { display: none; }
.mobile-phone-reveal svg { width: 19px; height: 19px; fill: currentColor; }
.mobile-phone-panel {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  min-width: 158px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(34,38,35,.16);
  font-weight: 700;
  white-space: nowrap;
  z-index: 80;
}
.mobile-phone-panel a { color: var(--ink); }

.cfg-addon-group {
  margin: 24px 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.cfg-addon-group legend {
  padding: 0 8px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 700;
}
.cfg-required-works { background: var(--soft); }

/* v55 — nawigacja, finansowanie i uporządkowane sekcje */
.header-phone-link{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .7rem;border:1px solid rgba(35,48,43,.24);border-radius:4px;color:inherit;text-decoration:none;white-space:nowrap;font-weight:700;font-size:.88rem}
.header-phone-link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.header-contact-reveals{display:none!important}
.mobile-header-contact{display:none!important}
header .logo{align-items:center}
.brand-slogan{font-size:clamp(.9rem,1.1vw,1.08rem)!important;text-align:center!important;align-self:center!important;line-height:1.1!important}
nav .nav-box{padding:.48rem .58rem}
.hero-lendi{display:grid;place-items:center;min-width:42px;height:42px;padding:0 .45rem;border:1px solid rgba(255,255,255,.7);border-radius:4px;color:#fff;text-decoration:none;font-size:.72rem;font-weight:800;letter-spacing:.02em}
.social-lendi{text-decoration:none}.social-lendi .social-icon{display:grid;place-items:center;font-weight:900}
.price-comparison>.comparison-intro,.price-comparison>.comparison-table,.price-comparison>.micro,.price-comparison>.documentation-highlight{width:min(100%,1100px);margin-left:auto;margin-right:auto}
.documentation-highlight{display:grid!important;grid-template-columns:1fr!important;align-items:start!important;gap:1rem!important;padding:0!important;background:transparent!important}
.documentation-highlight>div{padding:1.45rem;background:#fff;border:1px solid rgba(35,48,43,.14);border-radius:6px;box-shadow:0 10px 28px rgba(29,37,33,.06)}
.documentation-highlight>.btn{justify-self:start;margin-left:1.45rem}
.service-tiles>*{min-width:0}
.cfg-addon-group legend{display:flex;flex-direction:column;gap:.2rem;max-width:100%;line-height:1.2;overflow-wrap:anywhere}
.cfg-addon-group legend small{font-size:.82rem;font-weight:500;color:var(--muted)}
.cfg-required-works{overflow:hidden}
.option-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.option-extra-grid article{padding:1.5rem;background:#fff;border:1px solid rgba(35,48,43,.14)}
.lendi-financing{max-width:960px;margin-inline:auto}.lendi-financing .lendi-widget{min-height:520px;margin-top:1.5rem;background:#fff;border:1px solid rgba(35,48,43,.14);border-radius:6px;overflow:hidden}
@media(max-width:900px){
  .header-phone-link span{display:none}.header-phone-link{padding:.48rem}.header-phone-link svg{width:20px;height:20px}
  .brand-slogan{font-size:.83rem!important}
  .documentation-highlight>.btn{margin-left:0}
  .option-extra-grid{grid-template-columns:1fr}
  .cfg-addon-group{min-width:0}.cfg-addon-group legend{font-size:1rem}
}

.smart-bonus {
  padding-top: 44px;
  padding-bottom: 44px;
  background: var(--soft);
}
.smart-bonus h2 { max-width: 760px; margin-bottom: 12px; }
.smart-bonus p { max-width: 780px; }

.partner-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
  margin-bottom: 24px;
}
.partner-grid article {
  min-height: 210px;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.partner-wordmark {
  display: flex;
  align-items: center;
  min-height: 70px;
  font-size: clamp(1.7rem,3vw,2.5rem);
  font-weight: 800;
  letter-spacing: -.04em;
}
.partner-wordmark.bechcicki { color: #b64c32; }
.partner-wordmark.lendi { color: #17665e; text-transform: uppercase; letter-spacing: .03em; }
.partner-wordmark.wiazar { color: #303532; }

.documentation-list {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.documentation-list li {
  min-height: 64px;
}
.documentation-highlight,
.technology-positioning .value-strip-copy,
.technology-positioning .value-proof {
  align-self: start;
}

@media(max-width:950px) {
  .mobile-phone-reveal { display: block; }
  .mobile-header-phone { display: none!important; }
  header,
  header>nav,
  header>nav.open {
    background: #fff!important;
    color: var(--ink)!important;
  }
  header>nav .nav-box,
  header>nav .nav-cta {
    color: var(--ink);
    background: #fff;
  }
  header>nav .nav-cta {
    border-color: var(--accent);
  }
}

@media(max-width:700px) {
  .documentation-list { grid-template-columns: 1fr; }
  .partner-grid { grid-template-columns: 1fr; }
  .partner-grid article { min-height: 170px; }
  .detail-hero>img {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4/3;
    object-fit: cover;
  }
  .project-gallery>a,
  .project-gallery>figure {
    aspect-ratio: 4/3;
    max-height: none;
  }
  .project-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover!important;
    padding: 0!important;
  }
  .card-image {
    height: auto!important;
    aspect-ratio: 4/3;
  }
}

@supports (-webkit-touch-callout: none) {
  .menu,
  .mobile-header-contact,
  .mobile-phone-reveal summary {
    background: #fff!important;
    color: var(--ink);
  }
  .mobile-phone-reveal summary { color: var(--accent); }
  .card-bottom>span,
  .mobile-card-cta b,
  .btn span[aria-hidden="true"] {
    transform: none!important;
    font-variant-emoji: text;
  }
}

/* v52: visible build-time message in the main banner */
.build-time-badge{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;width:100%;margin:4px 0 22px;padding:0;border:0;background:transparent;box-shadow:none;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.42)}
.build-time-badge span{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.build-time-badge strong{font-size:16px;line-height:1.35;color:#fff}
.build-time-badge small{font-size:13px;line-height:1.35;color:rgba(255,255,255,.88)}
@media(max-width:600px){.build-time-badge{display:block;margin-bottom:18px}.build-time-badge span,.build-time-badge strong,.build-time-badge small{display:block}.build-time-badge strong{font-size:15px}}

/* v51: three construction-stage prices */
.price-levels{display:grid;gap:8px;margin:22px 0}
.price-levels>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.price-levels>div:first-child{border-top:1px solid var(--line)}
.price-levels span{font-size:13px;color:#686d69}
.price-levels strong{font-size:18px;text-align:right;color:var(--ink)}
.matrix-prices td span{display:block;margin:4px 0;font-size:13px;line-height:1.35}
.price-three{align-items:flex-start}
.price-three strong{max-width:72%;font-size:14px;line-height:1.55;text-align:right}
@media(max-width:520px){.price-levels>div{align-items:flex-start;flex-direction:column;gap:2px}.price-levels strong{text-align:left}}

/* final v49 slogan alignment */
body header>.logo span.brand-slogan{
  align-self:center;
  margin:-2px 0 0;
  font-family:"Segoe Script","Snell Roundhand","Brush Script MT",cursive;
  font-size:12px;
  font-style:normal;
  font-weight:600;
  line-height:1.05;
  letter-spacing:.01em;
  transform:rotate(-1deg);
}
@media(max-width:950px){body header>.logo span.brand-slogan{margin:-1px 0 0;font-size:9px}}
@media(max-width:390px){body header>.logo span.brand-slogan{margin:-1px 0 0;font-size:8px}}

/* v48: phone actions */
.mobile-header-phone{display:none}
.contact-reveal summary{display:flex;align-items:center;gap:7px}
.contact-reveal .reveal-icon{width:16px;height:16px;fill:currentColor;flex:0 0 auto}
#dane-firmy{scroll-margin-top:24px}
@media(max-width:820px){
  .mobile-header-phone{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid #d7c9b7;background:#fff;color:#b64c32}
  .mobile-header-phone svg{width:19px;height:19px;fill:currentColor}
}

/* v49: handwritten slogan, aligned comparison cards and spacing */
header>.logo .brand-slogan{
  align-self:center;
  margin:-2px 0 0;
  font-family:"Segoe Script","Snell Roundhand","Brush Script MT",cursive;
  font-size:12px;
  font-style:normal;
  font-weight:600;
  letter-spacing:.01em;
  transform:rotate(-1deg);
}
.card-area{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 0;margin:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.card-area span{font-size:12px;color:#6c706d}
.card-area strong{font-size:15px;color:var(--ink);white-space:nowrap}
.price-comparison{margin-bottom:64px}
.comparison-table{display:grid;gap:12px;border:0;border-radius:0;overflow:visible;background:transparent}
.comparison-row{border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 5px 16px rgba(48,53,50,.045)}
.comparison-row:last-child{border:1px solid var(--line)}
.comparison-head{background:var(--ink);border-color:var(--ink)}
.documentation-highlight{border:1px solid #d7c9b7;box-shadow:0 8px 22px rgba(48,53,50,.055)}
.documentation-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;columns:auto;padding:0;list-style:none}
.documentation-list li{display:flex;align-items:center;min-height:76px;margin:0;padding:13px 14px;border:1px solid #d7c9b7;border-radius:8px;background:#fff;color:#4f5450;line-height:1.35}
.documentation-highlight.section{margin-bottom:64px}
@media(max-width:700px){
  header>.logo .brand-slogan{margin:-1px 0 0;font-size:10px;transform:rotate(-1deg)}
  .documentation-list{grid-template-columns:1fr}
  .documentation-list li{min-height:0}
  .price-comparison,.documentation-highlight.section{margin-bottom:36px}
}

/* Smart Duo, cookie consent and finishing refinements */
header>.logo .brand-slogan {
  margin-top: -4px;
  transform: translateY(-1px);
}

.offer-grid-5,
.collection-section .cards {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 15px;
}
.offer-grid-5 .card-image,
.collection-section .card-image { height: 185px; }
.offer-grid-5 .card-body,
.collection-section .card-body { padding: 18px; }
.offer-grid-5 .card h3,
.collection-section .card h3 { font-size: 1.3rem; }
.offer-grid-5 .card-bottom strong,
.collection-section .card-bottom strong { font-size: 15px; }
.smart-duo-card .card-image img { object-position: center; }

.smart-duo-visual { padding-top: 20px; }
.smart-duo-visual img {
  width: 100%;
  max-height: 780px;
  object-fit: contain;
  border-radius: 14px;
  background: #f4ede3;
}
.smart-duo-visual .micro { margin-top: 14px; }
.duo-stages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.duo-stages>div { padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.duo-stages span { color: var(--accent); font-weight: 800; letter-spacing: .12em; }
.duo-stages h2 { margin: 10px 0 14px; font-size: 1.55rem; }
.duo-stages p { margin: 0; }
.duo-note { display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; align-items: start; }
.duo-note ul { margin: 0; padding: 0; list-style: none; }
.duo-note li { position: relative; padding: 14px 0 14px 28px; border-bottom: 1px solid var(--line); }
.duo-note li:before { content: '✓'; position: absolute; left: 0; color: var(--accent); font-weight: 800; }

.faq-answer ul { margin: 10px 0 18px; padding-left: 23px; color: #5e625f; }
.faq-answer li { margin: 7px 0; padding-left: 4px; }

main>.section+section.section { margin-top: 22px; }
.projects-page main>.section+section.section { margin-top: 28px; }

.cookie-consent {
  position: fixed;
  left: 22px;
  right: 22px;
  bottom: 22px;
  z-index: 1000;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  max-width: 1120px;
  margin: auto;
  padding: 20px 22px;
  border: 1px solid #cfc3b4;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 60px rgba(35, 39, 36, .22);
}
.cookie-consent[hidden] { display: none; }
.cookie-consent p { margin: 4px 0 0; font-size: 14px; line-height: 1.5; }
.cookie-consent a { text-decoration: underline; text-underline-offset: 3px; }
.cookie-actions { display: flex; gap: 10px; }
.cookie-actions button { min-height: 44px; white-space: nowrap; cursor: pointer; }

@media(max-width:1250px){
  .offer-grid-5,.collection-section .cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:850px){
  .offer-grid-5,.collection-section .cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .duo-stages,.duo-note { grid-template-columns: 1fr; gap: 18px; }
  main>.section+section.section { margin-top: 14px; }
  .cookie-consent { grid-template-columns: 1fr; left: 12px; right: 12px; bottom: 12px; gap: 14px; }
}
@media(max-width:620px){
  .offer-grid-5,.collection-section .cards { grid-template-columns: 1fr; }
  .offer-grid-5 .card-image,.collection-section .card-image { height: 230px; }
  .cookie-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-actions .btn { padding: 12px 13px; font-size: 13px; }
}

/* Cross-device mobile header and consistent social icons */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.mobile-header-actions { display: contents; }
.mobile-header-contact { display: none; }
.hero-socials>span,
.social-icon {
  border-radius: 7px !important;
  overflow: hidden;
}
.hero-socials svg,
.social-icon svg { width: 20px; height: 20px; fill: currentColor; stroke: currentColor; stroke-width: 1.7; }
.social-instagram svg { fill: none; }
.social-instagram .fill-dot { fill: currentColor; stroke: none; }
.hero-socials .social-facebook,.social-icon.social-facebook { background: #1877f2; border-color: #1877f2; color: #fff; }
.hero-socials .social-instagram,.social-icon.social-instagram { background: linear-gradient(135deg,#7b3fe4,#d62976 55%,#f7a53b); border-color: transparent; color: #fff; }
.hero-socials .social-tiktok,.social-icon.social-tiktok { background: #171717; border-color: #29e5e5; color: #fff; box-shadow: inset -2px 0 #ff3b69; }

@media(max-width:950px){
  body { min-width: 320px; overflow-x: hidden; }
  header {
    height: calc(64px + env(safe-area-inset-top));
    padding: env(safe-area-inset-top) 12px 0;
    gap: 8px;
  }
  header>.logo { width: 150px; height: 60px; flex-basis: 150px; }
  header>.logo img { width: 148px; }
  header>.logo .brand-slogan { margin-left: 17px; font-size: 9px; }
  .mobile-header-actions { display: flex; align-items: center; gap: 7px; margin-left: auto; }
  .mobile-header-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 40px;
    padding: 7px 10px;
    border: 1px solid var(--accent);
    border-radius: 6px;
    background: var(--accent);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
  }
  .mobile-header-contact svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; }
  .menu { display: block; height: 40px; min-width: 67px; padding: 5px 9px; border-radius: 6px; font-size: 13px; white-space: nowrap; }
  header>nav { top: calc(64px + env(safe-area-inset-top)); max-height: calc(100dvh - 64px - env(safe-area-inset-top)); }
  .home-page .banner-slide { min-height: calc(100svh - 64px - env(safe-area-inset-top)); }
}
@media(max-width:390px){
  header { padding-left: 8px; padding-right: 8px; gap: 5px; }
  header>.logo { width: 132px; flex-basis: 132px; }
  header>.logo img { width: 130px; }
  header>.logo .brand-slogan { margin-left: 12px; font-size: 8px; }
  .mobile-header-actions { gap: 5px; }
  .mobile-header-contact { padding: 7px 8px; font-size: 12px; }
  .mobile-header-contact svg { display: none; }
  .menu { min-width: 59px; padding-inline: 7px; font-size: 12px; }
}

/* Trust, plot analysis, process and construction diagrams */
.assurance-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #d8cfc2;
  border-top: 1px solid #d8cfc2;
  border-bottom: 1px solid #d8cfc2;
}
.assurance-strip > div {
  min-width: 0;
  padding: 20px 24px;
  background: #f4ede3;
}
.assurance-strip strong,
.assurance-strip span { display: block; }
.assurance-strip strong { color: var(--ink); font-size: 17px; }
.assurance-strip span { margin-top: 4px; color: #656b66; font-size: 13px; line-height: 1.4; }

.plot-check {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 48px;
  align-items: center;
  background: var(--ink);
  color: #fff;
}
.plot-check h2 { max-width: 760px; margin-bottom: 16px; color: #fff; }
.plot-check p { max-width: 760px; color: rgba(255,255,255,.75); }
.plot-check .eyebrow { color: #ef8a62; }
.plot-check-points { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }
.plot-check-points span {
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  color: rgba(255,255,255,.88);
  font-size: 13px;
}
.plot-check .btn { white-space: nowrap; }

.process-six { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.process-six .step { min-height: 260px; }
.payment-section {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 64px;
  align-items: start;
  background: #eee3d5;
}
.payment-stages { margin: 0; padding: 0; list-style: none; border-top: 1px solid #cfc3b4; }
.payment-stages li {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid #cfc3b4;
}
.payment-stages span { color: var(--accent); font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.payment-stages b { color: var(--ink); font-size: 16px; }

.construction-diagrams { background: #f7f2ea; }
.diagram-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 34px; }
.construction-card {
  overflow: hidden;
  border: 1px solid #d8cfc2;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(37, 43, 39, .06);
}
.construction-card > div:last-child { padding: 24px; }
.construction-card h3 { margin: 6px 0 16px; }
.construction-card ol { margin: 0; padding-left: 20px; color: #5d625e; }
.construction-card li { margin: 8px 0; line-height: 1.4; }
.diagram-number { color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.wall-diagram,
.foundation-diagram,
.roof-diagram { position: relative; height: 220px; background: #e9e0d4; }
.wall-diagram { display: flex; align-items: stretch; justify-content: center; padding: 36px 48px; }
.wall-diagram .layer { display: block; height: 100%; box-shadow: inset -1px 0 rgba(0,0,0,.12); }
.wall-diagram .plaster { width: 16px; background: #d96842; }
.wall-diagram .insulation { width: 72px; background: repeating-linear-gradient(135deg,#c6c7bd 0 8px,#dcddd5 8px 16px); }
.wall-diagram .block { width: 118px; background: repeating-linear-gradient(0deg,#c9b5a0 0 28px,#a58f79 28px 30px); }
.wall-diagram .inner-plaster { width: 20px; background: #eee9e2; }
.foundation-diagram { overflow: hidden; }
.foundation-diagram i { position: absolute; left: 14%; right: 14%; display: block; }
.foundation-diagram .floor { top: 35px; height: 12px; background: #886448; }
.foundation-diagram .screed { top: 47px; height: 28px; background: #aaa8a2; }
.foundation-diagram .foundation-insulation { top: 75px; height: 38px; background: repeating-linear-gradient(135deg,#d4d4c9 0 8px,#eeeeE7 8px 16px); }
.foundation-diagram .slab { top: 113px; height: 54px; background: #989b99; }
.foundation-diagram .ground { top: 167px; bottom: 0; background: repeating-linear-gradient(165deg,#b3916d 0 11px,#c9ab87 11px 22px); }
.roof-diagram { overflow: hidden; }
.roof-diagram i { position: absolute; display: block; transform: rotate(-22deg); transform-origin: center; }
.roof-diagram .roof-cover { width: 270px; height: 18px; left: 35px; top: 60px; background: repeating-linear-gradient(90deg,#3f4544 0 28px,#68706d 28px 31px); }
.roof-diagram .roof-batten { width: 255px; height: 13px; left: 42px; top: 82px; background: #9d7854; }
.roof-diagram .roof-membrane { width: 248px; height: 8px; left: 45px; top: 99px; background: #d86a42; }
.roof-diagram .roof-truss { width: 210px; height: 24px; left: 65px; top: 122px; background: #876342; }
.roof-diagram .ceiling-line { width: 260px; height: 13px; left: 39px; top: 177px; transform: none; background: #555d59; }

@media (max-width: 900px) {
  .assurance-strip { grid-template-columns: repeat(2, 1fr); }
  .plot-check, .payment-section { grid-template-columns: 1fr; gap: 28px; }
  .plot-check .btn { justify-self: start; }
  .process-six, .diagram-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .assurance-strip { grid-template-columns: 1fr; }
  .assurance-strip > div { padding: 14px 20px; }
  .assurance-strip span { font-size: 12px; }
  .process-six, .diagram-grid { grid-template-columns: 1fr; }
  .process-six .step { min-height: 0; }
  .payment-stages li { grid-template-columns: 68px 1fr; }
  .plot-check-points { display: grid; }
}

.delivery-time strong {
  color: var(--ink);
  white-space: nowrap;
}

.extras-card-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.technology-matrix-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 18px 45px rgba(48, 53, 50, .07);
}

.technology-matrix {
  width: 100%;
  min-width: 850px;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.45;
}

.technology-matrix caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.technology-matrix th,
.technology-matrix td {
  padding: 13px 16px;
  border-right: 1px solid #e5ddd2;
  border-bottom: 1px solid #e5ddd2;
  vertical-align: top;
  text-align: left;
}

.technology-matrix tr > *:last-child { border-right: 0; }
.technology-matrix tbody tr:last-child > * { border-bottom: 0; }
.technology-matrix thead th { background: var(--ink); color: #fff; font-size: 15px; }
.technology-matrix thead th:first-child { color: #e8c7b8; }
.technology-matrix tbody th { width: 25%; color: #4f554f; font-weight: 600; background: #fbf8f2; }
.technology-matrix td { width: 25%; color: #383d39; }
.technology-matrix .matrix-section th {
  padding: 10px 16px;
  background: #eee5d8;
  color: var(--accent);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.technology-matrix strong { color: var(--ink); }
.technology-note { max-width: 950px; margin-top: 18px; font-size: 13px; }
.technology-legend { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 24px; }
.technology-legend span { padding: 7px 11px; background: #eee5d8; color: #4c514d; font-size: 12px; font-weight: 600; }

@media (max-width: 700px) {
  .delivery-time { font-size: 13px !important; }
  .technology-comparison { padding-left: 18px; padding-right: 18px; }
  .technology-comparison .section-lead { font-size: 15px; line-height: 1.55; }
  .technology-legend { gap: 7px; margin-bottom: 20px; }
  .technology-legend span { padding: 6px 9px; font-size: 11px; }
  .technology-matrix-wrap { width: 100%; max-width: 100%; border: 0; box-shadow: none; overflow: visible; background: transparent; }
  .technology-matrix { width: 100%; min-width: 0; max-width: 100%; display: block; font-size: 14px; }
  .technology-matrix thead { display: none; }
  .technology-matrix tbody { display: block; }
  .technology-matrix tr {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 0 12px;
    border: 1px solid #ded5c8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(48, 53, 50, .05);
    overflow: hidden;
  }
  .technology-matrix th,
  .technology-matrix td {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 0;
    border-bottom: 1px solid #ebe4da;
    padding: 10px 12px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .technology-matrix tbody th {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    background: #f0e8dc;
    color: var(--ink);
    font-size: 14px;
    line-height: 1.35;
    white-space: normal;
    overflow-wrap: normal;
    word-break: keep-all;
  }
  .technology-matrix td {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    line-height: 1.45;
  }
  .technology-matrix td::before {
    flex: 0 0 78px;
    color: #777c77;
    font-size: 10px;
    line-height: 1.5;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
  }
  .technology-matrix td:nth-child(2)::before { content: "Smart"; }
  .technology-matrix td:nth-child(3)::before { content: "Medium"; }
  .technology-matrix td:nth-child(4)::before { content: "Comfort"; }
  .technology-matrix td[colspan="3"]::before { content: "Każdy model"; }
  .technology-matrix tr > *:last-child { border-bottom: 0; }
  .technology-matrix .matrix-section {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 28px 0 10px;
    background: transparent;
  }
  .technology-matrix .matrix-section th {
    display: block;
    width: 100%;
    max-width: 100%;
    border: 0;
    border-left: 4px solid var(--accent);
    background: var(--ink);
    color: #fff;
    padding: 12px 14px;
    font-size: 11px;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
  }
  .technology-note { margin-top: 20px; font-size: 12px; line-height: 1.55; }
}

/* v54 final iPhone rendering overrides */
@media(max-width:950px) {
  body header,
  body header>nav,
  body header>nav.open,
  body .menu,
  body .mobile-header-contact,
  body .mobile-phone-reveal summary { background:#fff!important; }
  body .menu,
  body header>nav,
  body header>nav .nav-box { color:var(--ink)!important; }
}
@supports (-webkit-touch-callout:none) {
  body .menu {
    -webkit-appearance:none;
    appearance:none;
    background:#fff!important;
    color:var(--ink)!important;
    border-color:var(--line)!important;
  }
  body .card-bottom>span,
  body .mobile-card-cta b,
  body .btn span[aria-hidden="true"] {
    font-family:Arial,Helvetica,sans-serif!important;
    font-style:normal!important;
    transform:none!important;
  }
}
/* v57 — exact alignment of the two three-card rows */
.trust-process-grid {
  width: min(88%, 1400px);
  margin: 24px auto 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.trust-process-card {
  box-sizing: border-box;
  min-width: 0;
  min-height: 126px;
  padding: 24px;
  border: 1px solid #d8cfc2;
  border-radius: 8px;
  background: #f4ede3;
}

.trust-card-condition strong,
.trust-card-condition span { display: block; }
.trust-card-condition strong { margin-bottom: 8px; font-size: 1.04rem; }
.trust-card-condition span { color: #66645f; line-height: 1.45; }
.trust-card-step { display: flex; gap: 18px; align-items: flex-start; }
.trust-card-step .tile-icon { flex: 0 0 auto; }
.trust-card-step h3 { margin: 0 0 8px; font-size: 1.08rem; }
.trust-card-step p { margin: 0; color: #66645f; line-height: 1.48; }

/* v57 — headings sit above their selection tables, never on their borders */
.cfg-addon-section {
  display: block;
  margin: 42px 0 36px;
  padding: 0;
  border: 0;
  min-width: 0;
}

.cfg-addon-heading {
  position: static;
  display: block;
  margin: 0 0 8px;
  padding: 0;
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  line-height: 1.2;
}

.cfg-addon-subheading {
  display: block;
  margin: 0 0 18px;
  color: #66645f;
  line-height: 1.4;
}

.cfg-addon-table {
  box-sizing: border-box;
  width: 100%;
  padding: 20px;
  border: 1px solid #d8cfc2;
  border-radius: 12px;
  background: #fff;
}

.cfg-required-works .cfg-addon-table { background: #f4ede3; }
.cfg-addon-table > .cfg-note { margin: 0 0 22px; }
.cfg-addon-table > .cfg-addon:first-of-type { margin-top: 0; }
.cfg-addon-table > .cfg-addon:last-child { margin-bottom: 0; }

@media (max-width: 850px) {
  .trust-process-grid {
    width: calc(100% - 32px);
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .trust-process-card { min-height: 0; }
  .cfg-addon-section { margin: 34px 0 30px; }
  .cfg-addon-table { padding: 14px; }
}
/* v58 — slightly higher header mark and slogan */
body header > .logo {
  position: relative;
  top: -2px;
}

body header > .logo span.brand-slogan {
  position: relative !important;
  top: -2px;
}

/* v58 — seven options in a balanced grid */
.extras-grid-seven {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  align-items: stretch;
}

.extras-grid-seven article {
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
  grid-column: span 2;
}

.extras-grid-seven article:nth-child(5) { grid-column: 2 / span 2; }
.extras-grid-seven article:nth-child(6) { grid-column: 4 / span 2; }
.extras-grid-seven article:nth-child(7) { grid-column: 6 / span 2; }

/* v58 — diagram numbers belong to the drawings */
.wall-diagram .diagram-overlay-number,
.foundation-diagram .diagram-overlay-number,
.roof-diagram .diagram-overlay-number {
  position: absolute;
  z-index: 8;
  top: 16px;
  left: 16px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #b64d32;
  color: #fff;
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .05em;
  box-shadow: 0 6px 18px rgba(36, 30, 24, .2);
}

@media (max-width: 1050px) {
  .extras-grid-seven { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .extras-grid-seven article:nth-child(n) { grid-column: auto; }
  .extras-grid-seven article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  body header > .logo { top: -1px; }
  body header > .logo span.brand-slogan { top: -1px; }
  .extras-grid-seven { grid-template-columns: 1fr; }
  .extras-grid-seven article:last-child { grid-column: auto; }
}
/* v59 — numbers identify individual construction layers */
.construction-card .layer-marker {
  position: absolute;
  z-index: 12;
  left: 50%;
  top: 50%;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #26332e;
  color: #fff;
  font: 800 14px/1 Arial, sans-serif;
  font-style: normal;
  transform: translate(-50%, -50%);
  box-shadow: 0 2px 8px rgba(0,0,0,.28);
}

.wall-diagram .layer { position: relative; }
.wall-diagram .plaster .layer-marker,
.wall-diagram .inner-plaster .layer-marker { width: 24px; height: 24px; font-size: 12px; }

.foundation-diagram .slab .layer-marker,
.foundation-diagram .ground .layer-marker { top: 50%; }

.roof-diagram i .layer-marker {
  transform: translate(-50%, -50%) rotate(22deg);
}

.roof-diagram .ceiling-line .layer-marker {
  transform: translate(-50%, -50%);
}

@media (max-width: 950px) {
  body header > .logo {
    align-items: center !important;
    justify-content: center !important;
  }

  body header > .logo img {
    margin: 0 auto !important;
  }

  body header > .logo span.brand-slogan {
    align-self: center !important;
    width: 100% !important;
    margin: -2px 0 0 !important;
    text-align: center !important;
    transform: none !important;
  }
}

@media (max-width: 420px) {
  body header > .logo span.brand-slogan {
    font-size: 8.5px !important;
    white-space: nowrap;
  }
}

/* v66 — pełnoekranowa galeria projektów */
.project-gallery-trigger {
  cursor: zoom-in;
}

.project-gallery-trigger:focus-visible {
  outline: 3px solid #c65335;
  outline-offset: 4px;
}

body.lightbox-open {
  overflow: hidden;
}

.project-lightbox[hidden] {
  display: none;
}

.project-lightbox {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(20, 25, 23, .9);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

.project-lightbox__panel {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) 58px;
  align-items: center;
  width: min(1500px, 96vw);
  height: min(900px, 92vh);
}

.project-lightbox figure {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 12px;
  width: 100%;
  height: 100%;
  margin: 0;
  min-width: 0;
}

.project-lightbox figure img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

.project-lightbox figcaption {
  overflow: hidden;
  color: #fff;
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-lightbox button {
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(38,51,46,.82);
  color: #fff;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}

.project-lightbox button:hover,
.project-lightbox button:focus-visible {
  background: #c65335;
  outline: none;
}

.project-lightbox__arrow {
  z-index: 2;
  display: grid;
  place-items: center;
  width: 46px;
  height: 64px;
  margin: auto;
  border-radius: 4px;
  font: 300 42px/1 Arial, sans-serif;
}

.project-lightbox__arrow:active {
  transform: scale(.94);
}

.project-lightbox__close {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  font: 300 34px/1 Arial, sans-serif;
}

.project-lightbox__status {
  position: absolute;
  right: 68px;
  top: 12px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(38,51,46,.78);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

@media (max-width: 720px) {
  .project-lightbox {
    padding: 12px;
  }

  .project-lightbox__panel {
    grid-template-columns: 1fr;
    width: 100%;
    height: 88vh;
  }

  .project-lightbox figure {
    padding: 48px 0 64px;
  }

  .project-lightbox__arrow {
    position: absolute;
    bottom: 8px;
    width: 54px;
    height: 46px;
    border-radius: 6px;
    font-size: 36px;
  }

  .project-lightbox__arrow--prev { left: calc(50% - 66px); }
  .project-lightbox__arrow--next { right: calc(50% - 66px); }
  .project-lightbox__close { top: 2px; right: 2px; }
  .project-lightbox__status { top: 8px; left: 8px; right: auto; }
  .project-lightbox figcaption { font-size: 13px; white-space: normal; }
}

/* v67 — ceny netto */
.vat-note{display:block;margin-top:.18em;font-size:.5em!important;font-weight:700;line-height:1.2;letter-spacing:.02em;text-transform:none}.cfg-price #price-breakdown{margin-top:.45rem}.cfg-panel{scroll-margin-top:110px}

.extras-card-cta{display:block;margin-top:1rem;padding:.9rem 1rem;background:#c44b32;color:#fff;font-weight:800;text-align:center;border-radius:.45rem}.price-row.price-three>strong{display:grid;gap:.3rem}.price-stage{display:block;line-height:1.35}

.extras-card-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem}.extras-card-cta>span{font-size:1.25em;line-height:1}
.extras-card-cta{white-space:nowrap}.extras-card-cta>span{flex:0 0 auto}
.extras-card-cta{justify-content:center;gap:.55rem}

/* v77 — równa kolumna statusu w opcjach konfiguratora */
.cfg-addon-table .cfg-addon {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 96px;
  column-gap: 14px;
  align-items: center;
}
.cfg-addon-table .cfg-addon input { margin: 0; }
.cfg-addon-table .cfg-addon small {
  justify-self: end;
  text-align: right;
  line-height: 1.35;
}

@media (max-width: 420px) {
  .cfg-addon-table .cfg-addon {
    grid-template-columns: 30px minmax(0, 1fr) 84px;
    column-gap: 10px;
  }
}

/* Formularze kontaktowe — obsługa wysyłki (v41) */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status:empty{display:none}
.form-status[data-state="pending"]{opacity:.75}
.form-status[data-state="ok"]{color:#1c6b3a;font-weight:600}
.form-status[data-state="error"]{color:#a32020;font-weight:600}

/* v60 — profile społecznościowe jako linki */
.hero-socials>a.social-facebook,.hero-socials>a.social-instagram{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.75);border-radius:50%;color:#fff;backdrop-filter:blur(4px);box-shadow:0 3px 14px rgba(0,0,0,.14);transition:transform .15s}
.hero-socials>a.social-facebook:hover,.hero-socials>a.social-instagram:hover{transform:translateY(-1px)}
.footer-social a.social-link{color:inherit;text-decoration:none}
.footer-social a.social-link:hover{text-decoration:underline}
@media(max-width:620px){.hero-socials>a.social-facebook,.hero-socials>a.social-instagram{width:36px;height:36px}}

/* v60 — Lendi: kalkulator i kalendarz na stronie Finansowanie (wysokość ramki ustawia skrypt Lendi) */
.lendi-sekcja#kalkulator{padding-top:8px}
.lendi-sekcja>p{max-width:760px}
.lendi-sekcja .lendi-widget{margin-top:24px}
.lendi-sekcja iframe{display:block;width:100%;border:0}


/* Zgody cookies — Consent Mode v2 (ustawienia kategorii, link w stopce) */
.cookie-consent{max-height:calc(100vh - 24px);overflow:auto}
.cookie-options{display:grid;gap:8px;margin-top:14px}
.cookie-options[hidden]{display:none}
.cookie-options label{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;cursor:pointer}
.cookie-options input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--accent)}
.cookie-options input:disabled{cursor:not-allowed}
.cookie-settings-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
@media(max-width:620px){.cookie-actions [data-cookie="all"]{grid-column:1/-1;grid-row:1}}

/* v79: okrągłe tło numerów kroków 1–3 na stronie głównej */
.trust-card-step .tile-icon { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; font-size: 14px; }

/* v80: Smart Plus — karta „wizualizacja wkrótce”; 6 kart w kolekcji = układ 3×2 */
.offer-grid-5,.collection-section .cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
.card-image-soon { background: linear-gradient(135deg,#EEE5D8 0%,#F7F2EA 55%,#E6DACA 100%); }
.soon-visual { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: #8A6F5A; }
.soon-visual svg { width: 72px; height: 54px; fill: none; stroke: #B64C32; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; opacity: .75; }
.soon-visual span { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.card-image .tag.tag-new { background: #B64C32; color: #fff; }
@media(max-width:1100px){
  .offer-grid-5,.collection-section .cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px){
  .offer-grid-5,.collection-section .cards { grid-template-columns: 1fr; }
}

/* v81: wyróżnienie „na zgłoszenie — do 70 m² zabudowy” (Smart, Smart Plus) */
.permit-badge { display: inline-flex; align-items: center; gap: 8px; margin: 10px 0 0; padding: 7px 12px 7px 10px; border-radius: 999px; background: #2F5D46; color: #fff; font-size: 12.5px; line-height: 1.3; font-weight: 600; }
.permit-badge strong { color: #fff; font-weight: 700; white-space: nowrap; }
.permit-badge svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.permit-badge-lg { margin: 4px 0 14px; padding: 9px 16px 9px 12px; font-size: 15px; }
.permit-badge-lg svg { flex-basis: 22px; width: 22px; height: 22px; }
.permit-badge-box { display: flex; border-radius: 8px; margin: 10px 0 .25rem; font-size: 13.5px; }
@media(max-width:620px){ .permit-badge-lg { font-size: 13.5px; align-items: flex-start; border-radius: 12px; } .permit-badge-lg strong { white-space: normal; } }

/* v82: etykiety kart pod zdjęciem — nie zasłaniają domów */
.card-body .tag.card-label { position: static; display: inline-block; align-self: flex-start; margin: 0 0 10px; padding: 4px 10px; border-radius: 6px; background: #EEE5D8; color: #6b5a4c; font-size: 11.5px; font-weight: 600; letter-spacing: .02em; line-height: 1.3; box-shadow: none; }
.card-body .tag.card-label.tag-new { background: #B64C32; color: #fff; }

/* v87: pasek z logo, telefonem i menu zostaje u góry przy przewijaniu, lekko przezroczysty */
header { position: sticky; top: 0; z-index: 60; background: rgba(255, 255, 255, .78); -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid rgba(48, 53, 50, .08); }
.home-page header { border-bottom: 1px solid rgba(48, 53, 50, .06); }
html body header { background: rgba(255, 255, 255, .72) !important; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { html body header { background: rgba(255, 255, 255, .94) !important; } }
[id] { scroll-margin-top: 96px; }

/* v90: Smart Duo — grafika 1 + 2 = 3 zamiast jednego obrazka */
.duo-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 14px; }
.duo-step { margin: 0; background: #fff; border: 1px solid var(--line, #e2d9cc); border-radius: 14px; overflow: hidden; }
.duo-step-final { border: 2px solid #B64C32; }
.duo-img { aspect-ratio: 16 / 10; overflow: hidden; background: #FAF8F3; }
.duo-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.duo-img-plan img { object-fit: contain; padding: 6px; box-sizing: border-box; }
.duo-step figcaption { display: flex; align-items: center; gap: 12px; padding: 14px 16px; }
.duo-step figcaption b { display: block; font-size: 1.05rem; color: #303532; }
.duo-step figcaption small { display: block; color: #66645f; font-size: .85rem; line-height: 1.35; }
.duo-num { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #EEE5D8; color: #B64C32; font-weight: 700; font-size: 14px; }
.duo-step-final .duo-num { background: #B64C32; color: #fff; }
.duo-op { width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #B64C32; color: #fff; font-size: 24px; font-weight: 700; line-height: 1; }
@media (max-width: 900px) {
  .duo-flow { grid-template-columns: 1fr; gap: 10px; }
  .duo-op { justify-self: center; }
}
.duo-img-svg svg { display: block; width: 100%; height: 100%; }
/* v90: Smart Duo — wnętrze po połączeniu */
.duo-inside { margin-top: 48px; }
.duo-inside-head { max-width: 720px; margin-bottom: 20px; }
.duo-inside-head h2 { margin: 6px 0 10px; }
.duo-inside-head p { margin: 0; color: #5f625e; }
.duo-inside-plan { margin: 0 0 18px; background: #fff; border: 1px solid var(--line, #e2d9cc); border-radius: 14px; overflow: hidden; }
.duo-inside-plan img { display: block; width: 100%; height: auto; }
.duo-inside-plan figcaption { display: flex; flex-wrap: wrap; gap: 18px; padding: 12px 16px; font-size: .9rem; color: #5f625e; }
.duo-inside-plan .dot { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.dot-day { background: #C9A27A; } .dot-night { background: #E6DACA; border: 1px solid #c8b8a2; }
.duo-rooms { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.duo-room { margin: 0; background: #fff; border: 1px solid var(--line, #e2d9cc); border-radius: 14px; overflow: hidden; }
.duo-room img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.duo-room figcaption { padding: 12px 16px; }
.duo-room b { display: block; color: #303532; }
.duo-room small { color: #66645f; }
@media (max-width: 900px) { .duo-rooms { grid-template-columns: 1fr; } }
@media (min-width: 1100px) { .duo-inside-plan { max-width: 900px; margin-left: auto; margin-right: auto; } }
.duo-room img { height: auto !important; aspect-ratio: 3 / 2 !important; object-fit: cover; }

/* v91: telefon — kroki 1-2-3 i „Bezpłatna analiza działki” bardziej zwarte */
@media (max-width: 620px) {
  .trust-process-grid { gap: 10px; margin: 20px 16px 24px; }
  .trust-process-card.trust-card-step { padding: 16px 16px; gap: 14px; }
  .trust-card-step h3 { font-size: 1rem; margin-bottom: 4px; }
  .trust-card-step p { font-size: 14.5px; line-height: 1.42; }
  .plot-check { padding: 40px 20px; gap: 20px; }
  .plot-check h2 { font-size: 27px; margin-bottom: 12px; }
  .plot-check p { font-size: 15px; line-height: 1.5; margin: 10px 0; }
  .plot-check-points { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
  .plot-check-points span { width: auto; padding: 6px 12px; font-size: 12.5px; }
  .plot-check .btn { padding: 13px 22px; }
}

/* v92: telefon — zdjęcia w sekcjach „split” w całości, bez przycinania do wąskiego pionu */
@media (max-width: 850px) {
  .split > img { height: auto !important; min-height: 0 !important; max-height: none !important; aspect-ratio: auto !important; object-fit: contain !important; }
}

/* Formularz: rozwijane szczegóły działki i załączniki (v93) */
.inquiry-form .parcel-details{grid-column:1/-1;padding:0;margin:0;border:1px solid #D8CEC0;border-radius:8px;background:rgba(250,248,243,.55)}
.inquiry-form .parcel-details summary{cursor:pointer;list-style:none;padding:14px 16px;font-size:14px;font-weight:600;color:#9b503c;display:flex;align-items:center;justify-content:flex-start;gap:10px;line-height:1.4;-webkit-tap-highlight-color:transparent}
.inquiry-form .parcel-details summary span{flex:1 1 auto}
.inquiry-form .parcel-details summary::-webkit-details-marker{display:none}
.inquiry-form .parcel-details summary::before{content:'+';display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border:1.5px solid #9b503c;border-radius:50%;font-size:16px;line-height:1}
.inquiry-form .parcel-details[open] summary::before{content:'\2212'}
.inquiry-form .parcel-details summary small{font-weight:400;color:#6d655d}
.inquiry-form .parcel-details-body{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:4px 16px 18px}
.inquiry-form .parcel-details-body .form-wide{grid-column:1/-1}
.inquiry-form .parcel-help{margin:0;font-size:13px;font-weight:400;line-height:1.5;color:#6d655d}
.inquiry-form input[type=file]{padding:10px 12px;font-size:14px;cursor:pointer}
.inquiry-form input[type=file]::file-selector-button{font:600 14px 'Open Sans',Arial,sans-serif;margin-right:12px;padding:8px 14px;border:1.5px solid #9b503c;border-radius:8px;background:transparent;color:#9b503c;cursor:pointer}
@media (max-width:760px){.inquiry-form .parcel-details-body{grid-template-columns:1fr}}

/* Kontakt: dane firmy po rozwinięciu (v94) */
.company-section.company-section-collapsible{display:block;padding-top:24px;padding-bottom:48px}
.company-details{border:1px solid #D8CEC0;border-radius:8px;padding:0;margin:0;background:#FAF8F3}
.company-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:16px 18px;font:600 16px/1.4 'Open Sans',Arial,sans-serif;color:#303532;-webkit-tap-highlight-color:transparent}
.company-details summary::-webkit-details-marker{display:none}
.company-details summary::before{content:'+';display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;border:1.5px solid #9b503c;border-radius:50%;color:#9b503c;font-size:17px;line-height:1}
.company-details[open] summary::before{content:'\2212'}
.company-details summary small{display:block;font-weight:400;font-size:13px;color:#6d655d}
.company-details .company-data{padding:0 18px 8px}
.company-details .company-data>div:last-child{border-bottom:0}

/* v95: „Tradycyjna technologia.” w jednej linii na telefonie */
@media (max-width:760px){
  .tech-title span{white-space:nowrap}
  .tech-title{font-size:min(32px,calc((100vw - 52px) / 11.4))}
}

/* v96: zwarte tabele „Powierzchnie i wymiary” i „Technologia i konstrukcja” na stronach domów */
.dimension-list{line-height:1.35}
.dimension-list caption{padding-bottom:8px}
.dimension-list th,.dimension-list td{padding:6px 0}
.dimension-section>.micro{margin-top:10px}
.smart-construction>p{margin:8px 0 0}
.construction-specs{margin-top:10px}
.construction-specs>div{padding:7px 0;gap:14px;line-height:1.4}
@media(max-width:520px){.dimension-list td{white-space:normal}.dimension-list th{width:55%}.construction-specs>div{gap:1px;padding:7px 0}}

/* v97: rzut z przyciskiem „Pokaż wymiary” (Smart) — bez JS, przełącznik checkbox */
.dim-toggle{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.dim-btn{display:inline-flex;align-items:center;gap:8px;margin:16px 0 0;padding:10px 16px;border:1.5px solid #9b503c;border-radius:8px;background:#fff;color:#303532;font-weight:600;font-size:15px;line-height:1.2;cursor:pointer;user-select:none;-webkit-user-select:none}
.dim-btn svg{width:20px;height:20px;flex:none}
.dim-btn .dim-off{display:none}
.dim-toggle:checked+.dim-btn{background:#9b503c;color:#fff}
.dim-toggle:checked+.dim-btn .dim-on{display:none}
.dim-toggle:checked+.dim-btn .dim-off{display:inline}
.dim-toggle:focus-visible+.dim-btn{outline:2px solid #9b503c;outline-offset:3px}
.plan-wrap{position:relative;max-width:1000px;margin:20px auto 0;container-type:inline-size}
.plan-wrap .floorplan-link{margin:0;max-width:none}
.plan-wrap .project-plan{margin:0}
.plan-dims{display:none;position:absolute;inset:0;pointer-events:none;font-size:max(10px,1.6cqw)}
.dim-toggle:checked~.plan-wrap .plan-dims{display:block}
.room-tag{position:absolute;transform:translate(-50%,-50%);background:rgba(255,255,255,.94);color:#303532;border-radius:6px;padding:.35em .6em;line-height:1.2;text-align:center;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.room-tag b{display:block;font-weight:600;font-size:.9em;color:#5d625e}
.room-tag strong{display:block;font-size:1.15em;color:#9b503c}
.dim-line{position:absolute;color:#fff}
.dim-line::before{content:"";position:absolute;background:#fff;box-shadow:0 0 0 1px rgba(30,32,30,.75)}
.dim-line.h{height:0}
.dim-line.h::before{left:0;right:0;top:-1px;height:2px}
.dim-line.v{width:0}
.dim-line.v::before{top:0;bottom:0;left:-1px;width:2px}
.dim-line.h i,.dim-line.h::after{position:absolute;top:-.7em;width:2px;height:1.4em;background:#fff;box-shadow:0 0 0 1px rgba(30,32,30,.75);content:""}
.dim-line.h::after{right:0}.dim-line.h i{left:0}
.dim-line.v i,.dim-line.v::after{position:absolute;left:-.7em;height:2px;width:1.4em;background:#fff;box-shadow:0 0 0 1px rgba(30,32,30,.75);content:""}
.dim-line.v::after{bottom:0}.dim-line.v i{top:0}
.dim-line span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#9b503c;box-shadow:0 2px 6px rgba(0,0,0,.25);color:#fff;font-weight:700;border-radius:20px;padding:.2em .7em;white-space:nowrap;font-size:1.05em}
.dim-line.v span{transform:translate(-50%,-50%) rotate(-90deg)}
.dim-note{display:none;font-size:13px;color:#6d655d;margin:10px 0 0}
.dim-toggle:checked~.dim-note{display:block}

/* v98: wyróżniony podpis „Otwarta przestrzeń razem” na rzucie */
.room-tag.open-tag{background:#2E6B5E;color:#fff}
.room-tag.open-tag b{color:#d9ebe4}
.room-tag.open-tag strong{color:#fff}

/* v99: przełącznik wariantów rzutu (Medium: z gabinetem / bez gabinetu) — bez JS */
.plan-variants>input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.plan-variants>label{display:inline-block;margin:14px 6px 0 0;padding:9px 14px;border:1.5px solid #2E6B5E;border-radius:8px;background:#fff;color:#2E6B5E;font-weight:600;font-size:15px;line-height:1.2;cursor:pointer;user-select:none;-webkit-user-select:none}
.plan-variants>.var-a:checked+label,.plan-variants>.var-b:checked+label{background:#2E6B5E;color:#fff}
.plan-variants>input:focus-visible+label{outline:2px solid #2E6B5E;outline-offset:3px}
.plan-variants>.variant-b{display:none}
.plan-variants>.var-b:checked~.variant-a{display:none}
.plan-variants>.var-b:checked~.variant-b{display:block}

/* v100: rozwijane sekcje „Powierzchnie i wymiary” i „Technologia i konstrukcja” na stronach domów */
details.fold{border:0;padding:0;margin:0;background:none;max-width:760px}
details.fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #dcd6cc;-webkit-tap-highlight-color:transparent}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::before{content:none}
details.fold>summary h2{margin:0;font-size:1.375rem;font-weight:600;color:var(--ink);letter-spacing:-.01em}
details.fold .fold-hint{flex:none;display:inline-flex;align-items:center;gap:6px;font:600 14px 'Open Sans',Arial,sans-serif;color:#9b503c}
details.fold .fold-hint::after{content:"";width:8px;height:8px;border-right:2px solid #9b503c;border-bottom:2px solid #9b503c;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
details.fold[open] .fold-hint::after{transform:rotate(-135deg) translateY(-1px)}
details.fold .fh-off{display:none}
details.fold[open] .fh-on{display:none}
details.fold[open] .fh-off{display:inline}
details.fold[open]>summary{border-bottom-color:transparent}
details.fold .fold-body{padding-top:4px}
details.fold .fold-body>p:first-child{margin-top:8px}
.dimension-section details.fold .dimension-list{margin-top:4px}
@media(max-width:520px){details.fold>summary h2{font-size:1.15rem}details.fold .fold-hint{font-size:13px}}
/* blok dokumentacji w tym samym stylu */
details.documentation-box.fold{margin:8px 6% 18px;border:0;border-radius:0;background:none;overflow:visible;max-width:760px}
details.documentation-box.fold>summary{padding:12px 0;font-weight:inherit}
details.documentation-box.fold>.fold-body{padding:4px 0 8px}
@media(max-width:374px){details.fold>summary h2{font-size:1.05rem}details.fold .fold-hint .fh-on,details.fold .fold-hint .fh-off{display:none}}

/* v101: trzy rozwijane sekcje jako jeden blok (dokumentacja, wymiary, technologia) */
.dimension-section:has(>details.fold){padding-top:6px;padding-bottom:0;background:transparent}
.smart-construction:has(>details.fold){background:transparent;padding:0 6% 30px}
@media(max-width:520px){.dimension-section:has(>details.fold){padding-top:4px;padding-bottom:0}.smart-construction:has(>details.fold){padding-bottom:22px}}

.plan-wrap.plan-wide .plan-dims{font-size:max(8.5px,1.5cqw)}
.plan-wrap.plan-wide .room-tag{padding:.22em .4em;border-radius:5px}

/* Nagłówek (v105): telefon, Messenger i menu w jednym spokojnym prostokącie jak dawny przycisk menu */
html body header .hdr-ico{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:42px;min-width:44px;padding:0!important;background:#fff!important;border:1px solid #d7c9b7!important;border-radius:0!important;box-shadow:none!important;color:#303532!important;cursor:pointer;flex:none;text-decoration:none;transition:background .15s}
html body header .hdr-ico:hover{background:#F6F1EA!important}
html body header .hdr-ico svg{width:21px;height:21px;stroke:none!important}
html body header .hdr-phone .ico-fill{fill:#1F9D4A}
html body header .hdr-msg .ico-fill{fill:#0A84FF}
html body header .hdr-msg .ico-bolt{fill:#fff}
html body header .hdr-msg svg{width:23px;height:23px}
html body header .hdr-phone{border-radius:12px 0 0 12px!important}
html body header .hdr-msg{border-left:0!important}
html body header .menu.menu-ico{width:46px;min-width:46px;height:42px;padding:0;line-height:0;border:1px solid #d7c9b7;border-left:0;border-radius:0 12px 12px 0;background:#fff;color:#303532}
html body header .menu.menu-ico svg{width:22px;height:22px;vertical-align:middle}
html body header .hdr-ico::after{content:attr(data-tip);position:absolute;top:calc(100% + 9px);right:0;background:#303532;color:#fff;font-size:13px;font-weight:700;line-height:1;padding:8px 11px;border-radius:10px;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.18);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s,transform .15s;z-index:130}
@media(hover:hover){html body header .hdr-ico:hover::after{opacity:1;transform:translateY(0)}}
@media(min-width:951px){
  html body header .mobile-phone-button,html body header .mobile-msg{display:none!important}
  html body header .desktop-phone-button{margin-left:6px}
  html body header .desktop-msg{border-radius:0 12px 12px 0!important;margin-left:-8px!important}
}
@media(max-width:950px){
  html body header .desktop-phone-button,html body header .desktop-msg{display:none!important}
  .mobile-header-actions{gap:0!important}
}

/* Strona główna (v106): Facebook i Instagram w górnej części, pod przyciskami, na tle zdjęcia */
.hero-follow{display:flex;align-items:center;gap:14px;margin:22px 0 0}
.hero-follow .hf-text{color:#fff;font-size:14px;line-height:1.35;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.hero-follow .hf-text b{font-weight:700}
.hf-icons{display:flex;gap:12px}
.hf-icons a{display:block;font-size:0;line-height:0;text-decoration:none}
.hf-icons .fi{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.35);border:2px solid rgba(255,255,255,.85);transition:transform .15s}
.hf-icons a:hover .fi{transform:scale(1.08)}
.hf-icons svg{width:24px;height:24px}
.follow-fb .fi{background:#1877F2}
.follow-fb svg{fill:#fff}
.follow-ig .fi{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.follow-ig svg{fill:none;stroke:#fff;stroke-width:1.9}
.follow-ig svg .dot{fill:#fff;stroke:none}

/* v107: Instagram i Facebook optycznie równe — Instagram bez bladego dołu, znaczek tej samej wagi co „f” */
.hf-icons .follow-ig .fi{background:linear-gradient(45deg,#F58529 0%,#DD2A7B 45%,#8134AF 75%,#515BD4 100%)}
.hf-icons .follow-ig svg{width:26px;height:26px;stroke-width:2.1}
.hf-icons .follow-fb svg{width:23px;height:23px}

/* v108: tabela porównania na stronie Technologia — 4 domy (dodany Smart Plus) */
@media (min-width: 701px){.technology-matrix tbody th{width:20%}.technology-matrix td{width:20%}.technology-matrix{min-width:980px}}
.matrix-note-row td{font-style:italic;color:#5d625e}
@media (max-width: 700px) {
  .technology-matrix td:nth-child(2)::before { content: "Smart"; }
  .technology-matrix td:nth-child(3)::before { content: "Smart Plus"; }
  .technology-matrix td:nth-child(4)::before { content: "Medium"; }
  .technology-matrix td:nth-child(5)::before { content: "Comfort"; }
  .technology-matrix td[colspan="4"]::before { content: "Każdy model"; }
}
.matrix-note-row td::before{font-style:normal}

/* v110: Technologia — przekroje warstw jako ilustracje 3D (SVG), animacja i podświetlanie warstw */
.construction-card .layer-figure { position: relative; background: radial-gradient(120% 95% at 50% 28%, #fffaf3 0%, #f1e7da 55%, #e2d3be 100%); padding: 12px 14px 4px; border-bottom: 1px solid #e0d6c8; }
.construction-card .layer-figure__svg { display: block; width: 100%; height: auto; max-height: 280px; margin: 0 auto; overflow: visible; }
.layer-figure .lf-geo { filter: drop-shadow(0 10px 12px rgba(84, 58, 32, .16)); }
.layer-figure .lf-layer, .layer-figure .lf-mark { transition: opacity .3s ease, filter .3s ease; }
.layer-figure .lf-mark { cursor: pointer; outline: none; }
.layer-figure .lf-dot { transition: fill .25s ease; }
.layer-figure .lf-ring { transform-box: fill-box; transform-origin: center; opacity: 0; }
.layer-figure .lf-mark:focus-visible .lf-dot { stroke: #26332e; }
.layer-figure.lf-anim:not(.is-in) .lf-layer, .layer-figure.lf-anim:not(.is-in) .lf-mark { opacity: 0; }
.layer-figure.lf-anim.is-in .lf-layer { animation: lfLayerIn 2.2s cubic-bezier(.22, .7, .2, 1) backwards; animation-delay: calc(var(--i) * 480ms); }
.layer-figure.lf-anim.is-in .lf-mark { animation: lfMarkIn 1s cubic-bezier(.3, 1.3, .5, 1) backwards; animation-delay: calc(1.9s + var(--m) * 380ms); }
.layer-figure.lf-anim.is-in .lf-ring { animation: lfPulse 3s ease-out 3; animation-delay: calc(3.2s + var(--m) * 380ms); }
.layer-figure[data-active] .lf-mark .lf-ring { animation: none; }
@keyframes lfLayerIn { from { opacity: 0; transform: translate(22px, -34px); } to { opacity: 1; transform: none; } }
@keyframes lfMarkIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes lfPulse { 0% { opacity: .7; transform: scale(1); } 70%, 100% { opacity: 0; transform: scale(1.9); } }
.layer-figure[data-active="1"] .lf-layer:not([data-n="1"]){opacity:.22;filter:saturate(.4)}.layer-figure[data-active="1"] .lf-mark:not([data-n="1"]){opacity:.35}.layer-figure[data-active="1"] .lf-mark[data-n="1"] .lf-dot{fill:#26332e}.layer-figure[data-active="2"] .lf-layer:not([data-n="2"]){opacity:.22;filter:saturate(.4)}.layer-figure[data-active="2"] .lf-mark:not([data-n="2"]){opacity:.35}.layer-figure[data-active="2"] .lf-mark[data-n="2"] .lf-dot{fill:#26332e}.layer-figure[data-active="3"] .lf-layer:not([data-n="3"]){opacity:.22;filter:saturate(.4)}.layer-figure[data-active="3"] .lf-mark:not([data-n="3"]){opacity:.35}.layer-figure[data-active="3"] .lf-mark[data-n="3"] .lf-dot{fill:#26332e}.layer-figure[data-active="4"] .lf-layer:not([data-n="4"]){opacity:.22;filter:saturate(.4)}.layer-figure[data-active="4"] .lf-mark:not([data-n="4"]){opacity:.35}.layer-figure[data-active="4"] .lf-mark[data-n="4"] .lf-dot{fill:#26332e}.layer-figure[data-active="5"] .lf-layer:not([data-n="5"]){opacity:.22;filter:saturate(.4)}.layer-figure[data-active="5"] .lf-mark:not([data-n="5"]){opacity:.35}.layer-figure[data-active="5"] .lf-mark[data-n="5"] .lf-dot{fill:#26332e}
.construction-card ol li { cursor: pointer; transition: color .2s ease; border-radius: 6px; }
.construction-card ol li::marker { color: #b64c32; font-weight: 700; }
.construction-card ol li.is-active { color: #26332e; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .layer-figure .lf-layer, .layer-figure .lf-mark, .layer-figure .lf-ring { animation: none !important; } }

/* stopka: kolumna "Gdzie budujemy" (5 kolumn) */
@media(min-width:1101px){.footer-top{grid-template-columns:1.5fr repeat(4,1fr);gap:40px}}

/* stopka: "Gdzie budujemy" zwijane na telefonie, rozwinięte na komputerze */
.footer details.footer-regions{display:block;border:0;padding:0;margin:0;font-size:14px}
.footer .footer-regions summary{display:block;list-style:none;cursor:default;padding:0;margin:0;font-size:14px;line-height:1.65;color:inherit}
.footer .footer-regions summary::-webkit-details-marker{display:none}
.footer .footer-regions a{display:block;margin-top:10px}
@media(max-width:760px){.footer .footer-regions summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%}.footer .footer-regions summary:after{content:"";flex:none;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 4px 3px 8px;transition:transform .2s}.footer .footer-regions[open] summary:after{transform:rotate(-135deg);margin-bottom:-3px}}
