/* ══════════════════════════════════════════════════════════════════════════
   STRIX · type.css · jedyne źródło typografii (19.10.2026)

   Wszystkie rozmiary, grubości, interlinie, tracking i wersaliki całego
   serwisu są tutaj. Pozostałe arkusze odpowiadają już tylko za układ
   i kolor: deklaracje typograficzne są z nich usuwane przy budowaniu
   (gen3/typo/filtr.py), a ten plik dołącza się na samym końcu.

   Dwanaście stylów nazwanych funkcją, cztery grubości: Anton 400 oraz
   Manrope 400, 700 i 800. Anton nie ma wag, więc skala tytułów opiera się
   na rozmiarze i trackingu, nie na grubości.

   Pierwsza liczba w komentarzu to telefon, druga desktop.
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  --f-head: Anton,"Arial Narrow",sans-serif;
  --f-body: Manrope,"Helvetica Neue",Arial,sans-serif;

  --t-hero-title:    400 clamp(2.5rem,5.6vw,4.125rem)/.96   var(--f-head);   /* 40 → 66 */
  --t-hero-lead:     400 clamp(1.125rem,1.6vw,1.25rem)/1.5  var(--f-body);   /* 18 → 20 */
  --t-section-title: 400 clamp(1.875rem,4vw,2.8125rem)/1    var(--f-head);   /* 30 → 45 */
  --t-section-lead:  400 clamp(1rem,1.2vw,1.0625rem)/1.55   var(--f-body);   /* 16 → 17 */
  --t-block-title:   400 clamp(1.25rem,2.2vw,1.5rem)/1.05   var(--f-head);   /* 20 → 24 */
  --t-card-title:    800 clamp(.9375rem,1.1vw,1rem)/1.25    var(--f-body);   /* 15 → 16 */
  --t-number-l:      400 clamp(2.75rem,5.2vw,3.75rem)/.9    var(--f-head);   /* 44 → 60 */
  --t-number-m:      400 clamp(1.5rem,2.6vw,1.9375rem)/1    var(--f-head);   /* 24 → 31 */
  --t-data:          700 clamp(.8125rem,1vw,.875rem)/1.3    var(--f-body);   /* 13 → 14 */
  --t-body:          400 clamp(.90625rem,1.05vw,.9375rem)/1.6 var(--f-body); /* 14,5 → 15 */
  --t-small:         400 clamp(.78125rem,.9vw,.8125rem)/1.5 var(--f-body);   /* 12,5 → 13 */
  --t-label:         800 .6875rem/1.4                      var(--f-body);   /* 11 */

  /* Styl spoza dwunastki: gigantyczne słowo z kreacji reklamowej KV „Gigant".
     Na plakacie jest to Silka Black; w serwisie najbliższy jest Manrope 800.
     Używany wyłącznie w banerze nowości na stronie głównej (22.10.2026). */
  --t-kv-gigant:     800 clamp(4.5rem,15vw,11.5rem)/.8      var(--f-body);   /* 72 → 184 */
}

/* ── 10 · body ─────────────────────────────────────────────────────────── */
body{font:var(--t-body);letter-spacing:0;text-transform:none}
p,li,dd,dt,td,th,blockquote,figure,address,
.cta-terra p,.ticks li,.price ul,.coach ul,.faq .a,.news .lead,
.pick .bot p,.today-list .empty,.callout p{font:var(--t-body);letter-spacing:0}
b,strong{font-weight:800;font-size:inherit;line-height:inherit;letter-spacing:inherit}
em{font-style:normal}
a{font:inherit;letter-spacing:inherit}

/* ── 1 · hero-title ────────────────────────────────────────────────────── */
h1,.hs-in h1,.doc h1{font:var(--t-hero-title);letter-spacing:-.01em;text-transform:uppercase}

/* ── 2 · hero-lead ─────────────────────────────────────────────────────── */
.lede,.hero-terra .lede,.promo-coach p,.cta-terra p{font:var(--t-hero-lead);letter-spacing:0;
  text-transform:none}

/* ── 3 · section-title ─────────────────────────────────────────────────── */
h2,.sec-h h2,.sec-h.wide h2,.card.promo-coach h4{font:var(--t-section-title);
  letter-spacing:-.005em;text-transform:uppercase}

/* ── 4 · section-lead ──────────────────────────────────────────────────── */
.sec-h p,.plevel .head p,.coach.rekrut p,.lead-sek{font:var(--t-section-lead);
  letter-spacing:0}

/* ── 5 · block-title ───────────────────────────────────────────────────── */
h3,.evt h3,.news h3,.coach.rekrut h3,.gal-sek .sec-h h3,.doc h2,.doc h3,.spec .v,
.o-sekcji .card h4,.formcard h3,
.pick .k,.fork .k,.next-up .k,.card .k,.today-h .k,.callout b{font:var(--t-block-title);
  letter-spacing:0;text-transform:uppercase}

/* ── 6 · card-title ────────────────────────────────────────────────────── */
h4,.card h4,.steps li h4,.grid.sala .card h4,.faq summary,.docs b,.slink b,.store b,
.shot-card .cap b,.foot h4{font:var(--t-card-title);letter-spacing:0;text-transform:none}
.foot h4{font:var(--t-label);letter-spacing:.14em;text-transform:uppercase}

/* ── 7 · number-l ─────────────────────────────────────────────────────── */
.stats .n,.big-tel{font:var(--t-number-l);letter-spacing:-.01em;text-transform:none}
.stats .n small{font:inherit;font-size:.42em;letter-spacing:0;text-transform:none}

/* ── 8 · number-m ─────────────────────────────────────────────────────── */
.price .amt,.pricebar b,.evt .when,.spec .f.mocny .v{font:var(--t-number-m);
  letter-spacing:0;text-transform:none}
.price .amt small,.evt .when small,.spec .v small,.stats .d{font:var(--t-data);
  letter-spacing:0;text-transform:none;color:inherit}

/* ── 9 · data ─────────────────────────────────────────────────────────── */
.btn,.nav-cta,button,.cta-terra .akcje a,.arrow,.chip,.tile .dni,.tile .when,
.today-list .t,.today-list .n,.day .item .t,.day .item .n,
.obowiazuje,.field input,.field select,.field textarea,.store small,.docs .dl,
.spec .v small,.nav-links a,.nav-grp>.sub a,.drawer .grp-sub a,
.today-list .t small,.day .item .t small,.today-list .n span,.day .item .n span,
.plan-swipe{font:var(--t-data);letter-spacing:0;text-transform:none}
.plan7 .c .s,.plan7 .c .t{font:var(--t-small);letter-spacing:0;text-transform:none}
.plan7 .c .n,.plan7 .c.mat .n{font:var(--t-data);letter-spacing:0;text-transform:none}
.plan7 .c .t{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem}

/* ── 11 · small ───────────────────────────────────────────────────────── */
small,figcaption,.formnote,.consent,.rev .who,.foot a,.foot .adr,.foot .adr a,
.foot .prawne a,.foot .bottom,.okruchy,.docs small,.slink small,.shot-note,
.tile p,.card p,.tab-wiek td,.coach p,.pcard p,.fork p,.news .meta,.addr,
.coach ul,.brak figcaption{font:var(--t-small);letter-spacing:0;text-transform:none}

/* ── 12 · label ───────────────────────────────────────────────────────── */
.lab,.tile .meta,.coach .role,.logos .strat .role,.field label,.fork .go,.coach .go,
.next-up .go,.docs .dl,.day .badge,.evt .tag,.spec .k,.plan7 .dh,.plan7 .c .m,
.plan7 .c .n .nw,.plan7-legend b,.tile .nw,.badge-new,.today-list .s,.dl,.flag,
.kat,.wolne,.plan7 .k,.secbar a,.tab-wiek th,.news .meta,.ribbon .n,.docs .ic,.ic,
.plan7-legend .n{font:var(--t-label);letter-spacing:.14em;text-transform:uppercase}

/* Liczby i jednostki nigdy wersalikami. */
.stats .n,.stats .n small,.price .amt,.price .amt small,.big-tel,.plan7 .c .t,
.evt .when small{text-transform:none}

/* ── uzupełnienie 22.10.2026: ścieżka strony głównej ───────────────────── */
.pick2 .k{font:var(--t-number-m);letter-spacing:0;text-transform:uppercase}
.pick2 .pod{font:var(--t-label);letter-spacing:.14em;text-transform:uppercase}
.pick2 ul li{font:var(--t-body);letter-spacing:0;text-transform:none}
.kv-news .gigant{font:var(--t-kv-gigant);letter-spacing:-.06em;text-transform:uppercase}
.kv-news .gigant.g4{font-size:clamp(3.5rem,11.5vw,8.75rem)}
.kv-news .gigant.g5{font-size:clamp(2.75rem,9.2vw,7rem)}
.kv-news h3{font:var(--t-section-title);letter-spacing:-.005em;text-transform:uppercase}
/* Nazwa sekcji na karcie karnetu: nagłówek w skali tytułu sekcji (25.10.2026). */
.price.sek h3,.price.open-foto h3{font:var(--t-section-title);letter-spacing:-.005em;text-transform:uppercase}
.kv-news .top,.kv-news .kick{font:var(--t-label);letter-spacing:.14em;text-transform:uppercase}
.kv-news p{font:var(--t-body);letter-spacing:0;text-transform:none}
.kv-news .belka span{font:var(--t-data);letter-spacing:0;text-transform:none}
.obiekcje .o h4{font:var(--t-card-title);letter-spacing:0;text-transform:none}
.obiekcje .o p{font:var(--t-small);letter-spacing:0;text-transform:none}
