/*
Theme Name: Fundacja Sustain Joy
Theme URI: http://localhost:8881
Author: Fundacja Sustain Joy
Author URI: http://localhost:8881
Description: Blokowy motyw WordPress dla Fundacji Sustain Joy — audyty, szkolenia i rozwiązania IT dla żłobków, klubów dziecięcych i gmin. Granat + złoto, Cinzel/Manrope, tryb jasny i ciemny, WCAG 2.2 AA.
Version: 1.0.8
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sustain-joy
*/

/* ============================================================
   SELF-HOSTED FONTS (A13) — Cinzel (display) + Manrope (UI).
   woff2 in assets/fonts/. Variable fonts: one file per subset
   covers the full weight range. Polish glyphs need latin-ext.
   ============================================================ */
@font-face{
  font-family:'Cinzel';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('assets/fonts/cinzel-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Cinzel';font-style:normal;font-weight:400 600;font-display:swap;
  src:url('assets/fonts/cinzel-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('assets/fonts/manrope-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Manrope';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('assets/fonts/manrope-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ============================================================
   PORTED DESIGN SYSTEM — merged verbatim from the approved
   mockups (design/approved/*.html) + design-patterns.html.
   Every component class from the mockups is preserved here.
   ============================================================ */

:root{
 --navy-900:#0A1529; --navy-800:#122442; --navy-700:#1C345E; --navy-600:#284880; --navy-500:#3D62A4;
 --navy-200:#CED8E8; --navy-100:#E4E9F1; --navy-50:#F3F5F9;
 --gold-700:#966F2C; --gold-600:#C3923C; --gold-500:#D9AA55; --gold-300:#E0CAA3; --gold-100:#F2EBDE; --gold-50:#F9F6F1;
 --white:#FFFFFF; --paper:#F8F7F4; --border:#DCE1EA; --text:#122442; --text-2:#53688D; --muted:#8D99B0;
 --ok:#308263; --err:#AE4532; --warn:#A5681D; --info:#31589B;
 --font-display:'Cinzel',Georgia,serif;
 --font-body:'Manrope','Segoe UI',Arial,sans-serif;
 --miedz:#874D31;   --miedz-tint:#F2ECE9;
 --burgund:#834B45; --burgund-tint:#F3ECEA;
 --oliwka:#736A45;  --oliwka-tint:#EEEBE0;
 --bg:var(--paper); --ink:var(--text); --ink-2:var(--text-2); --line:var(--border);
 --surface:var(--white); --brand-gold:var(--gold-600); --link:var(--gold-700);
 --shadow-soft:0 12px 32px -14px rgba(18,36,66,.20);
 --shadow-lift:0 24px 52px -18px rgba(18,36,66,.32);
 --sec-white:#FFFFFF; --sec-paper:#F8F7F4; --sec-navy50:#F3F5F9; --sec-navy:#122442; --sec-navy900:#0A1529;
 --p1-bg:var(--burgund-tint);  --p1-acc:var(--burgund);
 --p2-bg:var(--miedz-tint);    --p2-acc:var(--miedz);
 --p3-bg:var(--oliwka-tint);   --p3-acc:var(--oliwka);
}
:root[data-theme="dark"]{
 --bg:#0A1529; --ink:#FFFFFF; --ink-2:#B7C3D8; --line:#2A3C5E;
 --surface:#122442; --brand-gold:#E3B662; --link:#E0CAA3;
 --shadow-soft:0 12px 32px -14px rgba(0,0,0,.55);
 --shadow-lift:0 24px 52px -16px rgba(0,0,0,.66);
 --sec-white:#122442; --sec-paper:#0D1B33; --sec-navy50:#0D1B33; --sec-navy:#0A1529; --sec-navy900:#070F1F;
 --p1-bg:#2A1B18;  --p1-acc:#E3ACA6;
 --p2-bg:#2A211C;  --p2-acc:#E0B79E;
 --p3-bg:#24241A;  --p3-acc:#CFC58C;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);font-size:17px;line-height:1.68;font-weight:400;-webkit-font-smoothing:antialiased;transition:background .4s ease,color .4s ease}
h1,h2{font-family:var(--font-display);text-transform:uppercase;font-weight:500;line-height:1.16}
h3,h4{font-family:var(--font-body);font-weight:700;line-height:1.28;text-transform:none;letter-spacing:0}
p{text-wrap:pretty}
a{color:var(--link)}
img{max-width:100%}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--font-body);font-size:12.5px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--brand-gold);display:inline-block}
.lead{color:var(--ink);font-weight:400;font-size:clamp(17px,1.6vw,20px);line-height:1.66}
.skip-link{position:absolute;left:14px;top:-60px;z-index:200;background:var(--gold-500);color:var(--navy-800);font-weight:600;font-size:15px;padding:12px 20px;border-radius:10px;text-decoration:none;transition:top .2s ease}
.skip-link:focus{top:14px;outline:2px solid var(--gold-600);outline-offset:3px}
:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--gold-600);outline-offset:3px;border-radius:4px}
.sep-head{display:flex;align-items:center;justify-content:flex-start;margin:18px 0 0}
.sep-head::before,.sep-head::after{content:"";height:1px;background:var(--brand-gold)}
.sep-head::before{width:28px}
.sep-head::after{width:54px}
.sep-head i{width:6px;height:6px;border-radius:50%;background:var(--brand-gold);margin:0 9px;flex-shrink:0}
.sec-head.center .sep-head,.sep-head.is-center{justify-content:center}
.sec-head.center .sep-head::before,.sep-head.is-center::before{width:54px}
.sec-head.center .sep-head::after,.sep-head.is-center::after{width:54px}
.on-navy .sep-head::before,.on-navy .sep-head::after,.on-navy .sep-head i{background:var(--gold-500)}
.divider{display:flex;align-items:center;max-width:360px;margin:56px auto}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--brand-gold);opacity:.8}
.divider i{width:7px;height:7px;border-radius:50%;background:var(--brand-gold);margin:0 12px;flex-shrink:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:.02em;line-height:1;min-height:48px;padding:15px 28px;border-radius:12px;border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:transform .18s ease,box-shadow .22s ease,background .18s ease,color .18s ease,border-color .18s ease}
.btn-lg{font-size:16px;padding:18px 36px;min-height:56px}
.btn-cta{background:var(--gold-500);color:var(--navy-800);box-shadow:0 10px 22px -10px rgba(217,170,85,.75)}
.btn-cta:hover{background:var(--gold-600);transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(195,146,60,.8)}
.btn-primary{background:var(--navy-800);color:#fff}
.btn-primary:hover{background:var(--navy-700);transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.btn-ghost{background:transparent;color:var(--ink);border-color:currentColor}
.btn-ghost:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}
.on-navy .btn-ghost{color:#FFFFFF;border-color:rgba(255,255,255,.6)}
.on-navy .btn-ghost:hover{background:#FFFFFF;color:var(--navy-900)}
header.site{position:sticky;top:0;z-index:60;background:var(--surface);border-bottom:1px solid var(--line);transition:background .4s ease,border-color .4s ease}
.navbar{display:flex;align-items:center;gap:22px;padding:16px 0;min-height:96px}
.brand{display:flex;align-items:center;flex-shrink:0;padding:6px 10px;border-radius:8px}
.brand img{height:62px;width:auto;display:block}
.brand .logo-dark{display:none}
:root[data-theme="dark"] .brand .logo-light{display:none}
:root[data-theme="dark"] .brand .logo-dark{display:block}
nav.main{display:flex;gap:28px;margin-left:14px}
nav.main a{font-size:14.5px;font-weight:600;letter-spacing:.01em;color:var(--ink);text-decoration:none;position:relative;padding:10px 2px;min-height:24px;transition:color .18s ease}
nav.main a::after{content:"";position:absolute;left:2px;right:100%;bottom:4px;height:2px;background:var(--brand-gold);transition:right .25s ease;border-radius:2px}
nav.main a:hover{color:var(--brand-gold)}
nav.main a:hover::after{right:2px}
nav.main a.active{color:var(--brand-gold)}
nav.main a.active::after{right:2px}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.toggle{width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--navy-50);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .18s ease,transform .18s ease,border-color .18s ease}
:root[data-theme="dark"] .toggle{background:#0E1D38}
.toggle:hover{transform:translateY(-2px);border-color:var(--brand-gold)}
.toggle svg{width:20px;height:20px}
.toggle .sun{display:none}
:root[data-theme="dark"] .toggle .moon{display:none}
:root[data-theme="dark"] .toggle .sun{display:block}
.header-cta{white-space:nowrap}
.burger{display:none}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}*{scroll-behavior:auto!important}.btn:hover,.card:hover,.toggle:hover,.acard:hover,.post:hover,.person:hover,.vcard:hover{transform:none!important}}
.arc{background:var(--from);line-height:0}
.arc svg{display:block;width:100%;height:clamp(46px,6vw,92px)}
.arc path{fill:var(--to)}
section.band{padding:clamp(60px,8vw,96px) 0}
.sec-white{background:var(--sec-white)}
.sec-paper{background:var(--sec-paper)}
.sec-navy50{background:var(--sec-navy50)}
.sec-navy{background:var(--sec-navy)}
.sec-navy .eyebrow{color:var(--gold-500)}
.on-navy{color:#FFFFFF}
.on-navy h1,.on-navy h2,.on-navy h3,.on-navy h4{color:#fff}
.on-navy .lead,.on-navy p{color:#FFFFFF}
.sec-head{max-width:700px;margin-bottom:48px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{font-size:clamp(26px,3.4vw,38px);letter-spacing:.08em;margin:14px 0 0;text-wrap:balance;color:var(--ink)}
.on-navy .sec-head h2{color:#fff}
.sec-head p{margin-top:18px}
.photo{position:relative;overflow:hidden;background:var(--navy-100);isolation:isolate}
:root[data-theme="dark"] .photo{background:#16294a}
.photo img{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.10) saturate(1.06) brightness(1.02)}
:root[data-theme="dark"] .photo img{filter:sepia(.12) saturate(1.02) brightness(.95)}
.photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(217,170,85,.09);mix-blend-mode:multiply}
.photo-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:36px 18px 12px;font-size:12px;line-height:1.45;color:#FBF6EC;background:linear-gradient(0deg,rgba(9,18,34,.90) 0%,rgba(9,18,34,.62) 55%,rgba(9,18,34,0) 100%)}
.photo-cap em{font-style:italic}
/* ===== HERO FULL-BLEED ===== */
.hero-full{position:relative;overflow:hidden;isolation:isolate;background:var(--sec-navy)}
.hero-full .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;z-index:0;filter:sepia(.10) saturate(1.06) brightness(1.0)}
:root[data-theme="dark"] .hero-full .hero-bg{filter:sepia(.12) saturate(1.02) brightness(.9)}
.hero-full .hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(10,21,41,.94) 0%,rgba(10,21,41,.80) 46%,rgba(10,21,41,.60) 100%)}
.hero-full .hero-glow{position:absolute;top:-140px;right:-120px;width:420px;height:420px;border-radius:50%;z-index:1;pointer-events:none;background:radial-gradient(circle at 30% 30%,rgba(217,170,85,.22),rgba(217,170,85,0) 70%)}
.hero-full-inner{position:relative;z-index:2;padding:clamp(76px,12vw,152px) 0 clamp(104px,14vw,184px);max-width:760px}
.hero-full .eyebrow{color:var(--gold-500)}
.hero-full h1{color:#fff;font-size:clamp(38px,6.4vw,68px);letter-spacing:.08em;text-wrap:balance;margin-top:20px}
.hero-full h1 .joy{color:var(--gold-500);white-space:nowrap}
.hero-full .lead{color:#fff;margin:22px 0 34px;max-width:600px}
.hero-full .hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-arc{position:absolute;left:0;right:0;bottom:-1px;z-index:3;line-height:0}
.hero-arc svg{display:block;width:100%;height:clamp(46px,6vw,92px)}
.hero-arc path{fill:var(--sec-navy)}
/* ===== KOMPAKTOWY HERO PODSTRON ===== */
.subhero{position:relative;overflow:hidden;isolation:isolate;background:var(--sec-navy)}
.subhero .hero-glow{position:absolute;top:-140px;right:-120px;width:420px;height:420px;border-radius:50%;z-index:0;pointer-events:none;background:radial-gradient(circle at 30% 30%,rgba(217,170,85,.20),rgba(217,170,85,0) 70%)}
.subhero-inner{position:relative;z-index:1;padding:clamp(64px,10vw,116px) 0 clamp(56px,8vw,92px);max-width:720px}
.subhero .eyebrow{color:var(--gold-500)}
.subhero h1{color:#fff;font-size:clamp(34px,5.6vw,60px);letter-spacing:.08em;text-wrap:balance;margin-top:18px}
.subhero .lead{color:#fff;margin-top:22px;max-width:640px}
.hero-arc.on-sub path{fill:var(--sec-white)}
/* ===== PAS ZAUFANIA ===== */
.band-compact{padding:clamp(38px,5vw,58px) 0}
.tstats{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:28px}
.tstat{display:flex;align-items:baseline;gap:16px;border-left:2px solid rgba(224,202,163,.42);padding-left:20px}
.tstat .num{font-family:var(--font-display);font-weight:600;font-size:clamp(40px,5vw,62px);line-height:.9;color:var(--gold-500);letter-spacing:.02em}
.tstat .lab{font-size:14.5px;color:#fff;font-weight:600;line-height:1.4}
.tstat .lab span{display:block;font-weight:400;color:#C9D3E4;font-size:13px;margin-top:3px}
.legal-line{display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;border:1px solid #2A3C5E;border-radius:14px;padding:16px 22px;background:rgba(255,255,255,.03)}
.legal-line .lterm{display:flex;align-items:center;gap:10px;font-size:14px;color:#FFFFFF}
.legal-line .lterm b{color:#fff;font-weight:600}
.legal-line svg{width:20px;height:20px;stroke:var(--gold-500);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.partners{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;align-items:center}
.partners .plabel{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#C9D3E4}
.partners .pchip{font-size:13px;font-weight:600;color:#EDF1F7;border:1px solid #2A3C5E;border-radius:999px;padding:8px 16px;background:rgba(255,255,255,.03)}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{border-radius:18px;padding:34px 30px 32px;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--pacc) 24%,transparent);background:var(--pbg);box-shadow:var(--shadow-soft);transition:transform .28s ease,box-shadow .28s ease}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lift)}
.pillar-1{--pbg:var(--p1-bg);--pacc:var(--p1-acc)}
.pillar-2{--pbg:var(--p2-bg);--pacc:var(--p2-acc)}
.pillar-3{--pbg:var(--p3-bg);--pacc:var(--p3-acc)}
.card-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.chip{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--pacc) 15%,transparent);border:1.5px solid color-mix(in srgb,var(--pacc) 42%,transparent)}
.chip svg{width:28px;height:28px;stroke:var(--pacc);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card .knum{font-family:var(--font-display);font-weight:600;font-size:40px;line-height:1;color:var(--brand-gold)}
.card h3{font-size:20px;letter-spacing:.005em;color:var(--ink);margin:22px 0 12px;position:relative;z-index:1}
.card p{color:var(--ink);font-size:15px;position:relative;z-index:1}
.card ul{list-style:none;margin:16px 0 0;padding:0;position:relative;z-index:1}
.card li{font-size:14px;color:var(--ink);padding-left:22px;position:relative;margin-bottom:8px}
.card li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;background:var(--pacc)}
.card .more{display:inline-block;margin-top:20px;font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--pacc);text-decoration:none;position:relative;z-index:1;min-height:24px;padding:2px 0}
.card .more::after{content:" \2192";transition:margin-left .2s ease}
.card .more:hover::after{margin-left:5px}
.card .more:hover{text-decoration:underline;text-underline-offset:4px}
.aud-split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.aud-cards{display:flex;flex-direction:column;gap:22px}
.photo-aud{min-height:clamp(320px,42vw,460px);border-radius:26px 150px 26px 26px/26px 84px 26px 26px}
.acard{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px 30px;box-shadow:var(--shadow-soft);transition:transform .28s ease,box-shadow .28s ease;display:flex;gap:20px;align-items:flex-start}
.acard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.acard .aicon{width:56px;height:56px;flex-shrink:0;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--pacc) 14%,transparent);border:1px solid color-mix(in srgb,var(--pacc) 40%,transparent)}
.acard .aicon svg{width:26px;height:26px;stroke:var(--pacc);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.acard h3{font-size:18px;letter-spacing:.005em;margin-bottom:10px;color:var(--ink)}
.acard p{color:var(--ink);font-size:14.5px}
.acard.a1{--pacc:var(--p1-acc)}
.acard.a2{--pacc:var(--p3-acc)}
.proc-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:center}
.steps{list-style:none;margin:0;padding:0;counter-reset:step}
.step{position:relative;padding:0 0 30px 66px;counter-increment:step}
.step:last-child{padding-bottom:0}
.step::before{content:counter(step);position:absolute;left:0;top:0;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--gold-700);background:var(--gold-100);border:1.5px solid var(--gold-300)}
:root[data-theme="dark"] .step::before{color:var(--brand-gold);background:#1c2b45;border-color:#3a4d70}
.step::after{content:"";position:absolute;left:23px;top:54px;bottom:14px;width:1.5px;background:var(--gold-300);opacity:.55}
.step:last-child::after{display:none}
.step h3{font-size:18px;letter-spacing:.005em;color:var(--ink);margin-bottom:7px}
.step p{font-size:14.5px;color:var(--ink)}
.photo-proc{min-height:clamp(320px,42vw,460px);border-radius:150px 26px 26px 26px/84px 26px 26px 26px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.person{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .28s ease,box-shadow .28s ease;display:flex;flex-direction:column}
.person:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.photo-person{aspect-ratio:1/1;margin:14px 14px 0;border-radius:18px 18px 90px 90px/18px 18px 60px 60px}
.person .pbody{padding:20px 24px 26px}
.person h3{font-size:18px;letter-spacing:.005em;color:var(--ink);margin-bottom:4px}
.person .role{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-gold);margin-bottom:12px}
.person p{font-size:14px;color:var(--ink-2);line-height:1.6}
.team-more{text-align:center;margin-top:40px}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.post{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .28s ease,box-shadow .28s ease;display:flex;flex-direction:column}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.photo-thumb{height:170px;border-radius:0 0 26px 26px/0 0 40px 40px}
.post .body{padding:22px 26px 28px;display:flex;flex-direction:column;flex:1}
.post .meta{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.post .meta .cat{color:var(--pacc)}
.post.t1{--pacc:var(--p1-acc)}
.post.t2{--pacc:var(--p2-acc)}
.post.t3{--pacc:var(--p3-acc)}
.post h3{font-size:17px;letter-spacing:.005em;line-height:1.32;color:var(--ink);margin-bottom:12px}
.post p{font-size:14px;color:var(--ink-2);margin-bottom:18px}
.post .more{margin-top:auto;font-size:13.5px;font-weight:600;color:var(--link);text-decoration:none;min-height:24px;display:inline-flex;align-items:center}
.post .more::after{content:" \2192";transition:margin-left .2s ease;display:inline-block}
.post .more:hover::after{margin-left:5px}
.post .more:hover{text-decoration:underline;text-underline-offset:4px}
.lead-card{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(30px,4vw,52px);box-shadow:var(--shadow-lift)}
.lead-card h2{font-size:clamp(24px,3vw,34px);letter-spacing:.06em;color:var(--ink);margin:14px 0 0}
.lead-card .lead{margin-top:16px}
.lead-card ul{list-style:none;margin:18px 0 0;padding:0}
.lead-card li{position:relative;padding-left:26px;margin-bottom:9px;font-size:14.5px;color:var(--ink)}
.lead-card li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--gold-100);border:1px solid var(--gold-300)}
.lead-card li::after{content:"";position:absolute;left:5px;top:8px;width:6px;height:3px;border-left:1.6px solid var(--gold-700);border-bottom:1.6px solid var(--gold-700);transform:rotate(-45deg)}
.dl-form .field{margin-bottom:16px}
.dl-form label{display:block;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--ink);margin-bottom:7px}
.dl-form input{width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;min-height:48px}
.dl-form input::placeholder{color:var(--muted)}
.dl-form input:focus-visible{outline:2px solid var(--gold-600);outline-offset:2px;border-color:var(--brand-gold)}
.dl-form .btn-cta{width:100%;margin-top:4px}
.dl-form .hint{font-size:12px;color:var(--ink-2);margin-top:12px;line-height:1.5}
.cta-band{text-align:center}
.cta-band h2{font-size:clamp(26px,4vw,42px);letter-spacing:.08em;color:#fff;max-width:760px;margin:14px auto 0;text-wrap:balance}
.cta-band .lead{margin:14px auto 30px;max-width:620px}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cta-alt{margin-top:20px;font-size:15.5px;color:#FFFFFF}
.cta-alt a{color:var(--gold-300);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:rgba(224,202,163,.55)}
.cta-alt a:hover{color:#FFFFFF;text-decoration-color:#FFFFFF}
footer.site{background:var(--sec-navy900);color:#C9D3E4;padding:64px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
footer.site .foot-logo{height:72px;width:auto;display:block}
.foot-about{font-size:14px;color:#B7C3D8;margin-top:22px;max-width:300px;line-height:1.7}
footer.site h4{font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:18px}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{margin-bottom:11px;font-size:14px;color:#C9D3E4}
footer.site .fl{color:#C9D3E4;text-decoration:none;font-size:14px;transition:color .18s ease;display:inline-block;min-height:24px;padding:2px 0}
footer.site .fl:hover{color:var(--gold-500);text-decoration:underline;text-underline-offset:3px}
.foot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid #24344F;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;font-size:12.5px;color:#AEBDD6}
.foot-bottom .reg{display:flex;gap:22px;flex-wrap:wrap}
.foot-bottom .legal{display:flex;gap:20px;flex-wrap:wrap}
.foot-bottom a{color:#AEBDD6;text-decoration:none;min-height:24px;display:inline-flex;align-items:center}
.foot-bottom a:hover{color:var(--gold-500);text-decoration:underline;text-underline-offset:3px}
.mobile-menu{display:none;flex-direction:column;gap:2px;padding:8px 24px 20px;background:var(--surface);border-bottom:1px solid var(--line)}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:14px 0;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);min-height:48px;display:flex;align-items:center}
.mobile-menu a.active{color:var(--brand-gold)}
.mobile-menu .btn-cta{margin-top:14px;justify-content:center}
@media (max-width:960px){
 .pillars,.tstats,.posts,.team{grid-template-columns:1fr}
 .aud-split,.proc-grid{grid-template-columns:1fr;gap:32px}
 .lead-card{grid-template-columns:1fr;gap:28px}
 .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
 nav.main,.header-cta{display:none}
 .burger{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--navy-50);color:var(--ink);cursor:pointer}
 :root[data-theme="dark"] .burger{background:#0E1D38}
 .brand img{height:46px}
 .navbar{min-height:78px;padding:12px 0}
}
@media (max-width:560px){
 .foot-grid{grid-template-columns:1fr}
 .hero-actions .btn,.cta-actions .btn{width:100%}
 .acard{flex-direction:column;gap:16px}
}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}*{scroll-behavior:auto!important}.btn:hover,.card:hover,.toggle:hover,.acard:hover,.post:hover,.person:hover,.vcard:hover,.mcard:hover{transform:none!important}}
/* ===== HERO PODSTRON (wzorzec §2 — identyczny na wszystkich podstronach) ===== */
.page-hero{position:relative;overflow:hidden;background:var(--navy-800,#122442);color:#fff;text-align:center;padding:96px 24px 80px}
.page-hero .ph-inner{max-width:820px;margin:0 auto;position:relative;z-index:1}
.page-hero .hero-sygnet{height:46px;width:auto;display:block;margin:0 auto 22px}
.page-hero .ph-overline{font-family:var(--font-ui,'Manrope',sans-serif);font-size:12px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-500,#D9AA55);margin:0 0 16px}
.page-hero .ph-title{font-family:var(--font-display,'Cinzel',serif);font-weight:600;color:#fff;font-size:clamp(30px,4.4vw,46px);letter-spacing:.06em;text-transform:uppercase;line-height:1.12;margin:0}
.page-hero .ph-lead{font-family:var(--font-ui,'Manrope',sans-serif);color:#EDF1F7;font-size:18px;line-height:1.7;max-width:640px;margin:22px auto 0}
.page-hero .sep-head{margin:22px auto 0;justify-content:center}
.hero-arc{position:absolute;left:0;right:0;bottom:-1px;z-index:0;line-height:0}
/* ===== MISJA ===== */
.mission{max-width:780px;margin:0 auto;text-align:center}
.mission h2{font-size:clamp(26px,3.4vw,38px);letter-spacing:.08em;color:var(--ink);margin-top:14px}
.mission .stmt{font-size:clamp(19px,2.1vw,24px);line-height:1.5;color:var(--ink);margin-top:26px;font-weight:500;text-wrap:balance}
.mission .stmt b{color:var(--gold-700);font-weight:600}
:root[data-theme="dark"] .mission .stmt b{color:var(--brand-gold)}
.mission p{margin-top:20px;color:var(--ink-2);font-size:15.5px}
/* ===== WARTOŚCI (2x2, złota ramka) ===== */
.values{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vcard{position:relative;background:var(--surface);border:1.5px solid var(--gold-300);border-radius:18px;padding:34px 32px;box-shadow:var(--shadow-soft);transition:transform .28s ease,box-shadow .28s ease}
.vcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.vcard .vtop{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.vcard .vn{font-family:var(--font-display);font-weight:600;font-size:34px;line-height:1;color:var(--brand-gold);letter-spacing:.02em}
.vcard .vico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--gold-100);border:1.5px solid var(--gold-300);flex-shrink:0}
:root[data-theme="dark"] .vcard .vico{background:#1c2b45;border-color:#3a4d70}
.vcard .vico svg{width:26px;height:26px;stroke:var(--gold-700);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:root[data-theme="dark"] .vcard .vico svg{stroke:var(--brand-gold)}
.vcard h3{font-size:19px;color:var(--ink);margin-bottom:10px}
.vcard p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
/* ===== NASZE PODEJŚCIE ===== */
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.mcard{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:var(--shadow-soft);transition:transform .28s ease,box-shadow .28s ease}
.mcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.mcard .micon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--gold-100);border:1.5px solid var(--gold-300);margin-bottom:18px}
:root[data-theme="dark"] .mcard .micon{background:#1c2b45;border-color:#3a4d70}
.mcard .micon svg{width:26px;height:26px;stroke:var(--gold-700);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:root[data-theme="dark"] .mcard .micon svg{stroke:var(--brand-gold)}
.mcard h3{font-size:18px;color:var(--ink);margin-bottom:9px}
.mcard p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
/* ===== ZESPÓŁ ===== */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.person .role{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-gold);margin-bottom:10px}
.ptag{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--pacc);border:1px solid color-mix(in srgb,var(--pacc) 40%,transparent);border-radius:999px;padding:6px 13px;min-height:24px}
.ptag .dot{width:8px;height:8px;border-radius:50%;background:var(--pacc);flex-shrink:0}
.person.t1{--pacc:var(--p1-acc)}
.person.t2{--pacc:var(--p2-acc)}
.person.t3{--pacc:var(--p3-acc)}
/* ===== DLACZEGO MY — pas na granacie ===== */
.why-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.why-item{border-left:2px solid rgba(224,202,163,.42);padding-left:20px}
.why-item .num{font-family:var(--font-display);font-weight:600;font-size:clamp(38px,4.6vw,56px);line-height:.9;color:var(--gold-500);letter-spacing:.02em}
.why-item .wlab{margin-top:12px;font-size:14.5px;color:#fff;font-weight:600;line-height:1.4}
.why-item .wlab span{display:block;font-weight:400;color:#C9D3E4;font-size:13px;margin-top:5px}
@media (max-width:960px){
 .team,.method-grid{grid-template-columns:1fr}
 .values,.why-strip{grid-template-columns:1fr 1fr;gap:20px}
 .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
 nav.main,.header-cta{display:none}
 .burger{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--navy-50);color:var(--ink);cursor:pointer}
 :root[data-theme="dark"] .burger{background:#0E1D38}
 .brand img{height:46px}
 .navbar{min-height:78px;padding:12px 0}
}
@media (max-width:560px){
 .foot-grid,.values,.why-strip{grid-template-columns:1fr}
 .cta-actions .btn{width:100%}
}
:where(a,button,input,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--gold-600);outline-offset:3px;border-radius:4px}
.nowiu{width:56px;height:auto;display:block;margin:0 0 4px}
.center .nowiu,.nowiu.is-center{margin-left:auto;margin-right:auto}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}*{scroll-behavior:auto!important}.btn:hover,.card:hover,.toggle:hover,.acard:hover,.fcard:hover,.aud-block:hover,.post:hover,.person:hover{transform:none!important}}
/* ===== KOMPAKTOWY PAS ZAUFANIA ===== */
.band-compact{padding:clamp(38px,5vw,58px) 0}
.card{border-radius:18px;padding:34px 30px 32px;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--pacc) 24%,transparent);background:var(--pbg);box-shadow:var(--shadow-soft);transition:transform .28s ease,box-shadow .28s ease;display:flex;flex-direction:column}
.steps.solo{max-width:760px}
/* ===== OFERTA — komponenty podstron ===== */
.subhero{padding:clamp(52px,7vw,86px) 0 clamp(40px,5vw,60px)}
.acc-tag{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:8px 15px;border-radius:999px;background:var(--pbg);border:1px solid color-mix(in srgb,var(--pacc) 34%,transparent);color:var(--pacc);min-height:24px}
.acc-tag .dot{width:9px;height:9px;border-radius:50%;background:var(--pacc);flex-shrink:0}
.subhero h1{font-size:clamp(34px,5.4vw,58px);letter-spacing:.08em;color:var(--ink);text-wrap:balance;margin-top:14px}
.subhero .lead{max-width:660px;margin-top:20px}
.subhero .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
/* ===== HERO PODSTRON — jeden wzorzec ===== */
.page-hero{background:var(--navy-800,#122442);color:#fff;text-align:center;padding:96px 24px 80px}
.page-hero .ph-inner{max-width:820px;margin:0 auto}
.page-hero .sep-head::before,.page-hero .sep-head::after,.page-hero .sep-head i{background:var(--gold-500)}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.fgrid.two{grid-template-columns:repeat(2,1fr)}
.fcard{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:var(--shadow-soft);transition:transform .28s ease,box-shadow .28s ease}
.fcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.fico{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--pacc) 14%,transparent);border:1.5px solid color-mix(in srgb,var(--pacc) 40%,transparent);margin-bottom:18px}
.fico svg{width:26px;height:26px;stroke:var(--pacc);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fcard h3{font-size:18px;color:var(--ink);margin-bottom:10px}
.fcard p{font-size:14.5px;color:var(--ink)}
.blist{list-style:none;margin:0;padding:0;display:grid;gap:15px}
.blist.cols{grid-template-columns:1fr 1fr;gap:15px 36px}
.blist li{position:relative;padding-left:36px;font-size:15.5px;color:var(--ink);line-height:1.55}
.blist li::before{content:"";position:absolute;left:0;top:0;width:23px;height:23px;border-radius:7px;background:color-mix(in srgb,var(--pacc) 14%,transparent);border:1px solid color-mix(in srgb,var(--pacc) 40%,transparent)}
.blist li::after{content:"";position:absolute;left:7px;top:7px;width:9px;height:5px;border-left:2px solid var(--pacc);border-bottom:2px solid var(--pacc);transform:rotate(-45deg)}
.blist li b{font-weight:700}
.aud-blocks{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.aud-block{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(28px,3.4vw,40px);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;transition:transform .28s ease,box-shadow .28s ease}
.aud-block:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.aud-block .aicon{width:58px;height:58px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--pacc) 14%,transparent);border:1.5px solid color-mix(in srgb,var(--pacc) 40%,transparent);margin-bottom:20px}
.aud-block .aicon svg{width:28px;height:28px;stroke:var(--pacc);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.aud-block h3{font-size:21px;color:var(--ink);margin-bottom:12px}
.aud-block p{font-size:15px;color:var(--ink);margin-bottom:18px}
.aud-block .blist{margin-bottom:28px}
.aud-block .btn{margin-top:auto;align-self:flex-start}
.aud-block.b1{--pacc:var(--p1-acc);--pbg:var(--p1-bg)}
.aud-block.b2{--pacc:var(--p3-acc);--pbg:var(--p3-bg)}
.faq{max-width:820px;margin:0 auto;display:grid;gap:14px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 24px;box-shadow:var(--shadow-soft)}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;font-family:var(--font-body);font-weight:700;font-size:16.5px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:11px;height:11px;border-right:2px solid var(--pacc);border-bottom:2px solid var(--pacc);transform:rotate(45deg);transition:transform .2s ease;flex-shrink:0;margin-top:-4px}
.faq details[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.faq details p{padding:0 0 22px;font-size:15px;color:var(--ink);margin:0;line-height:1.62}
@media (max-width:960px){
 .pillars,.tstats,.fgrid,.fgrid.two,.aud-blocks,.blist.cols{grid-template-columns:1fr}
 .proc-grid{grid-template-columns:1fr;gap:32px}
 .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
 nav.main,.header-cta{display:none}
 .burger{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--navy-50);color:var(--ink);cursor:pointer}
 :root[data-theme="dark"] .burger{background:#0E1D38}
 .brand img{height:46px}
 .navbar{min-height:78px;padding:12px 0}
}
@media (max-width:560px){
 .foot-grid{grid-template-columns:1fr}
 .hero-actions .btn,.cta-actions .btn{width:100%}
}
.proof-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;max-width:840px;margin:0 auto 42px;padding:16px 24px;border:1px solid rgba(224,202,163,.30);border-radius:14px;background:rgba(255,255,255,.04)}
.proof-bar .pb-shield{width:22px;height:22px;stroke:var(--gold-500);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.proof-bar .pb-item{font-size:14px;color:#EDF1F7;font-weight:500}
.proof-bar .pb-item b{color:#fff;font-weight:700}
.proof-bar .pb-sep{width:5px;height:5px;border-radius:50%;background:var(--gold-500);opacity:.7;flex-shrink:0}
.cta-micro{margin-top:14px;font-size:14px;letter-spacing:.03em;color:#E7EDF5}
.page-hero .hero-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:32px}
.page-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.55)}
.page-hero .btn-ghost:hover{background:#fff;color:var(--navy-900)}
/* ===== OKRUSZKI (breadcrumbs) ===== */
.breadcrumbs{background:transparent;border-bottom:1px solid var(--border,#DCE1EA)}
.bc-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;max-width:1100px;margin:0 auto;padding:14px 24px;font-family:var(--font-ui,'Manrope',sans-serif);font-size:13px}
.bc-list li{display:flex;align-items:center;gap:8px}
.bc-list li+li::before{content:"/";color:var(--muted,#8D99B0)}
.bc-list a{color:var(--text,#122442);text-decoration:none}
.bc-list a:hover{text-decoration:underline;text-underline-offset:3px}
.bc-list [aria-current="page"] span{color:var(--text-2,#53688D)}
:root[data-theme="dark"] .breadcrumbs{border-color:var(--dm-border,#2A3C5E)}
:root[data-theme="dark"] .bc-list a{color:var(--dm-gold,#E3B662)}
:root[data-theme="dark"] .bc-list [aria-current="page"] span{color:var(--dm-text-2,#A9B6CC)}
@media (max-width:960px){
 .pillars,.fgrid,.fgrid.two,.blist.cols{grid-template-columns:1fr}
 .proc-grid{grid-template-columns:1fr;gap:32px}
 .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
 nav.main,.header-cta{display:none}
 .burger{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--navy-50);color:var(--ink);cursor:pointer}
 :root[data-theme="dark"] .burger{background:#0E1D38}
 .brand img{height:46px}
 .navbar{min-height:78px;padding:12px 0}
}
nav.main a[aria-current="page"]{color:var(--brand-gold)}
nav.main a[aria-current="page"]::after{right:2px}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}*{scroll-behavior:auto!important}.btn:hover,.card:hover,.toggle:hover,.acard:hover,.post:hover,.person:hover{transform:none!important}}
.photo-thumb{aspect-ratio:16/9;border-radius:0 0 26px 26px/0 0 40px 40px}
.post .meta{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px}
.post .meta .cat-tag{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--gold-100);border:1px solid var(--gold-300);color:var(--gold-700);text-decoration:none}
:root[data-theme="dark"] .post .meta .cat-tag{background:#241d10;border-color:#5a4a2a;color:var(--gold-300)}
.post h3{font-size:17.5px;letter-spacing:.005em;line-height:1.34;color:var(--ink);margin-bottom:12px}
.mobile-menu a[aria-current="page"]{color:var(--brand-gold)}
/* ===== PAGE HERO (kompaktowy, granat) ===== */
.page-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--sec-navy);padding:clamp(46px,7vw,84px) 0 clamp(54px,8vw,92px)}
.page-hero .hero-glow{position:absolute;top:-150px;right:-120px;width:420px;height:420px;border-radius:50%;z-index:0;pointer-events:none;background:radial-gradient(circle at 30% 30%,rgba(217,170,85,.20),rgba(217,170,85,0) 70%)}
.page-hero .wrap{position:relative;z-index:1;max-width:780px}
.page-hero .eyebrow{color:var(--gold-500)}
.page-hero h1{color:#fff;font-size:clamp(36px,6vw,60px);letter-spacing:.08em;text-wrap:balance;margin-top:18px}
.page-hero .lead{color:#fff;margin-top:22px;max-width:640px}
/* ===== STANDARDOWY HERO PODSTRON (rewizja §2) ===== */
.page-hero{background:var(--navy-800,#122442);color:#fff;text-align:center;padding:96px 24px 80px}
.page-hero .ph-overline{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-500);margin:0 0 16px}
.page-hero .ph-title{font-family:var(--font-display);font-weight:600;color:#fff;font-size:clamp(30px,4.4vw,46px);letter-spacing:.06em;text-transform:uppercase;line-height:1.12;margin:0}
.page-hero .ph-lead{font-family:var(--font-body);color:#EDF1F7;font-size:18px;line-height:1.7;max-width:640px;margin:22px auto 0}
.page-hero .ph-updated{margin-top:20px;font-size:13.5px;color:#C9D3E4}
/* ===== CHIPY KATEGORII (wizualne) ===== */
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:44px}
.chip-cat{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-body);font-size:13.5px;font-weight:600;letter-spacing:.02em;padding:12px 18px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:44px;transition:color .18s ease,border-color .18s ease,background .18s ease}
.chip-cat .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.chip-cat.c1 .dot{background:var(--p1-acc)}
.chip-cat.c2 .dot{background:var(--p2-acc)}
.chip-cat.c3 .dot{background:var(--gold-600)}
.chip-cat.c4 .dot{background:var(--p3-acc)}
.chip-cat:hover{border-color:var(--brand-gold);color:var(--brand-gold)}
.chip-cat.active{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.chip-cat.active .dot{background:var(--gold-500)}
:root[data-theme="dark"] .chip-cat.active{background:var(--gold-500);color:var(--navy-800);border-color:var(--gold-500)}
:root[data-theme="dark"] .chip-cat.active .dot{background:var(--navy-800)}
/* ===== PAGINACJA (wizualna) ===== */
.pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:52px;flex-wrap:wrap}
.pager a,.pager span{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;font-weight:600;font-size:15px;font-family:var(--font-body);transition:color .18s ease,border-color .18s ease,background .18s ease}
.pager a:hover{border-color:var(--brand-gold);color:var(--brand-gold)}
.pager [aria-current="page"]{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
:root[data-theme="dark"] .pager [aria-current="page"]{background:var(--gold-500);color:var(--navy-800);border-color:var(--gold-500)}
.pager .disabled{opacity:.4;pointer-events:none}
@media (max-width:960px){
 .posts{grid-template-columns:1fr 1fr}
 .lead-card{grid-template-columns:1fr;gap:28px}
 .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
 nav.main,.header-cta{display:none}
 .burger{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--navy-50);color:var(--ink);cursor:pointer}
 :root[data-theme="dark"] .burger{background:#0E1D38}
 .brand img{height:46px}
 .navbar{min-height:78px;padding:12px 0}
}
@media (max-width:620px){
 .posts{grid-template-columns:1fr}
 .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}*{scroll-behavior:auto!important}.btn:hover,.card:hover,.toggle:hover,.post:hover{transform:none!important}}
/* ===== NAGŁÓWEK WPISU (granat) — STANDARDOWY HERO §2 ===== */
.page-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--navy-800,#122442);color:#fff;text-align:center;padding:96px 24px 80px}
/* ===== OKRUSZKI (§3) ===== */
.breadcrumbs{background:transparent;border-bottom:1px solid var(--border,#DCE1EA)}
.bc-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;max-width:1100px;margin:0 auto;padding:14px 24px;font-family:var(--font-body);font-size:13px}
:root[data-theme="dark"] .breadcrumbs{border-color:#2A3C5E}
:root[data-theme="dark"] .bc-list a{color:var(--brand-gold,#E3B662)}
:root[data-theme="dark"] .bc-list [aria-current="page"] span{color:#A9B6CC}
/* ===== META WPISU (pod hero/okruszkami, jasne tło) ===== */
.post-meta{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;max-width:760px;margin:0 auto clamp(30px,4vw,42px);padding-bottom:22px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2)}
.post-meta .pm{display:inline-flex;align-items:center;gap:9px}
.post-meta svg{width:18px;height:18px;stroke:var(--gold-600);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
:root[data-theme="dark"] .post-meta svg{stroke:var(--gold-500)}
.post-meta b{color:var(--ink);font-weight:600}
/* ===== FEATURED IMAGE ===== */
.featured{margin:0 0 clamp(34px,5vw,52px)}
.photo-featured{aspect-ratio:16/9;border-radius:150px 26px 26px 26px/84px 26px 26px 26px}
/* ===== UKŁAD ARTYKUŁU ===== */
.article-wrap{max-width:760px;margin:0 auto}
.toc{background:var(--sec-paper);border:1px solid var(--line);border-radius:16px;padding:26px 30px;margin-bottom:38px}
.toc h2{font-family:var(--font-body);text-transform:none;font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--ink)}
.toc .toc-lab{font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-gold);display:block;margin-bottom:6px}
.toc ol{margin:16px 0 0;padding-left:0;list-style:none;counter-reset:toc}
.toc li{counter-increment:toc;position:relative;padding-left:34px;margin-bottom:11px;font-size:15px}
.toc li::before{content:counter(toc,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--gold-600)}
.toc a{color:var(--ink);text-decoration:none;font-weight:500}
.toc a:hover{color:var(--brand-gold);text-decoration:underline;text-underline-offset:3px}
.article{font-size:clamp(17px,1.15vw,18px);line-height:1.75;color:var(--ink);max-width:65ch}
.article p{margin-bottom:22px}
.article h2{font-size:clamp(22px,2.8vw,30px);letter-spacing:.06em;color:var(--ink);margin:44px 0 6px;text-wrap:balance;scroll-margin-top:110px}
.article h2 + .sep-head{margin-bottom:22px}
.article h3{font-size:19px;font-weight:700;color:var(--ink);margin:32px 0 12px}
.article ul{list-style:none;margin:0 0 24px;padding:0}
.article ul li{position:relative;padding-left:28px;margin-bottom:12px}
.article ul li::before{content:"";position:absolute;left:2px;top:10px;width:9px;height:9px;border-radius:50%;background:var(--brand-gold)}
.article strong{font-weight:700;color:var(--ink)}
.article a{color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.article blockquote{margin:34px 0;padding:22px 26px;border-left:3px solid var(--gold-500);background:var(--gold-50);border-radius:0 14px 14px 0;font-size:19px;line-height:1.6;color:var(--ink);font-style:italic}
:root[data-theme="dark"] .article blockquote{background:#16294a}
.article blockquote cite{display:block;margin-top:12px;font-style:normal;font-size:13.5px;font-weight:600;letter-spacing:.02em;color:var(--ink-2)}
.article figure.inline{margin:34px 0}
.article figure.inline .photo{border-radius:26px 120px 26px 26px/26px 70px 26px 26px;aspect-ratio:16/10}
.article figure.inline figcaption{font-size:13px;color:var(--ink-2);margin-top:12px;font-style:italic;line-height:1.5}
/* ===== AUTOR / TAGI ===== */
.author-box{display:flex;gap:22px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 30px;box-shadow:var(--shadow-soft);margin:44px auto 0;max-width:760px}
.author-box .photo{width:88px;height:88px;flex-shrink:0;border-radius:18px 18px 60px 60px/18px 18px 44px 44px}
.author-box .abody .role{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-gold);margin-bottom:5px}
.author-box .abody h2{font-family:var(--font-body);text-transform:none;font-size:19px;font-weight:700;letter-spacing:0;color:var(--ink);margin-bottom:8px}
.author-box .abody p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
.tags{display:flex;flex-wrap:wrap;gap:10px;max-width:760px;margin:30px auto 0}
.tag{display:inline-flex;align-items:center;font-size:13px;font-weight:600;letter-spacing:.02em;padding:9px 16px;border-radius:999px;background:var(--sec-paper);border:1px solid var(--line);color:var(--ink);text-decoration:none;min-height:24px}
.tag:hover{border-color:var(--brand-gold);color:var(--brand-gold)}
/* ===== KONTEKSTOWE CTA WPISU (§8) ===== */
.post-cta{max-width:760px;margin:44px auto 0;background:var(--gold-50);border:1px solid var(--gold-300);border-radius:18px;padding:clamp(26px,4vw,38px);text-align:center}
:root[data-theme="dark"] .post-cta{background:#16294a;border-color:#3a4d70}
.post-cta h2{font-family:var(--font-display);font-weight:600;text-transform:uppercase;font-size:clamp(20px,2.6vw,27px);letter-spacing:.05em;line-height:1.2;color:var(--ink);text-wrap:balance;margin:0}
.post-cta .sep-head{margin:16px auto 0;justify-content:center}
.post-cta p{font-size:15.5px;line-height:1.6;color:var(--ink-2);max-width:520px;margin:16px auto 24px}
.post-cta .btn-cta{margin:0 auto}
@media (max-width:960px){
 .posts{grid-template-columns:1fr}
 .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
 nav.main,.header-cta{display:none}
 .burger{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--navy-50);color:var(--ink);cursor:pointer}
 :root[data-theme="dark"] .burger{background:#0E1D38}
 .brand img{height:46px}
 .navbar{min-height:78px;padding:12px 0}
}
@media (max-width:560px){
 .foot-grid{grid-template-columns:1fr}
 .cta-actions .btn{width:100%}
 .author-box{flex-direction:column;gap:16px}
}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}*{scroll-behavior:auto!important}.btn:hover,.toggle:hover,.info-card:hover{transform:none!important}}
/* ===== KONTAKT — dwie kolumny ===== */
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
/* formularz */
.cform{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(26px,3.4vw,40px);box-shadow:var(--shadow-soft)}
.cform .fhead{margin-bottom:24px}
.cform .fhead h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:.06em;color:var(--ink);margin:12px 0 0}
.cform .field{margin-bottom:18px}
.cform label{display:block;font-size:13.5px;font-weight:600;letter-spacing:.02em;color:var(--ink);margin-bottom:8px}
.req{color:var(--err);margin-left:3px;font-weight:700}
.cform input,.cform textarea{width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;min-height:48px}
.cform textarea{min-height:132px;resize:vertical;line-height:1.6}
.cform input::placeholder,.cform textarea::placeholder{color:var(--muted)}
.cform input:focus-visible,.cform textarea:focus-visible{outline:2px solid var(--gold-600);outline-offset:2px;border-color:var(--brand-gold)}
.consent{display:flex;gap:13px;align-items:flex-start;margin:4px 0 22px}
.consent input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0;margin:1px 0 0;accent-color:var(--gold-600);cursor:pointer}
.consent label{font-size:13px;font-weight:400;line-height:1.55;color:var(--ink-2);margin:0;cursor:pointer}
.consent a{color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.cform .btn-cta{width:100%}
.form-note{font-size:12px;color:var(--ink-2);margin-top:14px;line-height:1.5}
/* komunikaty błędów tekstowe + stan błędu (WCAG §4) */
.field-err{font-size:13px;font-weight:600;color:var(--err);margin-top:7px;line-height:1.45}
.field-err:empty{display:none}
:root[data-theme="dark"] .field-err{color:#F0A79A}
.cform input[aria-invalid="true"],.cform textarea[aria-invalid="true"]{border-color:var(--err)}
.consent.is-invalid input[type=checkbox]{outline:2px solid var(--err);outline-offset:2px}
.cform input:focus-visible,.cform textarea:focus-visible,.consent input[type=checkbox]:focus-visible{outline:2px solid var(--gold-600);outline-offset:2px;border-color:var(--brand-gold)}
/* potwierdzenie po wysłaniu */
.form-status{margin-top:16px;font-size:14.5px;font-weight:600;line-height:1.5;color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--ok) 45%,transparent);border-radius:12px;padding:14px 16px}
.form-status:empty{display:none}
:root[data-theme="dark"] .form-status{color:#7FD3AE}
/* dane kontaktowe */
.cinfo{display:flex;flex-direction:column;gap:22px}
.info-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px 30px;box-shadow:var(--shadow-soft);transition:transform .28s ease,box-shadow .28s ease}
.info-card h3{font-size:16px;letter-spacing:.02em;color:var(--ink);margin-bottom:6px}
.info-row{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line)}
.info-row:first-of-type{border-top:none;padding-top:4px}
.info-row .iico{width:42px;height:42px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;background:var(--gold-100);border:1.5px solid var(--gold-300)}
:root[data-theme="dark"] .info-row .iico{background:#1c2b45;border-color:#3a4d70}
.info-row .iico svg{width:21px;height:21px;stroke:var(--gold-700);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:root[data-theme="dark"] .info-row .iico svg{stroke:var(--brand-gold)}
.info-row .k{font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-gold);margin-bottom:5px}
.info-row .v{color:var(--ink);font-size:15px;font-weight:600;line-height:1.5}
.info-row a.v{text-decoration:none;display:inline-flex;min-height:24px;align-items:center}
.info-row a.v:hover{color:var(--gold-700);text-decoration:underline;text-underline-offset:3px}
:root[data-theme="dark"] .info-row a.v:hover{color:var(--brand-gold)}
.info-row .sub{font-size:13px;color:var(--ink-2);margin-top:3px;font-weight:400}
.hours-list{list-style:none;margin:6px 0 0;padding:0}
.hours-list li{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:var(--ink);padding:8px 0;border-top:1px dashed var(--line)}
.hours-list li:first-child{border-top:none}
.hours-list li span{color:var(--ink-2);font-weight:500}
/* mapa — placeholder maskowany łukiem */
.map-arc{position:relative;overflow:hidden;min-height:clamp(220px,30vw,300px);border-radius:26px 150px 26px 26px/26px 84px 26px 26px;background:linear-gradient(135deg,var(--gold-50),var(--navy-50));border:1px solid var(--line);display:grid;place-items:center;text-align:center;padding:26px}
:root[data-theme="dark"] .map-arc{background:linear-gradient(135deg,#132745,#0d1b33)}
.map-arc .mpin{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--gold-100);border:1.5px solid var(--gold-300);margin:0 auto 14px}
:root[data-theme="dark"] .map-arc .mpin{background:#1c2b45;border-color:#3a4d70}
.map-arc .mpin svg{width:24px;height:24px;stroke:var(--gold-700);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:root[data-theme="dark"] .map-arc .mpin svg{stroke:var(--brand-gold)}
.map-arc b{display:block;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--brand-gold);margin-bottom:8px}
.map-arc .mtxt{font-size:12.5px;font-style:italic;color:var(--ink-2);max-width:280px;line-height:1.5}
@media (max-width:960px){
 .contact-grid{grid-template-columns:1fr;gap:32px}
 .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
 nav.main,.header-cta{display:none}
 .burger{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--navy-50);color:var(--ink);cursor:pointer}
 :root[data-theme="dark"] .burger{background:#0E1D38}
 .brand img{height:46px}
 .navbar{min-height:78px;padding:12px 0}
}
@media (max-width:560px){
 .foot-grid{grid-template-columns:1fr}
 .cta-actions .btn{width:100%}
}
.sep-head.is-center{justify-content:center}
.sep-head.is-center::before{width:54px}
.sep-head.is-center::after{width:54px}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}*{scroll-behavior:auto!important}.btn:hover,.toggle:hover{transform:none!important}}
/* ===== HERO KOMPAKTOWY (granat) ===== */
.page-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--sec-navy);padding:clamp(44px,6.5vw,78px) 0 clamp(50px,7vw,84px)}
.page-hero .hero-glow{position:absolute;top:-150px;right:-120px;width:400px;height:400px;border-radius:50%;z-index:0;pointer-events:none;background:radial-gradient(circle at 30% 30%,rgba(217,170,85,.18),rgba(217,170,85,0) 70%)}
.page-hero h1{color:#fff;font-size:clamp(32px,5.2vw,54px);letter-spacing:.07em;text-wrap:balance;margin-top:16px}
.page-hero .updated{margin-top:20px;font-size:13.5px;color:#C9D3E4}
/* ===== TEKST PRAWNY ===== */
.legal{max-width:74ch;margin:0 auto;font-size:clamp(16px,1.05vw,17px);line-height:1.72;color:var(--ink)}
.legal .toc-box{background:var(--sec-paper);border:1px solid var(--line);border-radius:16px;padding:24px 28px;margin-bottom:44px}
.legal .toc-box .toc-lab{font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brand-gold);display:block;margin-bottom:14px}
.legal .toc-box ol{margin:0;padding-left:22px;columns:2;column-gap:34px}
.legal .toc-box li{margin-bottom:9px;font-size:14.5px}
.legal .toc-box a{color:var(--ink);text-decoration:none;font-weight:500}
.legal .toc-box a:hover{color:var(--brand-gold);text-decoration:underline;text-underline-offset:3px}
.legal section{margin-bottom:14px}
.legal h2{font-size:clamp(20px,2.4vw,26px);letter-spacing:.05em;color:var(--ink);margin:40px 0 4px;text-wrap:balance;scroll-margin-top:110px}
.legal h2 .num{font-family:var(--font-display);font-weight:600;color:var(--gold-600);margin-right:12px;font-size:.82em}
.legal h2 + .sep-head{margin-bottom:20px}
.legal h3{font-size:17px;font-weight:700;color:var(--ink);margin:26px 0 10px}
.legal p{margin-bottom:18px}
.legal strong{font-weight:700;color:var(--ink)}
.legal a{color:var(--link);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.legal ul{list-style:none;margin:0 0 20px;padding:0}
.legal ul li{position:relative;padding-left:26px;margin-bottom:11px}
.legal ul li::before{content:"";position:absolute;left:2px;top:9px;width:8px;height:8px;border-radius:50%;background:var(--brand-gold)}
.legal .ph{background:var(--gold-50);border:1px dashed var(--gold-300);border-radius:6px;padding:1px 8px;font-weight:600;color:var(--gold-700);white-space:nowrap}
:root[data-theme="dark"] .legal .ph{background:#1c2b45;color:var(--gold-300)}
@media (max-width:960px){
 .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
 nav.main,.header-cta{display:none}
 .burger{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--navy-50);color:var(--ink);cursor:pointer}
 :root[data-theme="dark"] .burger{background:#0E1D38}
 .brand img{height:46px}
 .navbar{min-height:78px;padding:12px 0}
}
@media (max-width:560px){
 .foot-grid{grid-template-columns:1fr}
 .legal .toc-box ol{columns:1}
}
.status-box{display:flex;gap:16px;align-items:flex-start;background:var(--gold-50);border:1px solid var(--gold-300);border-radius:16px;padding:22px 26px;margin:8px 0 8px}
:root[data-theme="dark"] .status-box{background:#1c2b45;border-color:#3a4d70}
.status-box svg{width:26px;height:26px;stroke:var(--gold-700);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:2px}
:root[data-theme="dark"] .status-box svg{stroke:var(--gold-300)}
.status-box p{margin:0;font-size:15px}
.kbd{display:inline-block;font-family:var(--font-body);font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:6px;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 0 var(--line);color:var(--ink);min-width:24px;text-align:center}

/* ============================================================
   WORDPRESS BRIDGE — maps core block wrappers onto the ported
   design-system classes. Layered AFTER the ported CSS so it wins.
   ============================================================ */

/* --- Site scaffolding --- */
.wp-site-blocks > footer{margin-block-start:0}
.wp-site-blocks{overflow-x:hidden}
main#main, main.wp-block-group{display:block}
.wp-block-post-content{margin-top:0}

/* WP flow margins are handled by theme.json spacing.blockGap:null (no
   :root :where(.is-layout-flow) margin rules are emitted) + the global
   *{margin:0} reset. The ported CSS supplies every explicit margin, so
   NO container margin-neutralisers are needed — adding them here only
   strips the mockup's authored spacing (eyebrow→H→sep→lead, card gaps,
   consent/form-note, article rhythm, footer columns). Left intentionally
   empty to preserve the mockup's spacing 1:1. */

/* Template-part wrappers keep the mockup element classes working */
header.wp-block-template-part{display:block}

/* --- Layout wrappers --- */
.band{padding:clamp(60px,8vw,96px) 0}
section.band, .band{position:relative}

/* --- Images: wp:image figure == mockup .photo figure --- */
.wp-block-image{margin:0}
.wp-block-image.photo{display:block}
.photo img,.wp-block-image.photo img{border-radius:inherit}
figure.photo{margin:0}

/* --- Buttons: map core button link onto .btn system --- */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px;margin:0}
.wp-block-button{margin:0}
.wp-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--font-body);font-size:15px;font-weight:600;letter-spacing:.02em;
  line-height:1;min-height:48px;padding:15px 28px;border-radius:12px;
  border:1.5px solid transparent;cursor:pointer;text-decoration:none;
  transition:transform .18s ease,box-shadow .22s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
.wp-block-button.btn-lg .wp-block-button__link{font-size:16px;padding:18px 36px;min-height:56px}
.wp-block-button.btn-cta .wp-block-button__link{background:var(--gold-500);color:var(--navy-800);box-shadow:0 10px 22px -10px rgba(217,170,85,.75)}
.wp-block-button.btn-cta .wp-block-button__link:hover{background:var(--gold-600);transform:translateY(-2px);box-shadow:0 16px 30px -10px rgba(195,146,60,.8)}
.wp-block-button.btn-primary .wp-block-button__link{background:var(--navy-800);color:#fff}
.wp-block-button.btn-primary .wp-block-button__link:hover{background:var(--navy-700);transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.wp-block-button.btn-ghost .wp-block-button__link{background:transparent;color:var(--ink);border-color:currentColor}
.wp-block-button.btn-ghost .wp-block-button__link:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}
.on-navy .wp-block-button.btn-ghost .wp-block-button__link,
.page-hero .wp-block-button.btn-ghost .wp-block-button__link,
.hero-full .wp-block-button.btn-ghost .wp-block-button__link{color:#FFFFFF;border-color:rgba(255,255,255,.6)}
.on-navy .wp-block-button.btn-ghost .wp-block-button__link:hover,
.page-hero .wp-block-button.btn-ghost .wp-block-button__link:hover,
.hero-full .wp-block-button.btn-ghost .wp-block-button__link:hover{background:#FFFFFF;color:var(--navy-900)}
.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:14px}
.cta-actions{justify-content:center}

/* --- Separator: line–dot–line without <i> (uses an empty .sep-dot group) --- */
.sep-head .sep-dot,.sep-head > .wp-block-group{width:6px;height:6px;border-radius:50%;background:var(--brand-gold);margin:0 9px;flex-shrink:0;padding:0}
.on-navy .sep-head .sep-dot,.on-navy .sep-head > .wp-block-group{background:var(--gold-500)}

/* --- Navigation block == mockup nav.main --- */
nav.wp-block-navigation.main{display:flex;gap:28px;margin-left:14px}
nav.wp-block-navigation.main .wp-block-navigation__container{gap:28px}
nav.wp-block-navigation.main a{font-size:14.5px;font-weight:600;letter-spacing:.01em;color:var(--ink);text-decoration:none;padding:10px 2px;min-height:24px}
nav.wp-block-navigation.main a:hover{color:var(--brand-gold)}
.wp-block-navigation .wp-block-navigation-item__label{font-weight:600}

/* --- Theme toggle (injected by JS) --- */
.toggle{width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--navy-50);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background .18s ease,transform .18s ease,border-color .18s ease}
:root[data-theme="dark"] .toggle{background:#0E1D38}
.toggle:hover{transform:translateY(-2px);border-color:var(--brand-gold)}
.toggle svg{width:20px;height:20px}
.toggle .sun{display:none}
:root[data-theme="dark"] .toggle .moon{display:none}
:root[data-theme="dark"] .toggle .sun{display:block}

/* ============================================================
   HERO (wp:cover) + SUBHERO adaptations
   ============================================================ */
.wp-block-cover.hero-full,.wp-block-cover.subhero{isolation:isolate}
.wp-block-cover.hero-full{min-height:auto}
.wp-block-cover.hero-full .wp-block-cover__inner-container{width:100%}
.wp-block-cover.subhero .wp-block-cover__inner-container{width:100%}
/* Gold glow */
.hero-full::before,.subhero::before{content:"";position:absolute;top:-140px;right:-120px;width:420px;height:420px;border-radius:50%;z-index:1;pointer-events:none;background:radial-gradient(circle at 30% 30%,rgba(217,170,85,.22),rgba(217,170,85,0) 70%)}
/* Bottom arc baked onto the hero/subhero */
.hero-full::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(46px,6vw,92px);z-index:3;background:var(--sec-navy);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,54 Q720,140 1440,54 L1440,120 Z' fill='%23000'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,54 Q720,140 1440,54 L1440,120 Z' fill='%23000'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.subhero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(46px,6vw,92px);z-index:3;background:var(--sec-white);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,54 Q720,140 1440,54 L1440,120 Z' fill='%23000'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,54 Q720,140 1440,54 L1440,120 Z' fill='%23000'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.hero-full-inner,.subhero-inner{position:relative;z-index:2}
/* Cover heading/lead colors already handled by ported .hero-full h1 etc.; ensure cover text white */
.wp-block-cover.hero-full .wp-block-cover__inner-container,
.wp-block-cover.subhero .wp-block-cover__inner-container{color:#fff}
.wp-block-cover.subhero{padding:0}
.wp-block-cover.hero-full{padding:0}

/* ============================================================
   SECTION ARCS — CSS-only (no inline SVG). Empty group + className.
   --to is the incoming (lower) section colour, drawn over --from bg.
   ============================================================ */
.arc{display:block;line-height:0;height:clamp(46px,6vw,92px);position:relative;background:var(--from)}
.arc::after{content:"";position:absolute;inset:0;background:var(--to);-webkit-mask:var(--arc-mask) center/100% 100% no-repeat;mask:var(--arc-mask) center/100% 100% no-repeat}
.arc-down{--arc-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,50 Q720,130 1440,50 L1440,120 Z' fill='%23000'/%3E%3C/svg%3E")}
.arc-up{--arc-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,54 Q720,-10 1440,54 L1440,120 Z' fill='%23000'/%3E%3C/svg%3E")}
.arc-white-paper{--from:var(--sec-white);--to:var(--sec-paper)}
.arc-paper-white{--from:var(--sec-paper);--to:var(--sec-white)}
.arc-paper-navy50{--from:var(--sec-paper);--to:var(--sec-navy50)}
.arc-navy50-paper{--from:var(--sec-navy50);--to:var(--sec-paper)}
.arc-paper-navy{--from:var(--sec-paper);--to:var(--sec-navy)}
.arc-navy50-white{--from:var(--sec-navy50);--to:var(--sec-white)}
.arc-white-navy50{--from:var(--sec-white);--to:var(--sec-navy50)}
.arc-navy50-navy{--from:var(--sec-navy50);--to:var(--sec-navy)}
.arc-navy-white{--from:var(--sec-navy);--to:var(--sec-white)}
.arc-white-navy{--from:var(--sec-white);--to:var(--sec-navy)}
.arc-navy-paper{--from:var(--sec-navy);--to:var(--sec-paper)}
.arc-navy-navy50{--from:var(--sec-navy);--to:var(--sec-navy50)}

/* ============================================================
   Details/Summary (FAQ / accordions) — core wp:details
   ============================================================ */
.wp-block-details{border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:0 22px;margin:0}
.wp-block-details summary{font-family:var(--font-body);font-weight:700;font-size:16px;color:var(--ink);padding:18px 0;cursor:pointer;list-style:none}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details[open] summary{color:var(--brand-gold)}
.wp-block-details > *:not(summary){padding-bottom:18px;color:var(--ink);font-size:15px}

/* ============================================================
   Reveal animation — editor visibility + reduced motion
   ============================================================ */
.editor-styles-wrapper .reveal{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* --- List blocks inside cards keep the ported list styling --- */
.wp-block-list{margin:0;padding:0}
.card .wp-block-list,.card ul{list-style:none;margin:16px 0 0;padding:0}

/* --- Per-page pillar accent (mockups set --pacc/--pbg on <main>) --- */
.acc-burgund{--pacc:var(--p1-acc);--pbg:var(--p1-bg)}
.acc-miedz{--pacc:var(--p2-acc);--pbg:var(--p2-bg)}
.acc-oliwka{--pacc:var(--p3-acc);--pbg:var(--p3-bg)}
.acc-burgund .cat,.acc-miedz .cat,.acc-oliwka .cat{color:var(--pacc)}

/* --- Page-hero (subpage navy hero) container spacing --- */
/* (container margin-neutralisers removed — see note above; they were
   collapsing .cform .consent / .form-note, .article-wrap children (toc,
   author-box, tags, post-cta) and page-hero inner spacing.) */
.bc-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.page-hero .hero-actions{justify-content:center}

/* --- Contact / lead form fields --- */
.cform input,.cform textarea,.cform select,.dl-form input{font-family:inherit}
.cform label,.dl-form label{display:block}

/* --- Fix image-classes the mockups put on <img> but wp:image puts on <figure> --- */
.wp-block-image.hero-sygnet{display:block;margin:0 auto 22px;text-align:center}
.wp-block-image.hero-sygnet img{height:46px;width:auto;display:block;margin:0 auto}
.wp-block-image.foot-logo{display:block;margin:0}
.wp-block-image.foot-logo img{height:72px;width:auto;display:block}
.wp-block-image.nowiu{display:block;margin:0 auto}
.wp-block-image.nowiu img{width:56px;height:auto;display:block;margin:0 auto}
.wp-block-image.brand,.brand .wp-block-image{margin:0}
.brand .wp-block-image img,.brand img{height:62px;width:auto;display:block}

/* --- Footer bottom-bar layout (neutralisers removed — they collapsed
   .foot-about, .lead-card and .article-wrap child spacing) --- */
.foot-bottom .reg p, .foot-bottom .legal p{margin:0}
.foot-bottom .legal{display:flex;gap:20px;flex-wrap:wrap}
.foot-bottom .reg{display:flex;gap:22px;flex-wrap:wrap}
.brand{display:flex;align-items:center;flex-shrink:0;padding:6px 10px;border-radius:8px}

/* --- Responsive safety: WP navigation block handles its own mobile overlay --- */
@media (max-width:600px){
  .header-cta{display:none}
}

/* ============================================================
   PHASE 5 FIXES (Section A) — appended LAST so it wins the
   cascade over the ported rules above. Grouped by task id.
   ============================================================ */

/* --- A1: kill the double button box. The block wrapper carried
   `btn btn-cta` which painted a 2nd padded rectangle behind the
   real link (doubling height + rectangular gold corners). Only the
   inner .wp-block-button__link should be the visible control. --- */
.wp-block-button.btn,
.wp-block-button.btn-cta,
.wp-block-button.btn-primary,
.wp-block-button.btn-ghost,
.wp-block-button.btn-lg{
  min-height:0;padding:0;border:0;background:transparent;box-shadow:none;
  border-radius:0;display:inline-flex;line-height:normal;
}

/* --- A1: header — taller bar, single logo link, round toggle, pill CTA --- */
.navbar{align-items:center;min-height:104px;gap:24px}
.brand-link{display:inline-flex;align-items:center;text-decoration:none}
.brand .logo-dark{display:none}
:root[data-theme="dark"] .brand .logo-light{display:none}
:root[data-theme="dark"] .brand .logo-dark{display:inline-block}
.brand img,.brand-link img{height:60px;width:auto;display:block}
nav.main a,
nav.wp-block-navigation.main a,
.wp-block-navigation .wp-block-navigation-item__label{font-size:16px;letter-spacing:.01em}
.nav-right{gap:16px;align-items:center}
.toggle{width:40px;height:40px;border-radius:50%;padding:0}
.toggle svg{width:19px;height:19px}
.header-cta{margin:0;white-space:nowrap}
.header-cta .wp-block-button__link,
a.wp-block-button__link.header-cta{
  height:48px;min-height:48px;padding:0 28px;border-radius:999px;
  font-size:15px;line-height:1;
}
/* Keep the header CTA from ever spilling out of the bar */
header.site .navbar{overflow:visible}
.nav-right .wp-block-buttons{align-items:center}

/* --- A1: mobile — DON'T nuke the whole nav (that also hid WP's
   hamburger). Keep the nav element rendered so the block's own
   overlay works; only the standalone pill CTA is hidden. --- */
@media (max-width:960px){
  nav.wp-block-navigation.main{display:flex!important}
  .header-cta{display:none!important}
  .navbar{min-height:80px}
}

/* --- A2: home hero separator — was faint (gold-600 on navy).
   Use gold-500 for both segments + dot so line–dot–line reads. --- */
.hero-full .sep-head::before,
.hero-full .sep-head::after{background:var(--gold-500);height:2px;border-radius:2px}
.hero-full .sep-head::before{width:40px}
.hero-full .sep-head::after{width:56px}
.hero-full .sep-head .sep-dot,
.hero-full .sep-head > .wp-block-group{background:var(--gold-500);width:7px;height:7px}

/* --- A2: warm navy hero overlay, strong-left -> soft-right
   (was flat cold #0A1529). Override the cover gradient layer. --- */
.wp-block-cover.hero-full .wp-block-cover__background{
  background:linear-gradient(100deg,rgba(15,26,49,.95) 0%,rgba(20,33,60,.82) 46%,rgba(30,42,70,.52) 100%)!important;
  opacity:1!important;
}

/* --- A2: unify the hero/subhero bottom arc with the shared section
   curve (Q720,130) so every arc site-wide uses one geometry. --- */
.hero-full::after{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,50 Q720,130 1440,50 L1440,120 Z' fill='%23000'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,50 Q720,130 1440,50 L1440,120 Z' fill='%23000'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}
.subhero::after{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,50 Q720,130 1440,50 L1440,120 Z' fill='%23000'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0,120 L0,50 Q720,130 1440,50 L1440,120 Z' fill='%23000'/%3E%3C/svg%3E") center/100% 100% no-repeat;
}

/* --- A3: proof bar 18·2·3 — drop the per-number left gold border,
   put thin dividers BETWEEN columns instead. --- */
.tstats .tstat{border-left:0;padding-left:0}
.tstats .tstat + .tstat{border-left:1px solid rgba(224,202,163,.26);padding-left:26px}
.legal-line{justify-content:center;margin-top:6px}

/* --- A4: pillar cards — list dots ~30% smaller; „Poznaj…” gold
   underline on hover (tints/border/radius already from tokens). --- */
.card li::before{width:6px;height:6px;top:9px}
.card .more:hover{color:var(--brand-gold);text-decoration:underline;text-decoration-color:var(--brand-gold);text-underline-offset:4px}

/* --- A6: „Jak pracujemy” — 1px step connector (was 1.5px). --- */
.step::after{width:1px}

/* --- A7: „Poznaj cały zespół…” — outlined PILL (was radius-12). --- */
.team-more .wp-block-button__link{border-radius:999px;height:48px;min-height:48px;padding:0 30px}

/* --- A9: lead magnet — white form card with a gold top bar. --- */
.lead-card .dl-form{
  position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:18px;padding:32px 30px 28px;box-shadow:var(--shadow-soft);overflow:hidden;
}
.lead-card .dl-form::before{
  content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--gold-500),var(--gold-600));
}

/* --- A10 (reconciled): end-CTA microcopy is a REAL text element (.cta-micro
   from the content pass) for accessibility — NOT CSS-generated. --- */
.cta-band .cta-micro{display:block;text-align:center;margin-top:16px;font-size:14px;letter-spacing:.03em;color:#E7EDF5}

/* --- A11: section breathing — Phase-4 scale (~112–128px), not 64–80px.
   Applied globally; compact bands stay tighter. --- */
section.band,.band{padding:clamp(88px,11vw,128px) 0}
.band.band-compact,.band-compact{padding:clamp(44px,6vw,64px) 0}
.sec-head{margin-bottom:56px}


/* --- Fix: dark-mode header nav links were inheriting a dark color from the
   navigation block / theme.json, making them invisible on the navy header.
   Force light link color in dark mode (active/hover stay gold). --- */
:root[data-theme="dark"] nav.main a,
:root[data-theme="dark"] nav.wp-block-navigation.main a,
:root[data-theme="dark"] nav.wp-block-navigation.main .wp-block-navigation-item__content{
  color:#EDF1F7 !important;
}
:root[data-theme="dark"] nav.main a:hover,
:root[data-theme="dark"] nav.wp-block-navigation.main a:hover,
:root[data-theme="dark"] nav.main a.active,
:root[data-theme="dark"] nav.main a[aria-current="page"]{
  color:var(--brand-gold) !important;
}

/* --- Fix A5: „Dla kogo" ghost box — the .photo-aud figure stretched to the
   tall left column while the img kept its own height, exposing the figure's
   navy background below the photo. Make the photo fill the column. --- */
.aud-split .photo-aud{height:100%;background:transparent;margin:0}
.aud-split .photo-aud img{width:100%;height:100%;object-fit:cover;display:block}

/* --- Z4: lead-magnet form status banner (success / error). The .field,
   .consent, .field-err, .hint classes reuse the existing form styles. --- */
.dl-status{margin:0 0 16px;font-size:14.5px;font-weight:600;line-height:1.5;border-radius:12px;padding:12px 16px}
.dl-status a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.dl-status.is-ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--ok) 45%,transparent)}
.dl-status.is-err{color:var(--err);background:color-mix(in srgb,var(--err) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--err) 45%,transparent)}
:root[data-theme="dark"] .dl-status.is-ok{color:#7FD3AE}
:root[data-theme="dark"] .dl-status.is-err{color:#F1A594}

/* --- Z1: dark mode body background. WordPress prints body{background-color:#F8F7F4}
   from theme.json styles.color.background (specificity 0,0,1); this higher-specificity
   rule (0,2,1) darkens the body so no light strips show between sections in dark mode. --- */
:root[data-theme="dark"] body{background-color:#0A1529}

/* ============================================================
   Z15 / Z16 / Z17 PRECISION PASS (appended LAST → wins cascade).
   Vertical-rhythm scale (proximity principle):
     card title→desc 8–12 · card-grid gap 24 · eyebrow→H2 8 ·
     H2→separator 16 · separator→lead 24 · lead→grid 44 ·
     content→section edge ~40 · section↔section ~112 desktop /
     ~80 mobile · arc = shallow EDGE MASK (not empty space).
   ============================================================ */

/* --- Z17: section vertical rhythm. Was padding clamp(88,11vw,128)
   per side + a 92px flow arc = ~348px of dead space between the
   content of adjacent sections. Tighten so content→content lands
   ~112px desktop (40+32+40) / ~80px mobile (28+24+28). This removes
   the tall empty bands without any section min-height or spacer. --- */
section.band,.band{padding:clamp(28px,3.8vw,40px) 0}
.band.band-compact,.band-compact{padding:clamp(24px,3vw,36px) 0}

/* --- Z17: the transition arc must read as an EDGE MASK, not extra
   vertical space. Halve its height (was clamp(46,6vw,92) → ~32px)
   so it is a shallow curved edge; the wave SHAPE and the two
   section colours are unchanged (the mask stretches proportionally).
   Flow arcs carry NO negative margin (the next section is opaque and
   would paint over an overlapped arc); height reduction alone keeps
   the section↔section gap on target. --- */
.arc{height:clamp(24px,2.2vw,32px)}
.hero-full::after,.subhero::after{height:clamp(28px,3vw,44px)}
.hero-arc svg,.arc svg{height:clamp(28px,3vw,44px)}

/* --- Z17: section-head rhythm. eyebrow→H2 8 · H2→separator 16 ·
   separator→lead 24 · lead→grid/content 44 (proximity: related
   items sit close, one clear group). --- */
.sec-head{margin-bottom:44px}
.sec-head h2{margin-top:8px}
.sep-head{margin-top:16px}
.sec-head p{margin-top:24px}

/* --- Z16: „Co obejmuje / zakres" (and every) card grid — auto
   height, all cards visible, nothing clipped, and never an internal
   scroll. No max-height/overflow is introduced anywhere in this
   theme; this rule is a defensive guarantee against any future
   clamp/overflow leaking onto these containers. --- */
.fgrid,.fgrid.two,.aud-blocks,.blist,.blist.cols,.pillars,.method-grid,.values{max-height:none;overflow:visible}

/* --- Z15: icon tiles colour their (content-agent-inserted) inline
   SVG with the pillar accent so an SVG using stroke="currentColor"
   renders in the accent. Tile background/border/size (24–28px glyph
   area) are unchanged; existing `.<tile> svg{stroke:var(--pacc)}`
   rules already match, this adds currentColor support too. --- */
.fico,.aicon,.chip,.ic{color:var(--pacc)}

/* --- Z18b: local mid-page CTA (micro-funnel) on offer subpages. --- */
.mid-cta{text-align:center;margin:40px 0 4px}
.mid-cta-text{font-family:var(--font-body);color:var(--text-2,#53688D);font-size:15px;line-height:1.6;max-width:560px;margin:0 auto 16px}
:root[data-theme="dark"] .mid-cta-text{color:var(--dm-text-2,#A9B6CC)}

/* --- a11y: visually-hidden heading (fixes heading-order skip on listing pages) --- */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* --- contact form status: error variant (base .form-status is success/green) --- */
.form-status.is-err{color:var(--err);background:color-mix(in srgb,var(--err) 12%,transparent);border-color:color-mix(in srgb,var(--err) 45%,transparent)}
:root[data-theme="dark"] .form-status.is-err{color:#F1A594}

/* ============================================================
   M — PAKIET MOBILNY (v1.0.1). Dopisany NA KOŃCU pliku, więc
   wygrywa kaskadę z regułami portowanymi i z Fazą 5 / Z-passem.
     M1  globalny gutter boczny 20–24 px dla ≤768 px
     M2  szuflada menu mobilnego (overlay bloku core/navigation)
   ============================================================ */

/* ------------------------------------------------------------
   M1 — GUTTER MOBILNY.
   Przyczyna defektu: trzy kontenery zerowały boczny padding
   skrótem `padding` zapisanym PO regule `.wrap{padding:0 24px}`:
     .navbar          → padding:16px 0
     .hero-full-inner → padding:clamp(76px,12vw,152px) 0 …
     .page-hero       → padding:clamp(44px,6.5vw,78px) 0 …
   Dlatego hero (nadtytuł/H1/lead), granatowe hero podstron oraz
   pasek nagłówka dochodziły do krawędzi ekranu. Poniżej jeden
   token gutteru i jawne `padding-left/right` (bez skrótu), żeby
   pionowe odstępy tych reguł pozostały nienaruszone.
   360px→20px · 375px→20,6px · 414px→22,8px · ≥437px→24px
   ------------------------------------------------------------ */
:root{--gutter-m:clamp(20px,5.5vw,24px)}

@media (max-width:768px){
  .wrap,
  .navbar,
  .hero-full-inner,
  .subhero-inner,
  .page-hero,
  .breadcrumbs,
  .article-wrap,
  .cta-band{
    padding-left:var(--gutter-m);
    padding-right:var(--gutter-m);
  }
  /* Kontenery leżące WEWNĄTRZ powyższych nie dokładają drugiego
     gutteru (inaczej treść dostałaby 40–48 px z każdej strony). */
  .page-hero .ph-inner,
  .breadcrumbs .wrap,
  .cta-band .wrap,
  .article-wrap .wrap{padding-left:0;padding-right:0}
  /* Elementy z własnym marginesem wewnątrz .wrap. */
  .proof-bar{margin-left:0;margin-right:0}
  /* Plakietki „[DO UZUPEŁNIENIA]” na stronach prawnych mają
     white-space:nowrap — na wąskim ekranie wychodziły daleko poza
     gutter (do −576 px przy 360 px). Na mobile muszą się łamać. */
  .legal .ph{white-space:normal;overflow-wrap:anywhere}
}

/* ------------------------------------------------------------
   M2 — MENU MOBILNE (szuflada).
   Do wersji 1.0.0 w nagłówku istniały DWA hamburgery: własny
   `.burger` wstrzykiwany JS-em oraz przycisk bloku core/navigation.
   `.nav-right` z własnym hamburgerem i przełącznikiem trybu nie
   mieścił się w pasku (wychodził ~36 px poza ekran i był ucinany
   przez `.wp-site-blocks{overflow-x:hidden}`), więc klikalny
   zostawał wyłącznie hamburger core'a — otwierający NIEOSTYLOWANY
   overlay (białe tło, czarne linki przy lewej krawędzi).
   Rozwiązanie: jedno menu — overlay bloku core/navigation (ma
   focus-trap, Escape, blokadę scrolla i aria-modal), ostylowany
   zgodnie z księgą znaku. Duplikat JS-owy usunięty z functions.php.

   UWAGA co do selektorów: core stylizuje otwarty overlay regułami
   o specyficzności (0,5,0) — np.
     .wp-block-navigation:not(.has-background)
       .wp-block-navigation__responsive-container.is-menu-open
       :not(.disable-default-overlay){background-color:#fff}
   i analogicznie color:#000 oraz padding:0 na linkach. Dlatego
   każda reguła poniżej ma prefiks `header.site nav.…main`, który
   daje (0,5,2)+ i wygrywa bez użycia !important.
   ------------------------------------------------------------ */

/* Poniżej 960 px (tam gdzie chowa się menu desktopowe) pokazujemy
   hamburger core'a i chowamy poziomą listę. Core sam robi to
   dopiero poniżej 600 px — stąd te dwie nadpisujące reguły. */
@media (max-width:960px){
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container-open:not(.always-shown){
    display:inline-flex;
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container:not(.is-menu-open){
    display:none;
  }

  /* Pas dowodu 18·2·3: separatory MIĘDZY kolumnami (A3) mają sens
     tylko w układzie 3-kolumnowym. Poniżej 960 px `.tstats` spada do
     jednej kolumny, więc pionowa kreska i wcięcie 26 px robiły z
     liczb 2 i 3 „schodki" niezrównane z liczbą 18. */
  .tstats .tstat + .tstat{border-left:0;padding-left:0}

  /* Pasek nagłówka: logo mniejsze, hamburger na prawym końcu,
     zaraz za przełącznikiem trybu. Wszystko mieści się w 360 px. */
  .navbar{gap:16px}
  .brand{padding-left:0;padding-right:0}
  .brand img,.brand-link img{height:40px}
  .nav-right{order:2;margin-left:auto;gap:12px}
  nav.wp-block-navigation.main{order:3;margin-left:0;flex:0 0 auto;gap:0}

  /* Hamburger — 48×48, ten sam język wizualny co przełącznik trybu. */
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container-open{
    width:48px;height:48px;min-width:48px;padding:0;
    align-items:center;justify-content:center;
    border:1.5px solid var(--line);border-radius:12px;
    background:var(--navy-50);color:var(--ink);cursor:pointer;
  }
  :root[data-theme="dark"] header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container-open{
    background:#0E1D38;
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container-open svg{
    width:24px;height:24px;fill:currentColor;
  }

  /* --- Szuflada: pełny granat, na całą wysokość ekranu --- */
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open{
    display:flex;flex-direction:column;
    background-color:var(--navy-800);color:#FFFFFF;
    padding:0;overflow:auto;z-index:100000;
    --sj-drawer-pad:24px;
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{
    display:flex;flex-direction:column;flex:1 1 auto;
    width:100%;max-width:none;margin:0;min-height:0;
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{
    display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-height:0;margin:0;
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{
    display:flex;flex-direction:column;flex:1 1 auto;width:100%;
    align-items:stretch;padding:72px 0 0;gap:0;
  }

  /* Przycisk zamknięcia — min. 44×44 px, prawy górny róg. */
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{
    position:absolute;top:12px;right:var(--sj-drawer-pad,24px);z-index:2;
    width:44px;height:44px;min-width:44px;min-height:44px;padding:0;
    display:grid;place-items:center;border-radius:50%;
    color:#FFFFFF;background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.22);cursor:pointer;
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover{
    background:rgba(255,255,255,.16);border-color:var(--gold-500);
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg{
    width:22px;height:22px;fill:currentColor;
  }

  /* Lista pozycji — jedna kolumna, bez odziedziczonego gap:28px. */
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
    display:flex;flex-direction:column;align-items:stretch;
    width:100%;gap:0;margin:0;padding:0;list-style:none;
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
    width:100%;margin:0;padding:0;
  }

  /* Linki — Manrope 19 px, biel, 24 px bok / 16 px pion. */
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a{
    display:flex;align-items:center;width:100%;
    box-sizing:border-box;min-height:56px;
    padding:16px var(--sj-drawer-pad,24px);
    font-family:var(--font-body);font-size:19px;font-weight:600;
    letter-spacing:.01em;line-height:1.3;
    color:#FFFFFF;text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.12);
    transition:background .18s ease,color .18s ease;
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label{
    font-weight:600;
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:hover{
    color:var(--gold-500);background:rgba(255,255,255,.05);
  }
  /* Pozycja aktywna — złoty akcent (tekst + belka przy krawędzi).
     `aria-current` i `.sj-nav-section` nadaje filtr render_block
     w functions.php: blok core/navigation z linkami kind="custom"
     nie oznacza bieżącej strony samodzielnie. */
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a[aria-current="page"]{
    color:var(--gold-500);
    box-shadow:inset 4px 0 0 0 var(--gold-500);
    background:rgba(217,170,85,.07);
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.sj-nav-section a{
    color:var(--gold-500);
  }
  /* Tryb ciemny: reguła naprawcza z Fazy Z
     (`:root[data-theme="dark"] nav.wp-block-navigation.main a{color:#EDF1F7 !important}`)
     dotyczyła paska desktopowego, ale trafia też w szufladę — gasiła
     złoto pozycji aktywnej i zamieniała granatowy tekst CTA na biały
     (kontrast 1,9:1 na złocie = błąd WCAG). Przywracamy paletę
     szuflady, dorównując `!important`. */
  :root[data-theme="dark"] header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a,
  :root[data-theme="dark"] header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
    color:#FFFFFF !important;
  }
  :root[data-theme="dark"] header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a[aria-current="page"],
  :root[data-theme="dark"] header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.sj-nav-section a{
    color:var(--gold-500) !important;
  }
  :root[data-theme="dark"] header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .drawer-cta-link{
    color:var(--navy-800) !important;
  }

  /* Złote PODKREŚLENIE paska desktopowego (`nav.main a::after`, w tym
     wariant `a[aria-current="page"]::after` z linii 487) nie należy do
     szuflady — akcentem jest tu złoty tekst + belka przy krawędzi. */
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a::after{
    display:none;
  }

  /* CTA na dole szuflady — złoty przycisk, granatowy tekst. */
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .drawer-cta{
    display:block;margin-top:auto;
    padding:24px var(--sj-drawer-pad,24px) calc(24px + env(safe-area-inset-bottom,0px));
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .drawer-cta-link{
    display:flex;align-items:center;justify-content:center;
    width:100%;min-height:56px;box-sizing:border-box;
    padding:16px 24px;border-radius:999px;
    background:var(--gold-500);color:var(--navy-800);
    font-family:var(--font-body);font-size:16px;font-weight:700;
    letter-spacing:.02em;line-height:1.2;text-decoration:none;
    box-shadow:0 10px 22px -10px rgba(217,170,85,.75);
  }
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open .drawer-cta-link:hover{
    background:var(--gold-600);
  }

  /* Fokus 2 px złoto — jaśniejszy wariant, bo tło jest granatowe. */
  header.site nav.wp-block-navigation.main .wp-block-navigation__responsive-container.is-menu-open :where(a,button):focus-visible{
    outline:2px solid var(--gold-500);outline-offset:2px;border-radius:4px;
  }
}

/* CTA szuflady istnieje w DOM zawsze (jest dzieckiem kontenera
   nawigacji), więc poza otwartą szufladą musi być ukryte — także
   na desktopie, gdzie ten sam kontener trzyma poziome menu. */
.drawer-cta{display:none}

/* Aktywna pozycja w menu desktopowym — to samo źródło prawdy
   (aria-current z filtra), bo klasa `.active` z makiety nigdy nie
   trafiała do markupu bloku nawigacji. Reguła jest zamknięta w
   ≥961 px, bo `nav.main a::after` to złote PODKREŚLENIE paska
   desktopowego — w szufladzie akcentem jest złoty tekst + belka
   przy krawędzi, a podkreślenie tylko dublowałoby sygnał. */
@media (min-width:961px){
  nav.wp-block-navigation.main a[aria-current="page"],
  nav.wp-block-navigation.main .sj-nav-section a{color:var(--brand-gold)}
  nav.wp-block-navigation.main a[aria-current="page"]::after,
  nav.wp-block-navigation.main .sj-nav-section a::after{right:2px}
  :root[data-theme="dark"] nav.wp-block-navigation.main a[aria-current="page"],
  :root[data-theme="dark"] nav.wp-block-navigation.main .sj-nav-section a{color:var(--brand-gold) !important}
}

/* Reduced motion — core animuje otwarcie overlaya. */
@media (prefers-reduced-motion:reduce){
  .wp-block-navigation__responsive-container.is-menu-open{animation:none!important}
}

/* ============================================================
   N — PĘTLA ZAPYTANIA I ŻYWY FORMULARZ (v1.0.3).
   Dopisane NA KOŃCU pliku, więc wygrywają kaskadę.
     N1  karty wpisów generowane przez wp:query / wp:post-template
     N2  formularz WPForms osadzony w karcie .cform
   ============================================================ */

/* ------------------------------------------------------------
   N1 — KARTY WPISÓW Z PĘTLI ZAPYTANIA.
   Makieta miała ręczne karty `.post`; teraz listę generuje blok
   wp:post-template. WordPress sam nadaje każdemu <li> klasę
   `post` (przez post_class()), więc kartą jest <li> i wszystkie
   dotychczasowe style `.post` działają na nim bez zmian.
   Poniżej tylko to, czego makieta nie mogła przewidzieć: bloki
   core mają własne znaczniki i własne kolory linków.
   ------------------------------------------------------------ */

/* Lista przestaje być listą — punktory i wcięcie precz. */
ul.posts{list-style:none;margin:0;padding:0}
ul.posts > li{display:flex}
ul.posts > li.post{flex-direction:column;width:100%}

/* Tytuł: wp:post-title renderuje <h3><a>. Bez tego link brałby
   złoto z globalnej reguły `a{color:var(--link)}`. */
.post .wp-block-post-title{font-family:var(--font-body);font-size:17.5px;font-weight:700;
  letter-spacing:.005em;line-height:1.34;margin:0 0 12px}
.post .wp-block-post-title a{color:var(--ink);text-decoration:none}
.post .wp-block-post-title a:hover{color:var(--brand-gold);text-decoration:underline;
  text-underline-offset:4px;text-decoration-color:var(--brand-gold)}

/* Kategoria: wp:post-terms opakowuje link w <div class="cat-tag">.
   Pastylka zostaje na opakowaniu, link ma tylko dziedziczyć. */
.post .meta .cat-tag{display:inline-flex;line-height:1}
.post .meta .cat-tag a{color:inherit;text-decoration:none;font:inherit;letter-spacing:inherit}
.post .meta .cat-tag a:hover{text-decoration:underline;text-underline-offset:3px}
.post .meta .cat-tag .wp-block-post-terms__separator{display:none}

/* Data: wp:post-date renderuje <div>, więc potrzebuje wyrównania
   do linii pastylki. */
.post .meta .wp-block-post-date,
.post .meta .mdate{font-size:12px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);line-height:1}
.post .meta .wp-block-post-date a{color:inherit;text-decoration:none}

/* Zajawka i „Przeczytaj wpis” — odstępy jak w makiecie, link
   dociśnięty do dołu karty, żeby karty równały się mimo różnej
   długości zajawek. */
.post .wp-block-post-excerpt{margin:0}
.post .wp-block-post-excerpt__excerpt{font-size:14px;color:var(--ink-2);margin:0 0 18px}
.post .wp-block-post-excerpt__more-text{margin:0}
.post .wp-block-read-more{margin-top:auto;font-size:13.5px;font-weight:600;color:var(--link);
  text-decoration:none;min-height:24px;display:inline-flex;align-items:center;align-self:flex-start}
.post .wp-block-read-more::after{content:" \2192";transition:margin-left .2s ease;
  display:inline-block;margin-left:.35em}
.post .wp-block-read-more:hover::after{margin-left:.6em}
.post .wp-block-read-more:hover{text-decoration:underline;text-underline-offset:4px}

/* Paginacja pętli — korzysta z gotowego stylu `.pager`. */
.wp-block-query-pagination.pager{margin-top:52px}
.wp-block-query-pagination.pager .wp-block-query-pagination-numbers{display:flex;gap:8px}

/* Miniatura: wp:post-featured-image renderuje <figure><a><img>. */
.post .photo-thumb{margin:0}
.post .photo-thumb a{display:block;height:100%}
.post .photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}

/* Komunikat, gdy nie ma wpisów. */
.posts-query .wp-block-query-no-results{color:var(--ink-2);text-align:center;padding:24px 0}

@media (max-width:960px){
  ul.posts{grid-template-columns:1fr}
}

/* ------------------------------------------------------------
   N2 — FORMULARZ WPFORMS W KARCIE `.cform`.
   Atrapa formularza miała własne `<input>`, które łapały reguły
   `.cform input`. WPForms wnosi własny arkusz o wyższej
   specyficzności: pola dostają promień 3 px i ramkę
   rgba(0,0,0,.25), a przycisk wysyłki — firmowy błękit #066AAB.
   Poniżej sprowadzamy formularz do języka wizualnego motywu.
   ------------------------------------------------------------ */

/* WPForms w trybie „modern” steruje wyglądem przez zmienne CSS
   ustawiane na kontenerze po jego ID (`#wpforms-46`). Selektor
   z identyfikatorem wygrywa z każdą liczbą klas, więc jedynym
   sposobem na nadpisanie bez zaszywania numeru formularza
   w motywie jest `!important` na samych zmiennych. Dzięki temu
   WPForms nadal sam liczy stany (hover, focus, disabled) —
   tyle że z palety marki. */
.cform .wpforms-container{
  margin:0;max-width:none;
  --wpforms-button-background-color:var(--gold-500) !important;
  --wpforms-button-text-color:var(--navy-800) !important;
  --wpforms-button-border-color:transparent !important;
  --wpforms-button-border-size:0 !important;
  --wpforms-button-border-radius:12px !important;
  --wpforms-button-size-height:56px !important;
  --wpforms-button-size-font-size:16px !important;
  --wpforms-button-size-padding-h:36px !important;
  --wpforms-button-size-margin-top:22px !important;
  --wpforms-field-border-radius:12px !important;
  --wpforms-field-border-size:1.5px !important;
  --wpforms-field-border-color:var(--line) !important;
  --wpforms-field-background-color:var(--bg) !important;
  --wpforms-field-text-color:var(--ink) !important;
  --wpforms-label-color:var(--ink) !important;
  --wpforms-label-sublabel-color:var(--ink-2) !important;
  --wpforms-label-error-color:var(--err) !important;
}
.cform .wpforms-form .wpforms-field{padding:0;margin:0 0 18px}

/* Etykiety pól. */
.cform .wpforms-form .wpforms-field-label{
  display:block;font-family:var(--font-body);font-size:13.5px;font-weight:600;
  letter-spacing:.02em;color:var(--ink);margin:0 0 8px;line-height:1.4;
}
.cform .wpforms-form .wpforms-required-label{color:var(--err);font-weight:700}
.cform .wpforms-form .wpforms-field-sublabel{
  font-size:12.5px;color:var(--ink-2);margin-top:6px;
}

/* Pola tekstowe. */
.cform .wpforms-form input[type="text"],
.cform .wpforms-form input[type="email"],
.cform .wpforms-form input[type="tel"],
.cform .wpforms-form input[type="url"],
.cform .wpforms-form input[type="number"],
.cform .wpforms-form select,
.cform .wpforms-form textarea{
  width:100%;max-width:none;box-sizing:border-box;
  font-family:var(--font-body);font-size:16px;color:var(--ink);
  background:var(--bg);border:1.5px solid var(--line);border-radius:12px;
  padding:14px 16px;min-height:48px;line-height:1.5;box-shadow:none;
}
.cform .wpforms-form textarea{min-height:132px;resize:vertical;line-height:1.6}
.cform .wpforms-form input::placeholder,
.cform .wpforms-form textarea::placeholder{color:var(--muted)}
.cform .wpforms-form input:focus,
.cform .wpforms-form select:focus,
.cform .wpforms-form textarea:focus{
  outline:2px solid var(--gold-600);outline-offset:2px;border-color:var(--brand-gold);
}

/* Zgoda RODO — checkbox obok tekstu, cel dotykowy 24 px. */
.cform .wpforms-form .wpforms-field-gdpr-checkbox ul,
.cform .wpforms-form .wpforms-field-checkbox ul{list-style:none;margin:0;padding:0}
.cform .wpforms-form .wpforms-field-gdpr-checkbox li,
.cform .wpforms-form .wpforms-field-checkbox li{
  display:flex;align-items:flex-start;gap:11px;margin:0;
}
.cform .wpforms-form input[type="checkbox"]{
  width:22px;height:22px;min-height:22px;flex-shrink:0;margin:1px 0 0;
  accent-color:var(--gold-600);
}
.cform .wpforms-form .wpforms-field-gdpr-checkbox label,
.cform .wpforms-form .wpforms-field-checkbox label{
  font-size:14px;font-weight:400;color:var(--ink-2);margin:0;line-height:1.55;
}
.cform .wpforms-form .wpforms-field-gdpr-checkbox a,
.cform .wpforms-form .wpforms-field-checkbox a{color:var(--link);text-underline-offset:2px}

/* Przycisk wysyłki — złota pastylka z granatowym tekstem. */
.cform .wpforms-form .wpforms-submit-container{padding:0;margin:22px 0 0}
.cform .wpforms-form button.wpforms-submit{
  display:inline-flex;align-items:center;justify-content:center;width:100%;
  font-family:var(--font-body);font-size:16px;font-weight:600;letter-spacing:.02em;
  line-height:1;min-height:56px;padding:18px 36px;border:1.5px solid transparent;
  border-radius:12px;cursor:pointer;text-decoration:none;
  background:var(--gold-500);color:var(--navy-800);
  box-shadow:0 10px 22px -10px rgba(217,170,85,.75);
  transition:transform .18s ease,box-shadow .22s ease,background .18s ease;
}
.cform .wpforms-form button.wpforms-submit:hover{
  background:var(--gold-600);transform:translateY(-2px);
  box-shadow:0 16px 30px -10px rgba(195,146,60,.8);
}
.cform .wpforms-form button.wpforms-submit:focus-visible{
  outline:2px solid var(--gold-600);outline-offset:3px;
}
.cform .wpforms-form button.wpforms-submit[disabled]{opacity:.6;transform:none}

/* Błędy i potwierdzenie — kolory z tokenów motywu. */
.cform .wpforms-form label.wpforms-error,
.cform .wpforms-form em.wpforms-error{
  color:var(--err);font-size:13.5px;font-style:normal;font-weight:600;
  display:block;margin-top:7px;
}
.cform .wpforms-form input.wpforms-error,
.cform .wpforms-form textarea.wpforms-error{border-color:var(--err)}
.cform .wpforms-confirmation-container-full,
div.wpforms-container .wpforms-confirmation-container-full{
  background:color-mix(in srgb,var(--ok) 12%,transparent);
  border:1.5px solid color-mix(in srgb,var(--ok) 45%,transparent);
  border-radius:12px;color:var(--ok);padding:16px 18px;margin:0;
  font-size:15px;font-weight:600;
}
:root[data-theme="dark"] .cform .wpforms-confirmation-container-full{color:#7FD3AE}

/* Tryb ciemny — WPForms zakłada jasne tło. */
:root[data-theme="dark"] .cform .wpforms-form input[type="text"],
:root[data-theme="dark"] .cform .wpforms-form input[type="email"],
:root[data-theme="dark"] .cform .wpforms-form input[type="tel"],
:root[data-theme="dark"] .cform .wpforms-form select,
:root[data-theme="dark"] .cform .wpforms-form textarea{
  background:#0D1B33;color:#FFFFFF;border-color:var(--line);
}
:root[data-theme="dark"] .cform .wpforms-form .wpforms-field-label{color:#FFFFFF}

/* ------------------------------------------------------------
   N3 — ELEMENTY WPISU GENEROWANE PRZEZ SZABLON (v1.0.4).
   Obudowa wpisu przeniosła się z treści do templates/single.html,
   więc nadtytuł, tagi i tytuł archiwum pochodzą teraz z bloków
   core. Bloki te opakowują treść we własne znaczniki, których
   makieta nie znała — poniżej domknięcie tej różnicy.
   ------------------------------------------------------------ */

/* Nadtytuł hero = wp:post-terms (kategoria). Blok renderuje <div>
   z linkiem w środku; pastylka nie jest tu potrzebna, ma zostać
   sam złoty nadtytuł jak w makiecie. */
.page-hero .ph-overline a{color:inherit;text-decoration:none}
.page-hero .ph-overline a:hover{text-decoration:underline;text-underline-offset:4px}
.page-hero .ph-overline .wp-block-post-terms__separator{color:inherit;opacity:.6}

/* Tytuł archiwum = wp:query-title, opis kategorii = wp:term-description. */
.page-hero .wp-block-query-title.ph-title{margin:0}
.page-hero .wp-block-term-description.ph-lead p{margin:0}

/* Tagi pod artykułem = wp:post-terms (post_tag). Makieta miała
   <p class="tags"><a class="tag">…</a></p>; blok daje <div class="tags"><a>. */
.tags a{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:13px;
  font-weight:600;letter-spacing:.02em;padding:9px 16px;border-radius:999px;
  background:var(--sec-paper);border:1px solid var(--line);color:var(--ink);
  text-decoration:none;min-height:24px;transition:border-color .18s ease,color .18s ease}
.tags a:hover{border-color:var(--brand-gold);color:var(--brand-gold)}
.tags .wp-block-post-terms__separator{display:none}
:root[data-theme="dark"] .tags a{background:#0D1B33}

/* Wiersz meta i okruszki pochodzą z shortcode'ów i zwracają markup
   zgodny z makietą — nie wymagają własnych reguł. */

/* ------------------------------------------------------------
   O — BEZ KWADRATOWYCH KAFELKÓW IKON (v1.0.6).
   Kafelki `.vico` (O nas — wartości), `.micon` (O nas — nasze
   podejście) i `.iico` (Kontakt — dane) nigdy nie dostały ikony
   i renderowały się jako puste beżowe kwadraty 42–52 px.
   Usunięte z treści stron; poniżej domknięcie po stronie układu.
   ------------------------------------------------------------ */

/* Rzędy, które trzymały kafelek obok tekstu, były siatkami flex
   z odstępem 16 px. Bez kafelka odstęp zostawiał wcięcie w pustkę. */
.vcard .vtop{gap:0}
.info-row{gap:0}

/* Punktory listy korzyści: kwadratowa oprawa 23×23 znika,
   zostaje sam znacznik wyboru w kolorze filaru. */
.blist li{padding-left:26px}
.blist li::before{display:none}
.blist li::after{left:1px;top:5px;width:11px;height:6px;border-left-width:2.5px;border-bottom-width:2.5px}

/* „Dla żłobków” i „Dla gmin” na Ofercie miały kafelek z ikoną
   przed nagłówkiem; po jego usunięciu karta nie potrzebuje odstępu. */
.aud-block > .wp-block-group:first-child{margin-top:0}

/* Kotwice w treści (stopka linkuje do /o-nas/#misja i /o-nas/#zespol).
   Nagłówek jest przyklejony, więc bez odsunięcia cel skoku chował się
   pod paskiem. Wysokość paska: 104 px desktop / 80 px mobile. */
:where(.band,.page-hero,.wp-block-group)[id]{scroll-margin-top:clamp(88px,10vw,120px)}
