/* CMD Consulting — system wizualny „neon” (X.2026)
   Strona jako przedłużenie reklamy: granat, neonowy turkus, wąskie ciężkie nagłówki, prawdziwe zdjęcia z sali.
   Jeden kolor akcji: turkus. Jasne sekcje („papier”) tylko do czytania: program, FAQ. */
:root{
  --bg-0:#0E111D; --bg-1:#161A2B; --bg-2:#1B1F32; --line:#283049;
  --neon:#7EE0E8; --neon-2:#4FD8F0; --neon-glow:rgba(126,224,232,.45); --neon-soft:rgba(126,224,232,.12);
  --text:#F0F2F7; --muted:#A0AABE; --paper:#F6F8FB; --ink:#0E111D; --ink-2:#4A5570; --paper-line:#DCE2EC;
  --ok:#6FD8A8; --err:#FF9B8F;
  --f-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --f-body:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1180px; --r:14px; --r-lg:22px;
  --nav-h:68px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg-0);color:var(--text);font-family:var(--f-body);font-size:17px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--neon)}
h1,h2,h3{font-family:var(--f-display);font-weight:800;line-height:1.02;letter-spacing:.005em;margin:0;text-wrap:balance}
h1{font-size:clamp(42px,7.4vw,84px);text-transform:uppercase}
h2{font-size:clamp(32px,4.6vw,54px);text-transform:uppercase}
h3{font-size:clamp(24px,2.6vw,30px)}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:20px}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--neon)}
.neon{color:var(--neon);text-shadow:0 0 26px var(--neon-glow)}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--neon);outline-offset:3px;border-radius:6px}

/* ---------- przyciski ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:12px;font-weight:700;font-size:17px;text-decoration:none;border:0;cursor:pointer;font-family:var(--f-body);transition:transform .15s,box-shadow .15s,background .15s}
.btn--primary{background:var(--neon);color:var(--ink);box-shadow:0 0 0 1px rgba(126,224,232,.4),0 8px 30px rgba(126,224,232,.28)}
.btn--primary:hover{transform:translateY(-1px);box-shadow:0 0 0 1px var(--neon),0 10px 38px rgba(126,224,232,.45)}
.btn--ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn--ghost:hover{border-color:var(--neon);color:var(--neon)}
.btn--block{width:100%}

/* ---------- nawigacja ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(14,17,29,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(40,48,73,.7)}
.nav__in{display:flex;align-items:center;gap:20px;height:var(--nav-h)}
.nav__logo img{height:40px;width:auto}
.nav__links{display:flex;gap:26px;margin-left:auto;align-items:center}
.nav__links a{color:var(--text);text-decoration:none;font-weight:500;font-size:15px}
.nav__links a:hover,.nav__links a[aria-current="page"]{color:var(--neon)}
.nav__cta{min-height:42px;padding:0 18px;font-size:15px}
.nav__tel{display:none;color:var(--text);text-decoration:none;font-weight:700}
.nav__toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--text);border-radius:10px;width:44px;height:44px;cursor:pointer}
.nav__toggle svg{width:22px;height:22px}
@media (max-width:900px){
  .nav__toggle{display:inline-flex;align-items:center;justify-content:center}
  .nav__links{display:none;position:absolute;left:0;right:0;top:var(--nav-h);background:var(--bg-0);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 18px;border-bottom:1px solid var(--line)}
  .nav__links.open{display:flex}
  .nav__links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
  .nav__links .nav__cta{margin-top:14px;border:0}
}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding-block:56px 64px;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(60% 60% at 85% 10%,rgba(126,224,232,.16),transparent 70%),
  radial-gradient(50% 50% at 0% 100%,rgba(79,216,240,.08),transparent 70%),
  linear-gradient(180deg,var(--bg-0),var(--bg-1))}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;background-image:
  linear-gradient(rgba(126,224,232,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(126,224,232,.07) 1px,transparent 1px);
  background-size:48px 48px;mask-image:linear-gradient(180deg,#000 0%,transparent 75%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 75%)}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero__copy{display:grid;gap:22px;min-width:0}
.hero__price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.hero__old{font-family:var(--f-display);font-size:30px;font-weight:600;color:var(--muted);text-decoration:line-through;text-decoration-thickness:2px}
.hero__lead{font-size:19px;color:#D6DBE6;max-width:56ch}
.hero__note{font-size:14px;color:var(--muted);max-width:60ch}
.hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.hero__micro{font-size:14px;color:var(--muted)}
.hero__media{position:relative;min-width:0}
.hero__media picture img{border-radius:var(--r-lg);aspect-ratio:4/5;object-fit:cover;width:100%;border:1px solid rgba(126,224,232,.25);box-shadow:0 0 60px rgba(126,224,232,.12)}
.hero__badge{position:absolute;left:-18px;bottom:28px;background:rgba(14,17,29,.92);border:1px solid rgba(126,224,232,.45);border-radius:14px;padding:12px 16px;box-shadow:0 0 30px rgba(126,224,232,.18);max-width:250px}
.hero__badge b{display:block;font-family:var(--f-display);font-size:30px;line-height:1;color:var(--neon)}
.hero__badge span{font-size:13px;color:var(--muted)}
.trust{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;margin:4px 0 0;list-style:none;font-size:14px;color:var(--muted)}
.trust li{display:flex;align-items:center;gap:8px}
.trust li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--neon);box-shadow:0 0 10px var(--neon)}
@media (max-width:900px){
  .hero{padding-block:22px 36px}
  h1{font-size:44px}
  .hero__copy{gap:16px}
  .hero__lead{font-size:17px}
  .hero__grid{grid-template-columns:1fr;gap:28px}
  .hero__media picture img{aspect-ratio:16/10}
  .hero__badge{left:12px;bottom:12px}
  .hero__cta .btn{flex:1 1 100%}
}

/* ---------- sekcje ---------- */
.sec{padding-block:84px}
.sec--alt{background:var(--bg-1)}
.sec--paper{background:var(--paper);color:var(--ink)}
.sec--paper .eyebrow{color:#096F78}
.sec--paper .muted{color:var(--ink-2)}
.sec__head{display:grid;gap:14px;max-width:760px;margin-bottom:40px}
.sec__head p{font-size:18px;color:var(--muted)}
.sec--paper .sec__head p{color:var(--ink-2)}
@media (max-width:700px){.sec{padding-block:56px}}

/* karty szkoleń */
.courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.course{position:relative;display:grid;gap:18px;align-content:start;background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border:1px solid var(--line);border-radius:var(--r-lg);padding:30px}
.course:hover{border-color:rgba(126,224,232,.5);box-shadow:0 0 40px rgba(126,224,232,.08)}
.course__tag{justify-self:start;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--neon);border:1px solid rgba(126,224,232,.4);border-radius:999px;padding:4px 10px}
.course h3{font-size:clamp(30px,3.4vw,40px);text-transform:uppercase}
.course ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.course li{display:grid;grid-template-columns:22px 1fr;gap:8px;color:#D6DBE6}
.course li::before{content:"";width:12px;height:12px;margin-top:7px;border:2px solid var(--neon);transform:rotate(45deg);border-radius:2px}
.course__meta{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:13px;color:var(--text);background:var(--neon-soft);border-radius:999px;padding:5px 12px}
.course__foot{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:4px}
@media (max-width:820px){.courses{grid-template-columns:1fr}.course{padding:24px}}

/* kroki */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:krok;list-style:none;padding:0;margin:0}
.steps li{counter-increment:krok;display:grid;gap:8px;align-content:start;padding:22px;border-radius:var(--r);background:var(--bg-2);border:1px solid var(--line)}
.steps li::before{content:counter(krok);font-family:var(--f-display);font-weight:800;font-size:44px;line-height:1;color:var(--neon);text-shadow:0 0 18px var(--neon-glow)}
.steps b{font-size:18px}
.steps span{color:var(--muted);font-size:15px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* tabela cen */
.price{width:100%;border-collapse:collapse;font-size:16px}
.price-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-2)}
.price th,.price td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);vertical-align:top}
.price th{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.price tr:last-child td{border-bottom:0}
.price td b.big{font-family:var(--f-display);font-size:30px;line-height:1;color:var(--neon);white-space:nowrap}
.price td small{display:block;color:var(--muted);font-size:14px}
.price-note{margin-top:14px;font-size:14px;color:var(--muted)}

/* galeria */
.gallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}
.gallery figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);min-width:0}
.gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 10px;font-size:14px;color:var(--text);background:linear-gradient(transparent,rgba(14,17,29,.9))}
@media (max-width:820px){.gallery{grid-template-columns:1fr 1fr}.gallery figure:first-child{grid-column:1/-1}}

/* opinie */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.quote{margin:0;display:grid;gap:14px;align-content:start;padding:24px;border-radius:var(--r);background:var(--bg-2);border:1px solid var(--line)}
.quote blockquote{margin:0;font-size:17px;color:#E2E6EF}
.quote figcaption{font-size:14px;color:var(--muted)}
.stars{color:var(--neon);letter-spacing:3px;font-size:15px}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}

/* trener */
.trainer{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
.trainer img{border-radius:var(--r-lg);border:1px solid rgba(126,224,232,.3);aspect-ratio:4/3;object-fit:cover;width:100%}
.trainer__copy{display:grid;gap:16px;min-width:0}
.trainer__copy p{color:#D6DBE6}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:6px}
.facts div{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--bg-2)}
.facts b{display:block;font-family:var(--f-display);font-size:32px;line-height:1;color:var(--neon)}
.facts span{font-size:14px;color:var(--muted)}
@media (max-width:820px){.trainer{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:460px){.facts{grid-template-columns:1fr}}

/* dla firm */
.biz{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.biz article{display:grid;gap:10px;align-content:start;padding:24px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg-2)}
.biz article b.big{font-family:var(--f-display);font-size:42px;line-height:1;color:var(--neon)}
.biz article p{color:#D6DBE6;font-size:16px}
.callout{margin-top:22px;padding:20px 22px;border-radius:var(--r);border:1px solid rgba(126,224,232,.4);background:var(--neon-soft);display:grid;gap:6px}
.callout p{color:#D6DBE6}
@media (max-width:900px){.biz{grid-template-columns:1fr}}

/* program (papier) */
.days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.day{background:#fff;border:1px solid var(--paper-line);border-radius:var(--r-lg);padding:26px;display:grid;gap:4px;align-content:start}
.day h3{text-transform:uppercase;color:var(--ink);margin-bottom:10px}
.slot{display:grid;grid-template-columns:116px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--paper-line)}
.slot time{font-variant-numeric:tabular-nums;font-weight:700;color:#0B8A95;font-size:15px}
.slot b{display:block;color:var(--ink);font-size:17px}
.slot span{color:var(--ink-2);font-size:15px}
@media (max-width:820px){.days{grid-template-columns:1fr}.slot{grid-template-columns:1fr;gap:2px}}

/* dla kogo */
.fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.fit article{padding:26px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--bg-2);display:grid;gap:12px;align-content:start}
.fit ul{margin:0;padding-left:20px;display:grid;gap:8px;color:#D6DBE6}
.fit article.no{background:transparent}
.fit article.no h3{color:var(--muted)}
@media (max-width:820px){.fit{grid-template-columns:1fr}}

/* FAQ */
.faq{display:grid;gap:10px;max-width:880px}
.faq details{background:#fff;border:1px solid var(--paper-line);border-radius:12px;padding:0 20px}
.faq summary{cursor:pointer;list-style:none;padding:18px 0;font-weight:700;font-size:17px;color:var(--ink);display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-display);font-size:28px;line-height:.8;color:#0B8A95}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 18px;color:var(--ink-2)}

/* formularz */
.signup{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:start}
.signup__copy{display:grid;gap:16px;min-width:0}
.signup__copy ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:#D6DBE6}
.signup__copy li{display:grid;grid-template-columns:24px 1fr;gap:8px}
.signup__copy li::before{content:"✓";color:var(--neon);font-weight:700}
.form{background:var(--bg-2);border:1px solid rgba(126,224,232,.45);border-radius:var(--r-lg);padding:28px;box-shadow:0 0 50px rgba(126,224,232,.1);display:grid;gap:14px;min-width:0}
.form h3{text-transform:uppercase}
.field{display:grid;gap:6px}
.field label,.field legend{font-size:14px;font-weight:600;color:#D6DBE6}
.field input,.field select{width:100%;min-height:50px;background:var(--bg-0);border:1px solid #65718F;border-radius:10px;color:var(--text);font:inherit;font-size:16px;padding:0 14px}
.field input:focus,.field select:focus{outline:none;border-color:var(--neon);box-shadow:0 0 0 3px rgba(126,224,232,.2)}
.field input[aria-invalid="true"]{border-color:var(--err)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
fieldset.field{border:0;padding:0;margin:0}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.seg--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:480px){.seg--3{grid-template-columns:1fr}}
.seg label{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:600;font-size:15px;color:var(--text);text-align:center;padding:0 8px}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;min-height:0}
.seg input:checked+span{color:var(--ink)}
.seg label:has(input:checked){background:var(--neon);border-color:var(--neon);color:var(--ink)}
.seg label:has(input:focus-visible){outline:2px solid var(--neon);outline-offset:2px}
.consent{display:grid;grid-template-columns:22px 1fr;gap:10px;font-size:13px;color:var(--muted);line-height:1.5}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--neon)}
.consent-note{font-size:12px;color:var(--muted);line-height:1.5;margin:-4px 0 0}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form__msg{font-size:15px;min-height:1.4em}
.form__msg.err{color:var(--err)}
.form__done{display:grid;gap:10px;text-align:left}
.form__done b{font-family:var(--f-display);font-size:34px;text-transform:uppercase;color:var(--neon)}
@media (max-width:900px){.signup{grid-template-columns:1fr}.form{padding:22px}}
@media (max-width:420px){.row2{grid-template-columns:1fr}}

/* stopka */
.foot{background:#0A0C16;border-top:1px solid var(--line);padding-block:48px 110px;font-size:15px;color:var(--muted)}
.foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.foot h4{font-family:var(--f-display);font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin:0 0 12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{color:var(--muted);text-decoration:none}
.foot a:hover{color:var(--neon)}
.foot button.linklike{background:none;border:0;padding:0;font:inherit;color:var(--muted);cursor:pointer;text-align:left}
.foot button.linklike:hover{color:var(--neon)}
.foot__legal{margin-top:32px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
@media (max-width:820px){.foot__grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.foot__grid{grid-template-columns:1fr}}

/* przyklejony pasek na telefonie */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;gap:12px;align-items:center;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(14,17,29,.95);border-top:1px solid rgba(126,224,232,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transform:translateY(110%);transition:transform .25s}
.sticky.on{transform:none}
.sticky b{font-family:var(--f-display);font-size:28px;color:var(--neon);white-space:nowrap}
.sticky .btn{flex:1;min-height:48px}
@media (max-width:900px){.sticky{display:flex}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* ---------- jasne sekcje („papier”): ten sam układ, czytelne na białym ---------- */
.sec--paper-2{background:#EEF2F7}
.sec--paper h2,.sec--paper h3{color:var(--ink)}
.sec--paper .neon{color:#0B8A95;text-shadow:none}
.sec--paper .steps li{background:#fff;border-color:var(--paper-line)}
.sec--paper .steps li::before{color:#0B8A95;text-shadow:none}
.sec--paper .steps b{color:var(--ink)}
.sec--paper .steps span{color:var(--ink-2)}
.sec--paper .price-wrap{background:#fff;border-color:var(--paper-line)}
.sec--paper .price th{color:var(--ink-2)}
.sec--paper .price td{color:var(--ink);border-color:var(--paper-line)}
.sec--paper .price td small{color:var(--ink-2)}
.sec--paper .price td b.big{color:#096F78}
.sec--paper .price-note{color:var(--ink-2)}
.sec--paper .price-note a,.sec--paper .sec__head a{color:#0B7A84}
.sec--paper .quote{background:#fff;border-color:var(--paper-line)}
.sec--paper .quote blockquote{color:var(--ink)}
.sec--paper .quote figcaption{color:var(--ink-2)}
.sec--paper .stars{color:#B07A00}
.sec--paper .fit article{background:#fff;border-color:var(--paper-line)}
.sec--paper .fit article.no{background:transparent}
.sec--paper .fit ul{color:var(--ink)}
.sec--paper .fit article.no h3{color:var(--ink-2)}
.form__req{font-size:13px;color:var(--muted);margin:-6px 0 0}

/* ===================================================================
   Strony generowane (miasta, subregiony, województwa, tematy) — X.2026
   Komponenty czytają kolory z --c-*, więc działają w sekcji ciemnej i jasnej.
   =================================================================== */
.sec{--c-card:var(--bg-2);--c-line:var(--line);--c-txt:#D6DBE6;--c-head:var(--text);--c-mut:var(--muted);--c-acc:var(--neon)}
.sec--paper{--c-card:#fff;--c-line:var(--paper-line);--c-txt:var(--ink);--c-head:var(--ink);--c-mut:var(--ink-2);--c-acc:#0B7A84}
.sec--tight{padding-block:56px}
.sec__head p a,.prose a{color:var(--c-acc)}

/* hero bez zdjęcia (strony lokalne) */
.hero--geo .hero__grid{grid-template-columns:1.25fr .75fr}
.hero--geo h1{font-size:clamp(40px,6.2vw,72px)}
.geo-panel{display:grid;gap:12px;padding:24px;border-radius:var(--r-lg);border:1px solid rgba(126,224,232,.35);background:rgba(22,26,43,.75);box-shadow:0 0 50px rgba(126,224,232,.08)}
.geo-panel__row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:baseline;padding-bottom:12px;border-bottom:1px solid var(--line)}
.geo-panel__row:last-child{border-bottom:0;padding-bottom:0}
.geo-panel__row b{font-family:var(--f-display);font-size:34px;line-height:1;color:var(--neon);min-width:3.2ch}
.geo-panel__row span{font-size:15px;color:#D6DBE6}
@media (max-width:900px){.hero--geo .hero__grid{grid-template-columns:1fr}}

/* okruszki */
.crumbs{font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--neon)}
.crumbs span[aria-hidden]{opacity:.5}

/* tekst ciągły */
.prose{display:grid;gap:14px;max-width:72ch;color:var(--c-txt);font-size:17px}
.prose strong{color:var(--c-head)}

/* karty (zastosowania, szkolenia, subregiony, tematy) */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{display:grid;gap:10px;align-content:start;padding:24px;border-radius:var(--r);background:var(--c-card);border:1px solid var(--c-line);color:var(--c-txt);text-decoration:none;min-width:0}
.card h3{font-size:24px;color:var(--c-head);text-transform:none}
.card p{color:var(--c-mut);font-size:16px}
.card .card__more{color:var(--c-acc);font-weight:700;font-size:15px}
a.card:hover{border-color:var(--c-acc)}
.card__kod{justify-self:start;font-family:var(--f-display);font-weight:800;font-size:18px;letter-spacing:.02em;color:var(--c-acc);border:1px solid currentColor;border-radius:8px;padding:2px 10px}
.card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:0;font-size:15px}
.card dt{color:var(--c-mut)}
.card dd{margin:0;color:var(--c-head)}
.card .card__det{padding-top:10px;border-top:1px solid var(--c-line);font-size:14px;color:var(--c-mut)}

/* dwie ścieżki: firma / osoba */
.paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.path{display:grid;gap:12px;align-content:start;padding:26px;border-radius:var(--r-lg);background:var(--c-card);border:1px solid var(--c-line)}
.path__tag{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-acc)}
.path b.big{font-family:var(--f-display);font-size:44px;line-height:1;color:var(--c-acc)}
.path p{color:var(--c-txt);font-size:16px}
.path a{color:var(--c-acc);font-weight:700;text-decoration:none}
@media (max-width:820px){.paths{grid-template-columns:1fr}}

/* pigułki z linkami (miasta, tematy) */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--c-line);background:var(--c-card);color:var(--c-head);text-decoration:none;font-size:15px}
.chips a:hover{border-color:var(--c-acc);color:var(--c-acc)}
.chips a.chips__all{border-color:var(--c-acc);color:var(--c-acc);font-weight:700}

/* kroki w sekcji: dopuszczamy dłuższy tekst */
.steps--long{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:700px){.steps--long{grid-template-columns:1fr}}

/* lista powiatów / operatorów */
.list-cols{columns:3 220px;column-gap:28px;margin:0;padding:0;list-style:none;color:var(--c-txt);font-size:16px}
.list-cols li{break-inside:avoid;padding:6px 0;border-bottom:1px solid var(--c-line)}

/* ramka „stan danych” */
.stamp{margin-top:28px;padding:14px 18px;border-radius:12px;border:1px dashed var(--c-line);font-size:14px;color:var(--c-mut)}
.stamp a{color:var(--c-acc)}
.sec .callout p{color:var(--c-txt)}
.sec--paper .callout{background:#E8F7F8;border-color:#9ED9DE}
.sec--paper .faq details{border-color:var(--paper-line)}
.foot__extra{margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}
.foot__extra h4{margin-bottom:10px}
.foot__extra ul{display:flex;flex-wrap:wrap;gap:6px 18px}

/* ===== poprawki z audytu 2 (6.10.2026) ===== */
[hidden]{display:none!important}
.nav__links a.btn--primary,.nav__links a.btn--primary:hover{color:var(--ink)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--neon);color:var(--ink);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.sec--paper{--c-acc:#096F78}
.sec--paper .faq summary::after{color:#096F78}
.field__err{font-size:14px;color:var(--err);margin:2px 0 0}
/* cele dotykowe ≥44 px */
.foot ul a,.foot__legal a{display:inline-flex;align-items:center;min-height:44px}
.foot ul{gap:0}
.chips a{min-height:44px}
.crumbs a{display:inline-flex;align-items:center;min-height:44px}
/* tabela cen jako karty na telefonie */
@media (max-width:640px){
  .price-wrap{overflow:visible;border:0;background:transparent}
  .price thead{display:none}
  .price,.price tbody,.price tr,.price td{display:block;width:100%}
  .price tr{border:1px solid var(--paper-line);border-radius:var(--r);background:#fff;padding:14px 16px;margin-bottom:12px}
  .price td{border:0;padding:4px 0}
  .price td[data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
}
/* H1 w hero: dłuższe nagłówki z frazą SEO nie mogą wchodzić na zdjęcie */
.hero__copy h1{font-size:clamp(38px,5.4vw,74px);overflow-wrap:anywhere;hyphens:manual}
.hero__copy{min-width:0}
/* siatka kart: najwyżej 3 kolumny, bez osieroconej karty w rzędzie po 4 */
.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
/* nawigacja: menu „hamburger” do 1100 px, żeby linki nie łamały się w dwie linie na tabletach poziomo */
.nav__links a{white-space:nowrap}
@media (max-width:1100px){
  .nav__toggle{display:inline-flex;align-items:center;justify-content:center}
  .nav__links{display:none;position:absolute;left:0;right:0;top:var(--nav-h);background:var(--bg-0);flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 18px;border-bottom:1px solid var(--line)}
  .nav__links.open{display:flex}
  .nav__links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:17px}
  .nav__links .nav__cta{margin-top:14px;border:0}
}
/* czytelniejsze dane w kartach programów */
.card dl{font-size:15px}
.card .card__det{font-size:15px}
/* pasek zapisu także na tabletach (do 1100 px), bo przycisk z nawigacji jest wtedy w menu */
@media (max-width:1100px){.sticky{display:flex}.foot{padding-bottom:110px}}
/* pasek zapisu na tablecie: przycisk nie na całą szerokość */
@media (min-width:601px){.sticky{justify-content:center}.sticky .btn{flex:0 1 420px}}

/* tablet 901–1100 px: kadr hero „AI od podstaw” na trenera, nie na ścianę (audyt UX 7, P-1) */
@media (min-width:901px) and (max-width:1100px){img.kadr-ekran-prezentacja{object-position:100% 75%!important}}
