:root { --ink: #0b0b0b;--ink-2: #171717;--paper: #f7f6f2;--white: #ffffff;--muted: #686868;--line: #d9d7d0;--orange: #f28c28;--yellow: #ffd400;--blue: #0a63d8;--page-accent: var(--orange);--page-accent-2: var(--yellow);--radius: 26px;--shadow: 0 20px 60px rgba(0,0,0,.12);--wa: #087a3a;--orange-strong: #c94600; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0;background: var(--paper);color: var(--ink);font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;line-height: 1.55;text-rendering: optimizeLegibility; }
img { max-width: 100%;display: block; }
a { color: inherit; }
button, input, textarea { font: inherit; }
body.theme-just { --page-accent: var(--yellow);--page-accent-2: #f6aa00; }
body.theme-zdrofit { --page-accent: var(--blue);--page-accent-2: var(--yellow); }
.container { width: min(1180px, calc(100% - 40px));margin-inline: auto; }
.narrow { width: min(820px, calc(100% - 40px));margin-inline: auto; }
.skip-link { position: fixed;left: 16px;top: -80px;z-index: 999;background: var(--ink);color: white;padding: 12px 18px;border-radius: 10px; }
.skip-link:focus { top: 16px; }
.site-header { position: sticky;top: 0;z-index: 100;background: rgba(247,246,242,.92);backdrop-filter: blur(16px);border-bottom: 1px solid rgba(0,0,0,.08); }
.header-inner { min-height: 78px;display: flex;align-items: center;justify-content: space-between;gap: 24px; }
.main-nav { display: flex;align-items: center;gap: 22px;font-size: 14px;font-weight: 800; }
.main-nav a { text-decoration: none;position: relative; }
.main-nav > a:not(.nav-cta)::after { content: "";position: absolute;left: 0;bottom: -7px;width: 100%;height: 2px;transform: scaleX(0);transform-origin: left;background: var(--page-accent);transition: transform .2s ease; }
.main-nav > a:hover::after, .main-nav > a.active::after { transform: scaleX(1); }
.nav-cta, .button { display: inline-flex;align-items: center;justify-content: center;gap: 10px;min-height: 50px;padding: 0 22px;border-radius: 999px;border: 2px solid var(--ink);background: var(--ink);color: white;text-decoration: none;font-weight: 900;transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover, .nav-cta:hover { transform: translateY(-2px);box-shadow: 0 12px 25px rgba(0,0,0,.16); }
.button-wa { background: var(--wa);border-color: var(--wa);color: white; }
.button-light { background: transparent;color: var(--ink);border-color: var(--ink); }
.button-accent { background: var(--page-accent);border-color: var(--page-accent);color: var(--ink); }
.nav-toggle { display: none;background: transparent;border: 0;padding: 8px; }
.nav-toggle span { display: block;width: 25px;height: 2px;background: var(--ink);margin: 5px 0; }
.eyebrow { display: inline-flex;align-items: center;gap: 9px;font-size: 13px;font-weight: 950;text-transform: uppercase;letter-spacing: .1em;margin: 0 0 18px; }
.eyebrow::before { content: "";width: 34px;height: 6px;background: var(--page-accent);border-radius: 10px; }
h1,h2,h3 { line-height: 1.03;margin: 0;letter-spacing: -.035em; }
h1 { font-size: clamp(2.8rem, 5.2vw, 5.2rem);font-weight: 950; }
h2 { font-size: clamp(2rem, 3.7vw, 3.65rem);font-weight: 950; }
h3 { font-size: clamp(1.2rem, 1.8vw, 1.58rem);font-weight: 900; }
.lead { font-size: clamp(1.08rem, 2vw, 1.3rem);color: #373737;max-width: 650px; }
.credentials { font-weight: 850;margin: 0 0 28px; }
.actions { display: flex;flex-wrap: wrap;gap: 12px; }
.microcopy { font-size: 13px;color: var(--muted);margin-top: 13px; }
.hero-badge { position: absolute;z-index: 2;left: -20px;top: 54px;max-width: 190px;padding: 17px 18px;background: var(--white);border: 2px solid var(--ink);border-radius: 18px;font-weight: 900;box-shadow: 8px 8px 0 var(--ink); }
.trust-strip { margin-top: 55px;display: grid;grid-template-columns: repeat(3, 1fr);border: 2px solid var(--ink);border-radius: 22px;overflow: hidden;background: white; }
.trust-item { padding: 20px;text-align: center;font-weight: 850; }
.trust-item + .trust-item { border-left: 2px solid var(--ink); }
.section { padding: 72px 0; }
.section-dark { background: var(--ink);color: white; }
.section-blue { background: var(--blue);color: white; }
.section-yellow { background: var(--yellow);color: var(--ink); }
.section-head { display: grid;grid-template-columns: 1fr .8fr;align-items: end;gap: 40px;margin-bottom: 32px; }
.section-head p { margin: 0;color: var(--muted);font-size: 1.1rem; }
.section-dark .section-head p, .section-blue .section-head p { color: rgba(255,255,255,.72); }
.grid-2 { display: grid;grid-template-columns: repeat(2, 1fr);gap: 22px; }
.grid-3 { display: grid;grid-template-columns: repeat(3, 1fr);gap: 22px; }
.card { background: white;border: 2px solid var(--ink);border-radius: var(--radius);padding: 30px;box-shadow: 7px 7px 0 var(--ink); }
.card p { color: #4d4d4d; }
.card-number { width: 52px;height: 52px;display: grid;place-items: center;border-radius: 50%;background: var(--page-accent);border: 2px solid var(--ink);font-weight: 950;margin-bottom: 30px; }
.audience-card strong { font-size: 1.5rem;line-height: 1.1; }
.check-list { margin: 20px 0 0;padding: 0;list-style: none; }
.check-list li { padding-left: 29px;position: relative;margin: 12px 0; }
.check-list li::before { content: "✓";position: absolute;left: 0;font-weight: 950;color: var(--blue); }
.media-card { position: relative;min-height: 520px;overflow: hidden;border-radius: 30px; }
.media-card img { width: 100%;height: 100%;object-fit: cover;position: absolute;inset: 0; }
.media-card .overlay { position: absolute;inset: auto 0 0;padding: 45px 32px 30px;color: white;background: linear-gradient(transparent, rgba(0,0,0,.88)); }
.offer-card img { width: 100%;height: 230px;object-fit: cover; }
.offer-link { display: inline-flex;margin-top: 15px;font-weight: 900;text-decoration-thickness: 3px;text-underline-offset: 5px; }
.process-card::before { counter-increment: process;content: "0" counter(process);position: absolute;top: 22px;left: 28px;font-size: 2.4rem;line-height: 1;font-weight: 950;color: var(--page-accent); }
.locations-grid { display: grid;grid-template-columns: 1fr 1fr;gap: 24px; }
.location-card:hover { transform: translateY(-5px); }
.location-arrow { font-size: 2rem;font-weight: 950; }
.quote-card cite { font-style: normal;font-weight: 900;color: var(--yellow); }
.price-grid { align-items: stretch; }
.price-card { display: flex;flex-direction: column;position: relative; }
.price-card.featured p { color: #d0d0d0; }
.price { font-size: clamp(3rem, 5vw, 4.5rem);font-weight: 950;line-height: 1;margin: 25px 0 5px;letter-spacing: -.05em; }
.price small { font-size: 1rem;letter-spacing: 0; }
.price-card .button { margin-top: auto; }
.pill { display: inline-flex;width: fit-content;border-radius: 999px;padding: 7px 12px;background: var(--yellow);color: var(--ink);font-size: 12px;font-weight: 950;text-transform: uppercase;letter-spacing: .08em; }
.faq-list { border-top: 2px solid var(--ink); }
.faq-item { border-bottom: 2px solid var(--ink); }
.faq-question span:last-child { font-size: 1.8rem;transition: transform .2s ease; }
.faq-item.open .faq-question span:last-child { transform: rotate(45deg); }
.faq-answer { max-height: 0;overflow: hidden;transition: max-height .25s ease; }
.cta-panel { position: relative;overflow: hidden;border-radius: 34px;padding: clamp(35px, 7vw, 76px);background: var(--ink);color: white; }
.cta-panel::before { content: "";position: absolute;width: 220px;height: 220px;border-radius: 50%;background: var(--page-accent);right: -70px;top: -80px; }
.cta-panel::after { content: "";position: absolute;width: 150px;height: 150px;border-radius: 30px;background: var(--blue);right: 100px;bottom: -95px;transform: rotate(25deg); }
.cta-panel > * { position: relative;z-index: 1;max-width: 760px; }
.cta-panel h2 { margin-bottom: 22px; }
.site-footer { background: #050505;color: white;padding: 65px 0 25px; }
.footer-grid { display: grid;grid-template-columns: 1.45fr repeat(3, 1fr);gap: 40px; }
.footer-grid > div { display: flex;flex-direction: column;gap: 9px; }
.footer-grid a { color: #cfcfcf;text-decoration: none; }
.footer-grid a:hover { color: var(--yellow); }
.footer-title { font-weight: 950;color: white;margin: 0 0 10px; }
.footer-bottom { border-top: 1px solid #333;margin-top: 45px;padding-top: 20px;display: flex;justify-content: space-between;gap: 20px;color: #919191;font-size: 13px; }
.floating-wa { position: fixed;right: 22px;bottom: 22px;z-index: 90;display: flex;align-items: center;gap: 9px;padding: 11px 17px 11px 10px;border-radius: 999px;background: var(--wa);color: white;text-decoration: none;font-weight: 950;box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.wa-icon { width: 34px;height: 34px;display: grid;place-items: center;border-radius: 50%;background: white;color: var(--wa);font-size: 11px; }
.subhero { padding: 66px 0 72px; }
.subhero-grid { display: grid;grid-template-columns: 1fr 1fr;align-items: center;gap: 55px; }
.subhero h1 { font-size: clamp(2.8rem, 5vw, 4.8rem); }
.subhero img { width: 100%;aspect-ratio: 4/4.3;object-fit: cover;border-radius: 30px;box-shadow: 12px 12px 0 var(--page-accent); }
.breadcrumbs { display: flex;gap: 8px;flex-wrap: wrap;font-size: 13px;font-weight: 800;color: var(--muted);margin-bottom: 25px; }
.breadcrumbs a { text-decoration: none; }
.detail-grid { display: grid;grid-template-columns: .9fr 1.1fr;gap: 70px;align-items: start; }
.sticky-card { position: sticky;top: 110px; }
.big-list { list-style: none;padding: 0;margin: 25px 0; }
.big-list li { padding: 17px 0;border-bottom: 1px solid var(--line);font-size: 1.08rem;font-weight: 750; }
.local-hero { padding: 54px 0 80px; }
.local-shell { min-height: 610px;display: grid;grid-template-columns: 1.1fr .9fr;border: 3px solid var(--ink);border-radius: 34px;overflow: hidden;box-shadow: 12px 12px 0 var(--ink); }
.local-copy { padding: clamp(35px, 6vw, 75px);display: flex;flex-direction: column;justify-content: center;background: var(--page-accent); }
.local-copy h1 { font-size: clamp(2.8rem, 4.6vw, 4.75rem); }
.address-box { background: white;color: var(--ink);padding: 20px;border: 2px solid var(--ink);border-radius: 18px;margin: 24px 0;font-weight: 850; }
.review-wall { columns: 2;column-gap: 24px; }
.full-review { break-inside: avoid;margin: 0 0 24px;background: white;border: 2px solid var(--ink);border-radius: 24px;padding: 28px;box-shadow: 6px 6px 0 var(--ink); }
.full-review p { margin-top: 0; }
.full-review footer { font-weight: 950;color: var(--blue); }
.contact-grid { display: grid;grid-template-columns: 1.1fr .9fr;gap: 28px; }
.contact-card { padding: 36px;border: 2px solid var(--ink);border-radius: 28px;background: white;box-shadow: 8px 8px 0 var(--ink); }
.map-link { display: inline-flex;margin-top: 15px;font-weight: 900; }
.reveal.visible { opacity: 1;transform: none; }
.brand img { width: 182px;height: auto; }
.footer-logo { margin-bottom: 13px;width: 205px;background: transparent;border-radius: 0;height: auto; }
.hero { padding: 58px 0 48px;overflow: hidden;padding-top: 64px; }
.hero-grid { display: grid;align-items: center;grid-template-columns: minmax(0,.92fr) minmax(520px,1.08fr);gap: clamp(42px,6vw,84px); }
.hero-copy { max-width: 610px; }
.hero-eyebrow { max-width: 600px;line-height: 1.45;letter-spacing: .055em; }
.hero .lead { margin: 25px 0 30px;max-width: 590px; }
.hero-media { position: relative;width: 100%;max-width: 680px;justify-self: end; }
.hero-image { position: relative;z-index: 1;box-shadow: var(--shadow);border-radius: 30px;width: 100%;aspect-ratio: 3/2;object-fit: contain;object-position: center;height: auto; }
.hero-badge, .credentials, .microcopy { display: none !important; }
.hero-media::before { content: "";position: absolute;background: var(--yellow);border-radius: 30px;transform: rotate(-4deg);width: 40%;height: 48%;left: -15px;bottom: -15px; }
.hero-media::after { content: "";position: absolute;background: var(--blue);border-radius: 30px;transform: rotate(5deg);width: 27%;height: 45%;right: -15px;top: -15px; }
.proof-strip { margin-top: 46px;display: grid;grid-template-columns: repeat(3,1fr);border-top: 1px solid var(--line);border-bottom: 1px solid var(--line); }
.proof-item { display: flex;align-items: center;gap: 14px;padding: 23px 28px; }
.proof-item + .proof-item { border-left: 1px solid var(--line); }
.proof-icon { width: 32px;height: 32px;flex: 0 0 32px;display: grid;place-items: center;border-radius: 50%;background: var(--orange);color: var(--ink);font-weight: 950; }
.proof-item strong, .proof-item small { display: block; }
.proof-item strong { font-size: 1rem; }
.proof-item small { color: #555;margin-top: 2px; }
.section-head-single { display: block;max-width: 940px; }
.section-head-single .section-intro { max-width: 780px;margin: 23px 0 0;font-size: 1.13rem;line-height: 1.65; }
.section:not(.section-dark) .section-head p { color: #353535; }
.section-muted { background: #ebe9e2; }
.secondary-service { display: flex;flex-direction: column; }
.secondary-service .button { margin-top: auto; }
.draft-fields { margin: 24px 0;border-top: 1px solid var(--line); }
.draft-fields > div { display: flex;justify-content: space-between;gap: 20px;padding: 13px 0;border-bottom: 1px solid var(--line); }
.draft-fields dt { font-weight: 850; }
.draft-fields dd { margin: 0;font-weight: 900;color: #8a1f00; }
.audience-card { flex-direction: column;justify-content: space-between;min-height: 300px;display: block;padding: 32px; }
.audience-card h3 { margin: 52px 0 16px;max-width: 18ch; }
.audience-card p { margin: 0;font-size: 1.02rem; }
.audience-mark { display: block;width: 52px;height: 7px;border-radius: 999px;background: var(--orange); }
.audience-card .card-number { display: none; }
.how-grid .media-card { min-height: 600px; }
.how-grid .media-card img { object-position: center; }
.process-grid { counter-reset: none;align-content: stretch; }
.process-card { position: relative;padding-top: 86px;min-height: 285px;padding: 30px;justify-content: flex-start; }
.process-card::before, .process-step { display: none !important; }
.process-label { display: inline-flex;width: fit-content;margin-bottom: 30px;padding: 8px 12px;border-radius: 999px;background: var(--orange);color: #111;font-size: 12px;line-height: 1;font-weight: 950;letter-spacing: .09em;text-transform: uppercase; }
.process-card h3 { margin-bottom: 15px; }
.process-card p { margin: 0;font-size: 1rem;line-height: 1.6; }
.offer-card { display: grid;padding: 0;overflow: hidden;grid-template-rows: auto 1fr; }
.offer-card > img { width: 100%;height: auto;aspect-ratio: 3/2;object-fit: cover;object-position: center; }
.offer-card-content { padding: 28px;display: flex;flex-direction: column; }
.offer-card .check-list { flex-grow: 1; }
.offer-button { width: 100%;margin-top: 24px;background: var(--ink);color: #fff;border-color: var(--ink); }
.location-card { flex-direction: column;justify-content: space-between;transition: transform .2s ease;border: 3px solid var(--ink);min-height: 420px;border-radius: 30px;padding: 34px;display: grid;text-decoration: none;grid-template-rows: auto 1fr auto;gap: 34px;overflow: hidden;position: relative; }
.location-card::before { content: "";position: absolute;inset: 0 0 auto;height: 8px; }
.location-just { background: #211e20;color: #fff;box-shadow: 10px 10px 0 #ffb800;border-color: #211e20; }
.location-just::before { background: #ffb800; }
.location-zdrofit { background: linear-gradient(145deg,#0478b8,#087fb5);color: #fff;box-shadow: 10px 10px 0 #ff5a1f;border-color: #0478b8; }
.location-zdrofit::before { background: #ff5a1f; }
.location-top, .location-bottom { display: flex;align-items: center;justify-content: space-between;gap: 20px; }
.location-brand { font-weight: 950;letter-spacing: .055em;font-size: 1.25rem; }
.location-just .location-brand { color: #ffca28; }
.location-kicker { text-transform: uppercase;font-weight: 950;letter-spacing: .1em;font-size: .78rem;opacity: .84; }
.location-main { align-self: center;max-width: 520px; }
.location-card h3 { font-size: clamp(2.45rem,4vw,3.65rem);max-width: none;margin-bottom: 16px; }
.location-main p { font-size: 1.05rem;line-height: 1.55;margin: 0;color: inherit;opacity: .92;max-width: 43ch; }
.location-address { font-weight: 750;font-size: .92rem;opacity: .94; }
.location-cta { display: inline-flex;align-items: center;min-height: 44px;padding: 0 17px;border-radius: 999px;font-weight: 900;white-space: nowrap; }
.location-just .location-cta { background: #ffca28;color: #141111; }
.location-zdrofit .location-cta { background: #ff6a2a;color: #151515; }
.location-description .lead { max-width: 680px;margin-top: 24px;color: #282828; }
.club-access-note { margin-top: 24px;padding: 16px;background: #f2f0ea;border-radius: 14px;font-size: .94rem;line-height: 1.55; }
.review-grid { align-items: stretch; }
.quote-card { background: #1b1b1b;border: 1px solid #3b3b3b;border-radius: 24px;padding: 30px;display: flex;flex-direction: column; }
.quote-card blockquote { font-size: 1.08rem;margin: 24px 0 0;order: 2; }
.review-head { display: flex;align-items: center;gap: 15px; }
.review-head img { width: 64px;height: 64px;flex: 0 0 64px;border-radius: 50%;object-fit: cover;border: 3px solid var(--yellow); }
.review-head cite, .review-head footer { display: block;font-style: normal;font-weight: 950;color: var(--yellow);font-size: 1.06rem; }
.review-head span { display: block;color: #b7b7b7;font-size: .82rem;margin-top: 2px; }
.full-review .review-head { margin-bottom: 23px; }
.full-review .review-head img { width: 72px;height: 72px;flex-basis: 72px;border-color: var(--orange); }
.full-review .review-head footer { color: var(--blue);font-size: 1.15rem; }
.full-review .review-head span { color: #555; }
.full-review > p { font-size: 1.04rem;line-height: 1.68; }
.price-card.featured { background: var(--ink);color: white;box-shadow: 8px 8px 0 var(--yellow);padding-top: 30px; }
.price-card.featured .pill { display: none; }
#cennik .section-head { margin-bottom: 38px; }
.faq-question { width: 100%;display: flex;justify-content: space-between;gap: 20px;align-items: center;padding: 24px 0;background: transparent;border: 0;text-align: left;font-weight: 900;cursor: pointer;font-size: 1.14rem; }
.faq-answer p { margin: 0;padding: 0 0 24px;color: #4d4d4d;max-width: 780px;font-size: 1.02rem;line-height: 1.7; }
.medical-note, .legal-draft-notice { margin-top: 34px;padding: 22px 24px;border: 3px solid currentColor;border-radius: 18px;line-height: 1.65; }
.medical-note { color: #fff;background: #252525; }
.legal-draft-notice p { margin-bottom: 0; }
.privacy-title { font-size: clamp(2.8rem,6vw,5rem); }
.privacy-summary { background: white;border: 2px solid var(--ink);box-shadow: 6px 6px 0 var(--orange);border-radius: 20px;padding: 24px;margin: 32px 0 48px;line-height: 1.7; }
.privacy-section h2 { font-size: clamp(1.45rem,3vw,2rem);margin-top: 42px;margin-bottom: 12px; }
.privacy-section p, .privacy-list { color: #353535;font-size: 1.02rem;line-height: 1.75; }
.privacy-list { padding-left: 22px; }
.privacy-list li { margin: 10px 0; }
.club-wordmark { margin: 0 0 20px;font-weight: 950;letter-spacing: .08em;font-size: 1.05rem; }
.club-wordmark-just { color: #ffca28; }
.club-wordmark-zdrofit { color: white; }
.theme-just { --page-accent: #ffca28;--page-accent-2: #ffca28; }
.theme-just .local-copy { background: #211e20;color: white; }
.theme-just .local-copy .breadcrumbs { color: rgba(255,255,255,.78); }
.theme-just .local-shell { box-shadow: 12px 12px 0 #ffca28; }
.theme-just .button-light { color: white;border-color: white; }
.theme-zdrofit { --page-accent: #087fb5;--page-accent-2: #ff6a2a; }
.theme-zdrofit .local-copy { color: white;background: linear-gradient(145deg,#0478b8,#087fb5); }
.theme-zdrofit .local-copy .breadcrumbs { color: rgba(255,255,255,.84); }
.theme-zdrofit .local-shell { box-shadow: 12px 12px 0 #ff6a2a; }
.theme-zdrofit .button-accent { background: #ff6a2a;border-color: #ff6a2a;color: #151515; }
.theme-zdrofit .button-light { color: white;border-color: white; }
.local-photo { background: #111; }
.detail-grid .lead { color: #282828; }
.reveal { transition: opacity .55s ease, transform .55s ease;opacity: 1;transform: none; }
.js .reveal { opacity: 0;transform: translateY(18px);transition: opacity .55s ease, transform .55s ease; }
.js .reveal.visible { opacity: 1;transform: none; }
a:focus-visible, button:focus-visible { outline: 4px solid #005fcc;outline-offset: 4px;border-radius: 6px; }
.button-wa, .floating-wa { background: var(--wa);border-color: var(--wa);color: #fff; }
.button-wa:hover, .floating-wa:hover { background: #05622e;border-color: #05622e; }
.cta-panel .lead { color: #f0f0f0 !important; }
.card p,
.section-head p,
.audience-card-v5 p,
.work-step p,
.start-step p { color: #292929; }
#dla-kogo .grid-3 { align-items: stretch;gap: 18px; }
.audience-card-v5 { min-height: 0;padding: 27px 28px 29px;display: flex;flex-direction: column;justify-content: center;border: 2px solid var(--ink);border-radius: 22px;background: #fff;box-shadow: 5px 5px 0 var(--ink); }
.audience-card-v5 h3 { margin: 0 0 11px;font-size: clamp(1.28rem, 2vw, 1.62rem);line-height: 1.12; }
.audience-card-v5 p { margin: 0;font-size: 1rem;line-height: 1.58; }
#jak-pracuje .section-head { margin-bottom: 34px; }
.how-grid { align-items: center;display: grid;grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);gap: 38px; }
.how-photo { overflow: hidden;border-radius: 28px;border: 1px solid #383838;background: #111; }
.how-photo img { display: block;width: 100%;height: auto;aspect-ratio: 3 / 2;object-fit: contain;object-position: center; }
.work-steps { list-style: none;padding: 0;margin: 0;border-top: 1px solid #383838; }
.work-step { display: grid;grid-template-columns: 44px minmax(0, 1fr);gap: 17px;align-items: start;padding: 22px 0;border-bottom: 1px solid #383838; }
.work-step-number { width: 36px;height: 36px;display: grid;place-items: center;border-radius: 50%;background: var(--orange);color: #101010;font-size: .9rem;font-weight: 950; }
.work-step h3 { margin: 0 0 7px;font-size: 1.26rem;color: #fff;letter-spacing: -.02em; }
.work-step p { margin: 0;color: #d8d8d8;line-height: 1.55; }
.reviews-hero { padding: 74px 0 62px;border-bottom: 1px solid var(--line); }
.reviews-hero-inner { display: block;max-width: 910px; }
.reviews-hero h1 { max-width: 12ch; }
.reviews-hero .lead { max-width: 720px;margin: 25px 0 29px; }
.start-layout { display: grid;grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);gap: clamp(42px, 7vw, 95px);align-items: start; }
.start-intro h2 { margin-bottom: 19px; }
.start-intro > p:last-child { margin: 0;max-width: 430px;color: #d8d8d8;font-size: 1.08rem;line-height: 1.6; }
.start-steps { border-top: 1px solid #3b3b3b; }
.start-step { display: grid;grid-template-columns: 42px minmax(0, 1fr);gap: 17px;padding: 21px 0;border-bottom: 1px solid #3b3b3b; }
.start-step > span { width: 34px;height: 34px;display: grid;place-items: center;border-radius: 50%;background: var(--page-accent);color: #111;font-weight: 950; }
.start-step h3 { margin: 0 0 7px;color: #fff;font-size: 1.22rem; }
.start-step p { margin: 0;color: #d8d8d8;line-height: 1.55; }
.subhero .uncropped-subhero-image { width: 100%;height: auto;aspect-ratio: auto;max-height: 690px;object-fit: contain;object-position: center;background: transparent; }
.local-photo img { width: 100%;height: 100%;object-fit: cover;object-position: center top; }
.audience-card-v5,
.secondary-service,
.price-card,
.full-review { box-shadow: 5px 5px 0 var(--ink); }
.quote-card blockquote,
.full-review p { line-height: 1.66; }
.pricing-info { margin-top: 28px; }
.service-facts { width: min(1180px, calc(100% - 40px));margin: 32px auto 80px;display: grid;grid-template-columns: repeat(2, 1fr);gap: 1px;overflow: hidden;border: 2px solid var(--ink);border-radius: 22px;background: var(--ink); }
.service-facts p { margin: 0;padding: 20px 22px;background: #fff;color: #292929;line-height: 1.55; }
.medical-points { list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(2, 1fr);gap: 1px;overflow: hidden;border: 1px solid #3a3a3a;border-radius: 24px;background: #3a3a3a; }
.medical-points li { display: grid;grid-template-columns: 42px minmax(0, 1fr);gap: 16px;padding: 27px;background: #171717; }
.medical-points li > span { width: 34px;height: 34px;display: grid;place-items: center;border-radius: 50%;background: var(--orange);color: #111;font-weight: 950; }
.medical-points h3 { margin: 2px 0 9px;color: #fff;font-size: 1.24rem; }
.medical-points p { margin: 0;color: #d7d7d7;line-height: 1.58; }
.secondary-service .draft-fields dd { color: #292929; }
.service-plan-note { width: min(1180px, calc(100% - 40px));margin: -54px auto 80px; }
.service-plan-note p { margin: 0;padding: 20px 22px;border-left: 6px solid var(--orange);background: #fff;color: #292929;line-height: 1.65; }
.personal-benefits .card h3 { color: var(--ink); }
.personal-benefits .card-number { color: var(--ink); }
.service-price-callout { margin: 18px 0 0;font-weight: 950;font-size: 1.05rem; }
.location-price-row { display:flex;flex-wrap:wrap;align-items:center;gap:13px 20px;margin-top:20px; }
.location-price-row a { font-weight:900;text-underline-offset:4px; }
.theme-zdrofit .start-step > span { color:#fff; }
.theme-just .start-step > span { color:#111; }
.faq-more { margin:28px 0 0; }
.faq-more a { display:inline-flex;font-weight:950;text-underline-offset:5px; }
.full-review blockquote { margin:0; }
.full-review blockquote p { margin:0;font-size:1.04rem;line-height:1.68; }
.full-review .review-head cite { color:var(--blue);font-size:1.15rem; }
.contact-grid > *, .contact-card { min-width:0; }
.contact-link { display: block;font-size: clamp(1.3rem, 3vw, 2.2rem);font-weight: 950;margin: 15px 0;text-decoration-thickness: 3px;text-underline-offset: 6px;overflow-wrap:anywhere;word-break:break-word; }
.breadcrumbs [aria-current="page"] { color:currentColor; }
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
.reveal { opacity: 1;transform: none;transition: none; }
.js .reveal { opacity: 1;transform: none;transition: none; }
}
@media (max-width: 900px) {
.nav-toggle { display: block; }
.main-nav { display: none;position: absolute;top: 78px;left: 0;right: 0;padding: 22px 20px 28px;background: var(--paper);border-bottom: 2px solid var(--ink);flex-direction: column;align-items: stretch; }
.main-nav.open { display: flex; }
.main-nav a { padding: 7px 0; }
.nav-cta { margin-top: 6px; }
.hero-grid, .subhero-grid, .detail-grid, .section-head, .contact-grid { grid-template-columns: 1fr; }
.trust-strip { grid-template-columns: 1fr; }
.trust-item + .trust-item { border-left: 0;border-top: 2px solid var(--ink); }
.grid-3 { grid-template-columns: 1fr; }
.locations-grid, .grid-2 { grid-template-columns: 1fr; }
.location-card { min-height: 340px; }
.local-shell { grid-template-columns: 1fr; }
.local-photo { min-height: 410px; }
.footer-grid { grid-template-columns: 1fr 1fr; }
.sticky-card { position: static; }
.hero-media { order: 2;max-width: none;justify-self: center; }
.hero-copy { order: 1;max-width: 720px; }
.proof-strip { grid-template-columns: 1fr; }
.proof-item + .proof-item { border-left: 0;border-top: 1px solid var(--line); }
.how-grid .media-card { min-height: 520px; }
.location-top, .location-bottom { align-items: flex-start; }
.location-bottom { flex-direction: column; }
.how-grid,
  .start-layout { grid-template-columns: 1fr; }
.how-photo { max-width: 760px; }
.work-steps,
  .start-steps { width: 100%; }
}
@media (max-width: 620px) {
.container, .narrow { width: min(100% - 26px, 1180px); }
h1 { font-size: clamp(2.45rem, 12.5vw, 3.55rem); }
.hero-badge { left: -6px;top: 24px;font-size: 13px; }
.hero-media::after { right: -8px; }
.hero-media::before { left: -8px; }
.section { padding: 52px 0; }
.card { padding: 24px; }
.footer-grid { grid-template-columns: 1fr; }
.footer-bottom { flex-direction: column; }
.review-wall { columns: 1; }
.floating-wa span:last-child { display: none; }
.floating-wa { padding: 9px; }
.brand img { width: 150px; }
.hero { padding-top: 38px; }
.hero-eyebrow { font-size: 11px; }
.hero-image { border-radius: 22px; }
.proof-item { padding: 18px 8px; }
.audience-card, .process-card { min-height: auto; }
.audience-card h3 { margin-top: 34px; }
.media-card { min-height: 470px; }
.location-card { min-height: 390px;padding: 28px; }
.location-card h3 { font-size: 3.1rem; }
.location-top { flex-direction: column;gap: 4px; }
.review-head img { width: 58px;height: 58px;flex-basis: 58px; }
#dla-kogo .grid-3 { gap: 14px; }
.audience-card-v5 { padding: 23px 22px 24px; }
.work-step,
  .start-step { grid-template-columns: 36px minmax(0, 1fr);gap: 13px;padding: 18px 0; }
.work-step-number,
  .start-step > span { width: 31px;height: 31px;font-size: .78rem; }
.reviews-hero { padding: 48px 0 44px; }
}
@media (min-width: 901px) and (max-width: 1040px) {
.hero-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 800px) {
.service-facts,
  .medical-points { grid-template-columns: 1fr; }
.service-facts { width: min(100% - 26px, 1180px);margin-top: 28px; }
.service-plan-note { width: min(100% - 26px, 1180px);margin-top: -50px; }
}
@media (max-width: 360px) {
.reviews-hero h1 { font-size:clamp(2.15rem,11.5vw,2.75rem);overflow-wrap:anywhere;hyphens:auto; }
.contact-card { padding:22px 18px; }
.contact-link { font-size:clamp(1.05rem,7vw,1.45rem); }
.container, .narrow { width:min(100% - 20px,1180px); }
}

.pricing-rules-link { display:inline-flex;font-weight:950;text-underline-offset:5px; }


/* =========================
   V7.3 – spacing, Port Praski crop and content refinements
   ========================= */
#dla-kogo { padding-top: 48px; }
.section-head { margin-bottom: 32px; }
.hero-eyebrow { color: #303030; }
.hero h1 { max-width: 8.5ch; }

.theme-just .local-copy h1 {
  font-size: clamp(2.8rem, 4.3vw, 4.35rem);
  line-height: .98;
  max-width: 10ch;
}
.location-identity {
  margin: 0 0 20px;
  color: #ffca28;
  font-size: .86rem;
  line-height: 1.45;
  font-weight: 950;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.local-photo picture {
  display: block;
  width: 100%;
  height: 100%;
}
.theme-just .local-photo {
  background: #171717;
}
.theme-just .local-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 57% center;
}
.entry-section {
  padding-top: 18px;
}
.entry-card {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(36px, 6vw, 82px);
  padding: clamp(28px, 5vw, 54px);
  border: 2px solid var(--ink);
  border-radius: 28px;
  background: #fff;
  box-shadow: 7px 7px 0 var(--yellow);
}
.entry-card h2 {
  font-size: clamp(2rem, 4vw, 3.45rem);
}
.entry-copy p {
  margin: 0 0 17px;
  color: #292929;
  font-size: 1.03rem;
  line-height: 1.68;
}
.entry-copy .button {
  margin-top: 5px;
}

.contact-card h2 { margin-bottom: 22px; }

@media (max-width: 900px) {
  .section { padding: 56px 0; }
  .section-head { margin-bottom: 26px; }
  #dla-kogo { padding-top: 40px; }
  .hero { padding-bottom: 44px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-media { width: 100%; }
  .hero-image { width: 100%; }
  .local-photo {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
  .theme-just .local-photo img {
    object-position: center center;
  }
  .entry-card {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
@media (max-width: 620px) {
  .section { padding: 52px 0; }
  .section-head { margin-bottom: 26px; }
  #dla-kogo { padding-top: 36px; }
  .hero { padding-bottom: 40px; }
}


/* =========================
   V7.4 – grouped FAQ
   ========================= */
.faq-groups {
  display: grid;
  gap: 46px;
}
.faq-group {
  min-width: 0;
}
.faq-group-title {
  margin: 0 0 14px;
  font-size: clamp(1.45rem, 2.7vw, 2rem);
  line-height: 1.12;
}
.faq-group .faq-list {
  width: 100%;
}
@media (max-width: 620px) {
  .faq-groups {
    gap: 38px;
  }
  .faq-group-title {
    margin-bottom: 10px;
  }
}

/* SEO content pages — v1.2 */
.section-guides { background:#ebe9e2; }
.section-head-guides { grid-template-columns:1fr; align-items:start; max-width:860px; margin-bottom:38px; }
.section-head-guides h2 { max-width:15ch; }
.section-head-guides .section-intro { margin:20px 0 0; max-width:720px; color:#353535; font-size:1.08rem; line-height:1.68; }
.guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.guide-grid-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
.guide-card { min-width:0; overflow:hidden; background:#fff; border:2px solid var(--ink); border-radius:24px; box-shadow:6px 6px 0 var(--ink); display:flex; flex-direction:column; }
.guide-card-media { display:block; width:100%; aspect-ratio:4/3; overflow:hidden; background:#d7d5cf; border-bottom:2px solid var(--ink); }
.guide-card-media img { width:100%; height:100%; object-fit:cover; }
.guide-card-body { padding:24px 25px 26px; display:flex; flex:1; flex-direction:column; }
.guide-card h2,.guide-card h3 { font-size:clamp(1.35rem,1.85vw,1.72rem); line-height:1.12; margin:10px 0 14px; letter-spacing:-.025em; }
.guide-card h2 a,.guide-card h3 a { text-decoration:none; }
.guide-card p { color:#3f3f3f; line-height:1.62; }
.guide-card .offer-link { margin-top:24px; align-self:flex-start; }
.guide-kicker { margin:0; text-transform:uppercase; font-size:.76rem; letter-spacing:.1em; font-weight:950; color:#8a3300!important; }
.guide-actions { margin-top:48px; align-items:flex-start; }

.article-index-hero { padding:58px 0 34px; }
.article-index-hero h1 { font-size:clamp(2.55rem,4.2vw,4.15rem); max-width:16ch; }
.article-index-hero .article-lead { max-width:720px; }
.article-hero { padding:54px 0 52px; }
.article-hero .breadcrumbs { margin-bottom:32px; }
.article-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:clamp(38px,5vw,72px); align-items:center; }
.article-hero-copy { min-width:0; }
.article-hero h1 { font-size:clamp(2.5rem,4.2vw,4.1rem); line-height:1.01; max-width:13ch; }
.article-lead { font-size:clamp(1.08rem,1.55vw,1.25rem); color:#353535; max-width:680px; line-height:1.65; margin:22px 0; }
.article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:9px 22px; color:#5f5f5f; font-size:.92rem; line-height:1.45; margin:22px 0 0; }
.article-meta span { display:inline-flex; align-items:center; }
.article-meta span + span::before { content:"•"; margin-right:22px; color:var(--orange-strong); font-weight:950; }
.article-cover-media { display:block; min-width:0; }
.article-cover { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:26px; border:2px solid var(--ink); box-shadow:9px 9px 0 var(--orange); }
.article-body { padding-top:44px; padding-bottom:58px; }
.article-body h2 { font-size:clamp(1.7rem,2.75vw,2.45rem); margin:50px 0 17px; line-height:1.08; }
.article-body h3 { font-size:1.32rem; margin:30px 0 11px; }
.article-body p,.article-body li { font-size:1.06rem; line-height:1.78; color:#303030; }
.article-body ul,.article-body ol { padding-left:25px; }
.article-body li { margin:9px 0; }
.article-body a { text-decoration-thickness:2px; text-underline-offset:4px; font-weight:750; }
.article-summary { background:#fff; border-left:7px solid var(--orange); padding:22px 24px; border-radius:0 18px 18px 0; margin:0 0 38px; }
.article-related { margin-top:54px; padding:27px; background:#ebe9e2; border-radius:22px; }
.article-related h2 { margin-top:0; }
.article-cta { padding:18px 0 112px; background:var(--paper); }
.article-cta .cta-panel { margin-inline:auto; }
.location-inline-link { text-decoration-thickness:2px; text-underline-offset:4px; }
.article-teaser { background:#ebe9e2; }

@media (max-width:900px){
  .guide-grid,.guide-grid-index{grid-template-columns:1fr 1fr}
  .article-hero-grid{grid-template-columns:1fr;gap:34px}
  .article-hero-copy{max-width:760px}
  .article-cover-media{max-width:760px}
  .article-hero h1{max-width:15ch}
}
@media (max-width:620px){
  .guide-grid,.guide-grid-index{grid-template-columns:1fr}
  .guide-card-body{padding:22px 21px 24px}
  .guide-actions{margin-top:38px}
  .article-index-hero,.article-hero{padding:42px 0 30px}
  .article-hero .breadcrumbs{margin-bottom:24px}
  .article-hero-grid{gap:26px}
  .article-hero h1,.article-index-hero h1{font-size:clamp(2.3rem,11vw,3.2rem)}
  .article-meta{display:grid;gap:4px;margin-top:18px}
  .article-meta span + span::before{content:none}
  .article-body{padding-top:28px;padding-bottom:46px}
  .article-body h2{margin-top:40px}
  .article-cover{border-radius:20px;box-shadow:7px 7px 0 var(--orange)}
  .article-cta{padding:12px 0 82px}
}


/* =========================================================
   SEO / UX v1.3 — quieter typography, rebuilt guide cards,
   article layout and cache-safe release
   ========================================================= */

/* Overall typography: headings remain strong but no longer overpower body copy. */
h1 { font-size: clamp(2.65rem, 4.55vw, 4.45rem); }
h2 { font-size: clamp(1.95rem, 3.15vw, 3rem); }
.subhero h1 { font-size: clamp(2.6rem, 4.25vw, 4.15rem); }
.local-copy h1 { font-size: clamp(2.6rem, 4.1vw, 4.15rem); }
.hero h1 { font-size: clamp(2.8rem, 4.45vw, 4.4rem); }
.section-head { gap: 34px; }
.section-head p { font-size: 1.03rem; line-height: 1.65; }

/* Guides on the home page */
.section-guides { background: #eceae4; }
.section-head-guides {
  display: block;
  max-width: 780px;
  margin-bottom: 34px;
}
.section-head-guides h2 {
  max-width: 18ch;
  font-size: clamp(2.25rem, 3.45vw, 3.35rem);
  line-height: 1.04;
}
.section-head-guides .section-intro {
  max-width: 700px;
  margin: 16px 0 0;
  font-size: 1.05rem;
  line-height: 1.65;
}
.guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  align-items: stretch;
}
.guide-grid-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.guide-card {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 2px solid var(--ink);
  border-radius: 22px;
  box-shadow: 5px 5px 0 var(--ink);
  display: flex;
  flex-direction: column;
}
.guide-card-media {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #d7d5cf;
  border-bottom: 2px solid var(--ink);
}
.guide-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.guide-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px 22px 23px;
}
.guide-kicker {
  margin: 0 0 8px;
  color: #6f2b00 !important;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .1em;
  line-height: 1.3;
  text-transform: uppercase;
}
.guide-card h2,
.guide-card h3 {
  margin: 0 0 11px;
  font-size: clamp(1.28rem, 1.55vw, 1.52rem);
  line-height: 1.13;
  letter-spacing: -.025em;
}
.guide-card h2 a,
.guide-card h3 a {
  text-decoration: none;
}
.guide-card h2 a:hover,
.guide-card h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.guide-card p {
  margin: 0;
  color: #3d3d3d;
  font-size: .98rem;
  line-height: 1.58;
}
.guide-card .offer-link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: auto;
  padding: 0 16px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font-size: .9rem;
  font-weight: 900;
  text-decoration: none;
}
.guide-card .offer-link:hover { background: var(--ink); color: #fff; }
.guide-card .offer-link::after { content: "→"; margin-left: 8px; }
.guide-card-body > p + .offer-link { margin-top: 22px; }
.guide-actions {
  display: flex;
  clear: both;
  margin-top: 34px;
  padding-top: 0;
}
.guide-actions .button { position: static; margin: 0; }

/* Poradniki listing */
.article-index-hero { padding: 54px 0 30px; }
.article-index-hero .narrow { width: min(1180px, calc(100% - 40px)); }
.article-index-hero h1 {
  max-width: none;
  font-size: clamp(2.55rem, 4.1vw, 4rem);
  line-height: 1;
}
.article-index-hero .article-lead {
  max-width: 760px;
  margin-top: 18px;
  font-size: clamp(1.05rem, 1.4vw, 1.18rem);
  line-height: 1.65;
}
.article-index-hero + .section { padding-top: 34px; }
.guide-grid-index .guide-card-media { aspect-ratio: 16 / 9; }

/* Article heroes */
.article-hero { padding: 50px 0 42px; }
.article-hero .breadcrumbs { margin-bottom: 28px; }
.article-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(400px, 1.08fr);
  gap: clamp(34px, 4.5vw, 62px);
  align-items: center;
}
.article-hero h1 {
  max-width: 13ch;
  font-size: clamp(2.35rem, 3.55vw, 3.55rem);
  line-height: 1.02;
}
.article-lead {
  max-width: 660px;
  margin: 18px 0;
  color: #353535;
  font-size: clamp(1.03rem, 1.35vw, 1.16rem);
  line-height: 1.62;
}
.article-meta { margin-top: 18px; font-size: .9rem; }
.article-cover-media { min-width: 0; }
.article-cover {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  border: 2px solid var(--ink);
  border-radius: 24px;
  box-shadow: 8px 8px 0 var(--orange);
}
.article-body { padding-top: 38px; padding-bottom: 54px; }
.article-body h2 {
  margin: 46px 0 15px;
  font-size: clamp(1.55rem, 2.25vw, 2.18rem);
  line-height: 1.1;
}
.article-body p,
.article-body li { font-size: 1.03rem; line-height: 1.74; }
.article-related { margin-top: 48px; }
.article-cta { padding: 22px 0 96px; }
.article-cta + * { margin-top: 0; }

@media (max-width: 900px) {
  .guide-grid,
  .guide-grid-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .article-hero-copy,
  .article-cover-media { max-width: 760px; }
  .article-hero h1 { max-width: 16ch; }
}

@media (max-width: 620px) {
  h1 { font-size: clamp(2.25rem, 10.8vw, 3.15rem); }
  h2 { font-size: clamp(1.8rem, 8.2vw, 2.45rem); }
  .hero h1 { font-size: clamp(2.35rem, 11vw, 3.25rem); }
  .subhero h1,
  .local-copy h1 { font-size: clamp(2.25rem, 10vw, 3.1rem); }
  .section-head-guides h2 { font-size: clamp(2rem, 9.5vw, 2.75rem); }
  .guide-grid,
  .guide-grid-index { grid-template-columns: 1fr; }
  .guide-card-media,
  .guide-grid-index .guide-card-media { aspect-ratio: 16 / 10; }
  .guide-card-body { padding: 20px 19px 21px; }
  .guide-actions { margin-top: 28px; }
  .guide-actions .button { width: 100%; }
  .article-index-hero,
  .article-hero { padding: 40px 0 28px; }
  .article-index-hero .narrow { width: min(100% - 26px, 1180px); }
  .article-index-hero h1 { font-size: clamp(2.35rem, 11vw, 3.1rem); }
  .article-hero h1 { font-size: clamp(2.2rem, 10.3vw, 3rem); max-width: none; }
  .article-hero-grid { gap: 24px; }
  .article-cover { border-radius: 18px; box-shadow: 6px 6px 0 var(--orange); }
  .article-body { padding-top: 26px; padding-bottom: 42px; }
  .article-body h2 { margin-top: 36px; }
  .article-cta { padding: 14px 0 72px; }
}

/* --- Article desktop/layout hotfix v1.4 --- */
.article-hero {
  padding: 44px 0 22px;
}
.article-hero .container {
  width: min(100% - 40px, 1120px);
}
.article-hero .breadcrumbs {
  margin-bottom: 22px;
}
.article-hero-grid {
  display: block;
}
.article-hero-copy {
  max-width: 900px;
}
.article-hero h1 {
  max-width: 12ch;
  font-size: clamp(2.55rem, 4vw, 4.35rem);
  line-height: 0.98;
  letter-spacing: -0.03em;
}
.article-lead {
  max-width: 820px;
  margin: 18px 0 0;
  font-size: clamp(1.02rem, 1.25vw, 1.14rem);
  line-height: 1.68;
}
.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 16px;
  color: #4a4a4a;
  font-size: .92rem;
}
.article-cover-media {
  display: block;
  margin-top: 26px;
}
.article-cover {
  display: block;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  max-height: 620px;
  object-fit: cover;
  object-position: center 34%;
  border: 2px solid var(--ink);
  border-radius: 28px;
  box-shadow: 9px 9px 0 var(--orange);
}
.article-page .narrow,
.article-body.narrow,
.article-cta .narrow {
  width: min(100% - 40px, 860px);
  margin-inline: auto;
}
.article-body {
  padding-top: 28px;
  padding-bottom: 52px;
}
.article-summary {
  margin: 0 0 22px;
  padding: 18px 20px;
  border: 2px solid rgba(11,11,11,.12);
  border-radius: 18px;
  background: #f5f3ee;
}
.article-body h2 {
  margin: 40px 0 14px;
  font-size: clamp(1.6rem, 2.1vw, 2.15rem);
  line-height: 1.08;
}
.article-body p,
.article-body li {
  font-size: 1.04rem;
  line-height: 1.76;
  color: #2f2f2f;
}
.article-related {
  margin-top: 42px;
  padding-top: 4px;
}
.article-related ul {
  padding-left: 22px;
}
.article-cta {
  padding: 10px 0 92px;
}

@media (max-width: 900px) {
  .article-hero h1 {
    max-width: 14ch;
    font-size: clamp(2.35rem, 7.1vw, 3.3rem);
  }
  .article-cover {
    aspect-ratio: 4 / 3;
    max-height: none;
    object-position: center 30%;
  }
}

@media (max-width: 620px) {
  .article-hero {
    padding: 38px 0 18px;
  }
  .article-hero .container,
  .article-page .narrow,
  .article-body.narrow,
  .article-cta .narrow {
    width: min(100% - 26px, 860px);
  }
  .article-hero h1 {
    max-width: none;
    font-size: clamp(2.15rem, 10.4vw, 3rem);
  }
  .article-meta {
    gap: 6px 12px;
    font-size: .88rem;
  }
  .article-cover-media {
    margin-top: 22px;
  }
  .article-cover {
    aspect-ratio: 4 / 3;
    border-radius: 20px;
    box-shadow: 7px 7px 0 var(--orange);
  }
  .article-summary {
    padding: 16px 16px;
  }
  .article-cta {
    padding: 6px 0 72px;
  }
}

/* =========================================================
   Poradniki v1.5 — spokojny, profesjonalny układ redakcyjny
   ========================================================= */
.article-layout .floating-wa { display: none; }

.article-layout .article-hero {
  padding: 40px 0 24px;
}
.article-layout .article-hero .container {
  width: min(100% - 48px, 1080px);
}
.article-layout .article-hero .breadcrumbs {
  margin-bottom: 24px;
}
.article-layout .article-hero-grid {
  display: block;
}
.article-layout .article-hero-copy {
  max-width: 900px;
}
.article-layout .article-hero h1 {
  max-width: 14ch;
  margin-top: 14px;
  font-size: clamp(2.75rem, 4.15vw, 4.4rem);
  line-height: .99;
  letter-spacing: -.035em;
}
.article-layout .article-lead {
  max-width: 780px;
  margin: 20px 0 0;
  font-size: clamp(1.05rem, 1.22vw, 1.16rem);
  line-height: 1.7;
  color: #333;
}
.article-layout .article-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 13px;
  margin-top: 18px;
  color: #5a5a5a;
  font-size: .9rem;
}
.article-layout .article-meta-separator {
  color: #9b9b9b;
}
.article-layout .article-cover-media {
  display: block;
  margin-top: 28px;
}
.article-layout .article-cover {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-height: 590px;
  object-fit: cover;
  object-position: center;
  border: 2px solid var(--ink);
  border-radius: 24px;
  box-shadow: 7px 7px 0 var(--orange);
}

.article-layout .article-body,
.article-layout .article-end .narrow {
  width: min(100% - 48px, 820px);
  margin-inline: auto;
}
.article-layout .article-body {
  padding-top: 34px;
  padding-bottom: 54px;
}
.article-layout .article-body p,
.article-layout .article-body li {
  font-size: 1.075rem;
  line-height: 1.78;
  color: #292929;
}
.article-layout .article-body > p {
  margin: 0 0 20px;
}
.article-layout .article-body h2 {
  scroll-margin-top: 110px;
  margin: 46px 0 15px;
  font-size: clamp(1.65rem, 2.05vw, 2.2rem);
  line-height: 1.1;
  letter-spacing: -.02em;
}
.article-layout .article-body h3 {
  scroll-margin-top: 110px;
  margin: 34px 0 12px;
  font-size: 1.35rem;
  line-height: 1.2;
}
.article-layout .article-body ul,
.article-layout .article-body ol {
  margin: 0 0 24px;
  padding-left: 24px;
}
.article-layout .article-body li {
  margin: 7px 0;
}
.article-layout .article-body a {
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
}

.article-layout .article-summary {
  margin: 0 0 24px;
  padding: 20px 22px;
  border-left: 5px solid var(--orange);
  border-radius: 0 16px 16px 0;
  background: #f2f0eb;
  color: #242424;
}
.article-layout .article-summary strong {
  color: var(--ink);
}

.article-layout .article-toc {
  margin: 0 0 38px;
  padding: 22px 24px;
  border: 1.5px solid #c9c6bf;
  border-radius: 18px;
  background: #fff;
}
.article-layout .article-toc-title {
  margin: 0 0 14px;
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--ink);
}
.article-layout .article-toc ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 28px;
  margin: 0;
  padding-left: 22px;
}
.article-layout .article-toc li {
  margin: 0;
  font-size: .98rem;
  line-height: 1.45;
}
.article-layout .article-toc a {
  font-weight: 650;
  color: #252525;
  text-decoration-thickness: 1px;
}

.article-layout .article-related {
  margin-top: 50px;
  padding-top: 6px;
}
.article-layout .article-related h2 {
  margin-top: 0;
}
.article-layout .article-related ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.article-layout .article-related li {
  margin: 0;
}
.article-layout .article-related a {
  display: flex;
  min-height: 100%;
  align-items: center;
  padding: 15px 16px;
  border: 1.5px solid #c9c6bf;
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  font-size: .95rem;
  line-height: 1.35;
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}
.article-layout .article-related a:hover {
  border-color: var(--ink);
  transform: translateY(-2px);
}

.article-layout .article-end {
  padding: 4px 0 88px;
}
.article-layout .article-author-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: end;
  padding: 28px 30px;
  border: 2px solid var(--ink);
  border-radius: 22px;
  background: #f4f2ed;
}
.article-layout .article-author-box .eyebrow {
  margin-bottom: 12px;
}
.article-layout .article-author-box h2 {
  margin: 0 0 8px;
  font-size: clamp(1.75rem, 2.2vw, 2.25rem);
}
.article-layout .article-author-box p:not(.eyebrow) {
  max-width: 620px;
  margin: 0;
  color: #3c3c3c;
  font-size: 1rem;
  line-height: 1.65;
}
.article-layout .article-author-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.article-layout .article-author-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1.5px solid var(--ink);
  border-radius: 999px;
  color: var(--ink);
  font-weight: 850;
  text-decoration: none;
}
.article-layout .article-author-links a:hover {
  background: var(--ink);
  color: #fff;
}

@media (max-width: 900px) {
  .article-layout .article-hero .container,
  .article-layout .article-body,
  .article-layout .article-end .narrow {
    width: min(100% - 34px, 820px);
  }
  .article-layout .article-hero h1 {
    max-width: 16ch;
    font-size: clamp(2.4rem, 7vw, 3.45rem);
  }
  .article-layout .article-cover {
    aspect-ratio: 4 / 3;
    max-height: none;
  }
  .article-layout .article-related ul {
    grid-template-columns: 1fr;
  }
  .article-layout .article-author-box {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .article-layout .article-author-links {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .article-layout .article-hero {
    padding: 34px 0 18px;
  }
  .article-layout .article-hero .container,
  .article-layout .article-body,
  .article-layout .article-end .narrow {
    width: min(100% - 26px, 820px);
  }
  .article-layout .article-hero .breadcrumbs {
    margin-bottom: 20px;
  }
  .article-layout .article-hero h1 {
    max-width: none;
    font-size: clamp(2.15rem, 10.2vw, 3rem);
  }
  .article-layout .article-lead {
    font-size: 1rem;
  }
  .article-layout .article-meta {
    gap: 5px 10px;
    font-size: .86rem;
  }
  .article-layout .article-meta-separator {
    display: none;
  }
  .article-layout .article-meta time {
    flex-basis: 100%;
  }
  .article-layout .article-cover-media {
    margin-top: 22px;
  }
  .article-layout .article-cover {
    aspect-ratio: 4 / 3;
    border-radius: 18px;
    box-shadow: 6px 6px 0 var(--orange);
  }
  .article-layout .article-body {
    padding-top: 28px;
    padding-bottom: 46px;
  }
  .article-layout .article-body p,
  .article-layout .article-body li {
    font-size: 1rem;
    line-height: 1.72;
  }
  .article-layout .article-body h2 {
    margin-top: 38px;
    font-size: clamp(1.55rem, 7.5vw, 2rem);
  }
  .article-layout .article-summary {
    padding: 17px 17px;
  }
  .article-layout .article-toc {
    padding: 18px 18px;
  }
  .article-layout .article-toc ol {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .article-layout .article-author-box {
    padding: 23px 21px;
    border-radius: 18px;
  }
  .article-layout .article-author-links {
    width: 100%;
  }
  .article-layout .article-author-links a {
    justify-content: center;
    flex: 1 1 180px;
  }
  .article-layout .article-end {
    padding-bottom: 66px;
  }
}
