/*street*/
@font-face {
  font-family: 'Street';
  src: url('fonts/STREETCR.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'ANTQUAI', serif;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  letter-spacing: 0.05em;
  src: url("fonts/ANTQUAI.woff2") format('woff2');
}
@font-face {
  font-family: 'ANTQUABI', serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-display: swap;
  src: url("fonts/ANTQUABI.woff2") format('woff2');
}
@font-face {
  font-family: 'ANTQUAB', serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-display: swap;
  src: url("fonts/ANTQUAB.woff2") format('woff2');
}
@font-face {
  font-family: 'BKANT', serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.05em;
  font-display: swap;
  src: url("fonts/BKANT.woff2") format('woff2');
}

:root {
  --paper:#f1e8d2;
  --paper-2:#ebe0c4;
  --ink:#2E3192;
  --ink-soft:#3a3e9c;
  --coral:#c83a24;
  --sage:#4a5a3a;
  --rule:rgba(46,49,146,.18);
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--paper);color:var(--ink);font-family:"BKANT", serif;-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
::selection{background:var(--coral);color:var(--paper)}
a{color:inherit;text-decoration:none}

img{display:block;max-width:100%}

/* certyfikaty */
.foto {
  display: flex; 
  gap: 20px;
  flex-wrap: wrap;
  margin: 20px 0;
}
.foto img {
  width: 280px;
  height: auto;
  object-fit: contain;
}

/* paper grain */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.22;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.6' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.12  0 0 0 0 0.10  0 0 0 0 0.08  0 0 0 0 0.08 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* shared */
.wrap{max-width:1380px;margin:0 auto;padding:0 40px}
.mono{font-family:"BKANT", serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.serif{font-family:"BKANT",serif;font-weight:400}
.italic{font-style:italic}
.hairline{height:1px;background:var(--ink);opacity:.85}

/* ============ TEKSTY OBRAZY i inne ep ============ */
.coto-section{padding:96px 0; border-bottom:1px solid var(--ink);  scroll-margin-top: 100px; }
.coto-section h2{font-size: clamp(34px, 4.5vw, 56px); margin-bottom: 0; color: var(--ink)}

.coto{padding:96px 0 80px;border-bottom:1px solid var(--ink);background:var(--paper)}
.coto-eyebrow{display:flex;align-items:center;gap:18px;justify-content:center;font-family:"BKANT",serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin-bottom:24px}
.coto-eyebrow .line{flex:0 0 60px;height:1px;background:var(--ink);opacity:.6}
.coto-hero{
  display:flex;align-items:flex-start;justify-content:center;gap:18px;
  font-family:"BKANT",serif;font-style:italic;
  font-size:clamp(140px,22vw,360px);line-height:.85;letter-spacing:-.04em;
  color:var(--ink);
}
.coto-hero .coto-plus{
  font-size:clamp(40px,5vw,80px);color:var(--coral);font-style:normal;
  margin-top:.4em;font-family:"Space Grotesk",sans-serif;font-weight:500;
}

.coto-quote {
  text-align: left;
  font-family: "BKANT", serif;
  line-height: 1.2;
  letter-spacing: -.005em;
  font-size: clamp(20px, 2.4vw, 28px);
}
.coto-quote h3 {
  text-align: left;
  font-family: "BKANT", serif;
  line-height: 1.0;
  letter-spacing: -.005em;
  font-size: clamp(20px, 2.4vw, 28px);
  color:var(--ink);
}
.coto-quote h4 {
  text-align: left;
  font-family: "BKANT", serif;
  font-style: italic;
  line-height: 1.2;
  letter-spacing: -.005em;
  font-size: clamp(24px, 3.4vw, 40px); 
  color: var(--coral); 
}
.coto-quote h5{
  font-weight: 400;  
  text-align: left;
  font-family: "BKANT", serif;
  line-height: 1.2;
  letter-spacing: -.005em;
  font-size: clamp(12px, 2.4vw, 20px);
  color:var(--ink);
}
.coto-quote b {
  font-weight: bold;      
  color: var(--coral);
  position: relative;
}
.coto-quote .c {
  font-style: normal;         
  font-weight: 400;           
  color: var(--ink);             
  font-size: clamp(18px, 2.4vw, 26px);
}
.coto-quote .d {
  font-style: normal;         
  font-weight: 700;           
  color: var(--coral);             
  font-size:clamp(48px,6vw,92px);
}

.inline-container {
  display: flex;
  align-items: center;
  gap: 5px;
}
.inline-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

/* Lightbox */
.lightbox {
  display: none;
  position: fixed !important;
  z-index: 99999;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.9);
}
.lightbox:target {
  display: flex;
  justify-content: center;
  align-items: center;
}
.lightbox img {
  max-width: 95vw;
  max-height: 95vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border: 2px solid #fff;
}
.lightbox .close {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: zoom-out;
}

.kontakt-link {
  color: var(--ink);
  text-decoration: none;
  transition: color 0.2s ease;
}
.kontakt-link:hover {
  color: #c83a24;
}

.pdf-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 
  gap: 15px;
}
.pdf-icon img {
  width: 64px;
  height: auto;
  display: block;
}

/* ============ TOP STRIP ============ */
.marquee-strip{
  background:var(--ink);color:var(--paper);overflow:hidden;height:34px;display:flex;align-items:center;border-bottom:1px solid var(--ink);
}
.marquee-track{display:flex;gap:48px;white-space:nowrap;animation:marq 38s linear infinite;font-family:"BKANT",serif;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.marquee-track span{display:inline-flex;align-items:center;gap:48px}
.marquee-track .dot{width:6px;height:6px;border-radius:50%;background:var(--coral);display:inline-block}
@keyframes marq{to{transform:translateX(-50%)}}

/* ============ NAV (DESKTOP) ============ */
.topnav{
  position:sticky;top:0;z-index:50;background:var(--paper);
  border-bottom:1px solid var(--ink);
  backdrop-filter:saturate(110%);
}

.topnav .row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: auto !important;
  min-height: 110px !important;
  padding: 8px 0 !important;
  gap: 8px !important;
}

.brand {
  order: 1 !important;
  flex-shrink: 0 !important;
}

.nav-icons {
  order: 2 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  margin: 0 !important;
  width: auto !important;
  overflow: visible !important; /* BRAK PRZEWIJANIA PIONOWEGO I POZIOMEGO */
}

.nav-icons a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 4px 2px !important;
  border-radius: 4px;
  background: var(--paper);
  transition: background 0.3s ease;
  width: 68px !important;
  height: auto !important; /* ELASTYCZNA WYSOKOŚĆ DLA TEKSTU POD IKONĄ */
  min-height: 68px !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
}

.nav-icons a:hover {
  background: var(--paper-2);
}

.nav-icons img {
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  aspect-ratio: 1 / 1;
  mix-blend-mode: multiply;
  filter: contrast(1.05);
}

.nav-icons a span {
  display: block !important;
  font-family: "BKANT", serif;
  font-size: 11px !important;
  letter-spacing: .01em !important;
  color: var(--ink);
  font-weight: 700;
  white-space: nowrap !important;
  margin-top: 2px !important;
  line-height: 1.1 !important;
}

.a11y-bar{
  order: 3 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
  align-items: center !important;
  background: var(--paper);
  z-index: 100;
}

html.a11y-hc .a11y-bar {
  background: #000000 !important;
  border-left-color: #ffff00 !important;
}

/* ============ HERO ============ */
.hero{position:relative;padding:64px 0 80px;border-bottom:1px solid var(--ink)}
.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end}
.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.eyebrow .tick { display: inline-block; }
.eyebrow .tick::after {
  content: "\00AE";
  color: var(--ink);
  font-size: 1.0em;
  vertical-align: 0.6em;
  margin-left: -12px;
}
.eyebrow .num{font-family:"BKANT";font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 0 rgba(200,58,36,.7);animation:pulse 2.2s infinite}

@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(200,58,36,.55)}
  70%{box-shadow:0 0 0 14px rgba(200,58,36,0)}
  100%{box-shadow:0 0 0 0 rgba(200,58,36,0)}
}

h1.headline{
  font-family:"BKANT",serif;font-weight:400;line-height:.88;letter-spacing:-.025em;
  font-size:clamp(80px,12vw,196px);
}
h1.headline .row1{display:block}
h1.headline .row2{display:flex;align-items:baseline;gap:.18em;flex-wrap:wrap}
h1.headline .row2 .word-reel{
  position:relative;display:inline-block;color:var(--coral);font-style:italic;min-width:6.5ch;
  height:1.25em;overflow-y:hidden;overflow-x:visible;vertical-align:baseline;padding-left:.08em;
}
h1.headline .word-reel .reel{position:relative;display:block}
h1.headline .word-reel .reel b{display:block;font-weight:400;line-height:1;height:1.25em;}
.star{
  display:inline-block;color:var(--coral);font-style:italic;
  animation:spin 14s linear infinite;transform-origin:50% 55%;
}
@keyframes spin{to{transform:rotate(360deg)}}

.hero-right{display:flex;flex-direction:column;gap:36px;padding-bottom:18px}
.lede{
  font-family:"BKANT",serif;font-size:25px;line-height:1.4;letter-spacing:-.005em;
  max-width:42ch;color:var(--ink);
}
.lede em{color:var(--coral); font-weight:700;}
.lede1{
  font-family:"BKANT",serif;font-size:20px;line-height:1.4;letter-spacing:-.005em;
  max-width:42ch;color:var(--ink);
}
.lede1 em{color:var(--coral)}

.counter-card{
  border:1px solid var(--ink);background:var(--paper);
  padding:22px 24px;display:flex;flex-direction:column;gap:8px;
  box-shadow:6px 6px 0 var(--ink);
  transform:rotate(-3.2deg);
}
.counter-card .big{
  font-family:"BKANT",serif;font-size:78px;line-height:.95;letter-spacing:-.02em;
  display:flex;align-items:baseline;gap:8px;
}
.counter-card .big .plus{font-size:42px;color:var(--coral)}
.counter-card .cap{font-family:"BKANT",serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;max-width:32ch;line-height:1.55;color:var(--ink)}

.scroll-hint{position:absolute;bottom:18px;left:40px;display:flex;align-items:center;gap:10px;font-family:"BKANT",serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.scroll-hint .arrow{display:inline-block;width:18px;animation:bob 1.6s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(4px)}}

.sticker{position:absolute;pointer-events:none;opacity:0;animation:sticker-in .9s ease forwards;}
@keyframes sticker-in{to{opacity:1}}
.sticker img{width:88px;height:88px;mix-blend-mode:multiply;filter:contrast(1.05)}
.sticker.s1{top:90px;right:6%;animation-delay:.4s;transform:rotate(-6deg)}
.sticker.s1 img{animation:floaty 5s ease-in-out infinite}
.sticker.s2{bottom:240px;left:48%;animation-delay:.7s;transform:rotate(5deg)}
.sticker.s2 img{animation:floaty 6.5s ease-in-out infinite .8s}
@keyframes floaty{50%{transform:translateY(-6px)}}

/* ============ ATLAS ============ */
.atlas{padding:90px 0 30px;border-bottom:1px solid var(--ink);background:#f6efde}
.atlas-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;gap:32px;flex-wrap:wrap}
.atlas-head h2{
  font-family:"BKANT",serif;font-size:clamp(48px,6vw,92px);line-height:.95;letter-spacing:-.02em;max-width:14ch;
}
.atlas-head h2 .ital{font-style:italic;color:var(--coral)}
.atlas-head .meta{max-width:44ch;font-size:16.5px;line-height:1.6;color:var(--ink-soft)}
.atlas-head h3{font-weight:700;
  font-family:"BKANT",serif;font-size:clamp(48px,6vw,92px);line-height:.95;letter-spacing:-.02em;max-width:14ch; color:var(--coral);  margin-top: -12px;
}

.atlas-grid {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  gap: 0 !important;
  border-top:1px solid var(--ink);border-left:1px solid var(--ink);
}
.atlas-cell{
  border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);
  padding:28px 22px;min-height:230px;position:relative;display:flex;flex-direction:column;justify-content:space-between;
  background:#f6efde;transition:background .3s ease;cursor:pointer;overflow:hidden;
}
.atlas-cell:hover{background:#eee5cd}
.atlas-cell .idx{font-family:"BKANT",serif;font-size:11px;letter-spacing:.16em;color:var(--ink-soft)}
.atlas-cell .pic{
  flex:1;display:flex;align-items:center;justify-content:center;margin:8px 0;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.atlas-cell:hover .pic{transform:rotate(-4deg) scale(1.08)}
.atlas-cell .pic img{width:80px;height:100px;mix-blend-mode:multiply;filter:contrast(1.06)}
.atlas-cell .lab{
  font-family:"BKANT",serif;font-size:22px;line-height:1.1;letter-spacing:-.01em;font-weight:700;
  text-align: center;
  align-self: center;
  width: 100%;
}
.atlas-cell .lab em{font-style:italic;color:var(--coral)}
.atlas-cell .arrow{
  position:absolute;right:18px;bottom:18px;width:22px;height:22px;
  transform:translate(8px,8px);opacity:0;transition:all .3s ease;
}
.atlas-cell:hover .arrow{transform:translate(0,0);opacity:1}
.atlas-cell .arrow svg{stroke:var(--coral);fill:none;stroke-width:1.6;width:100%;height:100%}

/* ============ MARQUEE BAND ============ */
.word-band{
  background:var(--ink);color:var(--paper);padding:38px 0;overflow:hidden;border-bottom:1px solid var(--ink);
}
.word-band-track{
  display:flex;gap:48px;white-space:nowrap;animation:marq 30s linear infinite;
  font-family:"BKANT",serif;font-style:italic;font-size:84px;line-height:1;letter-spacing:-.02em;
}
.word-band-track .star-sm{color:var(--coral);font-style:normal;display:inline-block;animation:spin 9s linear infinite}

/* ============ GRAFIK ============ */
.grafik{padding:46px 0;border-bottom:1px solid var(--ink);background:#f6efde;scroll-margin-top: 100px;}
.grafik-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:32px;margin-bottom:26px}
.grafik-head h2{
  font-family:"BKANT",serif;font-size:clamp(56px,7vw,112px);line-height:.92;letter-spacing:-.025em;
}
.grafik-head h2 .ital{font-style:italic;color:var(--coral)}
.grafik-head .legend{display:flex;flex-direction:column;gap:8px;align-items:flex-end;text-align:right}
.grafik-head .legend .key{display:flex;align-items:center;gap:8px;font-family:"BKANT",serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.grafik-head .legend .key .sw{width:10px;height:10px;border-radius:50%}

.sw.open{background:var(--sage)}
.sw.soon{background:#c89a3a}

.stage-block{margin-bottom:56px; padding-bottom: 20px;}
.stage-header{display:flex;align-items:baseline;gap:18px;margin-bottom:18px}
.stage-num{
  font-family:"BKANT",serif;font-style:normal;font-size:54px;line-height:1;color:var(--coral)
}
.stage-title{font-family:"BKANT",serif;font-size:30px;line-height:1.1;letter-spacing:-.01em}
.stage-title em{font-style:italic}

.schedule{width:100%;border-collapse:collapse;font-size:16px}
.schedule thead th{
  text-align:left;font-family:"BKANT",serif;font-size:15px;letter-spacing:.16em;text-transform:uppercase;
  padding:10px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);color:var(--ink-soft);font-weight:500;
}
.schedule tbody tr{border-bottom:1px solid var(--rule);transition:background .15s ease}
.schedule tbody tr:hover{background:#eee5cd}
.schedule td{padding:18px 16px 18px 0;vertical-align:middle}
.schedule td.city{font-family:"BKANT",serif;font-size:26px;letter-spacing:-.01em}
.schedule td.city .ital{font-style:italic}
.schedule td.date{font-family:"BKANT",serif;font-size:20px;letter-spacing:.04em;white-space:nowrap;color:var(--ink)}
.schedule td.who{color:var(--ink-soft);font-size:15.5px}
.schedule .status{
  display:inline-flex;align-items:center;gap:8px;
  font-family:"BKANT",serif;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;border:1px solid var(--ink);
  background:#f6efde;line-height:1;color:var(--ink);
}
.schedule .status.is-open{background:#dfe7d3;border-color:#4a5a3a;color:#2f3b22}
.schedule .status.is-soon{background:#f2e3bf;border-color:#8b6a1f;color:#5a440f}
.schedule .status .sw{width:8px;height:8px;border-radius:50%;flex:0 0 8px}
.schedule td.action{text-align:right}
.schedule .btn{
  display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);padding:8px 14px;border-radius:999px;
  font-family:"BKANT",serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  transition:all .2s ease;background:#f6efde;
}
.schedule .btn:hover{background:var(--ink);color:var(--paper)}
.schedule .btn.btn-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.schedule .btn.btn-dark:hover{background:var(--coral);border-color:var(--coral);color:var(--paper)}
.schedule .btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.8}

.bkant-select, 
.bkant-select option {
  font-family: "BKANT", serif;
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: -.01em;
}

/* ============ NOTE ============ */
.note{padding:80px 0;border-bottom:1px solid var(--ink);position:relative;overflow:hidden}
.note-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}
.note-tag{
  font-family:"BKANT",serif;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--coral);
  display:flex;align-items:center;gap:10px;
}
.note-tag::before{content:"";width:30px;height:1px;background:var(--coral)}
.note h3{
  font-family:"BKANT",serif;font-size:62px;line-height:.95;letter-spacing:-.02em;margin-top:14px;
}
.note h3 em{font-style:italic;color:var(--coral)}
.note p{font-size:18px;line-height:1.65;max-width:58ch;margin-bottom:20px;color:var(--ink-soft)}
.note .mail{
  display:inline-flex;align-items:center;gap:10px;padding:10px 16px;background:var(--ink);color:var(--paper);
  font-family:"BKANT",serif;font-size:14px;letter-spacing:.08em;
}
.note-card{
  border:1px solid var(--ink);padding:34px;background:var(--paper);position:relative;
  box-shadow:8px 8px 0 var(--coral);
}
.note-card h4{font-family:"BKANT",serif;font-size:30px;line-height:1.1;margin-bottom:18px}
.note-card ol{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:14px}
.note-card ol li{display:flex;gap:14px;font-size:18px;line-height:1.6;color:var(--ink-soft)}
.note-card ol li .num{
  font-family:"BKANT",serif;font-style:italic;font-size:22px;color:var(--coral);line-height:1;min-width:24px
}

/* ============ REGISTRATION SECTIONS ============ */
.registration-section{padding:46px 0; border-bottom:10px solid var(--ink); background:#f6efde}
.registration-section h2{font-size: clamp(34px, 4.5vw, 56px); margin-bottom: 0; color: var(--ink)}

/* ============ BIG NUMBER ============ */
.bignum{padding:96px 0 80px;border-bottom:1px solid var(--ink);background:var(--paper)}
.bignum-eyebrow{display:flex;align-items:center;gap:18px;justify-content:center;font-family:"BKANT",serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);margin-bottom:24px}
.bignum-eyebrow .line{flex:0 0 60px;height:1px;background:var(--ink);opacity:.6}
.bignum-hero{
  display:flex;align-items:flex-start;justify-content:center;gap:18px;
  font-family:"BKANT",serif;font-style:italic;
  font-size:clamp(140px,22vw,360px);line-height:.85;letter-spacing:-.04em;
  color:var(--ink);
}
.bignum-hero .bignum-plus{
  font-size:clamp(40px,5vw,80px);color:var(--coral);font-style:normal;
  margin-top:.4em;font-family:"Space Grotesk",sans-serif;font-weight:500;
}
.stat-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);
  margin-top:54px;
}
.stat-cell{
  padding:24px 26px 28px;border-right:1px solid var(--ink);position:relative;
  display:flex;flex-direction:column;gap:14px;min-height:200px;
}
.stat-cell:last-child{border-right:none}
.stat-no{font-family:"BKANT",serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);text-align:right}
.stat-no sup{font-size:9px;letter-spacing:0;margin-left:1px}
.stat-num{
  font-family:"BKANT",serif;font-style:italic;
  font-size:clamp(46px,5.4vw,80px);line-height:.95;letter-spacing:-.02em;color:var(--coral);
  display:flex;align-items:baseline;gap:4px;
}
.stat-num .plus{font-size:.55em;font-style:normal;font-family:"Space Grotesk",sans-serif;font-weight:500}
.stat-num .check{font-style:normal;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:.85em}
.stat-lab{font-size:15px;line-height:1.45;color:var(--ink);max-width:24ch;margin-top:auto}

.bignum-quote{
  text-align:center;font-family:"BKANT",serif;font-size:clamp(22px,2.4vw,30px);
  line-height:1.4;letter-spacing:-.005em;color:var(--ink);margin:54px auto 0;max-width:62ch;
}
.bignum-quote b{font-weight: bold;color:var(--coral);position:relative;}

/* ============ FAQ ============ */
.faq{padding:96px 0;border-bottom:1px solid var(--ink);background:#f6efde}
.faq-grid{display:grid;grid-template-columns:0.9fr 1.4fr;gap:64px;align-items:start}
.faq-eyebrow{font-family:"BKANT";font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:22px}
.faq-title{
  font-family:"BKANT",serif;font-size:clamp(56px,6.8vw,108px);line-height:.92;letter-spacing:-.025em;color:var(--ink);
}
.faq-title .ital{font-style:italic;color:var(--coral)}
.faq-contact{margin-top:48px;display:flex;flex-direction:column;gap:6px;font-family:"BKANT",serif;font-size:16px;letter-spacing:.06em;text-transform:lowercase;color:var(--ink-soft)}
.faq-contact a{color:var(--coral);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

.faq-list{display:flex;flex-direction:column}
.faq-item{border-top:1px solid var(--ink);padding:0}
.faq-item:last-child{border-bottom:1px solid var(--ink)}
.faq-item summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:start;
  padding:26px 0 28px;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-idx{font-family:"BKANT",serif;font-size:11px;letter-spacing:.16em;color:var(--coral);padding-top:8px;min-width:22px}
.faq-q{font-family:"BKANT",serif;font-style:italic;font-size:clamp(22px,2.2vw,28px);line-height:1.25;color:var(--ink);letter-spacing:-.005em}
.faq-toggle{
  font-family:"Space Grotesk",sans-serif;font-weight:400;font-size:32px;color:var(--coral);line-height:1;
  transition:transform .35s cubic-bezier(.2,.8,.2,1);align-self:start;padding-top:4px;
}
.faq-item[open] .faq-toggle{transform:rotate(45deg)}
.faq-a{
  font-family:"BKANT",serif;
  padding:0 50px 28px 46px;font-size:18.5px;line-height:1.65;color:var(--ink-soft);max-width:64ch;
  animation:faqopen .45s ease both;
}
@keyframes faqopen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ============ FOOTER ============ */
footer{background:var(--ink);color:var(--paper);padding:36px 0 36px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px}
.foot-brand{font-family:"Street";font-size:120px;line-height:.85;letter-spacing:-.03em}
.foot-brand::after{content:".";color:var(--coral)}
.foot-col h5{font-family:"BKANT",serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(241,232,210,.75);margin-bottom:18px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot-col a{font-family:"BKANT",serif;font-size:21px;line-height:1.15;transition:color .15s}
.foot-col a:hover{color:var(--coral)}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid rgba(241,232,210,.2);font-family:"BKANT",serif;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(241,232,210,.8)}
.foot-bottom .fb{display:inline-flex;align-items:center;gap:10px;color:var(--paper);text-decoration:none;border:1px solid rgba(241,232,210,.3);padding:8px 14px;border-radius:999px;transition:all .2s}
.foot-bottom .fb:hover{background:var(--paper);color:var(--ink)}

/* reveal anim */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}

.draw-line{position:relative;display:inline-block}
.draw-line::after{
  content:"";position:absolute;left:-4%;right:-4%;bottom:-2px;height:10px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 10' preserveAspectRatio='none'><path d='M2 6 C 40 1, 80 9, 120 5 S 200 1, 238 6' stroke='%23c83a24' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-size:100% 100%;
  transform:scaleX(0);transform-origin:left;transition:transform .9s cubic-bezier(.2,.8,.2,1) .15s;
}
.reveal.in .draw-line::after{transform:scaleX(1)}

/* ============ ACCESSIBILITY ============ */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:1000;font-family:'BKANT',serif;font-size:12px;letter-spacing:.06em}
.skip-link:focus{left:8px;top:8px}

.a11y-btn{font-family:'BKANT',serif;font-size:16px;letter-spacing:.02em;border:1.5px solid var(--ink);background:transparent;color:var(--ink);padding:0;border-radius:0;cursor:pointer;line-height:1;transition:background .15s ease,color .15s ease;min-width:42px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;gap:6px}

.a11y-btn.a11y-fs, .a11y-more .a11y-btn, .a11y-reset {padding: 0 14px;}

.a11y-btn:hover{background:var(--ink);color:var(--paper)}
.a11y-btn:hover *,.a11y-btn[aria-pressed='true'] *{color:inherit !important}
.a11y-btn svg{display:block;flex-shrink:0}
html.a11y-hc .a11y-btn svg{filter:none !important}
html.a11y-hc .a11y-btn:hover,html.a11y-hc .a11y-btn:hover *{background:#ffff00 !important;color:#000 !important;border-color:#ffff00 !important}
.a11y-btn[aria-pressed='true']{background:var(--coral);color:var(--paper);border-color:var(--coral)}
.a11y-btn:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.a11y-more{position:relative}
.a11y-pop{position:absolute;right:0;top:calc(100% + 8px);min-width:280px;background:var(--paper);border:1.5px solid var(--ink);padding:18px;border-radius:0;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column;gap:14px;z-index:60;font-family:'BKANT',serif;font-size:15px;letter-spacing:.02em}
.a11y-pop[hidden]{display:none}
.a11y-pop label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink)}
.a11y-pop input[type='checkbox']{accent-color:var(--coral);width:16px;height:16px;cursor:pointer}
.a11y-pop .a11y-reset{margin-top:4px;align-self:flex-start}

a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:2px}

/* a11y state classes on <html> */
html.a11y-fs-sm body{zoom:.9}
html.a11y-fs-lg body{zoom:1.15}
html.a11y-fs-xl body{zoom:1.3}
@supports not (zoom: 1){
  html.a11y-fs-sm body{transform:scale(.9);transform-origin:top center}
  html.a11y-fs-lg body{transform:scale(1.15);transform-origin:top center}
  html.a11y-fs-xl body{transform:scale(1.3);transform-origin:top center}
}
html.a11y-hc{--paper:#000000;--paper-2:#000000;--ink:#ffff00;--ink-soft:#ffffff;--coral:#ffea00;--sage:#00ff7f;--rule:#ffff00}
html.a11y-hc, html.a11y-hc body{background:#000 !important;color:#ffff00 !important}
html.a11y-hc *{background-image:none !important;box-shadow:none !important;text-shadow:none !important;filter:none !important;mix-blend-mode:normal !important}
html.a11y-hc *:not(img):not(svg):not(path){background-color:transparent !important;color:#ffff00 !important;border-color:#ffff00 !important}
html.a11y-hc h1,html.a11y-hc h2,html.a11y-hc h3,html.a11y-hc h4,html.a11y-hc h5{color:#ffffff !important}
html.a11y-hc em,html.a11y-hc i,html.a11y-hc .ital,html.a11y-hc b{color:#ffea00 !important;font-style:inherit}
html.a11y-hc a,html.a11y-hc a *{color:#00e5ff !important;text-decoration:underline !important;text-decoration-thickness:2px !important;text-underline-offset:3px !important}
html.a11y-hc a:hover,html.a11y-hc a:focus{color:#ffffff !important;background:#000 !important;outline:2px solid #ffff00 !important}
html.a11y-hc button,html.a11y-hc .btn,html.a11y-hc .mail,html.a11y-hc .fb,html.a11y-hc .a11y-btn{background:#000 !important;color:#ffff00 !important;border:2px solid #ffff00 !important;border-radius:4px !important}
html.a11y-hc button:hover,html.a11y-hc .btn:hover,html.a11y-hc .a11y-btn:hover{background:#ffff00 !important;color:#000 !important}
html.a11y-hc .a11y-btn[aria-pressed='true'],html.a11y-hc .a11y-btn[aria-pressed='true'] *{background:#00e5ff !important;color:#000 !important;border-color:#00e5ff !important}

html.a11y-hc img {filter:invert(1) brightness(2) contrast(1.2) !important;mix-blend-mode:normal !important;background:transparent !important}

html.a11y-hc .pulse,html.a11y-hc .tick,html.a11y-hc .star,html.a11y-hc .star-sm,html.a11y-hc .draw-line::after,html.a11y-hc .sticker{display:none !important}
html.a11y-hc input,html.a11y-hc select,html.a11y-hc textarea{background:#000 !important;color:#ffff00 !important;border:2px solid #ffff00 !important}
html.a11y-hc :focus-visible{outline:3px solid #00e5ff !important;outline-offset:3px !important}
html.a11y-hc .word-band{background:#000 !important;border-top:2px solid #ffff00 !important;border-bottom:2px solid #ffff00 !important}
html.a11y-hc footer{background:#000 !important;border-top:2px solid #ffff00 !important}
html.a11y-hc hr,html.a11y-hc .atlas,html.a11y-hc .grafik,html.a11y-hc .faq,html.a11y-hc .bignum,html.a11y-hc .note,html.a11y-hc .hero,html.a11y-hc section,html.a11y-hc header{border-color:#ffff00 !important}
html.a11y-hc .sw,html.a11y-hc .pulse,html.a11y-hc .tick{background:#ffff00 !important;border:1px solid #ffff00 !important;display:inline-block !important;width:10px !important;height:10px !important;border-radius:50% !important}
html.a11y-hc .status{border:2px solid #ffff00 !important;color:#ffff00 !important}
html.a11y-hc .status.is-open .sw{background:#00ff7f !important;border-color:#00ff7f !important}
html.a11y-hc .status.is-soon .sw{background:#ffa500 !important;border-color:#ffa500 !important}
html.a11y-hc .bignum-quote b{text-decoration:underline !important;text-decoration-thickness:3px !important;text-underline-offset:4px !important;color:#ffea00 !important}
html.a11y-hc .a11y-pop{background:#000 !important;border:2px solid #ffff00 !important}
html.a11y-no-motion *,html.a11y-no-motion *::before,html.a11y-no-motion *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;animation-delay:0ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
html.a11y-dys, html.a11y-dys body, html.a11y-dys *{font-family:'Atkinson Hyperlegible',Verdana,Tahoma,sans-serif !important;font-style:normal !important}
html.a11y-spaced{line-height:1.8 !important}
html.a11y-spaced p,html.a11y-spaced li,html.a11y-spaced td{letter-spacing:.06em !important;word-spacing:.16em !important}
html.a11y-links a:not(.a11y-btn):not(.btn):not(.mail):not(.fb){text-decoration:underline !important;text-decoration-thickness:2px !important;text-underline-offset:3px !important;background:rgba(200,58,36,.12);padding:0 3px;border-radius:2px}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}

/* ============ DOWNOO-FORMULARZE I BOKSY ============ */
.contact-panel {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.contact-panel fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.contact-panel .save input[type="submit"] {
  display: inline-block;
  padding: 12px 24px;
  font-family: 'BKANT', serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  border: none;
  background-color: var(--ink); 
  color: var(--paper);
  transition: all 0.3s ease;
  border-radius: 20px;
  text-align: center;
}
.contact-panel .save input[type="submit"]:hover {
  background-color: var(--coral);
}

label span {
  font-size: 10px;
  color: #c83a24;
  font-weight: normal;
}

.pdf-download-box {
  display: flex;
  align-items: center;
  background: var(--paper);
  border: 1px solid #000;
  border-radius: 8px;
  padding: 15px 20px;
  text-decoration: none;
  color: #333;
  max-width: 500px;
  margin: 20px 0;
  transition: all 0.3s ease;
}
.pdf-download-box:hover {
  border-color: var(--coral); 
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  color: #333;
}
.pdf-icon {
  font-size: 32px;
  margin-right: 15px;
  line-height: 1;
}
.pdf-info {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  text-align: left;
}
.pdf-title {
  font-weight: bold;
  font-size: 16px;
  color: var(--ink);
}
.pdf-meta {
  font-size: 12px;
  color: #666;
  margin-top: 4px;
}
.pdf-btn {
  font-size: 13px;
  background: var(--paper-2);
  padding: 6px 12px;
  border-radius: 4px;
  font-weight: bold;
  transition: background 0.3s ease, color 0.3s ease;
}
.pdf-download-box:hover .pdf-btn {
  background: var(--coral);
  color: #fff;
}

/* =========================================================
   ROZBICIE NA 3 LINIE PRZY ZOOMIE (175%+) - PEŁNA WIDOCZNOŚĆ
   ========================================================= */

@media (max-width: 1080px) {
  .topnav .row {
    justify-content: center !important;
    padding: 6px 0 !important;
  }

  /* 1. Logo na samej górze wycentrowane */
  .brand {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 4px !important;
  }

  .brand img {
    max-width: 240px !important;
    height: auto !important;
  }

  /* 2. Ikony w 2. linii WYCENTROWANE (bez spychania do lewej, bez scrollbara) */
  .nav-icons {
    width: 100% !important;
    justify-content: center !important;
    padding: 2px 0 6px 0 !important;
    gap: 4px !important;
    overflow: visible !important;
  }

  /* Kafelki ikon – automatyczna wysokość zapobiega obcinaniu tekstu */
  .nav-icons a {
    width: 60px !important;
    height: auto !important;
    min-height: 64px !important;
    padding: 3px 1px !important;
    overflow: visible !important;
  }

  .nav-icons img {
    width: 40px !important;
    height: 40px !important;
  }

  .nav-icons a span {
    display: block !important;
    font-size: 10px !important;
    margin-top: 2px !important;
    white-space: nowrap !important;
  }

  /* 3. Paska a11y-bar w 3. linii wycentrowana */
  .a11y-bar {
    width: 100% !important;
    justify-content: center !important;
    border-left: none !important;
    border-top: 1px solid var(--rule) !important;
    padding-top: 6px !important;
    padding-left: 0 !important;
    margin-top: 2px !important;
  }
}

/* =========================================================
   KOMPLETNA POPRAWKA DLA MOBILNYCH (SMARTFONY I TABLETY)
   ========================================================= */

/* --- TABLETY I MNIEJSZE EKRANY (<= 980px) --- */
@media (max-width: 980px) {

  /* Zabezpieczenie szerokości widoku mobilnego */
  html, body {
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  .wrap { 
    padding: 0 16px !important; 
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* NAGŁÓWEK TOPNAV */
  .topnav .row {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: auto !important;
    padding: 10px 0 !important;
    gap: 8px !important;
  }

  .brand {
    margin-bottom: 0 !important;
  }

/* TABLETY (średnie ekrany) - 3 kolumny */
@media (max-width: 980px) {
  .atlas-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* HERO & POZOSTAŁE SEKCJE */
  .hero-grid { 
    grid-template-columns: 1fr !important; 
    gap: 32px !important; 
  }
  
  .note-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .foot-grid { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
  .foot-brand { font-size: 70px !important; }
  .grafik-head { grid-template-columns: 1fr !important; }
  .stat-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .stat-cell:nth-child(2) { border-right: none !important; }
  .stat-cell:nth-child(1), .stat-cell:nth-child(2) { border-bottom: 1px solid var(--ink) !important; }
  .faq-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
}

/* --- SMARTFONY (<= 600px) - WŁĄCZONE PODPISY IKON --- */
@media (max-width: 600px) {

  /* PASEK NAWIGACJI IKON W NAGŁÓWKU */
  .nav-icons {
    order: 2 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    padding: 4px 6px !important;
    margin: 0 !important;
    gap: 6px !important;
  }

  /* KAFELEK: automatyczna wysokość pomieści grafikę + napis */
  .nav-icons a {
    width: 58px !important;
    height: auto !important;
    min-height: 58px !important;
    flex-shrink: 0 !important;
    padding: 4px 2px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .nav-icons img {
    width: 32px !important;
    height: 32px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
  }

  /* PODPISY: Przywrócenie widoczności i czytelna czcionka */
  .nav-icons a span {
    display: block !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
    margin-top: 3px !important;
    white-space: nowrap !important;
    text-align: center !important;
    font-weight: 700 !important;
  }

}

/* SMARTFONY (bardzo małe ekrany) - 2 kolumny */
@media (max-width: 600px) {
  .atlas-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

  .atlas-cell {
    padding: 16px 12px !important;
    min-height: 160px !important;
  }

  .atlas-cell .pic img {
    width: 60px !important;
    height: 75px !important;
  }

  .atlas-cell .lab {
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  /* NAGŁÓWKI H1 NA TELEFONIE */
  h1.headline {
    font-size: clamp(48px, 14vw, 80px) !important;
  }

  .bignum-hero {
    font-size: clamp(80px, 20vw, 140px) !important;
  }
}
/* =========================================================
   PŁYNNE PRZEWIJANIE TABELI SZKOLEŃ (GRAFIK) NA TELEFONACH
   ========================================================= */

/* Kontener umożliwiający poziomy ruch palcem dla tabeli */
.table-scroll {
  width: 100% !important;
  overflow-x: auto !important;             /* Włącza przesuwanie w prawo/lewo */
  -webkit-overflow-scrolling: touch;      /* Płynny gest dla urządzeń iOS / Android */
  margin-bottom: 20px;
  position: relative;
}

/* Wymuszenie minimalnej szerokości tabeli na smartfonach, 
   by kolumny nie ściskały się w pionowe paski */
@media (max-width: 768px) {
  .schedule {
    min-width: 580px !important;           /* Zapewnia czytelny układ tabeli */
  }

  .schedule td, .schedule th {
    padding: 12px 10px !important;
    white-space: nowrap !important;        /* Zapobiega brzydkiemu łamaniu dat i miast */
  }

  .schedule td.city {
    font-size: 18px !important;
  }
}
/* =========================================================
   POPRAWKA DLA CHROME NA IOS (FIX DLA ZNIKAJĄCYCH IKON/LOGO)
   ========================================================= */

/* 1. Wymuszenie własnej warstwy renderowania dla całego nagłówka */
.topnav {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}

/* 2. Zabezpieczenie kontenerów logo i ikon */
.brand, 
.nav-icons {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translate3d(0,0,0);
}

/* 3. Jawne wymuszenie wyświetlania obrazków w Chrome iOS */
.brand img,
.nav-icons img {
  -webkit-appearance: none;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  
  /* Wymuszenie sprzętowego rysowania obrazka w pamięci GPU */
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
/* =========================================================
   POZIOME, DYSKRETNE PRZEWIJANIE STOPKI NA SMARTFONACH
   ========================================================= */

@media (max-width: 600px) {

  footer {
    padding: 40px 0 24px 0 !important;
    overflow: hidden !important;
  }

  /* 1. Przekształcenie siatki stopki w poziomy pasek przewijany palcem */
  .foot-grid {
  display: none;  /*  display: flex !important; */
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    gap: 16px !important;
    padding-bottom: 16px !important;
    margin-bottom: 24px !important;
  }

  /* 2. Zbudowanie z kolumn stopki czytelnych, stałych kafelków */
  .foot-grid .foot-col,
  .foot-grid .foot-brand-col {
    flex: 0 0 75vw !important;             /* Kafelek zajmuje 75% szerokości ekranu (widać krawędź następnego) */
    max-width: 280px !important;
    background: rgba(241, 232, 210, 0.05); /* Dyskretne tło wyróżniające kafelek */
    border: 1px solid rgba(241, 232, 210, 0.2);
    padding: 20px !important;
    border-radius: 8px;
  }

  /* Dopasowanie rozmiarów fontów wewnątrz kafelków */
  .foot-brand {
    font-size: 52px !important;
    line-height: 1 !important;
  }

  .foot-col h5 {
    font-size: 11px !important;
    margin-bottom: 12px !important;
    color: var(--coral) !important;       /* Akcent kolorystyczny dla nagłówka kafelka */
  }

  .foot-col a {
    font-size: 16px !important;
  }

  /* 3. Uporządkowanie dolnego paska praw autorskich */
  .foot-bottom {
    flex-direction: column !important;
    gap: 12px !important;
    text-align: center !important;
    align-items: center !important;
  }
}