/* =========================================================
   AS Music School — system v2 (kierunek z ulotki)
   Jedno źródło prawdy: tokeny + komponenty. Strona i /brand-guide
   korzystają z tych samych zmiennych i klas.
   ========================================================= */
body{margin:0}
.skip-link{position:fixed;left:-9999px;top:0;background:#0E3F63;color:#fff;padding:.75rem 1rem;z-index:10000}
.skip-link:focus{left:.5rem;top:.5rem}
:root{
  /* Kolory */
  --c-navy:#0E3F63;        /* granat z ulotki — kolor główny */
  --c-navy-900:#082C46;    /* granat ciemny — topbar, stopka, hover */
  --c-raspberry:#B03261;   /* malina — CTA, akcenty tekstowe */
  --c-raspberry-700:#8E2550;/* malina ciemna — hover CTA */
  --c-pink:#E8618F;        /* róż — plamy pędzla, pasek adresu (dekor) */
  --c-pink-50:#FDEEF3;     /* róż jasny — tła kafelków, pigułki */
  --c-pink-200:#F7B6CC;    /* róż pastel — tekst akcentu na granacie */
  --c-suit-red:#C8202E;    /* czerwień symboli ♥ ♦ (z logo) */
  --c-ink:#141414;         /* czerń — tekst, ♠ ♣ */
  --c-ink-muted:#55534F;   /* tekst pomocniczy */
  --c-white:#FFFFFF;
  --c-line:rgba(14,63,99,.12);

  /* Typografia */
  --f-display:"Baloo 2", "Nunito", system-ui, sans-serif;
  --f-body:"Nunito", system-ui, sans-serif;
  --fs-h1:clamp(2.5rem, 1.7rem + 2.7vw, 4.1rem);
  --fs-h2:clamp(2rem, 1.5rem + 2vw, 3.25rem);
  --fs-h3:clamp(1.5rem, 1.25rem + 1vw, 2.125rem);
  --fs-h4:1.5rem;
  --fs-h5:1.25rem;
  --fs-h6:1rem;
  --fs-lead:1.25rem;
  --fs-body:1.0625rem;
  --fs-small:.9375rem;
  --fs-caption:.8125rem;

  /* Odstępy — skala 4 px */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px;
  --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px;

  /* Siatka — breakpointy: 480 / 768 / 1024 / 1280 */
  --container:1200px;
  --container-narrow:780px;
  --gutter:clamp(16px, 4vw, 40px);

  /* Kształt */
  --r-card:24px;
  --r-btn:999px;
  --r-field:14px;
  --shadow-card:0 20px 50px -28px rgba(14,63,99,.45);
  --focus-ring:0 0 0 3px var(--c-white), 0 0 0 6px var(--c-raspberry);
}

/* ---------- Baza ---------- */
.as2{font-family:var(--f-body);font-size:var(--fs-body);line-height:1.6;color:var(--c-ink);background:var(--c-white);-webkit-font-smoothing:antialiased}
.as2 *{box-sizing:border-box}
.as2 h1,.as2 h2,.as2 h3,.as2 h4,.as2 h5,.as2 h6{font-family:var(--f-display);font-weight:800;line-height:1.05;margin:0;color:var(--c-navy)}
.as2 h1{font-size:var(--fs-h1);text-transform:uppercase}
.as2 h2{font-size:var(--fs-h2);text-transform:uppercase}
.as2 h3{font-size:var(--fs-h3)}
.as2 h4{font-size:var(--fs-h4)}
.as2 h5{font-size:var(--fs-h5)}
.as2 h6{font-size:var(--fs-h6);text-transform:uppercase;letter-spacing:.1em}
.as2 p{margin:0}
.as2 a{color:var(--c-raspberry);text-underline-offset:3px}
.as2 a:hover{color:var(--c-raspberry-700)}
.as2 a:focus-visible,.as2 button:focus-visible,.as2 summary:focus-visible,.as2 input:focus-visible,.as2 textarea:focus-visible,.as2 select:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.as2 em.hl{font-style:normal;color:var(--c-raspberry)}
.lead{font-size:var(--fs-lead);color:var(--c-ink-muted);max-width:62ch}
.caption{font-size:var(--fs-caption);color:var(--c-ink-muted)}
.kicker{display:inline-block;font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:1.125rem;color:var(--c-raspberry);line-height:1.2}

/* ---------- Siatka ---------- */
.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.container--narrow{max-width:calc(var(--container-narrow) + 2 * var(--gutter))}
.sec{padding-block:var(--s-9);position:relative}
.sec--pink{background:var(--c-pink-50)}
.sec--top0{padding-top:0}
.sec-head{display:flex;flex-direction:column;gap:var(--s-3);margin-bottom:var(--s-7);max-width:760px}
.sec-head--center{text-align:center;align-items:center;margin-inline:auto}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-6)}
.g2--zapis{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px}
.g2--kontakt{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:40px;align-items:start}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-5)}

/* ---------- Przyciski ---------- */
.btn{--bg:var(--c-raspberry);--fg:var(--c-white);--bd:var(--c-raspberry);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 26px;border-radius:var(--r-btn);
  font-family:var(--f-display);font-size:1.0625rem;font-weight:800;letter-spacing:.03em;line-height:1.1;text-decoration:none;cursor:pointer;
  background:var(--bg);color:var(--fg);border:2px solid var(--bd);transition:background .18s,color .18s,border-color .18s,transform .18s}
.as2 a.btn,.as2 a.btn:hover{color:var(--fg)}
.btn:hover,.btn.is-hover{--bg:var(--c-raspberry-700);--bd:var(--c-raspberry-700);transform:translateY(-1px)}
.btn.is-focus{box-shadow:var(--focus-ring)}
.btn:disabled,.btn.is-disabled{--bg:#ECE8EA;--bd:#ECE8EA;--fg:#6B6863;cursor:not-allowed;transform:none}
.btn--navy{--bg:var(--c-navy);--bd:var(--c-navy)}
.btn--navy:hover,.btn--navy.is-hover{--bg:var(--c-navy-900);--bd:var(--c-navy-900)}
.btn--outline{--bg:transparent;--fg:var(--c-navy);--bd:var(--c-navy)}
.btn--outline:hover,.btn--outline.is-hover{--bg:var(--c-navy);--fg:var(--c-white);--bd:var(--c-navy)}
.btn--light{--bg:transparent;--fg:var(--c-white);--bd:rgba(255,255,255,.75)}
.btn--light:hover,.btn--light.is-hover{--bg:var(--c-white);--fg:var(--c-navy);--bd:var(--c-white)}
.btn--sm{min-height:44px;padding:8px 20px;font-size:1rem}
.btn--lg{min-height:58px;padding:14px 34px;font-size:1.1875rem}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}

/* ---------- Topbar + nagłówek ---------- */
.topbar{background:var(--c-navy-900);color:var(--c-white);font-size:14px;font-weight:700}
.topbar__in{display:flex;justify-content:space-between;align-items:center;gap:4px 24px;flex-wrap:wrap;min-height:44px}
.topbar__links{display:flex;gap:0 24px;flex-wrap:wrap}
.as2 .topbar a{color:var(--c-white);text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px}
.as2 .topbar a:hover{color:var(--c-pink-200)}
.hdr{background:var(--c-white);position:relative;z-index:5;box-shadow:0 1px 0 var(--c-line)}
.hdr__bar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px}
.hdr__logo{display:flex;align-items:center;gap:14px;text-decoration:none}
.hdr__logo img{width:76px;height:76px;object-fit:contain}
.hdr__name{font-family:var(--f-display);font-weight:800;font-size:22px;line-height:1;color:var(--c-navy);letter-spacing:.06em}
.hdr__name small{display:block;font-family:var(--f-body);font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--c-raspberry);margin-top:4px}
.nav{display:flex;align-items:center;gap:var(--s-4)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.nav__link{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;text-decoration:none;font-weight:800;font-size:.9375rem}
.as2 .nav__link{color:var(--c-ink)}
.as2 .nav__link:hover{color:var(--c-raspberry)}
.as2 .nav__link[aria-current="page"]{color:var(--c-navy);box-shadow:inset 0 -3px 0 var(--c-pink)}
.nav ul li:last-child{margin-left:14px}
.nav ul li:last-child .nav__link{background:var(--c-raspberry);color:var(--c-white);border-radius:999px;padding:8px 20px}
.as2 .nav ul li:last-child .nav__link:hover{background:var(--c-raspberry-700);color:var(--c-white)}
.as2 .nav ul li:last-child .nav__link[aria-current="page"]{box-shadow:none}
.nav-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;border:2px solid var(--c-line);background:transparent;color:var(--c-navy);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.nav-toggle[aria-expanded="true"]{background:var(--c-pink-50);border-color:var(--c-raspberry);color:var(--c-raspberry)}

/* ---------- Hero (granat + symbole w tle + fala) ---------- */
.hero{position:relative;background:var(--c-navy);color:var(--c-white);overflow:hidden;padding:72px 0 0}
.hero--sub{padding-top:64px}
.hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center;padding-bottom:128px}
.hero--sub .hero__grid{grid-template-columns:minmax(0,1fr);padding-bottom:120px}
.hero--sub .hero__copy{max-width:860px}
.hero__copy{display:flex;flex-direction:column;gap:22px;position:relative;z-index:2}
.hero__copy h1{overflow-wrap:break-word}
.hero__grid--panel{grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr)}
.as2 .hero h1{color:var(--c-white)}
.as2 .hero h1 em{font-style:normal;color:var(--c-pink)}
.hero__sub{font-family:var(--f-display);font-weight:700;font-size:clamp(1.25rem,1rem + .8vw,1.75rem);text-transform:uppercase;letter-spacing:.02em;line-height:1.15}
.hero__text{font-size:18px;max-width:52ch;color:rgba(255,255,255,.88)}
.hero__meta{display:flex;flex-wrap:wrap;gap:10px}
.pill{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:6px 16px;font-weight:800;font-size:14px;letter-spacing:.03em;color:var(--c-white)}
.pill--hot{background:var(--c-raspberry);border-color:var(--c-raspberry)}
.ghost{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ghost span{position:absolute;font-family:var(--f-display);line-height:1;color:rgba(255,255,255,.07);font-variant-emoji:text}
.wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:90px;display:block}
.wave--top{top:-1px;bottom:auto;transform:scaleY(-1)}
.visual{position:relative;min-height:440px}
.brush{position:absolute;background:var(--c-pink);border-radius:62% 38% 55% 45% / 48% 60% 40% 52%}
.brush--a{width:62%;height:70%;right:-6%;top:-4%;transform:rotate(-8deg)}
.brush--b{width:30%;height:34%;left:-6%;bottom:2%;transform:rotate(14deg)}
.photo{position:absolute;inset:6% 4% 8% 6%;border-radius:40px 120px 40px 120px;overflow:hidden;border:6px solid var(--c-white);box-shadow:0 30px 60px -24px rgba(0,0,0,.55);background:var(--c-pink-50)}
.photo img{width:100%;height:100%;object-fit:cover;object-position:40% 30%;display:block}
.badge-logo{position:absolute;left:-2%;top:-6%;width:150px;height:150px;border-radius:28px;background:var(--c-white);box-shadow:0 16px 40px -12px rgba(0,0,0,.5);z-index:3;display:flex;align-items:center;justify-content:center;padding:14px}
.badge-logo img{width:100%;height:100%;object-fit:contain}
.ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;background:repeating-linear-gradient(135deg,rgba(14,63,99,.06) 0 12px,rgba(232,97,143,.10) 12px 24px);color:var(--c-navy);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase}

/* Statystyki w hero */
.stats{display:flex;flex-wrap:wrap;gap:12px}
.stat{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:12px 18px;display:flex;align-items:baseline;gap:10px}
.stat b{font-family:var(--f-display);font-size:34px;line-height:1;color:var(--c-pink)}
.stat span{font-size:14px;font-weight:700;color:rgba(255,255,255,.9);max-width:16ch;line-height:1.25}

/* ---------- Pigułki (instrumenty) ---------- */
.pills{display:flex;flex-wrap:wrap;gap:12px 14px;padding:0;margin:0;list-style:none}
.pills--center{justify-content:center;max-width:980px;margin-inline:auto}
.pills li{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:19px;color:var(--c-raspberry);background:var(--c-pink-50);border-radius:999px;padding:10px 24px}

/* ---------- Karty ---------- */
.card{position:relative;overflow:hidden;background:var(--c-white);border-radius:var(--r-card);border:1px solid var(--c-line);box-shadow:var(--shadow-card);padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-3)}
.card h3{font-size:28px}
.card--flat{box-shadow:none}
.card--pink{background:var(--c-pink-50);border-color:transparent;box-shadow:none}
.card--navy{background:var(--c-navy);border-color:var(--c-navy);color:var(--c-white)}
.as2 .card--navy h3,.as2 .card--rasp h3{color:var(--c-white)}
.card--rasp{background:var(--c-raspberry);border-color:var(--c-raspberry);color:var(--c-white)}
.card__suit{position:absolute;right:-8px;bottom:-30px;font-family:var(--f-display);font-size:170px;line-height:1;font-variant-emoji:text;pointer-events:none}
.card--navy .card__suit{color:rgba(255,255,255,.08)}
.card--rasp .card__suit{color:rgba(255,255,255,.12)}
.card--pink .card__suit{color:rgba(176,50,97,.10)}
.card > *:not(.card__suit){position:relative}
.card__kicker{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:15px;color:var(--c-raspberry)}
.card--navy .card__kicker{color:var(--c-pink-200)}
.card--rasp .card__kicker{color:var(--c-white);opacity:.85}
.as2 .card--rasp a{color:var(--c-white);text-decoration:underline}
.as2 .card--rasp a:hover{color:var(--c-pink-200)}
.card--big h3{font-size:34px;text-transform:uppercase}

/* Karta ze zdjęciem (ścieżka) */
.path{background:var(--c-white);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--c-line);display:flex;flex-direction:column}
.path__img{height:260px;position:relative;overflow:hidden}
.path__img img{width:100%;height:100%;object-fit:cover;object-position:30% 30%;display:block}
.path__tag{position:absolute;left:20px;top:20px;background:var(--c-white);color:var(--c-navy);border-radius:999px;padding:6px 14px;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.path__body{padding:32px;display:flex;flex-direction:column;gap:14px;flex:1}
.path__body h3{font-size:34px;text-transform:uppercase}
.path__body .btn-row{margin-top:auto;padding-top:8px}

/* Karta instrumentu */
.instr{display:flex;flex-direction:column;gap:10px;padding:28px;border-radius:var(--r-card);background:var(--c-white);border:1px solid var(--c-line)}
.instr__icon{width:56px;height:56px;border-radius:50%;background:var(--c-pink-50);color:var(--c-raspberry);display:flex;align-items:center;justify-content:center}
.instr h3{font-size:24px}

/* Sekcja twórcy / o założycielu */
.founder__img{border-radius:var(--r-card);overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--c-line);aspect-ratio:4/5}
.founder__img img{width:100%;height:100%;object-fit:cover;display:block}

/* Karta prowadzącego */
.person{align-items:center;text-align:center;padding-top:40px}
.person__photo{width:140px;height:140px;border-radius:50%;overflow:hidden;border:5px solid var(--c-pink-50)}
.person__photo img{width:100%;height:100%;object-fit:cover}
.person__role{font-size:var(--fs-caption);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c-raspberry)}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:6px 16px;border-radius:999px;background:var(--c-pink-50);font-size:var(--fs-small);font-weight:800;text-decoration:none}
.as2 a.chip{color:var(--c-raspberry)}
.as2 a.chip:hover{background:var(--c-raspberry);color:var(--c-white)}
.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}

/* Pakiety (cennik) */
.pkg{position:relative;display:flex;flex-direction:column;gap:18px;padding:36px 32px;border-radius:var(--r-card);background:var(--c-white);border:2px solid var(--c-line)}
.pkg--featured{border-color:var(--c-raspberry);box-shadow:var(--shadow-card)}
.pkg__flag{position:absolute;top:-16px;left:32px;background:var(--c-raspberry);color:var(--c-white);border-radius:999px;padding:5px 14px;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.pkg h3{font-size:30px;text-transform:uppercase}
.pkg__sub{font-weight:800;color:var(--c-raspberry)}
.pkg__price{font-family:var(--f-display);font-weight:800;font-size:44px;line-height:1;color:var(--c-navy);margin-top:auto;padding-top:12px;border-top:1px solid var(--c-line)}
.pkg__price small{font-size:16px;font-weight:700;color:var(--c-ink-muted)}

/* ---------- Listy ---------- */
.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.list li{position:relative;padding-left:34px}
.list li::before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:var(--c-pink-50)}
.list li::after{content:"";position:absolute;left:8px;top:8px;width:5px;height:9px;border:solid var(--c-raspberry);border-width:0 3px 3px 0;transform:rotate(45deg)}
.card--navy .list li::before{background:rgba(255,255,255,.12)}
.card--navy .list li::after{border-color:var(--c-pink-200)}

/* Kroki */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--steps,3),minmax(0,1fr));gap:24px}
.step{position:relative;display:flex;flex-direction:column;gap:12px;padding:32px 28px;border-radius:var(--r-card);background:var(--c-white);border:1px solid var(--c-line)}
.step__n{width:52px;height:52px;border-radius:50%;background:var(--c-navy);color:var(--c-white);display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:800;font-size:24px}
.step strong{font-family:var(--f-display);font-size:22px;color:var(--c-navy);line-height:1.15}

/* Fakty */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0}
.facts>div{background:var(--c-white);border-radius:20px;padding:22px 24px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--c-line)}
.facts dt{font-size:var(--fs-caption);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c-raspberry)}
.facts dd{margin:0;font-family:var(--f-display);font-size:26px;font-weight:800;line-height:1.1;color:var(--c-navy)}
.facts dd small{display:block;font-family:var(--f-body);font-size:var(--fs-small);font-weight:600;color:var(--c-ink-muted);margin-top:4px}

/* Pasek eventu */
.eventband{background:var(--c-pink-50);border-radius:var(--r-card);padding:40px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:32px;align-items:center;text-decoration:none;color:inherit}
.eventband__date{background:var(--c-navy);color:var(--c-white);border-radius:20px;padding:18px 22px;text-align:center;font-family:var(--f-display);font-weight:800;line-height:1}
.eventband__date b{display:block;font-size:48px}
.eventband__date span{display:block;font-size:15px;letter-spacing:.12em;text-transform:uppercase;margin-top:6px}
.eventband h3{font-size:32px;text-transform:uppercase}
.badge{display:inline-flex;align-items:center;align-self:flex-start;padding:4px 14px;border-radius:999px;background:var(--c-raspberry);color:var(--c-white);font-size:13px;font-weight:800;letter-spacing:.04em}
.meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-weight:700;color:var(--c-ink-muted)}
.meta span{display:inline-flex;align-items:center;gap:8px}

/* Licznik */
.countdown{display:flex;gap:10px;flex-wrap:wrap}
.countdown__u{min-width:88px;background:var(--c-white);color:var(--c-navy);border-radius:18px;padding:14px 10px 12px;text-align:center}
.countdown__u b{display:block;font-family:var(--f-display);font-weight:800;font-size:42px;line-height:1;font-variant-numeric:tabular-nums}
.countdown__u span{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c-raspberry);margin-top:6px}
.panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:28px;padding:28px;display:flex;flex-direction:column;gap:18px;position:relative;z-index:2}
.panel__price{font-family:var(--f-display);font-weight:800;font-size:40px;line-height:1;color:var(--c-white)}

/* Oś czasu */
.timeline{list-style:none;margin:0;padding:0;position:relative}
.timeline::before{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--c-pink-50)}
.timeline li{position:relative;padding:0 0 22px 44px;display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px}
.timeline li::before{content:"";position:absolute;left:0;top:4px;width:21px;height:21px;border-radius:50%;background:var(--c-raspberry);box-shadow:0 0 0 5px var(--c-white)}
.timeline li.is-break::before{background:var(--c-white);border:3px solid var(--c-pink)}
.timeline__time{font-family:var(--f-display);font-weight:800;font-size:18px;color:var(--c-navy);font-variant-numeric:tabular-nums}
.timeline li.is-break .timeline__what{color:var(--c-ink-muted);font-style:italic}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:12px}
.faq details{background:var(--c-white);border-radius:20px;border:1px solid var(--c-line)}
.faq details[open]{border-color:var(--c-pink)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:14px 22px;font-family:var(--f-display);font-size:20px;font-weight:800;color:var(--c-navy);border-radius:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:38px;height:38px;border-radius:50%;background:var(--c-pink-50);color:var(--c-raspberry);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;font-family:var(--f-body)}
.faq details[open] summary::after{content:"\2212";background:var(--c-raspberry);color:var(--c-white)}
.faq summary:hover{color:var(--c-raspberry)}
.faq__a{padding:0 22px 22px;color:var(--c-ink-muted);max-width:70ch}

/* Opinie */
.quote{display:flex;flex-direction:column;gap:16px;padding:32px;border-radius:var(--r-card);background:var(--c-white);border:1px solid var(--c-line);margin:0;height:100%}
.quote__stars{color:var(--c-raspberry);letter-spacing:.15em;font-size:20px}
.quote blockquote{margin:0;font-family:var(--f-display);font-weight:600;font-size:21px;line-height:1.35;color:var(--c-navy)}
.quote cite{font-style:normal;font-size:var(--fs-small);font-weight:700;color:var(--c-ink-muted);margin-top:auto}

/* Formularz */
.form-card{background:var(--c-white);border-radius:28px;padding:40px;box-shadow:var(--shadow-card);border:1px solid var(--c-line)}
.form{display:flex;flex-direction:column;gap:20px}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-weight:800;font-size:var(--fs-small);color:var(--c-navy)}
.req{color:var(--c-raspberry)}
.input{width:100%;min-height:54px;padding:12px 18px;border-radius:var(--r-field);border:2px solid rgba(14,63,99,.2);background:var(--c-white);font:inherit;color:var(--c-ink)}
textarea.input{min-height:140px;resize:vertical}
.input:hover,.input:focus{border-color:var(--c-navy)}
.field--error .input{border-color:var(--c-raspberry);background:#FFF8FA}
.field__hint{font-size:var(--fs-caption);color:var(--c-ink-muted)}
.field__error{font-size:var(--fs-small);color:var(--c-raspberry);font-weight:800}
.check{display:flex;gap:12px;align-items:flex-start;font-size:var(--fs-small)}
.check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--c-raspberry);flex:none}
.alert{display:flex;gap:14px;align-items:flex-start;padding:16px 20px;border-radius:var(--r-field);font-size:var(--fs-small)}
.alert svg{flex:none;margin-top:1px}
.alert__content{display:flex;flex-direction:column;gap:2px}
.alert strong{display:block;font-size:1rem}
.alert--success{background:#EAF3F8;color:var(--c-navy);border:2px solid var(--c-navy)}
.alert--error{background:#FFF0F4;color:var(--c-raspberry-700);border:2px solid var(--c-raspberry)}

/* Kontakt (granat) */
.contact{position:relative;background:var(--c-navy);color:var(--c-white);overflow:hidden;padding:150px 0 88px;text-align:center}
.as2 .contact h2{color:var(--c-white)}
.contact__lines{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:32px;position:relative}
.cline{display:inline-flex;align-items:center;gap:16px;text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.75rem);line-height:1;letter-spacing:.02em;min-height:56px}
.as2 a.cline{color:var(--c-white)}
.as2 a.cline:hover{color:var(--c-pink-200)}
.cline--mail{font-size:clamp(1.25rem,1rem + 1vw,1.875rem);letter-spacing:.12em}
.cline i{flex:none;width:52px;height:52px;border-radius:50%;border:2px solid rgba(255,255,255,.75);display:flex;align-items:center;justify-content:center;font-style:normal}

/* Pasek adresu + stopka */
.strip{background:var(--c-pink)}
.strip__in{display:flex;justify-content:center;align-items:center;gap:8px 28px;flex-wrap:wrap;min-height:84px;font-family:var(--f-display);font-weight:800;font-size:clamp(1.125rem,.9rem + 1vw,1.75rem);color:var(--c-navy-900);text-align:center}
.strip__sep{width:2px;height:28px;background:var(--c-navy-900);opacity:.5}
.foot{background:var(--c-navy-900);color:rgba(255,255,255,.8);font-size:14px;padding:56px 0 24px}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1fr;gap:40px}
.foot h3{color:var(--c-white);font-size:18px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.as2 .foot a{color:var(--c-white);text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.as2 .foot a:hover{color:var(--c-pink-200)}
.link-reset{background:none;border:0;padding:0;margin:0;cursor:pointer;color:var(--c-white);font-family:var(--f-body);font-size:inherit;text-align:left;min-height:36px;display:inline-flex;align-items:center}
.link-reset:hover{color:var(--c-pink-200)}
.foot__bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:20px;font-size:13px}

/* Treść dokumentu (polityka) */
.prose{display:flex;flex-direction:column;gap:16px;max-width:72ch}
.prose h2{font-size:28px;text-transform:none;margin-top:24px}
.prose h3{font-size:20px;margin-top:8px}
.prose ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.prose .note{background:var(--c-pink-50);border-radius:16px;padding:14px 18px;font-size:var(--fs-small)}

/* Dokument ze spisem treści (np. polityka prywatności) */
.doc{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start}
.toc{position:sticky;top:24px;display:flex;flex-direction:column;gap:4px;padding:24px;border-radius:24px;background:var(--c-pink-50)}
.as2 .toc a{color:var(--c-navy);text-decoration:none;font-weight:700;min-height:36px;display:flex;align-items:center}
.as2 .toc a:hover{color:var(--c-raspberry)}

/* ---------- Responsywność ---------- */
@media (max-width:1024px){
  .doc{grid-template-columns:minmax(0,1fr)}
  .toc{position:static}
  .hero__grid,.g2,.g2--zapis,.g2--kontakt{grid-template-columns:minmax(0,1fr)}
  .visual{min-height:380px;max-width:640px}
  .g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eventband{grid-template-columns:minmax(0,1fr)}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .topbar{display:none}
  .hdr__logo img{width:60px;height:60px}
  .hdr__name{display:none}
  .nav-toggle{display:inline-flex}
  .nav{display:block;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-6px);position:absolute;left:0;right:0;top:100%;background:var(--c-white);padding:10px var(--gutter) 20px;box-shadow:0 16px 32px -16px rgba(14,63,99,.35);border-top:1px solid var(--c-line);transition:opacity .18s ease,transform .18s ease,visibility .18s}
  .nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
  .nav ul{flex-direction:column;gap:4px}
  .nav ul li:last-child{margin-top:10px;margin-left:0}
  .nav__link{width:100%;min-height:50px;padding:12px 16px;border-radius:12px;font-size:1rem}
  .as2 .nav__link[aria-current="page"]{box-shadow:none;background:var(--c-pink-50);color:var(--c-raspberry)}
  .nav ul li:last-child .nav__link{width:100%;justify-content:center;padding:14px 20px}
  .badge-logo{width:104px;height:104px}
  .visual{min-height:300px}
  .sec{padding-block:72px}
  .g3,.g4,.facts,.steps,.row2,.foot__grid{grid-template-columns:minmax(0,1fr)}
  .pills li{font-size:16px;padding:8px 18px}
  .timeline li{grid-template-columns:minmax(0,1fr);gap:2px}
  .strip__sep{display:none}
  .strip__in{flex-direction:column;padding:16px 0;gap:4px}
  .form-card{padding:24px}
  .countdown__u{min-width:70px}
}
@media (prefers-reduced-motion:reduce){.as2 *{transition:none!important}}

/* =========================================================
   BRAND GUIDE — klasy wyłącznie do strony dokumentacji /brand-guide
   ========================================================= */
.bg2{background:var(--c-white)}
.adminbar{background:var(--c-ink);color:var(--c-white);font-size:13px}
.adminbar__in{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;min-height:44px}
.adminbar code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.adminbar code{background:rgba(255,255,255,.14);padding:2px 8px;border-radius:6px}
.mono{color:var(--c-ink-muted)}
.bg-sec{padding:88px 0;border-bottom:1px solid var(--c-line)}
.bg-head{display:flex;flex-direction:column;gap:12px;margin-bottom:40px;max-width:780px}
.sub{font-family:var(--f-body);font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--c-raspberry);margin:44px 0 16px}
.tile{border:1px solid var(--c-line);border-radius:24px;background:var(--c-white);padding:28px}
.swatch{border-radius:24px;overflow:hidden;border:1px solid var(--c-line);display:flex;flex-direction:column;background:var(--c-white)}
.swatch__chip{height:120px}
.swatch__meta{padding:16px;display:flex;flex-direction:column;gap:3px}
.pair{border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:8px;border:1px solid var(--c-line)}
.pair__big{font-family:var(--f-display);font-size:28px;font-weight:800;line-height:1}
.verdict{display:inline-flex;align-self:flex-start;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;background:var(--c-white);color:var(--c-ink)}
.typerow{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--c-line)}
.state-grid{display:grid;grid-template-columns:150px repeat(4,minmax(0,1fr));gap:16px;align-items:center}
.space-row{display:grid;grid-template-columns:80px 70px minmax(0,1fr);gap:16px;align-items:center;padding:5px 0}
.space-bar{height:16px;border-radius:4px;background:var(--c-pink)}
.do{border-top:4px solid var(--c-navy)}
.dont{border-top:4px solid var(--c-raspberry)}
@media (max-width:1024px){.state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.state-grid>.mono{grid-column:1/-1}}
@media (max-width:640px){.typerow{grid-template-columns:minmax(0,1fr);gap:6px}}

/* =========================================================
   COOKIE BANNER
   ========================================================= */
.cookie-banner{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(8,17,26,.55)}
.cookie-banner[hidden]{display:none}
.cookie-banner__card{max-width:460px;background:var(--c-navy-900);color:var(--c-white);border-radius:20px;box-shadow:0 12px 32px rgba(0,0,0,.28);font-family:var(--f-body)}
.cookie-banner__in{display:flex;flex-direction:column;gap:16px;padding:24px}
.cookie-banner__text{margin:0;font-size:.9375rem;line-height:1.5;color:var(--c-white);font-family:var(--f-body)}
.cookie-banner__text a{color:var(--c-pink-200);text-decoration:underline}
.cookie-banner__actions{display:flex;gap:12px;flex-wrap:wrap}
.cookie-banner .btn{font-family:var(--f-display)}
.cookie-banner .btn--outline{--fg:var(--c-white);--bd:rgba(255,255,255,.75)}
.cookie-banner .btn--outline:hover,.cookie-banner .btn--outline.is-hover{--bg:var(--c-white);--fg:var(--c-navy)}
@media (max-width:640px){.cookie-banner{padding:12px}.cookie-banner__card{max-width:none}.cookie-banner__actions .btn{flex:1 1 auto}}
