:root{
  --blue-900:#012a52;--blue-800:#004a94;--blue-700:#0a5aa6;--blue-600:#1e73be;--blue-100:#e7f0fa;--blue-50:#f2f7fc;
  --gold:#f3a712;--gold-soft:#ffd27a;--green:#2f8f4e;--red:#d93a2b;
  --ink:#0f1822;--muted:#586572;--line:#e6ebf2;--bg:#fff;--soft:#f3f7fc;--card:#fff;
  /* jednolita skala promieni */
  --r-sm:10px;--r-md:16px;--r-lg:24px;--r-pill:999px;
  /* jednolity rytm cieni */
  --shadow:0 1px 2px rgba(8,33,64,.05),0 10px 26px rgba(8,33,64,.08);
  --shadow-hover:0 18px 44px rgba(6,28,58,.16);
  --shadow-lg:0 30px 64px rgba(6,28,58,.22);
  --lift:-6px;
  --maxw:1600px;
  --font-display:'Fraunces',Georgia,serif;--font-body:'Plus Jakarta Sans',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;
  background:radial-gradient(1200px 620px at 100% -8%,var(--blue-50),transparent 60%),var(--bg)}
body::before{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.035;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
h1,h2{font-family:var(--font-display);font-weight:600;line-height:1.04;letter-spacing:-.02em;color:var(--blue-900);text-wrap:balance}
h3,h4{font-family:var(--font-body);font-weight:700;line-height:1.2;letter-spacing:-.012em;color:var(--blue-900);text-wrap:pretty}
a{color:var(--blue-600);text-decoration:none}
img{max-width:100%;display:block}

/* FULL-BLEED: sekcje pełnej szerokości, treść w 1600 */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(24px,5vw,48px)}
section{width:100%}

/* A11Y */
.skip{position:absolute;left:-999px;top:0;z-index:400;background:var(--blue-800);color:#fff;padding:14px 22px;border-radius:0 0 var(--r-sm) 0;font-weight:600}
.skip:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}

/* scroll progress (złoto) */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-soft));z-index:350;transition:width .1s linear}

.concept{background:var(--blue-900);color:var(--gold-soft);text-align:center;font-size:12.5px;font-weight:600;padding:8px 16px}

/* reveal + stagger */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{animation:none !important;scroll-behavior:auto}}

/* TOPBAR */
.topbar{background:var(--blue-900);color:#bcd3ec;font-size:13.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;height:46px}
.topbar .left{display:flex;gap:20px;align-items:center}
.topbar a{color:#cfe0f2;font-weight:500}.topbar a:hover{color:#fff}
.topbar .right{display:flex;gap:14px;align-items:center}
.socials{display:flex;gap:8px}
.socials a{width:30px;height:30px;border-radius:var(--r-pill);background:rgba(255,255,255,.12);display:grid;place-items:center;color:#fff}
.socials a:hover{background:var(--gold);color:var(--blue-900);transform:translateY(-2px)}
@media(max-width:820px){.topbar .left a:not(.bip){display:none}}

/* HEADER */
header.site{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.header-top{display:flex;align-items:center;gap:28px;height:82px}
.brand{display:flex;align-items:center;gap:14px}
.brand .logo{width:52px;height:52px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--blue-800),var(--blue-600));display:grid;place-items:center;color:#fff;font-family:var(--font-body);font-weight:800;font-size:18px;box-shadow:var(--shadow);letter-spacing:.02em}
.brand b{font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--blue-900);display:block;line-height:1.05}
.brand small{font-size:12.5px;color:var(--muted)}
form.search{margin-left:auto;display:flex;align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:var(--r-pill);padding:4px 4px 4px 18px;width:300px;transition:.18s}
form.search:focus-within{border-color:var(--blue-600);background:#fff;box-shadow:0 0 0 4px var(--blue-50)}
form.search input{border:0;background:none;outline:none;flex:1;font:inherit;font-size:14.5px;color:var(--ink)}
form.search button{border:0;cursor:pointer;width:40px;height:40px;border-radius:var(--r-pill);background:var(--blue-800);color:#fff;display:grid;place-items:center;transition:.16s}
form.search button:hover{background:var(--blue-900)}
.cta-head{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:var(--r-sm);font-weight:700;font-size:14.5px;background:var(--gold);color:#3a2600;transition:.16s;white-space:nowrap}
.cta-head:hover{background:#ffba2e;transform:translateY(-2px);box-shadow:var(--shadow)}
.burger{display:none;background:none;border:1.5px solid var(--line);border-radius:var(--r-sm);width:50px;height:46px;cursor:pointer;flex-direction:column;gap:5px;align-items:center;justify-content:center}
.burger span{width:22px;height:2px;background:var(--ink);border-radius:2px}

/* NAV row */
.navbar{border-top:1px solid var(--line);background:rgba(255,255,255,.65)}
nav.main{display:flex;gap:2px;align-items:center;height:54px}
.mi{position:relative}
.mi>a,.mi>button{font:inherit;font-weight:600;font-size:14.5px;background:none;border:0;cursor:pointer;color:var(--ink);padding:10px 14px;border-radius:var(--r-sm);display:flex;align-items:center;gap:6px;height:38px}
.mi>a:hover,.mi>button:hover,.mi.open>button{background:var(--blue-50);color:var(--blue-800)}
.mi>a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.mi>a:hover::after{transform:scaleX(1)}
.submenu{position:absolute;top:calc(100% + 8px);left:0;min-width:270px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:10px;display:none;z-index:50}
.submenu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:14px} /* mostek na luce — podmenu nie znika przy przejściu kursora */
.mi.open .submenu{display:block}
.submenu a{display:block;padding:10px 13px;border-radius:var(--r-sm);font-size:14px;font-weight:500;color:var(--ink)}
.submenu a:hover{background:var(--blue-50);color:var(--blue-800)}
@media(max-width:1100px){.navbar,form.search,.cta-head{display:none}.burger{display:flex}.header-top{height:74px}}

/* BTN */
.btn{display:inline-flex;align-items:center;gap:9px;padding:14px 26px;border-radius:var(--r-sm);font-weight:700;font-size:15px;cursor:pointer;border:0;transition:.16s;font-family:var(--font-body)}
.btn-gold{background:var(--gold);color:#3a2600}.btn-gold:hover{background:#ffba2e;transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-gold:active{transform:translateY(0) scale(.98)}
.btn-outline{background:transparent;border:1.6px solid rgba(255,255,255,.6);color:#fff}.btn-outline:hover{background:rgba(255,255,255,.16)}
.btn-ghost{background:#fff;color:var(--blue-800);border:1.5px solid var(--line)}.btn-ghost:hover{border-color:var(--blue-600);background:var(--blue-50)}

/* HERO SLIDER (full-bleed) */
/* offset kotwic CTA pod sticky-nagłówek (header.site ~138px) — sekcja ląduje poniżej menu */
section[id],[id].section,#szkolenia,#aktualnosci,#sekcje,#konsultanci,#oferta,#enroll{scroll-margin-top:124px}
.slider{position:relative;height:clamp(560px,72vh,760px);overflow:hidden;background:var(--blue-900)}
.slide{position:absolute;inset:0;opacity:0;z-index:1;pointer-events:none}
.slide.active{opacity:1;z-index:2;pointer-events:auto}
.slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
/* Ken Burns wyłączony: animowany transform tworzy warstwę GPU, na której nakładka ::after
   renderuje się nad tłem zamiast nad obrazem (granat). Statyczny transform jest bezpieczny. */
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 28%,rgba(1,20,42,.55) 70%,rgba(1,18,40,.9) 100%),linear-gradient(90deg,rgba(1,26,52,.62) 0%,transparent 55%)}
.slide .cap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;z-index:3}
.slide .cap .wrap{padding-bottom:84px;width:100%}
.tick{display:inline-block;width:64px;height:3px;background:var(--gold);border-radius:var(--r-pill);margin-bottom:18px;opacity:0;transform:translateY(18px)}
.slide .kicker{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:8px 16px;border-radius:var(--r-pill);font-size:13px;font-weight:600;color:#fff;opacity:0;transform:translateY(18px);backdrop-filter:blur(4px)}
.slide h1{color:#fff;font-size:clamp(40px,5.6vw,72px);margin:18px 0 16px;max-width:17ch;text-shadow:0 2px 40px rgba(0,18,40,.45);opacity:0;transform:translateY(18px)}
.slide p{font-size:clamp(17px,1.5vw,21px);color:#e6eef8;max-width:600px;margin-bottom:30px;opacity:0;transform:translateY(18px)}
.slide .cta{display:flex;gap:14px;flex-wrap:wrap;opacity:0;transform:translateY(18px)}
.slide.active .tick{animation:rise .7s .2s forwards}
.slide.active .kicker{animation:rise .7s .32s forwards}
.slide.active h1{animation:rise .7s .46s forwards}
.slide.active p{animation:rise .7s .6s forwards}
.slide.active .cta{animation:rise .7s .74s forwards}
@keyframes rise{to{opacity:1;transform:none}}
.s-nav{position:absolute;z-index:5;bottom:40px;right:max(24px,calc((100% - var(--maxw))/2 + 48px));display:flex;gap:10px}
.s-nav button{width:50px;height:50px;border-radius:var(--r-pill);border:1.5px solid rgba(255,255,255,.5);background:rgba(1,30,60,.3);color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px);transition:.16s}
.s-nav button:hover{background:var(--gold);color:#3a2600;border-color:var(--gold)}
.dots{position:absolute;z-index:5;bottom:46px;left:max(24px,calc((100% - var(--maxw))/2 + 48px));display:flex;gap:9px}
.dots button{width:34px;height:5px;border-radius:var(--r-pill);border:0;background:rgba(255,255,255,.4);cursor:pointer;transition:.25s}
.dots button.on{background:var(--gold);width:54px}

/* QUICK */
/* Menu skrótów — przesuwany pasek NIEBIESKICH przycisków (zastępuje białe kafelki) */
.cen-shortcuts{position:relative;z-index:10}
.cen-shortcuts .sec-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:0}
.cen-sc-nav{display:flex;gap:10px}
.cen-sc-arrow{width:46px;height:46px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:#fff;color:var(--blue-800);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.18s}
.cen-sc-arrow:hover{background:var(--blue-800);color:#fff;border-color:var(--blue-800);transform:translateY(-2px);box-shadow:var(--shadow)}
.cen-sc-arrow:active{transform:translateY(0)}
/* tor — BEZ widocznego paska przewijania; nawigacja strzałkami + swipe/trackpad */
.cen-sc-rail-wrap{position:relative;margin-top:24px;overflow:hidden}
.cen-sc-rail{list-style:none;margin:0;padding:6px 2px;display:flex;gap:16px;width:max-content;transition:transform .45s cubic-bezier(.4,0,.2,1);cursor:grab;touch-action:pan-y;user-select:none}
.cen-sc-rail:active{cursor:grabbing}
.cen-sc-rail>li{flex:0 0 auto;margin:0;display:flex}
.cen-sc-btn{position:relative;display:flex;flex-direction:column;justify-content:center;gap:7px;width:clamp(224px,21vw,252px);min-height:104px;padding:22px 24px;border-radius:var(--r-md);background:linear-gradient(140deg,var(--blue-800),var(--blue-700) 70%);color:#fff;text-decoration:none;box-shadow:0 2px 6px rgba(8,33,64,.10);transition:transform .2s,box-shadow .2s,background .2s;overflow:hidden}
.cen-sc-btn::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold);opacity:0;transition:.2s}
.cen-sc-btn::after{content:"→";position:absolute;right:20px;top:18px;font-size:16px;opacity:.45;transition:.2s}
.cen-sc-btn:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);background:linear-gradient(140deg,var(--blue-700),var(--blue-600) 70%)}
.cen-sc-btn:hover::before{opacity:1}
.cen-sc-btn:hover::after{opacity:1;transform:translateX(4px)}
.cen-sc-btn .t{font-weight:700;font-size:14px;line-height:1.3;text-transform:uppercase;letter-spacing:.015em;padding-right:20px}
.cen-sc-btn .s{font-size:12px;color:var(--gold-soft);font-weight:600;letter-spacing:.01em}
@media(max-width:560px){.cen-sc-btn{width:80vw}.cen-sc-nav{display:none}}

/* ENROLL gold band (realny baner "szybkie zapisy") */
.enroll{background:linear-gradient(100deg,var(--gold),#ffc23d);position:relative;overflow:hidden;margin-top:64px}
.enroll::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 0% 0%,rgba(255,255,255,.4),transparent 60%)}
.enroll .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:30px;flex-wrap:wrap}
.enroll .et{max-width:62ch}
.enroll .lab{font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7a4f00}
.enroll h2{color:#3a2600;font-family:var(--font-body);font-weight:800;font-size:clamp(20px,2.4vw,30px);letter-spacing:-.01em;margin-top:4px}
.enroll p{color:#5c3f08;font-weight:600;font-size:15px}
.enroll .btn{background:var(--blue-900);color:#fff;box-shadow:0 10px 24px rgba(1,30,60,.25)}
.enroll .btn:hover{background:var(--blue-800);transform:translateY(-2px)}
.enroll .ebtns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.enroll .btn-ghost{background:rgba(255,255,255,.92);color:#3a2600;box-shadow:0 6px 16px rgba(120,79,0,.18)}
.enroll .btn-ghost:hover{background:#fff}

/* SECTION scaffolding */
section.block{padding-block:96px}
@media(max-width:900px){section.block{padding-block:64px}}
@media(max-width:680px){section.block{padding-block:48px}}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px}
.eyebrow{font-size:13px;font-weight:700;color:var(--blue-600);text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);display:inline-block}
.sec-head h2{font-size:clamp(30px,3.6vw,46px);margin-top:12px}
.sec-head p{color:var(--muted);margin-top:10px;max-width:620px;font-size:16px}
.link{font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;color:var(--blue-800)}
.arrows{display:flex;gap:10px}
.arrows button{width:50px;height:50px;border-radius:var(--r-pill);border:1.5px solid var(--line);background:#fff;color:var(--blue-800);cursor:pointer;display:grid;place-items:center;transition:.16s}
.arrows button:hover{background:var(--gold);color:#3a2600;border-color:var(--gold);transform:translateY(-2px)}

/* spotlight (gold) na kartach */
.spot{position:relative}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .3s;pointer-events:none;z-index:4;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(243,167,18,.13),transparent 60%)}
.spot:hover::after{opacity:1}

/* MAGAZINE news */
.news-mag{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-auto-rows:1fr;gap:24px}
@media(max-width:1000px){.news-mag{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.news-mag{grid-template-columns:1fr}}
.na{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;min-height:220px}
.na:hover{transform:translateY(var(--lift));box-shadow:var(--shadow-hover)}
.na .ph{position:relative;overflow:hidden;background:var(--blue-100)}
.na .ph img{width:100%;height:100%;object-fit:cover;transition:.45s}
.na:hover .ph img{transform:scale(1.06)}
.na .cat{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.95);color:var(--blue-800);font-size:11px;font-weight:700;padding:5px 11px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.03em}
.na .nb{padding:18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.na .date{font-size:12px;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums}
.na h3{font-size:16.5px;line-height:1.3}
.na .more{margin-top:auto;font-size:13.5px;font-weight:700;color:var(--blue-800);display:inline-flex;gap:6px}
/* lead */
.na.lead{grid-row:span 2;grid-column:1}
.na.lead .ph{flex:1;min-height:260px}
.na.lead .nb{padding:26px 28px}
.na.lead h3{font-family:var(--font-display);font-weight:600;font-size:clamp(22px,1.9vw,30px);line-height:1.1}
.na.lead .cat{background:var(--gold);color:#3a2600}
@media(max-width:1000px){.na.lead{grid-row:auto;grid-column:1/-1;flex-direction:row}.na.lead .ph{flex:0 0 46%}}
@media(max-width:640px){.na.lead{flex-direction:column}.na.lead .ph{flex-basis:auto;min-height:220px}}
.na.compact .ph{height:150px}

/* więcej aktualności grid */
.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:24px}
@media(max-width:1000px){.more-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.more-grid{grid-template-columns:1fr}}
.more-grid .na .ph{height:160px}

/* SZKOLENIA 2-up */
.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:820px){.two{grid-template-columns:1fr}}
.course{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:200px 1fr;transition:transform .2s,box-shadow .2s}
.course:hover{transform:translateY(var(--lift));box-shadow:var(--shadow-hover)}
.course .ci{position:relative;overflow:hidden;background:var(--blue-100);min-height:210px}
.course .ci img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.45s}
.course:hover .ci img{transform:scale(1.06)}
.course .body{padding:24px;display:flex;flex-direction:column}
.course .meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.course .pill{font-size:12px;font-weight:600;color:var(--blue-800);background:var(--blue-50);padding:5px 11px;border-radius:var(--r-sm);font-variant-numeric:tabular-nums}
.course h3{font-size:18px;margin-bottom:14px;line-height:1.25;flex:1}
.course .more{color:var(--blue-800);font-weight:700;font-size:14px;display:inline-flex;gap:6px}
@media(max-width:480px){.course{grid-template-columns:1fr}.course .ci{min-height:170px}}

/* COUNTERS band (full-bleed photo) */
.band{position:relative;color:#fff;overflow:hidden}
.band img.bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(1,28,56,.94),rgba(1,42,84,.8))}
.band .wrap{position:relative;z-index:2;padding-block:84px;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.band .lead-c{grid-column:1/-1;max-width:760px;margin-bottom:6px}
.band .eyebrow{color:var(--gold)}.band .eyebrow::before{background:var(--gold)}
.band h2{color:#fff;font-size:clamp(28px,3.4vw,44px)}
.band .lead-c p{color:#dceaf8;margin-top:12px;font-size:16.5px}
.stat b{font-family:var(--font-body);font-weight:800;font-size:clamp(38px,4.6vw,58px);color:#fff;display:block;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.stat span{color:#bcd3ec;font-size:14.5px;font-weight:500;margin-top:8px;display:block}
@media(max-width:820px){.band .wrap{grid-template-columns:1fr 1fr;padding-block:56px}}

/* TILES — jeden granatowy system */
.tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
@media(max-width:980px){.tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.tiles{grid-template-columns:1fr 1fr}}
.tile{position:relative;border-radius:var(--r-md);padding:24px;color:#fff;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.tile::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.tile:hover{transform:translateY(var(--lift));box-shadow:var(--shadow-hover)}
.tile:hover::before{transform:scaleX(1)}
.tile .ic{width:30px;height:30px;color:var(--gold-soft);margin-bottom:auto}
.tile h3{color:#fff;font-size:19px;margin-top:14px}
.tile span{font-size:12.5px;opacity:.82;font-weight:500}
.tile .n{position:absolute;top:16px;right:18px;font-family:var(--font-body);font-weight:800;font-size:28px;opacity:.28;font-variant-numeric:tabular-nums}
.t1{background:linear-gradient(135deg,#012a52,#1e73be)}
.t2{background:linear-gradient(135deg,#013a6e,#2f7fc9)}
.t3{background:linear-gradient(135deg,#022f5c,#155fa6)}
.t4{background:linear-gradient(135deg,#01386f,#3a86d6)}
.t5{background:linear-gradient(135deg,#012747,#0f4f8c)}
.t6{background:linear-gradient(135deg,#024a94,#1e73be)}

/* KONSULTANCI marquee */
@keyframes scroll-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.marquee .row{display:flex;gap:22px;width:max-content;animation:scroll-x 52s linear infinite}
.marquee:hover .row{animation-play-state:paused}
.person{flex:0 0 200px;text-align:center}
.person .av{width:100%;aspect-ratio:1;border-radius:var(--r-md);overflow:hidden;background:var(--blue-100);box-shadow:var(--shadow);margin-bottom:12px}
.person .av img{width:100%;height:100%;object-fit:cover;object-position:top;transition:.35s}
.person:hover .av img{transform:scale(1.06)}
.person b{font-size:15px;color:var(--blue-900);display:block}
.person span{font-size:12.5px;color:var(--muted)}

/* QR + ŚCIANA LOGO */
.qr-box{background:linear-gradient(135deg,var(--blue-50),#fff);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:28px 32px;display:flex;gap:32px;align-items:center;margin-bottom:24px}
.qr-box img.qr{width:158px;height:158px;flex:0 0 158px;border:1px solid var(--line);border-radius:var(--r-md);padding:8px;background:#fff}
.qr-text{flex:1;min-width:240px}
.qr-text h3{font-size:21px;margin-bottom:6px}.qr-text p{color:var(--muted);font-size:14.5px;max-width:52ch}
.qr-follow{flex:0 0 auto;display:flex;flex-direction:column;gap:10px;padding-left:32px;border-left:1px solid var(--line);min-width:232px}
.qr-foll-lab{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.foll{display:flex;align-items:center;gap:11px;padding:12px 16px;border-radius:var(--r-sm);font-weight:700;font-size:14px;color:var(--blue-900);background:#fff;border:1.5px solid var(--line);transition:.16s}
.foll:hover{border-color:var(--blue-600);background:var(--blue-50);transform:translateY(-2px)}
.foll.fb svg{color:#1877f2}.foll.yt svg{color:#ff0000}
@media(max-width:820px){.qr-box{flex-wrap:wrap;gap:24px}.qr-text{min-width:0}.qr-follow{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:18px;width:100%;flex-direction:row;flex-wrap:wrap}.foll{flex:1;justify-content:center}}
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
.logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:16px;height:100px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.logo:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--blue-100)}
.logo img{max-height:64px;max-width:100%;width:auto;object-fit:contain}

/* AKREDYTACJA */
.accred{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.accred .wrap{padding-block:22px;display:flex;align-items:center;justify-content:center;gap:14px;text-align:center}
.accred svg{flex:0 0 auto;color:var(--blue-800)}
.accred p{font-weight:700;color:var(--blue-900);font-size:15px}

/* FOOTER */
footer.site{background:var(--blue-900);color:#bcd3ec}
.partners{border-bottom:1px solid rgba(255,255,255,.12);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.partners .row{display:flex;gap:44px;width:max-content;align-items:center;padding:24px 0;animation:scroll-x 40s linear infinite}
.partners .row span{color:#9fbada;font-weight:700;font-size:15px;white-space:nowrap;opacity:.85}
.fgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:40px;padding-block:64px}
.fgrid h2{color:#fff;font-size:15px;margin-bottom:16px;position:relative;padding-bottom:10px}
.fgrid h2::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:var(--gold)}
.fgrid a{display:block;color:#bcd3ec;font-size:14.5px;padding:6px 0}.fgrid a:hover{color:#fff;padding-left:4px;transition:.15s}
.fbrand{display:flex;gap:13px;align-items:center;margin-bottom:16px}
.fbrand .logo{width:50px;height:50px;border-radius:var(--r-md);background:linear-gradient(135deg,#fff,#dceaf8);color:var(--blue-900);display:grid;place-items:center;font-weight:800}
.fbrand b{color:#fff;font-family:var(--font-display);font-weight:600;font-size:18px}
.foot-note{font-size:14px;color:#9fbada;line-height:1.8}
.foot-note b{color:#dceaf8}
.copy{border-top:1px solid rgba(255,255,255,.12);padding-block:22px;font-size:13.5px;text-align:center;color:#9fbada}
@media(max-width:820px){.fgrid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.fgrid{grid-template-columns:1fr}.band .wrap{grid-template-columns:1fr 1fr}}

/* A11Y fab */
/* === Hero: wyłączenie animacji wjazdu (transform-animacje psuły kompozycję ::after/obraz na GPU) === */
.slide .kicker,.slide h1,.slide p,.slide .cta,.slide .tick{opacity:1 !important;transform:none !important}
.slide.active .tick,.slide.active .kicker,.slide.active h1,.slide.active p,.slide.active .cta,.slide img,.slide.active img{animation:none !important}
.slide img{transform:none !important}

/* === Hero: gradient na realnym .cap zamiast ::after (pseudo nad obrazem psuło kompozycję GPU → granat) === */
.slide::after{background:none}
.slide .cap{background:linear-gradient(180deg,transparent 0%,transparent 30%,rgba(1,20,42,.55) 72%,rgba(1,18,40,.92) 100%),linear-gradient(90deg,rgba(1,26,52,.6) 0%,transparent 55%)}

/* === Hero: obraz jako tło CSS slajdu (niezawodna kompozycja, bez problemów <img>+nakładka) === */
.slide{background-size:cover;background-position:center 28%;background-repeat:no-repeat;background-color:var(--blue-900)}

/* ===================== WCAG 2.2 AA — poprawki kontrastu, celów, focusu ===================== */
.enroll .lab{color:#4a3206}                                   /* 1.4.3 — 5.9:1 na złotym */
.tile .n{opacity:.5}                                          /* 1.4.11 */
.eyebrow{color:var(--blue-800)}                               /* 1.4.3 — ciemniejszy akcent */
.band .eyebrow{color:var(--gold-soft)}                        /* 1.4.3 — na ciemnym tle */
.btn-outline{border-color:rgba(255,255,255,.9);background:rgba(1,20,42,.3)} /* 1.4.11 stały kontur+tekst */
html{scroll-padding-top:150px}                                /* 2.4.11 — sticky header nie zasłania focusu */
@media(max-width:1100px){html{scroll-padding-top:90px}}
.slide h1,.slide h2{color:#fff;font-family:var(--font-display);font-weight:600;font-size:clamp(40px,5.6vw,72px);margin:18px 0 16px;max-width:17ch;text-shadow:0 2px 40px rgba(0,18,40,.45)}
/* 2.5.8 Target Size — kropki slidera: obszar klikalny 24px, pasek 5px przez ::before */
.dots{gap:8px;align-items:center}
.dots button{width:34px;height:24px;background:transparent;padding:0;position:relative}
.dots button::before{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:5px;border-radius:var(--r-pill);background:rgba(255,255,255,.45)}
.dots button.on{width:54px}
.dots button.on::before{background:var(--gold)}
.dots button:focus-visible{outline-color:#fff;outline-offset:5px}
/* 1.4.1 — podkreślenie linków w treści (nie w nawigacji/przyciskach/kartach-blokach) */
.na .nb p a,.foot-note a{text-decoration:underline;text-underline-offset:2px}
/* tylko-dla-czytników */
.sr-only,.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* menu mobilne (burger) — dostępne klawiaturą */
@media(max-width:1100px){
  body.nav-open .navbar{display:block;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:120}
  body.nav-open nav.main{flex-direction:column;align-items:stretch;height:auto;padding:10px;gap:0}
  body.nav-open .mi{width:100%}
  body.nav-open .mi>a,body.nav-open .mi>button{width:100%;justify-content:space-between;height:auto;padding:12px 14px}
  body.nav-open .submenu{position:static;box-shadow:none;border:0;padding:4px 0 8px 14px;min-width:0}
}

/* ============ Dodatki edytowalności bloków (news / szkolenia / tiles) ============ */
/* --- news --- */
/* cen/news — równa siatka oraz dolna siatka „more-grid” respektują liczbę kolumn (--cols).
   Domyślnie 3 kolumny; degraduje do mniejszej liczby na węższych ekranach.
   Jeśli .more-grid ma już regułę w home.css, --cols nadpisuje wyłącznie liczbę kolumn. */
.block#aktualnosci .more-grid {
	grid-template-columns: repeat( var( --cols, 3 ), minmax( 0, 1fr ) );
}
@media ( max-width: 980px ) {
	.block#aktualnosci .more-grid {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}
@media ( max-width: 640px ) {
	.block#aktualnosci .more-grid {
		grid-template-columns: 1fr;
	}
}
/* Zajawka karty (showExcerpt) — spójna z typografią kart. */
.block#aktualnosci .na .nb .exc {
	margin: 6px 0 0;
	font-size: .92rem;
	line-height: 1.5;
	color: var( --muted, #5b6472 );
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.block#aktualnosci .na.lead .nb .exc {
	-webkit-line-clamp: 4;
}/* --- szkolenia --- */
/* ===== cen/szkolenia — warianty układu i opisy kart ===== */
/* Siatka kart sterowana liczbą kolumn (klasy cols-2 / cols-3 / cols-4). */
.szkolenia-cards{display:grid;gap:24px}
.szkolenia-cards.cols-2{grid-template-columns:repeat(2,1fr)}
.szkolenia-cards.cols-3{grid-template-columns:repeat(3,1fr)}
.szkolenia-cards.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){
  .szkolenia-cards.cols-3,
  .szkolenia-cards.cols-4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .szkolenia-cards.cols-2,
  .szkolenia-cards.cols-3,
  .szkolenia-cards.cols-4{grid-template-columns:1fr}
}

/* Wariant „okładka”: obraz na górze, treść pod spodem (jedna kolumna w karcie). */
.course.course-cover{grid-template-columns:1fr}
.course.course-cover .ci{min-height:180px;height:200px}
.course.course-cover .body{padding:20px}

/* Krótki opis karty (renderowany tylko gdy showDesc i niepusty). */
.course .desc{font-size:14px;color:var(--muted);line-height:1.55;margin-bottom:14px}
/* Gdy opis występuje, tytuł nie musi „rozpychać” karty do dołu. */
.course .desc + .more{margin-top:auto}/* --- tiles --- */
/* cen/tiles — opcjonalne warianty koloru kafla (atrybut tone).
   'auto' korzysta z istniejących klas t1..t6 (granatowy system) i nie wymaga CSS. */
.tile.tone-gold{background:linear-gradient(135deg,#b9760a,#f3a712);color:#3a2600}
.tile.tone-gold .ic{color:#5a3c00}
.tile.tone-gold h3{color:#3a2600}
.tile.tone-green{background:linear-gradient(135deg,#1d6b39,#2f8f4e)}
.tile.tone-red{background:linear-gradient(135deg,#9e2418,#d93a2b)}
.tile.tone-graphite{background:linear-gradient(135deg,#22272e,#3a434e)}/* === Logo (obraz) w nagłówku + sygnet w stopce === */
.brand-logo{height:46px;width:auto;max-width:min(440px,54vw);display:block}
@media(max-width:1100px){.brand-logo{height:38px}}
@media(max-width:520px){.brand-logo{height:30px}}
.fbrand .logo{overflow:hidden;padding:6px}
.fbrand .logo img{width:100%;height:100%;object-fit:contain;display:block}

/* Pasek akredytacji — pod nagłówkiem, na wszystkich stronach (edytowalny: site-header → accredText) */
.cen-accred{background:var(--blue-50);border-bottom:1px solid var(--line)}
.cen-accred .wrap{max-width:var(--maxw,1600px);margin-inline:auto;padding:13px clamp(24px,5vw,48px);display:flex;align-items:center;justify-content:center;text-align:center;gap:10px;font-size:14px;color:var(--blue-900);font-weight:500;box-sizing:border-box}
.cen-accred__badge{flex:0 0 auto;color:var(--green,#2f8f4e);display:inline-flex}
@media(max-width:700px){.cen-accred .wrap{font-size:12.5px;align-items:flex-start}}

/* Pasek samych logotypów (tryb mode=logos, np. na górze strony) */
/* Pasek logo jako przesuwany (marquee) — kompaktowy, bez dużych odstępów */
.block.cen-logos-only{padding-block:14px}
.cen-logo-marquee{overflow:hidden}
.cen-logo-track{display:flex;gap:16px;width:max-content;animation:cen-logos-scroll 48s linear infinite}
.cen-logo-marquee:hover .cen-logo-track{animation-play-state:paused}
.cen-logos-only .logo{flex:0 0 auto;width:168px;height:76px;padding:12px;margin:0;box-shadow:none;border:1px solid var(--line)}
.cen-logos-only .logo:hover{box-shadow:none;border-color:var(--blue-100);transform:none}
@keyframes cen-logos-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.cen-logo-track{animation:none;flex-wrap:wrap}}

/* Aktualności + PIONOWE menu boczne (2 kolumny, jak stara strona) */
.cen-news-cols{display:grid;grid-template-columns:300px minmax(0,1fr);gap:clamp(24px,3vw,46px);align-items:start}
.cen-news-cols--full{display:block}
.cen-sidemenu{align-self:start}
/* Widget QR + social pod menu bocznym (lewa kolumna) — zamiast osobnej sekcji na dole */
.cen-side-qr{margin-top:18px;background:var(--soft);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;display:flex;flex-direction:column;gap:12px}
.cen-side-qr .qr{width:124px;height:124px;align-self:center;border-radius:var(--r-sm);background:#fff}
.cen-side-qr-txt strong{display:block;font-size:14px;color:var(--blue-900);font-family:var(--font-display);font-weight:600;line-height:1.2}
.cen-side-qr-txt p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.45}
.cen-side-social{display:flex;flex-direction:column;gap:8px}
.cen-side-social-lab{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-700)}
.cen-side-qr .foll{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line);color:var(--blue-800);font-weight:600;font-size:13px;text-decoration:none;transition:.16s}
.cen-side-qr .foll:hover{border-color:var(--blue-600);background:var(--blue-50);transform:translateX(2px)}
.cen-side-qr .foll.fb svg{color:#1877f2}
.cen-side-qr .foll.yt svg{color:#f00}
.cen-sidemenu-head{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-700);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.cen-sidemenu-head::before{content:"";width:22px;height:2px;background:var(--gold)}
.cen-sidemenu-list{display:flex;flex-direction:column;gap:10px}
.cen-sm-btn{position:relative;display:flex;flex-direction:column;gap:3px;padding:14px 18px;border-radius:var(--r-md);background:linear-gradient(135deg,var(--blue-800),var(--blue-700));color:#fff;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;box-shadow:0 2px 6px rgba(8,33,64,.1)}
.cen-sm-btn::after{content:"\2192";position:absolute;right:16px;top:50%;transform:translateY(-50%);opacity:.45;transition:.16s}
.cen-sm-btn:hover{transform:translateX(4px);box-shadow:var(--shadow-hover);background:linear-gradient(135deg,var(--blue-700),var(--blue-600))}
.cen-sm-btn:hover::after{opacity:1;right:13px}
.cen-sm-btn .t{font-weight:700;font-size:13px;line-height:1.25;text-transform:uppercase;letter-spacing:.01em;padding-right:18px}
.cen-sm-btn .s{font-size:11px;color:var(--gold-soft);font-weight:600}
@media(max-width:980px){.cen-news-cols{grid-template-columns:1fr;gap:30px}.cen-sidemenu{position:static}.cen-sidemenu-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}

/* Konsultanci — klikalne osoby (klik w zdjęcie → opis osoby w CPT cen_team_members) */
a.person.is-link{text-decoration:none;color:inherit;display:inline-flex;flex-direction:column;align-items:center}
a.person.is-link .av{transition:transform .2s,box-shadow .2s}
a.person.is-link:hover .av{transform:translateY(-4px);box-shadow:0 14px 30px rgba(11,31,61,.18)}
a.person.is-link:hover b{color:var(--blue-600)}
a.person.is-link:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:14px}

/* ===== Najbliższe wydarzenia (cen/szkolenia) — siatka ładna przy 1–6 kartach =====
   Na stronie głównej reguły grid z content.css nie ładują się → karta rozciągała się
   na całą szerokość. Tu wymuszamy grid zależny od liczby kart (klasa cen-nN). */
#szkolenia .cen-events-grid{ display:grid;gap:22px;margin-top:24px;grid-template-columns:repeat(3,minmax(0,1fr)) }
#szkolenia .cen-events-grid.cen-n1{ grid-template-columns:minmax(0,470px) }
#szkolenia .cen-events-grid.cen-n2{ grid-template-columns:repeat(2,minmax(0,1fr));max-width:940px }
#szkolenia .cen-events-grid .cen-rcard{ height:100% }
@media(max-width:1000px){ #szkolenia .cen-events-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media(max-width:560px){ #szkolenia .cen-events-grid,#szkolenia .cen-events-grid.cen-n1,#szkolenia .cen-events-grid.cen-n2{ grid-template-columns:1fr;max-width:none } }

/* Karty „Najbliższych wydarzeń" — pełny styl na stronie głównej (content.css nie
   ładuje się na home, więc replikujemy .cen-rcard tu, w zakresie #szkolenia). */
#szkolenia .cen-rcard{ display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-md,16px);overflow:hidden;box-shadow:var(--shadow,0 10px 30px rgba(11,31,61,.08));transition:transform .2s,box-shadow .2s;text-decoration:none }
#szkolenia .cen-rcard:hover{ transform:translateY(-6px);box-shadow:var(--shadow-hover,0 18px 44px rgba(11,31,61,.16)) }
#szkolenia .cen-rcard--noimg{ border-top:3px solid var(--gold) }
#szkolenia .cen-rcard-body{ padding:20px 20px 18px;display:flex;flex-direction:column;gap:9px;flex:1 }
#szkolenia .cen-rcard-cat--inline{ align-self:flex-start;background:var(--blue-50);color:var(--blue-800);font-size:11px;font-weight:700;padding:5px 11px;border-radius:var(--r-pill,999px);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px }
#szkolenia .cen-rcard-date{ font-size:12px;color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums }
#szkolenia .cen-rcard-body h3{ font-family:var(--font-body);font-weight:700;font-size:18px;line-height:1.3;color:var(--blue-900);margin:0;letter-spacing:-.01em }
#szkolenia .cen-rcard-more{ margin-top:auto;font-size:13.5px;font-weight:700;color:var(--blue-800) }
