/* Rentowny Salon v5: jeden system po ocenie zespołu (art director, typograf, copywriter, czytelność).
   Układ: jedna siatka, cztery powierzchnie (ivory baza, sand oddech, plum akcent, ink tylko stopka), jeden bohater na ekran.
   Typografia: 7 stopni + meta. Serif tylko: H1, H2, nazwy usług, liczba wyniku, logo. W komponentach brak liczb w font-size. */
:root {
  --ivory:#F7F3ED; --sand:#E7DDD2; --ink:#252326; --ink-soft:#554C50; --taupe:#B39982; --taupe-deep:#755D47;
  --plum:#513640; --plum-strong:#3F2932; --on-plum:#F7F3ED; --plum-text:#513640; --field-border:#766B70;
  --error:#A3383A; --neg-on-plum:#F6B9B9;
  --inverse-bg:#252326; --inverse-fg:#F7F3ED; --inverse-accent:#B39982;

  --font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --font-sans:"Hanken Grotesk", "Segoe UI", system-ui, -apple-system, sans-serif;
  --opsz:"opsz" 36;
  --fs-display:clamp(2.75rem, 2.05rem + 2.6vw, 4.5rem);   /* 44 → 72 */
  --fs-h2:clamp(2rem, 1.62rem + 1.45vw, 3rem);            /* 32 → 48 */
  --fs-h3:clamp(1.3125rem, 1.24rem + .3vw, 1.5rem);       /* 21 → 24 */
  --fs-lead:clamp(1.1875rem, 1.14rem + .2vw, 1.3125rem);  /* 19 → 21 */
  --fs-body:1.125rem;                                     /* 18 */
  --fs-ui:1rem;                                           /* 16: przyciski, etykiety, podpowiedzi */
  --fs-meta:.875rem;                                      /* 14: tylko podpis zdjęcia i stopka prawna */
  /* Dwa gesty skali (jedyne wyjątki od 7 stopni): liczba-reszta i teza problemu */
  --fs-figure:clamp(5.5rem, 2.9rem + 8.5vw, 10.5rem);     /* 88 → 168 */
  --fs-statement:clamp(3rem, 1.2rem + 7.4vw, 8rem);       /* 48 → 128 */
  --lh-display:1.1; --lh-h2:1.12; --lh-h3:1.32; --lh-lead:1.5; --lh-body:1.62; --lh-ui:1.35;
  --w-body:400; --w-mid:500; --w-strong:600; --w-serif:400;

  --sp-lead:24px; --sp-cta:40px; --sp-block:32px; --sp-content:clamp(40px, 5vw, 72px);
  --section:clamp(80px, 9vw, 136px);
  --gl:max(24px, env(safe-area-inset-left, 0px)); --gr:max(24px, env(safe-area-inset-right, 0px));
  --header-h:80px; --ease:cubic-bezier(.22,.61,.36,1);
}
@media (max-width: 860px) { :root { --sp-lead:20px; --sp-cta:32px; --sp-block:28px; --header-h:68px; } }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
  --ivory:#1C1A1C; --sand:#262225; --ink:#F3ECE3; --ink-soft:#C3B8AF; --taupe-deep:#CDB49C;
  --plum:#6E4A58; --plum-strong:#7D5666; --on-plum:#F7F3ED; --plum-text:#D9B3C0; --field-border:#8E8288;
  --error:#F0A0A0; --neg-on-plum:#FAD4D4; --inverse-bg:#121112; --inverse-fg:#F3ECE3; --inverse-accent:#CDB49C;
  color-scheme:dark; } }
:root[data-theme="dark"] {
  --ivory:#1C1A1C; --sand:#262225; --ink:#F3ECE3; --ink-soft:#C3B8AF; --taupe-deep:#CDB49C;
  --plum:#6E4A58; --plum-strong:#7D5666; --on-plum:#F7F3ED; --plum-text:#D9B3C0; --field-border:#8E8288;
  --error:#F0A0A0; --neg-on-plum:#FAD4D4; --inverse-bg:#121112; --inverse-fg:#F3ECE3; --inverse-accent:#CDB49C;
  color-scheme:dark; }

*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 16px); overflow-x:clip; }
body { margin:0; background:var(--ivory); color:var(--ink); font-family:var(--font-sans); font-size:var(--fs-body); font-weight:var(--w-body);
  line-height:var(--lh-body); font-kerning:normal; font-variant-numeric:lining-nums proportional-nums; }
body::before { content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top, 0px); z-index:30; background:var(--ivory); }
img { max-width:100%; display:block; }
a { color:inherit; }
:focus-visible { outline:2px solid var(--plum-text); outline-offset:3px; }
.on-plum :focus-visible, .footer :focus-visible { outline-color:var(--on-plum); }
.on-plum, .footer { -webkit-font-smoothing:antialiased; }
.wrap { width:100%; max-width:1360px; margin:0 auto; padding-left:var(--gl); padding-right:var(--gr); }
.skip { position:absolute; left:-9999px; top:8px; z-index:50; background:var(--ivory); padding:10px 16px; }
.skip:focus { left:16px; }
.vh { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ===== Typografia ===== */
h1, h2, .h2, .numeral, .svc__name, .logo { font-family:var(--font-serif); font-optical-sizing:none; font-variation-settings:var(--opsz); font-weight:var(--w-serif); }
h1 { font-size:var(--fs-display); line-height:var(--lh-display); letter-spacing:-.02em; margin:0; text-wrap:balance; }
h2, .h2 { font-size:var(--fs-h2); line-height:var(--lh-h2); letter-spacing:-.015em; margin:0; text-wrap:balance; max-width:22ch; }
.h3, .thoughts li, .steps h3, .q__title, .areas h4, .faq summary {
  font-family:var(--font-sans); font-size:var(--fs-h3); font-weight:var(--w-mid); line-height:var(--lh-h3); letter-spacing:-.005em; margin:0; text-wrap:balance; }
.lead { font-size:var(--fs-lead); line-height:var(--lh-lead); max-width:44ch; margin:var(--sp-lead) 0 0; }
p { margin:0; max-width:62ch; }
p, li { text-wrap:pretty; }
/* Lekkość: tekst pomocniczy 16 px w wadze 400; czytelność daje rozmiar i kontrast (ink-soft ≥ 6:1), nie waga */
.note, .small, .field .hint, .q__hint, .progress__text, .calc__top span { font-size:var(--fs-ui); font-weight:var(--w-body); line-height:1.5; color:var(--ink-soft); }
.meta { font-size:var(--fs-meta); font-weight:var(--w-body); line-height:1.5; }
.numeral { font-size:var(--fs-display); line-height:1; letter-spacing:-.01em; font-variant-numeric:lining-nums tabular-nums; white-space:nowrap; }
.num { font-variant-numeric:tabular-nums lining-nums; }

/* ===== Kontrolki ===== */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:56px; padding:12px 30px; border:0; border-radius:0;
  font-family:var(--font-sans); font-size:var(--fs-ui); font-weight:var(--w-strong); line-height:1.25; letter-spacing:.01em; text-decoration:none; text-align:center; cursor:pointer;
  transition:background-color .2s ease, color .2s ease, transform .15s var(--ease), opacity .3s ease; }
.btn:active { transform:scale(.97); }
.btn--plum { background:var(--plum); color:var(--on-plum); }
.btn--plum:hover { background:var(--plum-strong); }
.btn--light { background:var(--on-plum); color:var(--plum); }
.btn--light:hover { background:var(--ivory); }
.btn .arr { display:inline-block; transition:transform .25s var(--ease); }
.btn:hover .arr { transform:translateX(4px); }
.link { display:inline-flex; align-items:center; min-height:44px; font-family:var(--font-sans); font-size:var(--fs-ui); font-weight:var(--w-mid); line-height:1.3;
  color:var(--plum-text); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.3em; transition:text-decoration-thickness .2s; }
.link:hover { text-decoration-thickness:2px; }
button.link { background:none; border:0; padding:0; cursor:pointer; }
.on-plum .link { color:var(--on-plum); }

/* ===== Nagłówek ===== */
.header { position:sticky; top:env(safe-area-inset-top, 0px); z-index:20; background:var(--ivory); transition:transform .4s var(--ease); }
.header.is-hidden { transform:translateY(-100%); }
.header__in { display:flex; align-items:center; gap:36px; min-height:var(--header-h); }
.logo { display:inline-flex; align-items:baseline; font-size:var(--fs-h3); font-weight:500; letter-spacing:.1em; text-transform:uppercase; line-height:1;
  color:var(--ink); text-decoration:none; white-space:nowrap; font-variation-settings:"opsz" 24; }
.logo .dot { color:var(--plum-text); font-size:1.5em; line-height:0; letter-spacing:0; margin-left:-.06em; }
.nav { margin-left:auto; display:flex; align-items:center; gap:32px; }
.nav a:not(.btn) { font-size:var(--fs-ui); font-weight:var(--w-mid); padding:14px 0; text-decoration:none; white-space:nowrap; text-underline-offset:.35em; }
.nav a:not(.btn):hover { text-decoration:underline; text-decoration-thickness:1px; }
.nav .btn { min-height:48px; padding:10px 22px; }
@media (min-width: 1241px) { .header.hero-in .nav .btn { display:none; } }
.menu-btn { display:none; margin-left:auto; min-height:48px; padding:0 4px; background:none; border:0; color:var(--ink); cursor:pointer;
  font-family:var(--font-sans); font-size:var(--fs-ui); font-weight:var(--w-strong); text-decoration:underline; text-underline-offset:.3em; }
@media (max-width: 1240px) {
  .menu-btn { display:inline-flex; align-items:center; }
  .nav { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0; background:var(--ivory); padding:8px var(--gr) 32px var(--gl); }
  .nav.is-open { display:flex; }
  .nav a:not(.btn) { font-family:var(--font-serif); font-variation-settings:var(--opsz); font-weight:var(--w-serif); font-size:var(--fs-h2); line-height:var(--lh-h2); padding:10px 0; }
  .nav .btn { margin-top:20px; }
}

/* ===== Sekcje i powierzchnie ===== */
.section { padding-block:var(--section); }
.sand { background:var(--sand); }
.on-plum { background:var(--plum); color:var(--on-plum); }
.split2 { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(40px, 6vw, 120px); align-items:start; }
@media (max-width: 900px) { .split2 { grid-template-columns:minmax(0,1fr); } }

/* 1. Hero: tekst w optycznym środku, zdjęcie od nagłówka do linii zgięcia */
.hero__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px, 5vw, 96px); align-items:center; }
.hero__text { padding-block:48px; transform:translateY(-24px); }
.hero__cta { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px 32px; margin-top:var(--sp-cta); }
.hero__cta .link { min-height:56px; }
.hero__micro { margin-top:12px; }
.hero__media { position:relative; height:calc(100svh - var(--header-h)); min-height:560px; max-height:880px; overflow:hidden; background:var(--sand); }
.hero__media img { width:100%; height:100%; object-fit:cover; }
@media (min-width: 861px) { .hero__media { margin-right:calc(-1 * var(--gr) - max(0px, (100vw - 1360px) / 2)); } }
@media (max-width: 860px) {
  .hero__grid { grid-template-columns:minmax(0,1fr); gap:0; }
  .hero__media img { object-position:55% 45%; }
  .hero__media { order:-1; height:auto; aspect-ratio:1/1; min-height:0; max-height:none; margin:0 calc(-1 * var(--gr)) 0 calc(-1 * var(--gl)); }
  .hero__text { padding:28px 0 8px; transform:none; }
}

/* 2. Problem: teza po lewej, głos właścicielki po prawej */
.problem__intro .lead { max-width:40ch; }
/* Moment skali: teza problemu na całą szerokość (token --fs-statement) */
.statement { font-size:var(--fs-statement); line-height:1; letter-spacing:-.025em; max-width:none; }
.problem__body { margin-top:clamp(48px, 7vw, 96px); }
.thoughts { margin:0; padding:0; list-style:none; display:grid; gap:44px; }
.thoughts li { max-width:30ch; text-indent:-.42em; }

/* 3. Rentowność: po lewej teza i formularz, po prawej wynik wyrównany do nagłówka */
.calc { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px, 5vw, 96px); align-items:start; }
.calc__form { display:grid; gap:28px; align-content:start; margin-top:var(--sp-content); }
.calc__top { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.fields3 { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
@media (max-width: 560px) { .fields3 { grid-template-columns:minmax(0,1fr); } }
.field { display:grid; gap:8px; min-width:0; align-content:start; }
.field label { font-size:var(--fs-ui); font-weight:var(--w-strong); line-height:1.3; }
.input { position:relative; display:flex; align-items:center; }
.input input, .input select, .field textarea, .field input[type="email"], .field input[type="text"], .field input[type="tel"] {
  width:100%; min-height:56px; padding:0 16px; background:var(--ivory); color:var(--ink); border:1px solid var(--field-border); border-radius:0;
  font-family:var(--font-sans); font-size:var(--fs-body); font-weight:var(--w-body); line-height:1.2; font-variant-numeric:tabular-nums lining-nums;
  transition:border-color .2s ease, box-shadow .2s ease; }
.field textarea { min-height:112px; padding:14px 16px; line-height:1.5; resize:vertical; }
.input input:hover, .field textarea:hover { border-color:var(--ink); }
.input input:focus, .input select:focus, .field textarea:focus, .field input:focus { outline:none; border-color:var(--plum-text); box-shadow:0 0 0 2px var(--plum-text); }
.input input { padding-right:84px; }
.input .unit { position:absolute; right:16px; font-size:var(--fs-ui); font-weight:var(--w-mid); color:var(--ink-soft); pointer-events:none; }
.field.has-error input { border:2px solid var(--error); }
.field .err, .diag__msg { font-size:var(--fs-ui); font-weight:var(--w-strong); line-height:1.4; color:var(--error); }
.field .err:empty { display:none; }
.more summary { min-height:48px; display:inline-flex; align-items:center; gap:10px; cursor:pointer; list-style:none;
  font-size:var(--fs-ui); font-weight:var(--w-mid); color:var(--plum-text); }
.more summary::-webkit-details-marker { display:none; }
.more summary::before { content:"+"; font-size:1.4em; font-weight:400; width:18px; transition:transform .3s var(--ease); }
.more[open] summary::before { transform:rotate(45deg); }
.more__grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; padding-top:12px; }
@media (max-width: 560px) { .more__grid { grid-template-columns:minmax(0,1fr); } }
.result { padding:clamp(28px, 4.4vw, 64px); display:grid; gap:24px; align-content:start; }
.result > div:last-child { margin-top:16px; }
@media (min-width: 901px) { .result { margin-right:calc(-1 * var(--gr) - max(0px, (100vw - 1360px) / 2)); } }
.result__label { font-size:var(--fs-ui); font-weight:var(--w-mid); }
/* Liczba-reszta: podpis marki „Co zostaje.” — jedyny gest w skali ekstremalnej (token --fs-figure) */
.result__figure { margin-top:12px; font-size:var(--fs-figure); line-height:.86; letter-spacing:-.035em; }
.result__figure.is-long { font-size:calc(var(--fs-figure) * .62); }
.result__context { font-size:var(--fs-lead); line-height:var(--lh-lead); margin-top:16px; }
#rSentence:empty { display:none; }
.rsteps { margin:0; padding:0; list-style:none; display:grid; gap:12px; }
.rsteps li { display:flex; justify-content:space-between; gap:16px; }
.rsteps li b { font-weight:var(--w-strong); white-space:nowrap; font-variant-numeric:tabular-nums lining-nums; }
.rsteps li.neg b, .result__err { color:var(--neg-on-plum); }
.result__err { font-weight:var(--w-strong); }
.result__note { font-size:var(--fs-ui); font-weight:var(--w-body); line-height:1.5; max-width:48ch; }
@media (max-width: 900px) { .calc { grid-template-columns:minmax(0,1fr); } }

.sp { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(32px, 5vw, 96px); align-items:center; margin-top:clamp(72px, 8vw, 120px); }
.sp > div > p { margin-top:16px; }
/* Na telefonie zamiast nieczytelnego obrazu tabeli: te same przykładowe dane jako tekst */
.sp__table { display:none; width:100%; border-collapse:collapse; font-size:var(--fs-ui); font-variant-numeric:tabular-nums lining-nums; }
.sp__table th { text-align:left; font-weight:var(--w-mid); color:var(--ink-soft); padding:0 0 8px; }
.sp__table td { padding:10px 0; vertical-align:top; }
.sp__table th:not(:first-child), .sp__table td:not(:first-child) { text-align:right; padding-left:12px; white-space:nowrap; }
.sp__table tr + tr td { border-top:1px solid var(--sand); }
@media (max-width: 700px) { .sp__shot picture { display:none; } .sp__table { display:table; } }
.sp__cta { margin-top:var(--sp-block); }
.sp__shot { margin:0; background:var(--ivory); padding:clamp(12px, 2vw, 24px); }
.sp__shot img { width:100%; height:auto; }
.sp__shot figcaption { padding-top:12px; color:var(--ink-soft); }
@media (max-width: 900px) { .sp { grid-template-columns:minmax(0,1fr); } }

/* 4. Pas panoramy: oddech i jedyny kadr na pełną szerokość */
.band { height:clamp(320px, 42vw, 640px); overflow:hidden; background:var(--sand); }
.band img { width:100%; height:100%; object-fit:cover; }
@media (max-width: 700px) { .band { height:auto; aspect-ratio:4/3; } }

/* 5. Podejście */
.steps { margin:0; padding:0; list-style:none; display:grid; gap:var(--sp-block); }
.steps h3 { margin-bottom:8px; }
.steps p { max-width:46ch; }

/* 6. Usługi: ruch-podpis (lista + przyklejone zdjęcie) */
.services { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px, 6vw, 112px); align-items:start; margin-top:var(--sp-content); }
.svc-list { margin:0; padding:0; list-style:none; }
.svc { padding-block:clamp(12px, 1.4vw, 20px); }
.svc__btn { all:unset; box-sizing:border-box; display:block; width:100%; cursor:pointer; }
.svc__name { display:block; font-size:var(--fs-h2); line-height:var(--lh-h2); letter-spacing:-.015em; color:var(--ink-soft); transition:color .35s var(--ease); }
.svc__btn:hover .svc__name, .svc.is-active .svc__name { color:var(--plum-text); }
.svc__btn:focus-visible { outline:2px solid var(--plum-text); outline-offset:6px; }
.svc__more { display:grid; grid-template-rows:0fr; transition:grid-template-rows .55s var(--ease); }
.svc__more > div { overflow:hidden; }
.svc__more p { max-width:44ch; padding-top:12px; }
.svc__more .link { margin-top:4px; }
.svc__more .tag { display:inline-block; padding:12px 0 4px; font-size:var(--fs-ui); font-weight:var(--w-strong); color:var(--ink); }
.svc.is-active .svc__more { grid-template-rows:1fr; }
.svc__img { display:none; }
.svc-stage { position:sticky; top:calc(var(--header-h) + 32px); aspect-ratio:4/5; overflow:hidden; background:var(--ivory); max-width:100%; }
.svc-stage img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; clip-path:inset(100% 0 0 0); transform:scale(1.12); transition:clip-path .9s var(--ease), transform 1.4s var(--ease); }
.svc-stage img.is-active { clip-path:inset(0 0 0 0); transform:none; z-index:1; }
.svc-stage img.was-active { clip-path:inset(0 0 0 0); z-index:0; }
@media (max-width: 860px) {
  .services { grid-template-columns:minmax(0,1fr); gap:0; }
  .svc-stage { display:none; }
  .svc__more > div { display:flex; flex-direction:column; align-items:flex-start; }
  .svc__img { order:3; display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; margin-top:16px; background:var(--ivory); }
}

/* 6b. Realizacje: sekwencja case'ów jak w portfolio studia. Pole sand na spad jako mata, bez ramek w ramkach. */
.case { margin-top:clamp(64px, 8vw, 120px); }
.case__head { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:16px 40px; align-items:end; margin-bottom:40px; }
.case__head .note { color:var(--ink-soft); }
.case__field { background:var(--sand); padding-block:clamp(40px, 7vw, 96px); }
.case__site { display:grid; grid-template-columns:minmax(0,8fr) minmax(0,3fr); gap:clamp(24px, 4vw, 72px); align-items:start; }
.case__site figure { margin:0; }
.case__site img { width:100%; height:auto; display:block; }
.case__site .case__mob { transform:translateY(64px); }
.case__mob img { aspect-ratio:600/1240; object-fit:cover; object-position:top; }
.case__posts { display:grid; grid-template-columns:repeat(3, minmax(0, 380px)); justify-content:end; gap:clamp(16px, 2.4vw, 40px); margin-top:clamp(120px, 12vw, 176px); padding-bottom:144px; }
.case__posts img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; display:block; }
.case__posts img:nth-child(2) { transform:translateY(72px); }
.case__posts img:nth-child(3) { transform:translateY(144px); }
.case__cap { margin-top:24px; max-width:62ch; }
.cases2 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px, 3vw, 48px); margin-top:clamp(64px, 8vw, 120px); }
.cases2 .case { margin-top:0; }
.cases2 .case__head { grid-template-columns:minmax(0,1fr); gap:8px; margin-bottom:24px; }
.cases2 .case__field { padding:clamp(24px, 4vw, 56px); }
.cases2 img { width:100%; height:auto; display:block; }
@media (max-width: 900px) {
  .case__head, .cases2 { grid-template-columns:minmax(0,1fr); }
  .case__site { grid-template-columns:minmax(0,1fr); }
  .case__site .case__desk { display:none; }
  .case__site .case__mob { transform:none; width:70%; margin:0 auto; }
  .case__posts { grid-template-columns:repeat(3, 72%); justify-content:start; overflow-x:auto; scroll-snap-type:x mandatory; margin-top:40px; padding-bottom:8px; }
  .case__posts img { scroll-snap-align:start; transform:none !important; }
  .cases2 .case__field picture img { width:70%; margin:0 auto; }
}
/* Przykładowy raport audytu: jedna kartka ivory na polu sand, dwie kolumny bez kart */
.report { background:var(--sand); padding:clamp(16px, 5vw, 72px); margin-top:var(--sp-content); }
.report__sheet { background:var(--ivory); max-width:1080px; margin:0 auto; padding:clamp(24px, 5vw, 72px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px, 5vw, 64px); }
.report__col { display:grid; gap:24px; align-content:start; min-width:0; }
.report__top { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.report__title { font-family:var(--font-serif); font-variation-settings:var(--opsz); font-size:var(--fs-h2); line-height:var(--lh-h2); letter-spacing:-.015em; font-weight:400; margin:0; }
.report__key { font-size:var(--fs-lead); line-height:var(--lh-lead); }
.report table { width:100%; border-collapse:collapse; font-size:var(--fs-ui); font-variant-numeric:tabular-nums lining-nums; }
.report th { text-align:left; font-weight:var(--w-mid); color:var(--ink-soft); padding:0 0 8px; }
.report td { padding:10px 0; border-top:1px solid var(--sand); vertical-align:top; }
.report th:not(:first-child), .report td:not(:first-child) { text-align:right; padding-left:12px; white-space:nowrap; }
.report td.low { color:var(--plum-text); font-weight:var(--w-strong); }
.prio { margin:0; padding:0; list-style:none; display:grid; gap:24px; }
.prio h4 { margin:0 0 4px; font-size:var(--fs-h3); font-weight:var(--w-mid); line-height:var(--lh-h3); }
.prio .tagline { display:block; margin-top:4px; font-size:var(--fs-ui); color:var(--ink-soft); }
.plan { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.plan li { display:grid; grid-template-columns:96px minmax(0,1fr); gap:12px; }
.plan b { font-weight:var(--w-mid); }
@media (max-width: 900px) { .report__sheet { grid-template-columns:minmax(0,1fr); } }
@media (max-width: 600px) { .report th:nth-child(3), .report td:nth-child(3) { display:none; } .plan li { grid-template-columns:84px minmax(0,1fr); } }

/* 7. Diagnoza: jedno pytanie na ekran */
.diag__intro .promise { margin-top:var(--sp-block); }
@media (min-width: 901px) { .diag__intro { position:sticky; top:calc(var(--header-h) + 32px); } }
.diag__card { background:var(--ivory); padding:clamp(24px, 4vw, 56px); display:grid; align-content:start; gap:32px; }
@media (min-width: 901px) { .diag__card { min-height:560px; } }
.progress { display:grid; gap:10px; }
.progress__bar { height:3px; background:var(--sand); position:relative; overflow:hidden; }
.progress__bar span { position:absolute; inset:0; background:var(--plum-text); transform-origin:0 50%; transition:transform 700ms cubic-bezier(.76,0,.24,1); }
#dBody { display:grid; gap:40px; }
#dBody:focus { outline:none; }
.q { display:grid; gap:12px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
.chip { min-height:48px; padding:10px 18px; display:inline-flex; align-items:center; gap:8px; border:1px solid var(--field-border); border-radius:0; background:var(--ivory); color:var(--ink);
  font-family:var(--font-sans); font-size:var(--fs-ui); font-weight:var(--w-mid); line-height:1.3; cursor:pointer; text-align:left;
  transition:border-color .2s ease, background-color .2s ease, transform .15s var(--ease); }
.chip:hover { border-color:var(--ink); }
.chip:active { transform:scale(.97); }
.chip[aria-pressed="true"] { background:var(--plum); border-color:var(--plum); color:var(--on-plum); }
.chip[aria-pressed="true"]::before { content:"✓"; }
.diag__nav { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.diag__msg:empty { display:none; }
.areas { margin:0; padding:0; list-style:none; display:grid; gap:24px; }
.areas h4 { margin-bottom:8px; }
.areas .caveat { display:block; margin-top:8px; font-size:var(--fs-ui); font-weight:var(--w-mid); }
.know { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; background:var(--sand); padding:24px; }
.know h5 { margin:0 0 8px; font-size:var(--fs-ui); font-weight:var(--w-mid); }
.know ul { margin:0; padding-left:18px; font-size:var(--fs-ui); line-height:1.5; }
@media (max-width: 600px) { .know { grid-template-columns:minmax(0,1fr); } }
.consent { display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; align-items:start; font-size:var(--fs-ui); line-height:1.5; }
.consent input { width:24px; height:24px; margin:0; accent-color:var(--plum); }
.form2 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
@media (max-width: 560px) { .form2 { grid-template-columns:minmax(0,1fr); } }

/* 8. Pytania */
.faq-head { position:sticky; top:calc(var(--header-h) + 32px); }
/* FAQ bez pudełek: sama typografia i przestrzeń */
.faq { display:grid; gap:0; }
.faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:24px; align-items:center; min-height:72px; padding:24px 0; text-wrap:pretty; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; flex:none; font-size:1.4em; font-weight:400; color:var(--plum-text); transition:transform .35s var(--ease); }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq details p { padding:0 0 28px; max-width:60ch; }
@media (max-width: 900px) { .faq-head { position:static; } .faq summary { padding:18px 0; font-size:var(--fs-lead); line-height:1.4; } }

/* 9. Finał: klamra z kalkulatorem, pusta liczba-reszta */
.final { padding-block:var(--section); }
.final__in { display:grid; grid-template-columns:minmax(0,6fr) minmax(0,6fr); gap:clamp(40px, 6vw, 112px); align-items:end; }
.final__figure { font-size:var(--fs-figure); line-height:.86; letter-spacing:-.035em; margin-top:12px; }
.final .lead { max-width:40ch; }
.final__cta { margin-top:var(--sp-cta); }
.final .note { color:inherit; margin-top:16px; }
@media (max-width: 860px) { .final__in { grid-template-columns:minmax(0,1fr); } }
.footer { background:var(--inverse-bg); color:var(--inverse-fg); padding:72px 0 calc(36px + env(safe-area-inset-bottom, 0px)); }
.footer a { text-decoration:none; }
.footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; }
.footer .logo { color:inherit; }
.footer .logo .dot { color:var(--inverse-accent); }
.footer__desc { margin-top:16px; max-width:32ch; font-size:var(--fs-ui); }
.footer h3 { margin:0 0 6px; font-size:var(--fs-ui); font-weight:var(--w-mid); color:var(--inverse-accent); }
.footer ul { margin:0; padding:0; list-style:none; display:grid; }
.footer ul a, .footer ul span { display:inline-block; padding:10px 0; font-size:var(--fs-ui); }
.footer__bottom { margin-top:56px; display:flex; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; }
.placeholder { font-style:normal; color:inherit; }
@media (max-width: 820px) { .footer__grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .footer__brand { grid-column:1 / -1; } }

/* ===== Ruch: trzy krzywe, wszystko się wznosi (wzrost = temat marki). Klasę .motion dodaje skrypt w nagłówku strony;
   bez JS i przy „ogranicz ruch” wszystko widoczne i statyczne. ===== */
:root { --e-out:cubic-bezier(.16,1,.3,1); --e-inout:cubic-bezier(.76,0,.24,1); --e-ui:cubic-bezier(.2,0,0,1); }
@media (prefers-reduced-motion: no-preference) {
  .motion [data-split]:not([aria-label]) { opacity:0; }
  .motion .in { opacity:0; transform:translate3d(0,14px,0); transition:opacity 650ms var(--e-ui), transform 1100ms var(--e-out); transition-delay:calc(var(--i, 0) * 90ms); }
  .motion .in.is-in { opacity:1; transform:none; }
  .motion .split ~ .lead.in { transform:none; transition-delay:250ms; }
  .motion .faq .in, .motion .calc__form.in, .motion .diag__card.in { opacity:1; transform:none; transition:none; }
  .motion .thoughts .in { transition-delay:calc(var(--i, 0) * 180ms + 150ms); }
  .motion .in-img { clip-path:inset(100% 0 0 0); transition:clip-path 1200ms var(--e-inout); }
  .motion .in-img img { transform:scale(1.12); transition:transform 2000ms var(--e-out); }
  .motion .in-img.is-in { clip-path:inset(0); }
  .motion .in-img.is-in img { transform:none; }
  /* zapas na polskie znaki (Ż, Ó, ą, ę), żeby maska animacji ich nie obcinała */
  .motion .split .w { display:inline-block; overflow:hidden; vertical-align:top; padding:.18em .04em .2em; margin:-.18em -.04em -.2em; }
  .motion .split .w > span { display:inline-block; transform:translate3d(0,105%,0); transition:transform 1000ms var(--e-out); transition-delay:calc(var(--i, 0) * 45ms + 60ms); }
  .motion .split.is-in .w > span { transform:none; }

  /* Hero: najpierw scena (kurtyna sand w górę, zdjęcie osiada raz), potem zdanie, na końcu akcja */
  .motion .hero__media::after { content:""; position:absolute; inset:0; z-index:1; background:var(--sand); transform-origin:50% 0; transition:transform 1100ms var(--e-inout); }
  .motion .hero__media img { transform:scale(1.1); transition:transform 2400ms var(--e-out); }
  .hero-go .hero__media::after { transform:scaleY(0); }
  .hero-go .hero__media img { transform:none; }
  .motion .hero .split .w > span { transition-delay:calc(var(--i, 0) * 50ms + 350ms); }
  .motion .hero .lead.in { transform:none; transition-delay:800ms; }
  .motion .hero .hero__cta.in { transform:translate3d(0,10px,0); transition-delay:950ms; }
  .motion .hero .hero__cta.in.is-in { transform:none; }

  /* Pas panoramy: apertura otwiera się ze środka */
  .motion .band.in-img { clip-path:inset(14% 9%); transition:clip-path 1400ms var(--e-inout); }
  .motion .band.in-img.is-in { clip-path:inset(0); }
  .motion .band.in-img img { transform:scale(1.18); transition:transform 2200ms var(--e-out); }
  .motion .band.in-img.is-in img { transform:none; }

  /* Ruch-podpis usług: kierunek i „pchnięcie” starego zdjęcia */
  .svc-stage img { transition:clip-path 1000ms var(--e-inout), transform 1400ms var(--e-out); }
  .svc-stage img.from-top:not(.is-active):not(.was-active) { clip-path:inset(0 0 100% 0); }
  .svc-stage img.was-active { transform:translate3d(0,-5%,0) scale(1.04); transition:clip-path 1000ms var(--e-inout), transform 1000ms var(--e-inout); }
  .svc-stage.dir-up img.was-active { transform:translate3d(0,5%,0) scale(1.04); }
  .motion .svc__more :is(p, .link, .tag) { opacity:0; transform:translate3d(0,8px,0); transition:opacity 200ms var(--e-ui), transform 200ms var(--e-ui); }
  .motion .svc.is-active .svc__more :is(p, .link, .tag) { opacity:1; transform:none; transition:opacity 500ms var(--e-ui) 160ms, transform 800ms var(--e-out) 160ms; }
  .motion .svc.is-active .svc__more :is(.link, .tag) { transition-delay:240ms; }

  /* Diagnoza: każdy krok wchodzi, chipy kaskadą */
  @keyframes rise { from { opacity:0; transform:translate3d(0,12px,0); } }
  .motion #dBody.step-in > * { animation:rise 600ms var(--e-out) backwards; }
  .motion #dBody.step-in > :nth-child(2) { animation-delay:80ms; }
  .motion #dBody.step-in > :nth-child(3) { animation-delay:160ms; }
  .motion #dBody.step-in .chip { animation:rise 500ms var(--e-out) backwards; animation-delay:calc(120ms + var(--c, 0) * 25ms); }

  /* Mikro: strzałka w przycisku wyjeżdża, a jej kopia wjeżdża z lewej */
  @media (hover: hover) {
    .btn .arr { overflow:hidden; padding:0 .1em; margin:0 -.1em; }
    .btn:hover .arr { transform:none; }
    .btn .arr > span { display:inline-block; text-shadow:-1.4em 0 currentColor; transition:transform 520ms var(--e-inout); }
    .btn:hover .arr > span { transform:translateX(1.4em); }
  }

  /* MOMENT KULMINACYJNY: „Cena w cenniku to nie zarobek”. 160 zł przekreśla się i ustępuje miejsca temu, co zostaje. */
  .motion .result.in { opacity:1; transform:none; clip-path:inset(100% 0 0 0); transition:clip-path 1000ms var(--e-inout); }
  .motion .result.in.is-in { clip-path:inset(0); }
  .pk { display:inline-grid; overflow:hidden; vertical-align:top; padding:.06em .02em .16em; margin:-.06em -.02em -.16em; }
  .pk > span { grid-area:1 / 1; justify-self:start; transition:transform 900ms var(--e-inout); }
  .pk__a { position:relative; }
  .pk__a::after { content:""; position:absolute; left:-.04em; right:-.04em; top:.52em; height:max(2px, .035em); background:currentColor; transform:scaleX(0); transform-origin:0 50%; transition:transform 520ms var(--e-inout); }
  .pk__b { transform:translateY(110%); }
  .pk.is-strike .pk__a::after { transform:scaleX(1); }
  .pk.is-swap .pk__a { transform:translateY(-110%); }
  .pk.is-swap .pk__b { transform:none; }
  .pl { display:inline-grid; }
  .pl > span { grid-area:1 / 1; transition:opacity 400ms var(--e-ui), transform 700ms var(--e-out); }
  .pl__b { opacity:0; transform:translateY(6px); }
  .pk-swap .pl__a { opacity:0; transform:translateY(-6px); }
  .pk-swap .pl__b { opacity:1; transform:none; }
  .result.pk-wait > :not(:first-child) { opacity:0; transform:translateY(10px); }
  .result.pk-done > :not(:first-child) { transition:opacity 600ms var(--e-out), transform 900ms var(--e-out); }
}
@media (prefers-reduced-motion: reduce) { .svc-stage img { clip-path:none; opacity:0; } .svc-stage img.is-active { opacity:1; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { transition:none !important; animation:none !important; } }

/* Case'y d'Arte i Salon Profit: ten sam układ co Jurczyk, odbicie lustrzane dla rytmu, fragmenty z głębi strony schodkowo */
.case__site.case--flip { grid-template-columns:minmax(0,3fr) minmax(0,8fr); }
.case__site.case--flip .case__mob { transform:translateY(64px); }
.case__details { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px, 3vw, 48px); align-items:start; margin-top:clamp(120px, 12vw, 176px); padding-bottom:96px; }
.case__details img { width:100%; height:auto; display:block; }
.case__details img:nth-child(2) { transform:translateY(96px); }
@media (max-width: 900px) {
  .case__site.case--flip { grid-template-columns:minmax(0,1fr); }
  .case__site.case--flip .case__desk { display:none; }
  .case__site.case--flip .case__mob { transform:none; }
  .case__details { grid-template-columns:minmax(0,1fr); margin-top:40px; padding-bottom:0; }
  .case__details img:nth-child(2) { transform:none; }
}
/* ===== Podstrony oferty ===== */
.nav a[aria-current="page"] { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.35em; }
.scope { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:40px clamp(32px, 5vw, 96px); margin-top:var(--sp-content); }
.scope h3 { margin-bottom:8px; }
.scope p { max-width:48ch; }
.gets { display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(32px, 5vw, 96px); margin-top:var(--sp-content); align-items:start; }
.gets .h3 { margin-bottom:16px; }
.gets__list { margin:0; padding-left:1.2em; display:grid; gap:14px; }
.gets__list li::marker { color:var(--plum-text); }
.gets__list--no li::marker { content:"– "; }
.flow { margin:0; padding:0; list-style:none; display:grid; gap:28px; }
.flow li { display:grid; grid-template-columns:120px minmax(0,1fr); gap:20px; }
.flow b { font-weight:var(--w-mid); color:var(--plum-text); }
@media (max-width: 900px) {
  .scope, .gets { grid-template-columns:minmax(0,1fr); }
  .flow li { grid-template-columns:minmax(0,1fr); gap:4px; }
}
/* ===== Spokój (opinia właściciela 27.10.2026: „za dużo się dzieje”) =====
   Zostają tylko ruchy z sensem: wejście hero, kulminacja 160 → 71 zł, zmiana zdjęcia w usługach,
   jedna apertura pasa „Po ostatniej klientce” i przejścia kroków diagnozy. Reszta tylko łagodnie się pojawia. */
@media (prefers-reduced-motion: no-preference) {
  .motion .split:not(h1) .w > span { transform:none; transition:none; }
  .motion .in { transform:none; transition:opacity 700ms var(--e-ui); }
  .motion .in-img { clip-path:none; opacity:0; transition:opacity 900ms var(--e-ui); }
  .motion .in-img.is-in { opacity:1; }
  .motion .in-img img { transform:none; transition:none; }
  .motion .result.in { clip-path:none; transition:none; }
  .motion .band.in-img { opacity:1; }
}
/* ===== Przykłady social media (podstrona social-media) ===== */
.firmy { display:flex; flex-wrap:wrap; gap:8px; align-self:end; }
.tab { min-height:44px; padding:10px 16px; border:1px solid var(--field-border); background:transparent; color:var(--ink); cursor:pointer;
  font-family:var(--font-sans); font-size:var(--fs-ui); font-weight:var(--w-mid); transition:background-color .2s ease, color .2s ease; }
.tab:hover { border-color:var(--ink); }
.tab[aria-pressed="true"] { background:var(--plum); border-color:var(--plum); color:var(--on-plum); }
[data-firma="darte"] .f-jurczyk, [data-firma="jurczyk"] .f-darte { display:none !important; }
.soc-block { margin-top:clamp(64px, 8vw, 112px); }
.soc-field { background:var(--sand); padding-block:clamp(56px, 7vw, 96px); margin-top:clamp(64px, 8vw, 112px); }
.soc-field .soc-block { margin-top:0; }
.soc-head { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:16px clamp(32px, 5vw, 96px); align-items:end; margin-bottom:40px; }
.soc-head p { max-width:54ch; }
.soc-note { margin-top:20px; }
.reels { display:grid; grid-template-columns:repeat(3, minmax(0, 340px)); gap:clamp(16px, 2.4vw, 40px); }
.reel-card { margin:0; min-width:0; }
.reel { position:relative; aspect-ratio:9/16; overflow:hidden; background:var(--sand); }
.reel img { width:100%; height:100%; object-fit:cover; display:block; }
.reel__hook { position:absolute; left:8%; right:8%; top:16%; margin:0; padding:10px 14px; background:rgba(28,26,28,.8); color:#F7F3ED;
  font-family:var(--font-serif); font-variation-settings:var(--opsz); font-size:clamp(1.05rem, .9rem + .5vw, 1.35rem); line-height:1.25; }
.reel-card figcaption { margin-top:16px; display:grid; gap:6px; }
.reel-card h4 { margin:0; font-size:var(--fs-h3); font-weight:var(--w-mid); line-height:var(--lh-h3); }
.slides { display:grid; grid-template-columns:repeat(5, minmax(200px, 1fr)); gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }
.slides.f-jurczyk { grid-template-columns:repeat(4, minmax(200px, 1fr)); }
.slides > *, .posts3 > *, .reels > * { scroll-snap-align:start; }
.slides img, .posts3 img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; display:block; }
/* makiety plansz d'Arte w kolorach tej marki (nie Rentownego Salonu) */
.slide { position:relative; aspect-ratio:4/5; background:#F3EEE6; color:#1E1B18; padding:clamp(16px, 2vw, 26px); display:flex; flex-direction:column; justify-content:flex-end; gap:8px; overflow:hidden; }
.slide__k { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.slide__t { margin:0; font-family:var(--font-serif); font-variation-settings:var(--opsz); font-size:clamp(1.3rem, 1rem + 1vw, 1.85rem); line-height:1.12; }
.slide__p { margin:0; font-size:.92rem; line-height:1.45; }
.slide__n { position:absolute; top:14px; right:16px; font-size:.72rem; }
.slide--img { padding:0; justify-content:flex-start; }
.slide--img img { height:62%; aspect-ratio:auto; object-fit:cover; }
.slide--img > div { padding:14px 18px; display:grid; gap:6px; }
.slide--end { background:#1E1B18; color:#F3EEE6; }
.slide--q { justify-content:center; }
.posts3 { display:grid; grid-template-columns:repeat(3, minmax(0, 340px)); gap:clamp(16px, 2.4vw, 40px); }
.week { list-style:none; margin:0; padding:0; display:grid; }
.week li { display:grid; grid-template-columns:150px 190px minmax(0,1fr); gap:24px; padding:16px 20px; }
.week li:nth-child(odd) { background:var(--ivory); }
.week b { font-weight:var(--w-mid); }
.week__f { color:var(--plum-text); font-weight:var(--w-mid); }
@media (max-width: 900px) {
  .soc-head { grid-template-columns:minmax(0,1fr); }
  .reels { grid-template-columns:repeat(3, 66%); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }
  .slides { grid-template-columns:repeat(5, 70%); }
  .slides.f-jurczyk { grid-template-columns:repeat(4, 70%); }
  .posts3 { grid-template-columns:repeat(3, 70%); overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px; }
  .week li { grid-template-columns:minmax(0,1fr); gap:2px; padding:14px 16px; }
}

/* ===== Zdjęcia na telefonie: mniejsze, spokojniejsze kadry (opinia właściciela 27.10.2026) ===== */
@media (max-width: 860px) {
  .hero__media { aspect-ratio:4/3; }
  .hero__media img { object-position:50% 45%; }
  .svc__img { aspect-ratio:16/9; }
}
@media (max-width: 900px) {
  .case__field { padding-block:32px; }
  .case__site .case__mob, .case__site.case--flip .case__mob { width:56%; margin:0 auto; }
  .case__mob img { max-height:480px; }
  .case__details { margin-top:24px; }
  .case__details img:nth-child(2) { display:none; }
  .case__posts { margin-top:24px; }
}
@media (max-width: 700px) { .band { aspect-ratio:16/10; } }
.reel img { position:absolute; inset:0; }

/* Polityka prywatności */
.legal .wrap { max-width:880px; }
.legal h1 { font-size:var(--fs-h2); line-height:var(--lh-h2); }
.legal h2 { font-size:clamp(1.5rem, 1.3rem + .8vw, 2rem); margin-top:48px; margin-bottom:12px; }
.legal p, .legal ul { max-width:68ch; }
.legal ul { padding-left:1.2em; display:grid; gap:12px; margin:0; }
.legal li::marker { color:var(--plum-text); }
.legal b { font-weight:var(--w-mid); }
.legal .note { margin-top:12px; }
/* ===== Runda polerowania (27.10.2026): wspólne menu, sekcje sprzedażowe podstron, „Z kim rozmawiasz” ===== */
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.nav__home { display:none; }
@media (max-width: 1240px) { .nav .nav__home { display:block; } }
.nav { gap:28px; }
.hero__cta > div { max-width:19rem; }
.prio h3 { margin:0 0 4px; font-size:var(--fs-h3); font-weight:var(--w-mid); line-height:var(--lh-h3); }
.areas h3 { margin-bottom:8px; }
.know h4 { margin:0 0 8px; font-size:var(--fs-ui); font-weight:var(--w-mid); }
/* Dziś / Po współpracy */
.dzispo { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:40px clamp(32px, 6vw, 112px); margin-top:var(--sp-content); }
.dzispo .h3 { margin-bottom:24px; color:var(--ink-soft); font-family:var(--font-sans); font-size:var(--fs-meta); letter-spacing:.12em; text-transform:uppercase; }
.dzispo .thoughts { gap:28px; }
.po { margin:0; padding:0; list-style:none; display:grid; gap:28px; }
.po li { font-family:var(--font-serif); font-variation-settings:var(--opsz); font-size:var(--fs-h3); line-height:var(--lh-h3); max-width:30ch; padding-left:1.1em; position:relative; }
.po li::before { content:""; position:absolute; left:0; top:.6em; width:.45em; height:.45em; background:var(--plum); }
/* Co obejmuje: zakres po lewej, „dostajesz / nie obejmuje” po prawej */
.gets .scope { grid-template-columns:minmax(0,1fr); margin-top:0; gap:28px; }
.gets__side { display:grid; gap:12px; padding:clamp(24px, 3vw, 40px); background:var(--sand); }
.gets__side .gets__list + .h3 { margin-top:28px; }
/* Pakiety: od czego zacząć */
.packs { list-style:none; margin:var(--sp-content) 0 0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(16px, 2.4vw, 40px); }
.packs li { background:var(--ivory); padding:clamp(24px, 3vw, 40px); display:flex; flex-direction:column; gap:12px; scroll-margin-top:96px; }
.packs li p { flex:1; margin:0; }
.pack__cena { font-size:var(--fs-meta); color:var(--ink-soft); padding-top:16px; border-top:1px solid var(--sand); }
.packs li:target { outline:2px solid var(--plum); outline-offset:-2px; }
/* Finał: na czym stoisz, zanim zapłacisz */
.risk { border-top:1px solid rgba(247,243,237,.28); padding-top:24px; }
.risk .h3 { margin-bottom:16px; }
.risk ul { margin:0; padding-left:1.2em; display:grid; gap:12px; }
.final .final__cta { display:grid; gap:16px; justify-items:start; }
/* Zrzuty stron: delikatna ramka, podpisy */
.case__desk img, .case__mob img { outline:1px solid rgba(37,35,38,.12); outline-offset:-1px; }
.case__desk figcaption, .case__mob figcaption { margin-top:8px; color:var(--ink-soft); }
/* Przełącznik firm przyklejony u góry podczas przewijania przykładów */
.firmy-bar { position:sticky; top:64px; z-index:5; background:var(--ivory); padding-block:12px; margin-top:24px; }
.slides:focus-visible { outline:2px solid var(--plum); outline-offset:4px; }
.soc-hint { display:none; margin-top:12px; }
.slide__k, .slide__n { font-size:var(--fs-meta); letter-spacing:.06em; }
.slide__p { font-size:var(--fs-meta); }
/* Z kim rozmawiasz */
.kto { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:32px clamp(32px, 6vw, 112px); align-items:start; }
.kto__facts { margin:0; padding:0; list-style:none; display:grid; gap:0; }
.kto__facts li { padding:18px 0; border-top:1px solid var(--sand); display:grid; grid-template-columns:minmax(0,1fr); gap:4px; }
.kto__facts li:last-child { border-bottom:1px solid var(--sand); }
.kto__facts b { font-weight:var(--w-mid); }
.kto__sign { margin-top:24px; font-family:var(--font-serif); font-variation-settings:var(--opsz); font-size:var(--fs-h3); }
.calc__more { margin-top:16px; }
.legal h2 { max-width:none; }
.footer h3 { color:var(--inverse-fg); }
.footer a[href^="mailto:"] { overflow-wrap:anywhere; }
@media (max-width: 900px) {
  .dzispo, .packs, .kto { grid-template-columns:minmax(0,1fr); }
  .soc-hint { display:block; }
  .slides { margin-right:calc(-1 * var(--gr)); padding-right:var(--gr); }
  .firmy-bar { top:56px; }
}
.hero__media picture { display:block; height:100%; }

/* ===== Ankieta przed rozmową (ankieta.html, 28.10.2026) ===== */
.ank-wrap { max-width:860px; }
.ank-hero { padding-bottom:clamp(32px, 4vw, 56px); }
.ank-hero h1 { font-size:var(--fs-h2); line-height:var(--lh-h2); }
.ank-zasady { margin:var(--sp-block) 0 0; padding-left:1.2em; display:grid; gap:10px; max-width:62ch; }
.ank-zasady li::marker { color:var(--plum-text); }
.ank-zasady b { font-weight:var(--w-strong); }
.ank-przywrocono { margin-top:20px; padding:12px 16px; background:var(--sand); }
.ank-sekcja { padding-block:clamp(40px, 5vw, 64px); border-top:1px solid var(--sand); }
.ank-sekcja__head { margin-bottom:28px; display:grid; gap:8px; }
.ank-sekcja__head h2 { font-size:var(--fs-h3); line-height:var(--lh-h3); }
.ank-pola { display:grid; gap:28px; }
.ank-set { border:0; margin:0; padding:0; min-width:0; }
.ank-set legend, .ank-label { padding:0; margin:0 0 4px; font-size:var(--fs-ui); font-weight:var(--w-strong); line-height:1.3; }
.ank-chip { position:relative; }
.ank-chip:has(input:checked) { background:var(--plum); border-color:var(--plum); color:var(--on-plum); }
.ank-chip:has(input:checked)::before { content:"✓"; }
.ank-chip:has(input:focus-visible) { outline:2px solid var(--plum-text); outline-offset:2px; }
.field textarea.ank-krotka { min-height:80px; }
.field input[type="url"] { width:100%; min-height:56px; padding:0 16px; background:var(--ivory); color:var(--ink); border:1px solid var(--field-border); border-radius:0; font-family:var(--font-sans); font-size:var(--fs-body); }
.ank-usl { border:1px solid var(--sand); margin:12px 0 0; padding:16px 20px 20px; min-width:0; }
.ank-usl legend { padding:0 6px; font-size:var(--fs-meta); color:var(--ink-soft); letter-spacing:.06em; text-transform:uppercase; }
.ank-usl__g { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; }
.ank-usl__n { grid-column:1 / -1; }
.ank-usl .input input { padding-right:52px; }
.ank-wyslij { padding-block:clamp(40px, 5vw, 64px); border-top:1px solid var(--sand); display:grid; gap:16px; justify-items:start; }
.ank-gotowe h2 { font-size:var(--fs-h2); line-height:var(--lh-h2); }
.ank-gotowe h2:focus { outline:none; }
.ank-kroki { margin:var(--sp-block) 0; padding:0; list-style:none; display:grid; gap:20px; }
.ank-kroki li { display:grid; gap:8px; justify-items:start; }
.ank-tekst { width:100%; min-height:200px; padding:14px 16px; background:rgba(247,243,237,.08); color:inherit; border:1px solid rgba(247,243,237,.3); font-family:var(--font-sans); font-size:var(--fs-meta); line-height:1.5; margin-bottom:16px; }
@media (max-width: 700px) {
  .ank-usl__g { grid-template-columns:repeat(2, minmax(0,1fr)); }
}
.ank-usl__g { align-items:end; }
.ank-usl__g .field label { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ank-gotowe .note, .ank-kroki span { color:var(--on-plum); }
.ank-kroki span { font-size:var(--fs-ui); line-height:1.5; max-width:52ch; }
.ank-hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.ank-gotowe .lead { margin-top:16px; }
.ank-gotowe .note + .note { margin-top:8px; }
.ank-wyslij button[disabled] { opacity:.7; cursor:progress; }
