    a, button { touch-action: manipulation; }
    .wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }

    /* Breadcrumb */
    .sp-bc { font-family: var(--font-mono); font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; font-size: 11px; color: var(--color-ink-soft); padding: 28px 0 0; }
    .sp-bc .sep { color: var(--color-orange); margin: 0 0.6em; }
    .sp-bc .here { color: var(--color-navy); }

    /* Hero — full-bleed wideo + typ na wierzchu (kierunek E, zaakceptowany) */
    .sp-hero { position: relative; min-height: calc(var(--vh, 1vh) * 100 - 56px); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; background: var(--color-navy); --halo: 0 0 42px rgba(20,35,61,.60), 0 0 18px rgba(20,35,61,.65), 0 2px 8px rgba(0,0,0,.50); }
    .sp-stage { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
    .sp-stage video { width: 100%; height: 100%; object-fit: cover; object-position: center; }
    /* samo przyciemnienie, bez navy tintu (czarny overlay) */
    .sp-stage::after { content: ""; position: absolute; inset: 0; background: #000; opacity: 0.20; pointer-events: none; }
    .sp-hero-bc { position: absolute; top: 28px; left: 0; right: 0; z-index: 3; max-width: 1080px; margin: 0 auto; padding: 0 24px; font-family: var(--font-mono); font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; font-size: 11px; color: var(--color-white-clean); text-shadow: 0 1px 8px rgba(20,35,61,0.8); }
    .sp-hero-bc .sep { color: var(--color-orange); margin: 0 0.6em; }
    .sp-hero-inner { position: relative; z-index: 2; width: 100%; max-width: 1080px; margin: 0 auto; padding: 0 24px 76px; }
    .sp-hero h1 { font-family: var(--font-display); font-weight: 600; font-size: clamp(38px, 6.2vw, 84px); line-height: 0.98; letter-spacing: -0.04em; color: var(--color-paper); max-width: 17ch; text-wrap: balance; text-shadow: var(--halo); }
    .sp-hero h1 .q { color: var(--color-orange); white-space: nowrap; }
    .sp-hero h1 .ln { display: block; }
    .sp-hero h1 .ln + .ln { margin-top: 0.4em; }
    .sp-hero-cta { display: inline-flex; align-items: center; gap: 0.5em; margin-top: 34px; padding: 16px 28px; background: var(--color-orange); color: var(--color-white-clean); font-family: var(--font-mono); font-weight: 500; text-transform: uppercase; letter-spacing: 0.10em; font-size: 13px; text-decoration: none; transition: background var(--motion-fast) ease; white-space: nowrap; box-shadow: 0 6px 24px rgba(20,35,61,0.45); }
    .sp-hero-cta:hover { background: var(--color-orange-deep); }
    .sp-hero-cta .arr { font-family: var(--font-display); }
    /* Intro — pełny lead (copy Stanisława, przeniesiony z hero), paper */
    /* INTRO: sekcja pełnej szerokości, rycina przyklejona do prawej krawędzi ekranu */
    .sp-intro { position: relative; overflow: hidden; min-height: 0; padding: 108px 0; }
    .sp-intro .inner { max-width: 1080px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }
    .sp-intro p { font-family: var(--font-body); font-size: clamp(17px, 2.2vw, 20px); line-height: 1.6; color: var(--color-ink-soft); max-width: 54ch;
      text-shadow: 0 0 4px var(--color-paper), 0 0 8px var(--color-paper), 0 0 8px var(--color-paper), 0 0 14px var(--color-paper); }
    .sp-intro strong { color: var(--color-navy); font-weight: 700; }
    @media (max-width: 860px) {
      .sp-hero-inner { padding-bottom: 48px; }
    }

    /* Linia-kontrast — navy band, 3x "Bez..." + rycina kręgosłupa */
    .sp-contrast { background: var(--color-navy); color: var(--color-paper); padding: 64px 0; position: relative; overflow: hidden; }
    .sp-contrast .inner { max-width: 1080px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }
    /* tło linii-kontrastu: dwa kręgosłupy (białe przez invert), bleed, nisko */
    .sp-bg-spines { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
    .sp-bg-spines img { position: absolute; width: auto; filter: invert(1); }
    .sp-bg-spines img:nth-child(1) { right: 7%; top: -22%; height: 150%; opacity: 0.13; }
    .sp-bg-spines img:nth-child(2) { right: 19%; top: -14%; height: 132%; opacity: 0.07; transform: scaleX(-1); }
    /* cta-bottom: rycina w kolumnie (jak było) */
    /* CTA bottom: szeroka plansza atlasowa (negatyw, z podpisami) jako tło pod tekstem */
    .sp-cta-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
    .sp-cta-bg img { position: absolute; top: 100%; left: 0; width: 100%; height: auto; transform: translateY(-50%); filter: invert(1); opacity: 0.1; }
    .sp-band-fig { width: 100%; height: auto; max-height: 720px; opacity: 0.26; filter: invert(1); pointer-events: none; justify-self: center; }
    /* lista "Bez ..." — anafora w orange jako punktor + hairline-dividery */
    .sp-bez { list-style: none; max-width: 58ch; }
    .sp-bez li { font-family: var(--font-body); font-style: italic; font-weight: 400; font-size: clamp(22px, 3vw, 34px); line-height: 1.3; color: var(--color-paper); padding: 22px 0; border-top: 1px solid rgba(244,240,230,0.16); }
    .sp-bez li:first-child { border-top: none; padding-top: 4px; }
    .sp-bez .b { font-family: var(--font-display); font-style: normal; font-weight: 700; color: var(--color-orange); }
    .sp-contrast .q { color: var(--color-paper); }
    /* Foto mostkujące szew Bez / Jak to wygląda — unosi się nad sekcjami (odbitka na dwóch kartkach) */
    .sp-photo-bridge { position: relative; z-index: 5; height: 0; pointer-events: none; }
    .sp-bridge-mobile { display: none; }
    .sp-photo { position: absolute; top: 0; left: 70%; transform: translate(-50%, -50%) rotate(2.5deg); width: min(360px, 60vw); margin: 0; filter: drop-shadow(4px 8px 12px rgba(20,35,61,0.35)); will-change: transform; }
    .sp-photo img { display: block; width: 100%; height: auto; }

    /* Section head */
    .sp-sechead { display: flex; align-items: baseline; justify-content: space-between; padding: 64px 0 28px; }
    .sp-sechead h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(28px, 3.6vw, 40px); letter-spacing: -0.025em; color: var(--color-navy); text-wrap: balance; }
    .sp-sechead .nn { font-family: var(--font-mono); font-weight: 500; text-transform: uppercase; letter-spacing: 0.10em; font-size: 12px; color: var(--color-orange); }

    /* Proces I-IV */
    /* Proces — wariant B: wielka cyfra-ghost po lewej, tekst obok */
    .sp-step { display: grid; grid-template-columns: 200px 1fr; gap: 28px; align-items: center; padding: 6px 0; border-bottom: 1px solid rgba(20,35,61,0.18); }
    .sp-step:first-child { border-top: 1px solid rgba(20,35,61,0.18); }
    .sp-step-n { font-family: var(--font-display); font-weight: 700; font-size: clamp(56px, 12vw, 150px); line-height: 0.82; letter-spacing: -0.03em; color: var(--color-navy); opacity: 0.14; }
    .sp-step-t { font-family: var(--font-body); font-weight: 400; font-size: clamp(19px, 2.6vw, 26px); letter-spacing: -0.01em; color: var(--color-navy); line-height: 1.4; max-width: 46ch; }

    /* Karty produktów — trzy równe karty; flagship sygnalizowany navy fill (sp-card--flagship), nie szerokością */
    .sp-deck { display: grid; grid-template-columns: 1fr 1fr 1fr; border: 1px solid var(--color-navy); }
    .sp-card { display: flex; flex-direction: column; padding: 30px 26px 26px; background: var(--color-paper-dark); color: var(--color-navy); text-decoration: none; border-right: 1px solid var(--color-navy); transition: background var(--motion-fast) ease; }
    .sp-card:last-child { border-right: none; }
    .sp-card:hover { background: var(--color-paper); }
    .sp-card-num { font-family: var(--font-mono); font-weight: 500; font-size: 12px; letter-spacing: 0.10em; color: var(--color-orange); }
    .sp-card-name { font-family: var(--font-display); font-weight: 600; font-size: 22px; letter-spacing: -0.02em; color: var(--color-navy); margin-top: 16px; line-height: 1.1; }
    .sp-card-line { font-family: var(--font-body); font-size: 15px; font-style: normal; color: var(--color-ink-soft); margin-top: 12px; margin-bottom: 28px; line-height: 1.6; }
    .sp-card-ul { list-style: none; margin-top: 18px; }
    .sp-card-ul li { font-family: var(--font-body); font-size: 14px; line-height: 1.4; color: var(--color-ink-soft); padding-left: 18px; position: relative; margin-bottom: 9px; }
    .sp-card-ul li::before { content: "+"; position: absolute; left: 0; color: var(--color-orange); font-family: var(--font-mono); }
    .sp-card-meta { font-family: var(--font-mono); font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; font-size: 11px; color: var(--color-navy); margin-top: 20px; padding-top: 14px; border-top: 1px solid rgba(20,35,61,0.25); line-height: 1.7; }
    .sp-card-meta .price { color: var(--color-orange); }
    .sp-card-cta { display: inline-flex; align-items: center; gap: 0.5em; align-self: flex-start; margin-top: auto; padding: 11px 16px; border: 1px solid var(--color-navy); font-family: var(--font-mono); font-weight: 500; text-transform: uppercase; letter-spacing: 0.10em; font-size: 12px; color: var(--color-navy); transition: background var(--motion-fast) ease, color var(--motion-fast) ease, border-color var(--motion-fast) ease; }
    .sp-card:hover .sp-card-cta { background: var(--color-orange); border-color: var(--color-orange); color: var(--color-white-clean); }
    .sp-card-cta .arr { font-family: var(--font-display); }
    .sp-card--flagship { background: var(--color-navy); }
    .sp-card--flagship .sp-card-name, .sp-card--flagship .sp-card-line { color: var(--color-paper); }
    .sp-card--flagship .sp-card-line { color: rgba(244,240,230,0.72); }
    .sp-card-line .hot { color: var(--color-orange); font-weight: 700; }
    .sp-card--flagship .sp-card-line .hot { color: var(--color-orange); }
    .sp-card--flagship .sp-card-ul li { color: rgba(244,240,230,0.78); }
    .sp-card--flagship .sp-card-meta { color: var(--color-paper); border-top-color: rgba(244,240,230,0.25); }
    .sp-card--flagship .sp-card-cta { color: var(--color-paper); border-color: rgba(244,240,230,0.5); }
    .sp-card--flagship:hover { background: var(--color-navy-soft); }
    .sp-card--flagship:hover .sp-card-cta { background: var(--color-orange); border-color: var(--color-orange); color: var(--color-white-clean); }

    .sp-helper { font-family: var(--font-body); font-size: 16px; color: var(--color-ink-soft); margin-top: 26px; line-height: 1.6; }
    .sp-helper a { color: var(--color-navy); text-decoration: none; border-bottom: 1px solid var(--color-orange); padding-bottom: 1px; }
    .sp-helper a:hover { color: var(--color-orange); }

    /* Dowód — testimonial (placeholder), bez stat-counter blocków */
    .sp-proof { position: relative; margin-top: 72px; padding: 48px 0; background: var(--color-paper-dark); border-top: 1px solid var(--color-navy); border-bottom: 1px solid var(--color-navy); }
    .sp-proof .inner { max-width: 756px; margin: 0 auto; padding: 0 24px; }
    .sp-proof-grid { display: grid; grid-template-columns: minmax(220px, 300px) 1fr; gap: 36px; align-items: center; }
    .sp-proof-photo { position: relative; z-index: 2; margin: 0; will-change: transform; filter: drop-shadow(10px 18px 34px rgba(20,35,61,0.34)); }
    .sp-proof-photo img { display: block; width: 152%; max-width: none; height: auto; margin: -52px 0 -52px -50%; }
    .sp-proof-name { font-family: var(--font-display); font-weight: 700; font-size: 24px; letter-spacing: -0.02em; color: var(--color-navy); line-height: 1.1; }
    .sp-proof-quals { list-style: none; margin-top: 16px; }
    .sp-proof-quals li { font-family: var(--font-mono); font-size: 13px; line-height: 1.5; color: var(--color-ink-soft); padding: 10px 0; border-top: 1px solid rgba(20,35,61,0.14); }
    .sp-proof-quals li:first-child { border-top: none; padding-top: 0; }
    @media (max-width: 860px) { .sp-proof { padding: 144px 0; } .sp-proof .inner { max-width: 760px; padding: 0 20px; } .sp-proof-grid { grid-template-columns: 1fr; gap: 24px; } .sp-proof-photo { max-width: 265px; position: absolute; top: 0; right: 0; margin: 0; z-index: 5; transform: translate(-73px, -66px) rotate(-3deg); } .sp-proof-photo img { width: 100%; margin: 0; transform: none; } }

    /* FAQ — editorialowa lista na hairline'ach (nie boxy); rozwijanie grid-rows 0fr->1fr, wskaźnik "+"->"x" */
    .sp-faq { border-top: 1px solid var(--color-navy); }
    .sp-faq-item { border-bottom: 1px solid var(--color-navy); }
    .sp-faq-q { width: 100%; background: none; border: 0; cursor: pointer; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; padding: 24px 0; text-align: left; color: var(--color-navy); }
    .sp-faq-qt { font-family: var(--font-display); font-weight: 600; font-size: clamp(18px, 2.4vw, 24px); letter-spacing: -0.01em; line-height: 1.3; transition: color var(--motion-fast) ease; }
    .sp-faq-q:hover .sp-faq-qt { color: var(--color-orange); }
    .sp-faq-ic { position: relative; flex: 0 0 auto; width: 20px; height: 20px; transition: transform 280ms cubic-bezier(0.4,0,0.2,1); }
    .sp-faq-ic::before, .sp-faq-ic::after { content: ""; position: absolute; top: 50%; left: 50%; background: var(--color-orange); }
    .sp-faq-ic::before { width: 18px; height: 2px; transform: translate(-50%, -50%); }
    .sp-faq-ic::after { width: 2px; height: 18px; transform: translate(-50%, -50%); }
    .sp-faq-q[aria-expanded="true"] .sp-faq-ic { transform: rotate(135deg); }
    .sp-faq-a-wrap { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 320ms cubic-bezier(0.4,0,0.2,1); }
    .sp-faq-q[aria-expanded="true"] + .sp-faq-a-wrap { grid-template-rows: 1fr; }
    .sp-faq-a { overflow: hidden; }
    .sp-faq-a-inner { font-family: var(--font-body); font-size: 16px; line-height: 1.55; color: var(--color-ink-soft); padding-bottom: 26px; max-width: 60ch; }
    @media (prefers-reduced-motion: reduce) { .sp-faq-a-wrap, .sp-faq-ic { transition: none; } }

    /* CTA bottom + rycina kończyny dolnej (kolano/bieganie) */
    .sp-cta-bottom { background: var(--color-navy); color: var(--color-paper); margin-top: 72px; padding: 64px 0; position: relative; overflow: hidden; }
    .sp-cta-bottom .inner { max-width: 1080px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; }
    @media (max-width: 860px) {
      .sp-cta-bottom .inner { grid-template-columns: 1fr; gap: 30px; }
      .sp-band-fig { height: 320px; width: auto; max-height: none; justify-self: start; }
      .sp-bg-spines { display: none; }
      .sp-cta-bg img { top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; transform: scale(1.69); transform-origin: top; }
    }
    .sp-cta-bottom h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(28px, 4vw, 42px); letter-spacing: -0.02em; line-height: 1.1; max-width: 20ch; text-wrap: balance; }
    .sp-cta-bottom h2 .accent { color: var(--color-orange); }
    .sp-cta-bottom p { font-family: var(--font-body); font-size: 17px; color: rgba(244,240,230,0.78); margin-top: 18px; max-width: 52ch; }
    .sp-btn { display: inline-flex; align-items: center; gap: 0.5em; margin-top: 32px; padding: 16px 28px; background: var(--color-orange); color: var(--color-white-clean); font-family: var(--font-mono); font-weight: 500; text-transform: uppercase; letter-spacing: 0.10em; font-size: 13px; text-decoration: none; transition: background var(--motion-fast) ease; }
    .sp-btn:hover { background: var(--color-orange-deep); }
    .sp-btn .arr { font-family: var(--font-display); font-weight: 400; }

    /* Opinie z Google — trzy cytaty na hairline'ach */
    .sp-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
    .sp-review { margin: 0; border-top: 2px solid var(--color-navy); padding-top: 18px; }
    .sp-review .stars { font-family: var(--font-mono); font-size: 13px; letter-spacing: 0.3em; color: var(--color-orange); }
    .sp-review blockquote { margin: 14px 0 0; font-family: var(--font-body); font-style: italic; font-size: 16.5px; line-height: 1.6; color: var(--color-navy); }
    .sp-review-who { margin-top: 14px; font-family: var(--font-mono); font-weight: 500; font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-ink-soft); }
    .sp-reviews-agg { margin-top: 26px; font-family: var(--font-mono); font-weight: 500; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--color-ink-soft); }
    .sp-reviews-agg a { color: var(--color-navy); text-decoration: none; border-bottom: 1px solid var(--color-orange); padding-bottom: 1px; }
    .sp-reviews-agg a:hover { color: var(--color-orange); }

    /* Hero: para CTA (primary + ghost-kotwica do formatów) */
    .sp-hero-ctas { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
    .sp-hero-ctas .sp-hero-cta { margin-top: 0; }
    .sp-hero-cta--ghost { background: transparent; border: 1px solid rgba(250,250,247,0.65); color: var(--color-white-clean); box-shadow: none; }
    .sp-hero-cta--ghost:hover { background: rgba(250,250,247,0.14); }
    #formaty { scroll-margin-top: 72px; }

    /* Helper pod kartami: default choice jako pełny przycisk */
    .sp-helper-btn { margin-top: 18px; }

    /* Finał: alternatywny kanał (tel/WhatsApp) pod przyciskiem */
    .sp-cta-bottom .sp-cta-alt { font-family: var(--font-mono); font-weight: 500; text-transform: uppercase; letter-spacing: 0.10em; font-size: 12px; color: rgba(244,240,230,0.6); margin-top: 18px; max-width: none; }
    .sp-cta-bottom .sp-cta-alt a { color: var(--color-paper); text-decoration: none; border-bottom: 1px solid rgba(244,240,230,0.35); transition: color var(--motion-fast) ease, border-color var(--motion-fast) ease; }
    .sp-cta-bottom .sp-cta-alt a:hover { color: var(--color-orange); border-color: var(--color-orange); }
    .sp-cta-bottom .sp-cta-alt .sep { color: var(--color-orange); margin: 0 0.4em; }

    a:focus-visible, button:focus-visible { outline: 2px solid var(--color-orange); outline-offset: 3px; }

    /* Animacje wejścia (reveal/rise) usunięte 2026-06-27 (decyzja Stanisława). Parallax foto + akordeon FAQ siedzą w JS, zostają. */

    @media (max-width: 860px) {
      .sp-deck { grid-template-columns: 1fr; }
      .sp-reviews { grid-template-columns: 1fr; gap: 30px; }
      .sp-card { border-right: none; border-bottom: 1px solid var(--color-navy); padding: 26px 22px; }
      .sp-card:last-child { border-bottom: none; }
      .sp-sechead { flex-direction: column; gap: 6px; align-items: flex-start; }
      .sp-step { grid-template-columns: 88px 1fr; gap: 16px; }
      .sp-bridge-mobile { display: block; } .sp-bridge-desktop { display: none; } .sp-photo { left: 83%; width: min(210px, 90vw); transform: translate(-50%, -56%) rotate(-1.5deg); }
    }
    @media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: 0.01ms !important; } }
