@layer legacy, reset, tokens, base, layout, components, utilities;
@layer components {
:root { --pw-pole: 16px; --pw-kontener: 1200px; }
@media (min-width: 900px) { :root { --pw-pole: 32px; } }
main > section.section-body,
main > section.sekcja-architekt {
  max-width: calc(var(--pw-kontener) + 2 * var(--pw-pole));
  padding: 0 var(--pw-pole) var(--section-y) !important;
  margin: 0 auto;
}
main > #dzwignia.section-body { max-width: calc(var(--pw-kontener) + 2 * var(--pw-pole)); }
main > #hero.hero { max-width: calc(var(--pw-kontener) + 2 * var(--pw-pole)); padding: clamp(24px, 4vw, 56px) var(--pw-pole) 0; }
main > #dla-kogo.section-body { padding-top: var(--section-y) !important; }
#hero .hero-split { margin-bottom: 0 !important; }
.opinie, .drabina-grid, .faq-list, .zespol-blok { margin-left: 0; margin-right: 0; }
.opinie { max-width: none; }
.drabina-grid { max-width: none; }
.faq-list { max-width: 68ch; }
.zespol-blok { max-width: 68ch; }
#cennik > p.drabina-mikrotekst,
#jak-to-dziala > p:last-child,
#darmowy-agent > p:last-child { text-align: left !important; margin-left: 0 !important; }
.sekcja-architekt .hero-founder-card { margin-left: 0 !important; max-width: 960px; }
main h1, main h2, main h3, main .hero-price, main blockquote { text-wrap: balance; }
main p, main li, main figcaption { text-wrap: pretty; hyphens: manual; }
#hero h1 { font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1.04; letter-spacing: -0.028em; }
main h2.display-h2, main h2.section-headline {
  font-size: clamp(1.75rem, 3.4vw, 3rem) !important; line-height: 1.12; font-weight: 500;
  margin: 0 0 var(--space-5) !important; max-width: 22ch;
}
main .section-lead { font-size: clamp(1.125rem, 1.3vw, 1.1875rem); line-height: 1.55; max-width: 60ch; margin-bottom: var(--space-8) !important; }
#hero .hero-sublead { font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); line-height: 1.55; max-width: 60ch; }
main h3:not(.dowod-h) { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.25rem, 1.7vw, 1.5rem) !important; line-height: 1.25 !important; font-variation-settings: 'opsz' 32; letter-spacing: -0.01em; }
.opinia .dowod-h { font-family: var(--font-display); font-weight: 500; }
main p { max-width: 62ch; }
main .section-footnote { max-width: 62ch; }
#dla-kogo { text-align: left; }
#dla-kogo .body-lead { font-size: clamp(1.5rem, 2.4vw, 1.75rem) !important; line-height: 1.3 !important; margin: 0 0 var(--space-3) !important; max-width: 32ch; text-align: left; }
#dla-kogo p:last-child { margin-top: var(--space-5); text-align: left; }
#hero .cta-note,
#hero .przeglad-eyebrow,
.section-footnote,
.drabina-mikrotekst,
.dowod-cytat footer,
#cennik .pricing-subprice,
#cennik .drabina-rozwin { font-size: 14px; letter-spacing: 0; }
#hero .cta-note { color: var(--color-text-secondary); }
.section-footnote-label,
#dzwignia .trzy span.n {
  font-family: var(--font-body); font-size: 14px; text-transform: none;
  letter-spacing: 0; color: var(--color-text-tertiary);
}
#cennik .pricing-tier { font-family: var(--font-body); font-size: 16px; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--color-text-primary); }
#cennik .pricing-subprice { font-family: var(--font-body); color: var(--color-text-tertiary); }
#cennik .drabina-rozwin { color: var(--color-accent-text); padding: var(--space-3) 0; }
.sekcja-architekt figcaption > div:nth-of-type(2),
.sekcja-architekt figcaption p { font-size: 14px !important; letter-spacing: 0 !important; }
.sekcja-architekt figcaption > p:first-of-type { font-size: 16px !important; }
.sekcja-architekt figcaption span { font-family: var(--font-body) !important; font-size: 14px !important; }
@media (max-width: 760px) { #hero .wydruk-toggle { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; margin-top: var(--space-2); } }
@media (max-width: 899px) {
  #hero .wydruk-header > span, #hero .wydruk-lista, #hero .wydruk-stopka { font-size: 14px; }
}
.zespol-blok::before { display: none; }
.zespol-blok { border: 1px solid var(--color-line); border-radius: var(--radius-card); background: var(--color-surface); padding: var(--space-6); margin-top: var(--space-10); }
.zespol-blok p { color: var(--color-text-secondary); font-size: 16px; line-height: 1.65; }
.zespol-blok .zespol-h { margin-bottom: var(--space-4); }
#zespol .btn.btn-primary {
  background: transparent; border: 0; color: var(--color-accent-text);
  padding: var(--space-3) 0; min-height: 44px; text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: 3px; font-weight: 500;
}
#zespol .btn.btn-primary:hover { text-decoration-thickness: 2px; background: transparent; }
main .btn { border-radius: 8px; min-height: 48px; font-size: 16px; font-weight: 500; transform: none; box-shadow: none; }
.btn-secondary { border-color: var(--color-line-amber-hi); }
@media (max-width: 599px) {
  #hero .cta-row { flex-direction: column; align-items: stretch; gap: var(--space-3); }
  #hero .cta-row .btn { width: 100%; justify-content: center; }
}
@media (min-width: 900px) {
  .drabina-grid { align-items: start; }
  .drabina-karta .btn { margin-top: var(--space-2); }
}
.drabina-karta .btn { width: 100%; justify-content: center; }
.drabina-karta { gap: var(--space-4); }
.drabina-karta .drabina-opis { margin: 0; }
.drabina-karta .pricing-header { margin-bottom: var(--space-2); }
.drabina-karta.zwinieta .pricing-header { margin-bottom: 0; }
.drabina-karta .btn { margin-top: var(--space-2); }
.opinie-tor > .dowod-item.opinia { flex-basis: min(640px, 92%); }
.opinia > p { font-size: 15px; line-height: 1.6; }
.opinie-zakladki a { padding: 12px 0; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; }
.opinie-strzalki button { width: 44px; height: 44px; border-radius: 8px; }
@media (max-width: 599px) { #dzwignia .dzw-opak { display: none; } }
#dzwignia > h2, #dzwignia > p { margin-left: 0 !important; margin-right: 0 !important; }
#dzwignia .dzw-opak, #dzwignia .trzy { width: 100%; max-width: none; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
#dzwignia .dzw-opak { max-width: 960px; }
#dzwignia .trzy { margin-top: var(--space-10); gap: var(--space-6); }
#dzwignia .trzy h3 { margin: var(--space-2) 0 var(--space-3); }
#dzwignia .trzy p { font-size: 16px; line-height: 1.65; }
html[data-theme="light"] .dzw .etykieta.b { fill: var(--color-accent-text); }
@media (max-width: 599px) {
  .sekcja-architekt .hero-founder-card { padding: var(--space-5); }
  .sekcja-architekt .architekt-rama-portretu { max-width: 220px; }
}
#twoje-dane ul.section-lead { margin: 0 !important; }
#twoje-dane ul.section-lead li { margin-bottom: var(--space-3) !important; }
#faq .faq-list { margin-top: var(--space-8) !important; }
#faq details.faq-item { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--color-line) !important; }
#faq .faq-summary { min-height: 44px; padding: var(--space-4) 0; align-items: baseline; }
#faq .faq-summary h3 { font-size: 20px !important; line-height: 1.3 !important; }
#faq details > p { padding: 0 0 var(--space-5) 1.5em !important; margin: 0 !important; font-size: 16px; line-height: 1.65; }
html[data-theme="light"] .faq-plus { color: var(--color-accent-text); }
#zamkniecie h2.section-headline, #zamkniecie .section-lead { margin-left: auto !important; margin-right: auto !important; }
#zamkniecie h2.section-headline { max-width: 20ch; }
:root { --pw-tekst: 720px; }
html:has(#h2-dowod) #dzwignia .dzw-opak { display: none; }
#hero .hero-sublead { max-width: 33em; }
@media (min-width: 900px) {
  html:has(#h2-dowod) #hero .hero-split { padding-bottom: var(--space-8); }
  html:has(#h2-dowod) #hero .hero-split::before { clip-path: inset(0 0 220px 0); }
  html:has(#h2-dowod) main > #hero.hero { padding-bottom: var(--space-12); }
  html:has(#h2-dowod) #hero .hero-headline { margin-bottom: 0; }
  html:has(#h2-dowod) #hero .hero-split-aside { position: static; align-self: end; }
  html:has(#h2-dowod) #hero .hero-split-aside .przeglad-eyebrow { position: absolute; top: calc(100% + var(--space-3)); margin: 0; }
}
.opinie.js-gotowe .opinie-tor > .opinia:not(.is-aktywna),
.opinie.js-gotowe .opinie-tor > .opinia:not(.is-aktywna):hover { opacity: 1; filter: none; }
@media (min-width: 761px) {
  .opinie { max-width: var(--pw-tekst); }
}
@media (min-width: 761px) and (max-width: 1023px) {
  .opinie-tor { margin-right: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 760px) {
  .opinie.js-gotowe .opinie-zakladki { display: none; }
  .opinie.js-gotowe .opinie-strzalki { display: inline-flex; }
  .opinie.js-gotowe .opinie-gora { justify-content: flex-end; }
}
@media (min-width: 900px) {
  .drabina-grid { align-items: stretch; }
  .drabina-karta .btn { margin-top: auto; order: 2; }
  .drabina-karta .drabina-mikrotekst { order: 1; }
}
#cennik > p.drabina-mikrotekst { max-width: 68ch !important; }
.sekcja-architekt .hero-founder-card { max-width: var(--pw-tekst); }
.zespol-blok, .faq-list { max-width: var(--pw-tekst); }
main a.link-inline, main #dla-kogo a.kwalifikator-cta, #cennik .drabina-rozwin, #hero .wydruk-toggle {
  color: var(--color-accent-text) !important; border-bottom: 0;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
  text-decoration-color: currentColor;
}
main a.link-inline:hover, #hero .wydruk-toggle:hover { text-decoration-thickness: 2px; }
@media (max-width: 599px) {
  #zamkniecie .cta-row { flex-direction: column; align-items: stretch; }
  #zamkniecie .cta-row .btn { width: 100%; justify-content: center; }
}
:root { --pw-kolumna: 896px; }
@media (min-width: 1024px) {
  html:has(#cennik) main > section.section-body:not(#cennik):not(#dzwignia) {
    max-width: calc(var(--pw-kolumna) + 2 * var(--pw-pole));
  }
  html:has(#cennik) #dzwignia > h2,
  html:has(#cennik) #dzwignia > p { margin-left: calc((100% - var(--pw-kolumna)) / 2) !important; }
  html:has(#cennik) .opinie { max-width: none; }
  html:has(#cennik) .sekcja-architekt .hero-founder-card { max-width: none; }
  html:has(#cennik) #cennik .zespol-blok { margin-left: calc((100% - var(--pw-kolumna)) / 2); margin-right: 0; }
}
@media (max-width: 899px) {
  main > section.hero:not(#hero) { padding-left: var(--pw-pole); padding-right: var(--pw-pole); }
}
@media (max-width: 768px) { body:has(.mobile-sticky-cta.is-visible) { padding-bottom: 76px; } }
html[data-theme="light"] .mobile-sticky-cta { background: var(--color-bg); border-top-color: var(--color-line); }
}
