: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(3rem, 7vw, 6.35rem);font-weight: 950; }
h2 { font-size: clamp(2.25rem, 5vw, 4.35rem);font-weight: 950; }
h3 { font-size: clamp(1.25rem, 2.1vw, 1.72rem);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(3rem, 6.7vw, 6rem); }
.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(3rem, 6vw, 6rem); }
.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.8rem,5vw,4.5rem);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: -40px 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; }
.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.75rem, 16vw, 4.4rem); }
.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: -25px; }
.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(3rem, 5vw, 4.7rem);
  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;
  }
}


/* V7.5.2 – compact service points and better spacing */
.personal-points,
.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: 22px;
  background: #3a3a3a;
}

.personal-points li,
.medical-points li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  padding: 23px 24px;
  background: #171717;
}

.personal-points li > span,
.medical-points li > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--orange);
  color: #111;
  font-size: .76rem;
  line-height: 1;
  font-weight: 950;
}

.personal-points h3,
.medical-points h3 {
  margin: 1px 0 7px;
  color: #fff;
  font-size: 1.18rem;
  line-height: 1.18;
}

.personal-points p,
.medical-points p {
  margin: 0;
  color: #d7d7d7;
  line-height: 1.55;
}

.detail-grid .card {
  padding-bottom: 38px;
}

.detail-grid .big-list {
  margin-bottom: 0;
}

.detail-grid .big-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

@media (max-width: 800px) {
  .personal-points,
  .medical-points {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .personal-points li,
  .medical-points li {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 11px;
    padding: 20px;
  }

  .personal-points li > span,
  .medical-points li > span {
    width: 25px;
    height: 25px;
    font-size: .7rem;
  }

  .detail-grid .card {
    padding-bottom: 30px;
  }
}


/* V7.5.3 – poprawiona sekcja „Współpraca” */
.service-cooperation {
  padding-bottom: 72px;
}

.service-cooperation .detail-grid {
  position: relative;
  z-index: 1;
}

.service-facts-wrap {
  margin-top: 42px;
}

.service-facts-wrap .service-facts {
  width: 100%;
  margin: 0;
}

.detail-grid .big-list {
  margin-top: 0;
  margin-bottom: 0;
}

.detail-grid .big-list li:last-child {
  border-bottom: 0;
  padding-bottom: 17px;
}

@media (max-width: 800px) {
  .service-facts-wrap {
    margin-top: 30px;
  }

  .service-facts-wrap .service-facts {
    width: 100%;
    margin: 0;
  }
}

@media (max-width: 620px) {
  .service-cooperation {
    padding-bottom: 58px;
  }

  .service-facts-wrap {
    margin-top: 26px;
  }
}


/* V7.5.4 – poprawki po wdrożeniu */
.theme-zdrofit .local-copy {
  padding: clamp(32px, 4vw, 55px);
}

.theme-zdrofit .local-copy h1 {
  font-size: clamp(3rem, 5vw, 4.7rem);
  line-height: .98;
  max-width: 11ch;
}

.theme-zdrofit .local-copy h1 span {
  display: block;
}

.nowrap {
  white-space: nowrap;
}

@media (max-width: 620px) {
  .theme-zdrofit .local-copy {
    padding: 30px 24px 34px;
  }

  .theme-zdrofit .local-copy h1 {
    font-size: clamp(2.75rem, 12vw, 3.5rem);
    max-width: none;
  }
}


/* V7.5.5 – uporządkowane podstrony treningowe */
.service-page .credentials {
  display: block !important;
  margin: 0 0 28px;
  color: #2d2d2d;
  font-weight: 850;
}

.service-page .subhero h1 {
  max-width: 10ch;
}

.service-page .section-head > p {
  line-height: 1.65;
}

.service-options {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
}

.service-options li {
  padding: 21px 0;
  border-bottom: 1px solid var(--line);
}

.service-options h3 {
  margin: 0 0 8px;
  font-size: 1.22rem;
  line-height: 1.2;
  letter-spacing: -.02em;
}

.service-options p {
  margin: 0;
  color: #444;
  line-height: 1.6;
}

.service-cooperation .sticky-card .lead {
  margin: 22px 0 27px;
}

.service-facts a {
  font-weight: 850;
  text-underline-offset: 4px;
}

@media (max-width: 900px) {
  .service-page .subhero h1 {
    max-width: none;
  }

  .service-options {
    margin-top: 8px;
  }
}

@media (max-width: 620px) {
  .service-page .subhero {
    padding-top: 42px;
  }

  .service-page .subhero h1 {
    font-size: clamp(2.75rem, 14vw, 4.1rem);
    line-height: 1;
  }

  .service-page .credentials {
    margin-bottom: 24px;
  }

  .service-options li {
    padding: 18px 0;
  }

  .service-options h3 {
    font-size: 1.12rem;
  }
}
