/* SPACE Dance Studio — warstwa brandowa: logo, zdjęcia, zespół, pakiety urodzinowe */

/* logo w nagłówku */
.logo-img{height:46px; width:auto; display:block;}
.top .logo-img{height:42px;}
.ft .logo-img{height:38px; margin-bottom:.6rem;}
@media (max-width:560px){ .top .logo-img{height:34px;} }

/* hero ze zdjęciem */
.hero.hero-photo{
  background:
    linear-gradient(100deg, rgba(11,13,20,.94) 0%, rgba(11,13,20,.86) 42%, rgba(11,13,20,.55) 100%),
    url("img/hero-dsc3605-1280.webp") right center / auto 100% no-repeat,
    var(--space);
}
.hero.hero-photo .finder{background:rgba(26,30,41,.94); backdrop-filter:blur(4px);}

/* galeria */
.gallery-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:.7rem;}
.gallery-grid figure{margin:0; overflow:hidden; border-radius:10px; border:1px solid var(--line); position:relative;}
.gallery-grid img{width:100%; height:230px; object-fit:cover; display:block; transition:transform .3s ease; filter:saturate(.95);}
@media (prefers-reduced-motion: no-preference){ .gallery-grid figure:hover img{transform:scale(1.03);} }
.gallery-grid figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:.5rem .8rem;
  background:linear-gradient(transparent, rgba(11,13,20,.85)); color:var(--white);
  font-family:var(--font-d); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
}
.photo-credit{color:var(--dimmed); font-size:.76rem; margin-top:.8rem;}

/* zespół instruktorski */
.team-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(255px,1fr)); gap:1.1rem; margin-top:1.8rem;}
.team-card{background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:1.5rem 1.6rem;}
.team-card .tc-head{display:flex; align-items:center; gap:.9rem; margin-bottom:.8rem;}
.team-card .tc-av{
  width:3rem; height:3rem; border-radius:50%; flex:none;
  background:var(--panel-3); border:2px solid var(--tc, var(--red));
  display:grid; place-items:center; font-family:var(--font-d); font-weight:600; font-size:1.05rem;
}
.team-card h3{font-size:1.15rem; letter-spacing:.06em;}
.team-card .tc-spec{font-family:var(--font-d); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--tc, var(--red-soft)); margin-top:.1rem;}
.team-card p{color:var(--muted); font-size:.88rem; margin:0 0 .6rem;}
.team-card .tc-groups{display:flex; flex-wrap:wrap; gap:.35rem;}
.team-card .tc-groups span{background:var(--panel-2); border:1px solid var(--line); border-radius:20px; padding:.18rem .65rem; font-size:.72rem; color:var(--white);}

/* zdjęcie sekcyjne */
.section-photo{border-radius:12px; overflow:hidden; border:1px solid var(--line); margin-top:1.6rem;}
.section-photo img{width:100%; display:block; max-height:420px; object-fit:cover; object-position:center 35%;}

/* aktualności */
.news-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:1rem;}
.news-card{background:var(--panel); border:1px solid var(--line); border-left:4px solid var(--red); border-radius:4px 10px 10px 4px; padding:1.3rem 1.5rem;}
.news-card .nd{font-family:var(--font-d); font-size:.7rem; letter-spacing:.18em; color:var(--muted); margin:0 0 .4rem; font-variant-numeric:tabular-nums;}
.news-card h3{font-size:1.08rem; letter-spacing:.04em; margin-bottom:.5rem;}
.news-card .nb{color:var(--muted); font-size:.9rem; margin:0;}

/* galeria 20 zdjęć + lightbox */
.gallery-grid.big{grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:.55rem;}
.gallery-grid.big .gitem{margin:0; padding:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; cursor:zoom-in; background:var(--panel-2); display:block; width:100%;}
.gallery-grid.big img{width:100%; height:160px; object-fit:cover; display:block; transition:transform .3s ease, filter .3s; filter:saturate(.95);}
@media (prefers-reduced-motion: no-preference){ .gallery-grid.big .gitem:hover img{transform:scale(1.05); filter:saturate(1.05);} }
.gallery-grid.big .gitem:focus-visible{outline:2px solid var(--red); outline-offset:2px;}

.lb{position:fixed; inset:0; z-index:90; background:rgba(5,6,10,.92); backdrop-filter:blur(6px); display:none; align-items:center; justify-content:center;}
.lb.on{display:flex;}
.lb img{max-width:min(92vw,1400px); max-height:86vh; border-radius:8px; box-shadow:0 20px 60px rgba(0,0,0,.6); opacity:0; transition:opacity .22s ease;}
.lb img.show{opacity:1;}
.lb .lb-btn{position:absolute; background:rgba(26,30,41,.8); border:1px solid var(--line); color:var(--white); border-radius:50%; width:3rem; height:3rem; font-size:1.3rem; display:grid; place-items:center; cursor:pointer; transition:background .15s, border-color .15s;}
.lb .lb-btn:hover{background:var(--red); border-color:var(--red);}
.lb .lb-prev{left:max(1rem, 3vw);}
.lb .lb-next{right:max(1rem, 3vw);}
.lb .lb-close{top:1rem; right:1rem; font-size:1.1rem;}
.lb .lb-count{position:absolute; bottom:1.1rem; left:50%; transform:translateX(-50%); color:var(--muted); font-family:var(--font-d); font-size:.85rem; letter-spacing:.15em; font-variant-numeric:tabular-nums;}
@media (max-width:640px){ .lb .lb-btn{width:2.5rem; height:2.5rem;} .lb img{max-width:96vw;} }

/* portrety instruktorów */
.team-grid.photos{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));}
.tc-photo{
  aspect-ratio:3/4; border-radius:10px; overflow:hidden; position:relative; margin-bottom:1rem;
  background:
    radial-gradient(1.2px 1.2px at 22% 24%, rgba(244,246,250,.5), transparent 100%),
    radial-gradient(1px 1px at 74% 38%, rgba(244,246,250,.4), transparent 100%),
    radial-gradient(1.4px 1.4px at 48% 70%, rgba(244,246,250,.45), transparent 100%),
    radial-gradient(ellipse 90% 70% at 50% 110%, color-mix(in srgb, var(--tc, var(--red)) 26%, transparent), transparent 70%),
    linear-gradient(165deg, var(--panel-2), var(--panel-3));
  display:grid; place-items:center;
}
.tc-photo .tc-initial{
  font-family:var(--font-d); font-weight:300; font-size:5.5rem; line-height:1;
  color:color-mix(in srgb, var(--tc, var(--red)) 75%, var(--white));
  text-shadow:0 0 34px color-mix(in srgb, var(--tc, var(--red)) 60%, transparent);
}
.tc-photo .tc-soon{
  position:absolute; bottom:.65rem; left:50%; transform:translateX(-50%);
  font-family:var(--font-d); font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; color:var(--dimmed); white-space:nowrap;
}
.tc-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.tc-bio{color:var(--muted); font-size:.87rem; margin:0 0 .7rem; min-height:3.4em;}
.team-empty{grid-column:1/-1;padding:1rem 0;color:var(--muted);}

/* karty wydarzeń (rezerwacje) */
.ev-card.rich{align-items:flex-start; border-left:4px solid var(--line);}
.ev-card.rich .ev-emoji{font-size:1.9rem; line-height:1; margin-top:.2rem;}
.ev-card.rich .ev-desc-s{color:var(--muted); font-size:.86rem; margin-top:.45rem; max-width:64ch;}
.ev-chip{display:inline-block; background:var(--panel-2); border:1px solid var(--line); border-radius:20px; padding:.22rem .7rem; font-size:.76rem; color:var(--white); margin:.35rem .35rem 0 0;}
.ev-chip.price{color:var(--red-soft); border-color:color-mix(in srgb, var(--red) 35%, var(--line)); font-weight:600;}
.bday-mini{display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:.6rem; margin:1rem 0 1.4rem;}
.bday-mini .bm{background:var(--panel-2); border:1px solid var(--line); border-left:3px solid var(--bc,var(--red)); border-radius:8px; padding:.7rem .9rem;}
.bday-mini .bm b{display:block; font-family:var(--font-d); letter-spacing:.04em; font-size:.92rem;}
.bday-mini .bm span{color:var(--muted); font-size:.78rem;}

/* pakiety urodzinowe */
.bday-standard{display:flex; flex-wrap:wrap; gap:.5rem 1.4rem; margin:.8rem 0 1.4rem; padding:0; list-style:none;}
.bday-standard li{color:var(--muted); font-size:.88rem;}
.bday-standard li::before{content:"✓ "; color:var(--ok); font-weight:700;}
.bday-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(265px,1fr)); gap:1rem; margin:1.2rem 0 1.4rem;}
.bday-card{
  background:var(--panel-2); border:1px solid var(--line); border-top:4px solid var(--bc, var(--red));
  border-radius:10px; padding:1.25rem 1.35rem;
}
.bday-card h3{font-size:1.02rem; letter-spacing:.05em; margin-bottom:.15rem;}
.bday-card .bd-tag{font-family:var(--font-d); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--bc, var(--red-soft)); margin-bottom:.7rem;}
.bday-card ul{margin:0; padding-left:1.05rem; color:var(--muted); font-size:.85rem;}
.bday-card li{margin-bottom:.35rem;}
.bday-card li:last-child{margin-bottom:0;}

/* Publikacyjny UX 2026 — wspólna warstwa strony klienta */
:root{
  --space:#090b12;
  --panel:#161a24;
  --panel-2:#202531;
  --panel-3:#292f3d;
  --line:#363d4f;
  --white:#fbfaf8;
  --muted:#b9c0cf;
  --dimmed:#8e97aa;
  --brand:#a758db;
  --brand-strong:#9650c9;
  --brand-soft:#d2a0f2;
  --red:var(--brand-strong);
  --red-soft:var(--brand-soft);
  --danger:#ff5d6c;
  --danger-soft:#ff8b97;
}

html{scroll-padding-top:128px;}
body{font-size:18px;line-height:1.7;background:var(--space);}
.wrap{max-width:min(1240px,calc(100vw - 48px));}
section{padding:6rem 0;}

header.top{background:rgba(9,11,18,.9);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.08);}
.top-inner{max-width:min(1240px,calc(100vw - 48px));gap:2rem;padding:1rem 0;}
.top .logo-img{height:46px;}
nav.main{gap:1.45rem;font-size:.82rem;letter-spacing:.1em;flex-wrap:nowrap;}
nav.main a{min-height:40px;display:flex;align-items:center;color:var(--muted);padding:.45rem 0;white-space:nowrap;}
nav.main a:hover,nav.main a.here{color:var(--white);}
.btn-login{min-height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.65rem 1.2rem;font-size:.78rem;}

.hero{padding:7rem 0 5.5rem;}
.hero:not(.home-hero){min-height:390px;display:flex;align-items:center;}
.hero:not(.home-hero) h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.04;letter-spacing:.015em;text-transform:none;}
.hero:not(.home-hero) .sub{font-size:1.15rem;line-height:1.75;max-width:64ch;}
.hero.hero-photo{
  min-height:clamp(650px,78vh,850px);
  display:flex;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(7,9,16,.98) 0%,rgba(7,9,16,.9) 34%,rgba(7,9,16,.38) 68%,rgba(7,9,16,.18) 100%),
    linear-gradient(0deg,rgba(9,11,18,.55),transparent 42%),
    url("img/hero-dsc3605-1280.webp") right center / auto 100% no-repeat,
    var(--space);
}
.home-hero .hero-content{width:100%;}
.hero.hero-photo{isolation:isolate;background:var(--space);}
.hero-media{position:absolute;z-index:0;inset:0;display:block;overflow:hidden;}
.hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:right center;}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,13,20,.95) 0%,rgba(11,13,20,.86) 42%,rgba(11,13,20,.4) 100%);}
.home-hero .hero-content{position:relative;z-index:1;}
.home-hero .eyebrow{margin-bottom:1.1rem;}
.home-hero .hero-kicker{display:grid;gap:.25rem;line-height:1.45;}
.home-hero .hero-kicker strong{color:var(--white);font-size:.9em;font-weight:750;letter-spacing:.13em;}
.home-hero h1{max-width:13ch;font-size:clamp(3.2rem,6vw,6rem);font-weight:300;letter-spacing:-.025em;text-transform:none;line-height:.98;}
.home-hero h1 strong{font-weight:600;color:var(--white);}
.home-hero .sub{max-width:610px;margin-top:1.6rem;color:#d6d9e2;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.7;}
.eyebrow{margin:0 0 .7rem;color:var(--red-soft);font-family:var(--font-d);font-size:.78rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;}
.hero-actions,.cta-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem;}
.btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.8rem 1.5rem;font-size:.8rem;line-height:1.2;transition:transform .18s ease,filter .18s ease,border-color .18s ease;}
.btn:hover{transform:translateY(-2px);}
.btn.sec{border-color:#586075;background:rgba(9,11,18,.35);}
.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:3.2rem 0 0;padding:0;max-width:760px;list-style:none;border-top:1px solid rgba(255,255,255,.2);}
.hero-proof li{display:flex;flex-direction:column;padding:1.15rem 1.35rem 0 0;}
.hero-proof li+li{border-left:1px solid rgba(255,255,255,.18);padding-left:1.35rem;}
.hero-proof strong{font-family:var(--font-d);font-size:.93rem;letter-spacing:.02em;}
.hero-proof span{color:#bfc4d0;font-size:.82rem;}

.section-lead{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);gap:2rem 5rem;align-items:end;margin-bottom:2.5rem;}
.section-lead h2{font-size:clamp(2.35rem,4.6vw,4.25rem);font-weight:300;letter-spacing:-.025em;line-height:1.03;text-transform:none;}
.section-lead h2 strong{font-weight:600;}
.section-lead>p{max-width:54ch;color:var(--muted);font-size:1.05rem;line-height:1.75;}
.sec-head h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.015em;text-transform:none;}
.sec-sub{font-size:1.05rem;line-height:1.75;}

.news-section{background:#10131c;border-bottom:1px solid rgba(255,255,255,.05);}
.news-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;}
.news-card{padding:1.6rem;border:1px solid var(--line);border-left:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#191e29,#131720);}
.news-card .nd{font-size:.76rem;letter-spacing:.16em;margin:0 0 .65rem;color:var(--red-soft);}
.news-card h3{font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.2;letter-spacing:0;margin:0 0 .75rem;}
.news-card .nb{font-size:1rem;line-height:1.75;color:var(--muted);}
.news-card .news-media{width:calc(100% + 3.2rem);height:280px;margin:-1.6rem -1.6rem 1.35rem;}
.news-card:first-child:has(.news-media){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);grid-template-rows:auto auto 1fr;column-gap:2rem;align-items:start;}
.news-card:first-child:has(.news-media) .news-media{grid-column:1;grid-row:1/4;width:100%;height:100%;min-height:340px;margin:0;border-radius:12px;}
.news-card:first-child:has(.news-media) .nd{grid-column:2;margin-top:1rem;}
.news-card:first-child:has(.news-media) h3,.news-card:first-child:has(.news-media) .nb{grid-column:2;}

.finder-section{background:var(--space);}
.journey-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 0 1.25rem;padding:0;list-style:none;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--line);}
.journey-strip li{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:.85rem;padding:1.25rem 1.35rem;background:var(--panel);}
.journey-strip span{grid-row:1/3;color:var(--red-soft);font-family:var(--font-d);font-size:.72rem;letter-spacing:.12em;}
.journey-strip strong{font-family:var(--font-d);font-size:1rem;line-height:1.2;}
.journey-strip small{margin-top:.25rem;color:var(--muted);font-size:.8rem;line-height:1.45;}
.finder{margin-top:0;padding:2rem 2.2rem;border-color:var(--line);border-radius:18px;background:linear-gradient(145deg,var(--panel),#121620);box-shadow:0 28px 70px rgba(0,0,0,.22);}
.finder .q{margin-bottom:1.5rem;}
.q-label{display:flex;align-items:center;gap:.65rem;margin-bottom:.75rem;color:var(--white);font-size:.82rem;letter-spacing:.12em;}
.q-label span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red-soft);font-size:.72rem;}
.chips{gap:.65rem;}
.chip{min-height:45px;padding:.55rem 1.1rem;border-color:#424a5e;background:var(--panel-2);font-size:.94rem;}
.chip:hover{border-color:var(--red-soft);}
.results{margin-top:1.8rem;padding-top:1.6rem;}
.results .count{font-size:.95rem;margin-bottom:1.15rem;}
.results .hint{padding:.55rem 0;color:var(--muted);font-size:1rem;}
.rgrid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;}
.rcard{gap:.5rem;padding:1.25rem 1.3rem;border-radius:8px 14px 14px 8px;}
.rcard .rname{font-size:1.2rem;line-height:1.3;}
.rcard .rmeta{font-size:.91rem;line-height:1.5;}
.rteacher strong{font-size:.92rem;}.rteacher span{font-size:.82rem;}.rteacher small{font-size:.68rem;}
.rcard .rpass{font-size:.88rem;padding:.6rem .7rem;}
.rcard .rbtn{min-height:42px;display:inline-flex;align-items:center;padding:.55rem .85rem;border-radius:999px;font-size:.74rem;}
.pill{font-size:.78rem;padding:.25rem .7rem;}

#grafik,#galeria{background:#10131c;}
.daytabs{gap:.55rem;margin-bottom:1.2rem;}
.dtab{min-height:46px;padding:.65rem 1.2rem;border-radius:999px;font-size:.82rem;}
.legend{font-size:.86rem;margin-bottom:1.35rem;}
.grid-scroll{border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.2);}
.lane-h{font-size:.78rem;}.tlabel{font-size:.8rem;}.blk .bt{font-size:.72rem;}.blk .bn{font-size:.92rem;}.blk .bi{font-size:.76rem;}.blk .bloc{font-size:.72rem;}
.gallery-grid.big{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;}
.gallery-grid.big .gitem{border-radius:12px;}
.gallery-grid.big img{height:auto;aspect-ratio:4/3;}
.gallery-grid.big.gallery-folded .gitem:nth-child(n+9){display:none;}
.gallery-toggle{margin-top:1.5rem;}
.photo-credit{font-size:.84rem;margin-top:1rem;}

.cta-band{padding:4rem 0;background:linear-gradient(115deg,color-mix(in srgb,var(--red) 20%,#151923),#151923 58%,#1c1624);border-top:1px solid color-mix(in srgb,var(--red) 25%,var(--line));border-bottom:1px solid color-mix(in srgb,var(--red) 25%,var(--line));}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem 4rem;}
.cta-band h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;letter-spacing:-.02em;}
.cta-band p:not(.eyebrow){margin-top:.65rem;color:var(--muted);}
.cta-actions{flex:none;margin-top:0;}

.contact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:0;}
.cbox{min-height:190px;padding:1.5rem;border-radius:16px;background:var(--panel);}
.cbox h3{font-size:.78rem;color:var(--red-soft);}
.cbox p{font-size:1rem;}.cbox .small{font-size:.86rem;line-height:1.55;}
footer.ft{padding:3.5rem 0;color:var(--muted);font-size:.9rem;}
.ft-inner{justify-content:space-between;gap:2rem 4rem;}
.cbox a,.ft nav a{min-height:36px;display:inline-flex;align-items:center;}

/* Oferta i O nas */
.offer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:0 0 2rem;}
.offer-nav a{display:flex;align-items:center;gap:.7rem;min-height:68px;padding:.85rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--white);font-family:var(--font-d);font-size:.9rem;text-decoration:none;}
.offer-nav a:hover{border-color:var(--red-soft);transform:translateY(-2px);}
.offer-nav a span{color:var(--red-soft);font-size:.7rem;letter-spacing:.12em;}
.svc{padding:2.2rem 2.4rem;margin-bottom:1.25rem;border-radius:18px;}
.svc h2{font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.01em;text-transform:none;}
.svc .s-sub{font-size:.78rem;margin:.35rem 0 1.1rem;color:var(--red-soft);}
.svc p{font-size:1rem;line-height:1.75;max-width:78ch;}
.svc ul{font-size:.96rem;line-height:1.65;}
.svc .price-line{font-size:1.08rem;}
.bday-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;}
.bday-card{padding:1.4rem;border-radius:14px;}.bday-card h3{font-size:1.1rem;}.bday-card ul{font-size:.92rem;}

/* Oferta 2026: pakiety urodzinowe, zwijane motywy i krótsza ścieżka do rezerwacji */
.offer-index-section{padding-top:5rem;}
.offer-index-section .offer-nav{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:2.5rem;}
.birthday-offer{scroll-margin-top:130px;padding:clamp(1.5rem,4vw,3rem);border:1px solid color-mix(in srgb,var(--red) 38%,var(--line));border-radius:24px;background:radial-gradient(circle at 90% 0,color-mix(in srgb,var(--red) 16%,transparent),transparent 34%),linear-gradient(145deg,#1b1f2b,#11151e);box-shadow:0 30px 80px rgba(0,0,0,.25);}
.birthday-offer-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.65fr);gap:2rem 4rem;align-items:end;}
.birthday-offer-head h2{font-size:clamp(2.2rem,4.6vw,4rem);font-weight:300;line-height:1.03;letter-spacing:-.025em;text-transform:none;}
.birthday-offer-head h2 strong{font-weight:600;}
.birthday-offer-head>p{color:var(--muted);font-size:1rem;line-height:1.75;}
.offer-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:2.3rem 0 1.5rem;padding:0;list-style:none;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--line);}
.offer-steps li{display:grid;grid-template-columns:auto 1fr;gap:.05rem .8rem;padding:1.05rem 1.15rem;background:rgba(20,24,34,.92);}
.offer-steps li>span{grid-row:1/3;color:var(--red-soft);font-family:var(--font-d);font-size:.72rem;letter-spacing:.12em;}
.offer-steps b{font-family:var(--font-d);font-size:.9rem;line-height:1.3;}.offer-steps small{color:var(--muted);font-size:.75rem;line-height:1.45;}
.birthday-packages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;align-items:stretch;}
.birthday-package{display:flex;flex-direction:column;min-width:0;padding:1.4rem;border:1px solid var(--line);border-radius:16px;background:var(--panel);}
.birthday-package.is-accent{border-color:var(--red);background:linear-gradient(165deg,color-mix(in srgb,var(--red) 12%,var(--panel)),var(--panel) 55%);}
.package-kicker{margin:0 0 .35rem;color:var(--red-soft);font-family:var(--font-d);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;}
.birthday-package h3{margin:0;font-size:1.35rem;line-height:1.2;}
.birthday-package .package-lead{min-height:5.2em;margin:.65rem 0 0;color:var(--muted);font-size:.86rem;line-height:1.55;}
.birthday-package ul{display:grid;gap:.45rem;margin:1.1rem 0 1.3rem;padding:0;list-style:none;color:#d8dbe3;font-size:.83rem;line-height:1.45;}
.birthday-package li{display:flex;gap:.5rem;}.birthday-package li::before{content:"✓";color:var(--ok);font-weight:700;}
.package-price{display:flex;align-items:flex-end;justify-content:space-between;gap:.65rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--line);}
.package-price>span{display:grid}.package-price b{font-size:1.7rem;line-height:1;color:var(--white)}.package-price small{margin-top:.25rem;color:var(--muted);font-size:.7rem}.package-price em{max-width:11ch;color:var(--red-soft);font-size:.72rem;line-height:1.35;text-align:right;font-style:normal;font-weight:700;}
.package-note{margin:.85rem 0 0;color:var(--dimmed);font-size:.74rem;line-height:1.55;}
.theme-catalog{margin-top:1.2rem;border:1px solid var(--line);border-radius:16px;background:rgba(13,16,24,.65);overflow:hidden;}
.theme-catalog>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;cursor:pointer;list-style:none;}
.theme-catalog>summary::-webkit-details-marker,.theme-item>summary::-webkit-details-marker{display:none}.theme-catalog>summary>span{display:grid;gap:.05rem}.theme-catalog>summary b{font-size:1rem}.theme-catalog>summary small{color:var(--muted);font-size:.8rem}.theme-catalog>summary>i,.theme-item>summary>i{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;color:var(--red-soft);font-size:1.15rem;font-style:normal;transition:transform .2s ease}.theme-catalog[open]>summary>i,.theme-item[open]>summary>i{transform:rotate(45deg)}
.theme-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:0 1.1rem 1.1rem;}
.theme-item{border:1px solid var(--line);border-left:3px solid var(--bc,var(--red));border-radius:11px;background:var(--panel);overflow:hidden;}
.theme-item>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;gap:.02rem .65rem;align-items:center;padding:.8rem .9rem;cursor:pointer;list-style:none;}
.theme-item>summary>span{grid-row:1/3;font-size:1.25rem}.theme-item>summary>b{font-size:.88rem;line-height:1.25}.theme-item>summary>small{color:var(--muted);font-size:.72rem;line-height:1.35}.theme-item>summary>i{grid-column:3;grid-row:1/3;width:25px;height:25px;font-size:1rem}.theme-item>div{padding:0 .9rem .85rem 2.85rem}.theme-item>div p{color:var(--muted);font-size:.8rem;line-height:1.55;}
.birthday-cta{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:1.2rem;padding:1.1rem 1.2rem;border-radius:14px;background:color-mix(in srgb,var(--red) 10%,var(--panel));}
.birthday-cta>div{display:grid;gap:.2rem}.birthday-cta b{font-size:1rem}.birthday-cta span{color:var(--muted);font-size:.82rem;line-height:1.5}.birthday-cta .btn{flex:none;}
.other-offers-section{background:#10131c;border-top:1px solid rgba(255,255,255,.05);}
.offer-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.offer-card{scroll-margin-top:130px;display:flex;flex-direction:column;min-width:0;padding:1.7rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,var(--panel),#131720);}
.offer-card-wide{grid-column:1/-1;}
.offer-card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.15rem;}.offer-icon{font-size:1.5rem;line-height:1}.offer-status{display:inline-flex;align-items:center;min-height:28px;padding:.25rem .65rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-family:var(--font-d);font-size:.62rem;letter-spacing:.09em;text-transform:uppercase}.offer-status.open{border-color:color-mix(in srgb,var(--ok) 45%,var(--line));color:var(--ok)}
.offer-card .eyebrow{margin-bottom:.45rem}.offer-card h3{max-width:24ch;margin:0 0 .75rem;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.18;letter-spacing:-.01em}.offer-card>p:not(.eyebrow){max-width:68ch;color:var(--muted);font-size:.93rem;line-height:1.7}.offer-card-wide h3{max-width:30ch;}
.offer-facts{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0 0;padding:0;list-style:none}.offer-facts li{padding:.35rem .65rem;border:1px solid var(--line);border-radius:999px;color:#d8dbe4;font-size:.72rem;}
.offer-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem 1.5rem;margin-top:auto;padding-top:1.4rem}.offer-price{display:grid;gap:.15rem}.offer-price b{color:var(--white);font-size:1.65rem;line-height:1}.offer-price span,.offer-next{color:var(--muted);font-size:.75rem;line-height:1.45}.offer-next{max-width:34ch}.offer-card-bottom .btn{flex:none;}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
.story-card{padding:1.6rem;border:1px solid var(--line);border-radius:16px;background:var(--panel);}
.story-card .story-no{display:block;margin-bottom:1rem;color:var(--red-soft);font-family:var(--font-d);font-size:.75rem;letter-spacing:.18em;}
.story-card h3{font-size:1.25rem;line-height:1.25;margin-bottom:.65rem;}
.story-card p{color:var(--muted);font-size:.96rem;}
.about-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.85fr);gap:1.4rem;align-items:stretch;}
.about-feature .card{padding:2rem;}
.about-feature .section-photo{position:relative;height:100%;min-height:420px;margin:0;}
.about-feature .section-photo img{height:100%;max-height:none;}
.about-feature .section-photo figcaption{position:absolute;right:.7rem;bottom:.7rem;padding:.35rem .65rem!important;border-radius:999px;background:rgba(8,10,17,.72);backdrop-filter:blur(8px);}
.card{padding:1.8rem 2rem;border-radius:16px;}.card h3{font-size:.8rem;color:var(--red-soft);}.card p{font-size:1rem;line-height:1.75;}
.team-grid{gap:1.25rem;}.team-card{padding:1.4rem;border-radius:16px;}.team-card h3{font-size:1.25rem;}.tc-bio,.team-card p{font-size:.95rem;line-height:1.65;}

@media (max-width:1050px){
  .top-inner{flex-wrap:wrap;gap:.7rem 1rem;padding:.75rem 0 .65rem;}
  nav.main{display:flex;order:3;width:100%;margin:0;gap:.45rem 1.15rem;flex-wrap:wrap;overflow:visible;padding:.05rem 0 .15rem;}
  nav.main a{white-space:normal;}
  .btn-login{margin-left:auto;min-height:42px;}
  .contact-grid{grid-template-columns:repeat(2,1fr);}
  .offer-nav{grid-template-columns:repeat(2,1fr);}
  .offer-index-section .offer-nav{grid-template-columns:repeat(2,1fr);}
  .birthday-packages{grid-template-columns:1fr;}.birthday-package .package-lead{min-height:0;}
}

@media (max-width:760px){
  html{scroll-padding-top:116px;}
  body{font-size:17px;}
  .wrap,.top-inner{max-width:calc(100vw - 32px);}
  section{padding:4.3rem 0;}
  .top .logo-img{height:36px;}
  .btn-login{font-size:.7rem;padding:.55rem .85rem;}
  nav.main{font-size:.75rem;gap:1.15rem;}
  .hero{padding:4.6rem 0 4rem;}
  .hero:not(.home-hero){min-height:320px;}
  .hero:not(.home-hero) h1{font-size:clamp(2.35rem,12vw,3.6rem);}
  .hero:not(.home-hero) .sub{font-size:1.02rem;}
  .hero.hero-photo{min-height:720px;align-items:flex-end;background-position:67% center;}
  .hero.hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,9,16,.98) 0%,rgba(7,9,16,.78) 58%,rgba(7,9,16,.34) 100%);}
  .home-hero .hero-content{position:relative;z-index:1;}
  .home-hero h1{font-size:clamp(3rem,15vw,4.4rem);}
  .home-hero .sub{font-size:1rem;line-height:1.65;}
  .hero-actions .btn{flex:1 1 100%;}
  .hero-proof{grid-template-columns:1fr;margin-top:2.25rem;padding-top:.4rem;}
  .hero-proof li,.hero-proof li+li{padding:.7rem 0;border-left:0;border-top:1px solid rgba(255,255,255,.12);}
  .hero-proof li:first-child{border-top:0;}
  .section-lead{grid-template-columns:1fr;gap:1.1rem;margin-bottom:2rem;}
  .section-lead h2{font-size:clamp(2.25rem,11vw,3.35rem);}
  .section-lead>p{font-size:1rem;}
  .news-grid{grid-template-columns:1fr;}
  .news-card:first-child:has(.news-media){display:block;}
  .news-card:first-child:has(.news-media) .news-media{width:calc(100% + 3.2rem);height:240px;min-height:0;margin:-1.6rem -1.6rem 1.35rem;border-radius:0;}
  .news-card:first-child:has(.news-media) .nd{margin-top:0;}
  .journey-strip{grid-template-columns:1fr;}
  .finder{padding:1.35rem 1.1rem;}
  .chip{font-size:.9rem;}
  .rgrid{grid-template-columns:1fr;}
  .gallery-grid.big{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;}
  .gallery-grid.big.gallery-folded .gitem:nth-child(n+7){display:none;}
  .cta-band-inner{align-items:flex-start;flex-direction:column;}
  .cta-actions{width:100%;}.cta-actions .btn{flex:1 1 100%;}
  .contact-grid,.offer-nav,.offer-index-section .offer-nav,.story-grid,.about-feature{grid-template-columns:1fr;}
  .cbox{min-height:auto;}
  .svc{padding:1.5rem 1.25rem;}
  .bday-grid{grid-template-columns:1fr;}
  .birthday-offer{padding:1.25rem;border-radius:18px;}.birthday-offer-head{grid-template-columns:1fr;gap:1rem}.birthday-offer-head h2{font-size:clamp(2.1rem,10.5vw,3.1rem)}.offer-steps{grid-template-columns:1fr}.birthday-packages,.theme-list,.offer-card-grid{grid-template-columns:1fr}.theme-list{padding:0 .8rem .8rem}.birthday-cta,.offer-card-bottom{align-items:stretch;flex-direction:column}.birthday-cta .btn,.offer-card-bottom .btn{width:100%}.offer-card-wide{grid-column:auto}.offer-card{padding:1.35rem}.offer-price span{max-width:none}
  .about-feature .section-photo{min-height:300px;}
  .ft-inner{flex-direction:column;}
}

@media (max-width:420px){
  .wrap,.top-inner{max-width:calc(100vw - 24px);}
  .top .logo-img{height:32px;}
  .btn-login{min-height:38px;padding:.45rem .7rem;letter-spacing:.06em;}
  .gallery-grid.big{grid-template-columns:1fr 1fr;}
}

/* Pierwsza wizyta — krótkie odpowiedzi dla nowych tancerzy. */
.first-visit-section{position:relative;background:linear-gradient(145deg,#12151e 0%,#171923 58%,#11141c 100%);border-block:1px solid rgba(255,255,255,.05);}
.first-visit-section .wrap{position:relative;}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.35rem;}
.faq-item{min-width:0;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 92%,transparent);overflow:hidden;}
.faq-item[open]{border-color:color-mix(in srgb,var(--red) 48%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--red) 8%,var(--panel)),var(--panel));}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px;padding:1.1rem 1.25rem;cursor:pointer;color:var(--white);font-family:var(--font-d);font-size:1rem;font-weight:650;line-height:1.35;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;color:var(--red-soft);font-size:1.15rem;font-weight:400;}
.faq-item[open] summary::after{content:"−";border-color:var(--red);}
.faq-item>div{padding:0 1.25rem 1.25rem;}
.faq-item p{max-width:62ch;margin:0;color:var(--muted);font-size:.96rem;line-height:1.7;}
.first-visit-cta{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-top:1rem;padding:1.1rem 1.25rem;border-left:3px solid var(--red);border-radius:0 14px 14px 0;background:var(--panel-2);}
.first-visit-cta div{display:grid;gap:.2rem;min-width:0;}
.first-visit-cta strong{color:var(--white);font-family:var(--font-d);font-size:1.02rem;}
.first-visit-cta span{color:var(--muted);font-size:.9rem;line-height:1.5;}
.first-visit-cta .btn{flex:none;text-decoration:none;}
@media(max-width:760px){
  .faq-grid{grid-template-columns:1fr;}
  .faq-item summary{min-height:64px;padding:1rem;font-size:.95rem;}
  .faq-item>div{padding:0 1rem 1rem;}
  .first-visit-cta{align-items:stretch;flex-direction:column;}
  .first-visit-cta .btn{width:100%;text-align:center;}
}

/* Logowanie i rejestracja klienta */
.auth-page .login-stage{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:3rem 1.5rem;
  background:
    linear-gradient(90deg,rgba(8,10,17,.95),rgba(8,10,17,.72)),
    url("img/hero-v2-1280.webp") center / cover fixed no-repeat;
}
.auth-shell{width:min(1160px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,480px);gap:clamp(2rem,7vw,7rem);align-items:center;}
.auth-intro{max-width:590px;}
.auth-intro .logo-img{height:52px;margin-bottom:3rem;}
.auth-intro h1{font-size:clamp(3rem,6vw,5.5rem);font-weight:300;line-height:.98;letter-spacing:-.035em;}
.auth-intro h1 strong{font-weight:600;}
.auth-intro>p:not(.eyebrow){max-width:48ch;margin-top:1.2rem;color:#ced2dd;font-size:1.08rem;}
.auth-benefits{display:grid;gap:.7rem;margin:2rem 0 0;padding:0;list-style:none;color:#d9dce4;font-size:.92rem;}
.auth-benefits li{display:flex;align-items:center;gap:.65rem;}
.auth-benefits li::before{content:"✓";display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok);font-size:.72rem;font-weight:700;}
.auth-page .login-box{width:100%;max-width:none;padding:2.1rem 2.2rem;border-radius:20px;border-color:rgba(255,255,255,.14);background:rgba(19,23,33,.94);box-shadow:0 30px 90px rgba(0,0,0,.42);backdrop-filter:blur(16px);}
.auth-page .login-box .logo-img{height:42px;margin:0 0 1.2rem;}
.auth-page .login-box h2,.auth-page .login-box h1{font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.15;margin-bottom:.55rem;}
.auth-page .login-sub{margin-bottom:1.5rem;color:var(--muted);font-size:.96rem;line-height:1.65;text-align:left;}
.auth-page .fld{margin-bottom:1.15rem;}
.auth-page .fld span{margin-bottom:.45rem;color:var(--muted);font-size:.74rem;letter-spacing:.11em;}
.auth-page .fld input{min-height:52px;padding:.75rem .9rem;border-radius:9px;font-size:1rem;}
.auth-page .login-foot{margin-top:1.2rem;color:var(--muted);font-size:.88rem;}
.auth-page .login-foot a{color:var(--white);}
.auth-page .auth-back{display:inline-flex;margin-top:1.2rem;color:var(--muted);font-size:.85rem;text-decoration:none;}
.auth-page .auth-back:hover{color:var(--white);}
.auth-page .form-err,.auth-page .flash{padding:.8rem 1rem;border-radius:10px;font-size:.9rem;}
.auth-page .rodo{font-size:.84rem!important;line-height:1.5;}

@media(max-width:820px){
  .auth-page .login-stage{align-items:start;padding:1.5rem 1rem;background-position:66% center;}
  .auth-shell{grid-template-columns:1fr;gap:1.5rem;max-width:560px;}
  .auth-intro .logo-img{height:38px;margin-bottom:2rem;}
  .auth-intro h1{font-size:clamp(2.7rem,13vw,4rem);}
  .auth-intro>p:not(.eyebrow),.auth-benefits{display:none;}
  .auth-page .login-box{padding:1.6rem 1.3rem;}
}
.live-offers{margin:2rem 0 2.4rem;padding:2rem;border:1px solid color-mix(in srgb,var(--red) 30%,var(--line));border-radius:18px;background:linear-gradient(125deg,color-mix(in srgb,var(--red) 8%,var(--panel)),var(--panel));}
.live-offers-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:2rem;align-items:end;margin-bottom:1.3rem;}
.live-offers-head h2{font-size:clamp(1.75rem,3.3vw,3rem);line-height:1.05;margin:.25rem 0 0;}
.live-offers-head>p{color:var(--muted);line-height:1.65;margin:0;}
.live-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;}
.live-offer-card{display:flex;flex-direction:column;min-height:330px;padding:1.25rem;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel-2) 88%,transparent);}
.live-offer-card-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;}
.live-offer-card-top>span{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:color-mix(in srgb,var(--red) 14%,var(--panel));color:var(--red-soft);}
.live-offer-card-top em{color:var(--muted);font-family:var(--font-d);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-style:normal;}
.live-offer-card h3{font-size:1.3rem;line-height:1.22;margin:0 0 .8rem;}
.live-offer-card>p{color:var(--muted);font-size:.88rem;line-height:1.62;margin:.8rem 0 1rem;}
.live-offer-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;}
.live-offer-meta>span{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .65rem;border-radius:8px;background:var(--panel);}
.live-offer-meta small{color:var(--dimmed);font-size:.62rem;}
.live-offer-meta b{font-size:.8rem;line-height:1.35;}
.live-offer-card>.btn{align-self:flex-start;margin-top:auto;text-decoration:none;}
@media(max-width:760px){.live-offers{padding:1.25rem;margin:1.3rem 0 1.8rem}.live-offers-head{grid-template-columns:1fr;gap:.8rem}.live-offer-grid{grid-template-columns:1fr}.live-offer-card{min-height:0}.live-offer-meta{grid-template-columns:1fr}.live-offer-card>.btn{width:100%;text-align:center}}

/* Hall of Fame — kompaktowa kronika sukcesów zarządzana z panelu. */
.hall-of-fame-section[hidden]{display:none;}
.hall-of-fame-section{position:relative;overflow:hidden;background:linear-gradient(145deg,#171821 0%,#11141d 60%,#19151a 100%);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);}
.hall-of-fame-section::before{content:"";position:absolute;width:520px;height:520px;right:-230px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(210,163,72,.15),transparent 68%);pointer-events:none;}
.hall-of-fame-section .wrap{position:relative;z-index:1;}
.hall-of-fame-section .eyebrow{color:#e9c775;}
.hof-public-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;}
.hof-public-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(233,199,117,.22);border-radius:16px;background:linear-gradient(165deg,rgba(31,33,44,.97),rgba(19,22,31,.98));box-shadow:0 18px 45px rgba(0,0,0,.18);}
.hof-public-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:#0c0f16;}
.hof-public-photo::after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(8,10,15,.68));pointer-events:none;}
.hof-public-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.hof-public-photo img:not([src]),.gallery-grid.big img:not([src]){visibility:hidden;}
.hof-public-card:hover .hof-public-photo img{transform:scale(1.035);}
.hof-public-photo>span{position:absolute;z-index:1;right:.65rem;bottom:.6rem;padding:.25rem .5rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(8,10,15,.72);color:#f3d98f;font-family:var(--font-d);font-size:.65rem;letter-spacing:.08em;backdrop-filter:blur(8px);}
.hof-public-body{display:flex;flex:1;flex-direction:column;padding:1rem 1.05rem 1.1rem;}
.hof-public-body>small{margin-bottom:.4rem;color:#e9c775;font-family:var(--font-d);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;}
.hof-public-body h3{margin:0 0 .35rem;font-size:1.15rem;line-height:1.18;letter-spacing:-.01em;}
.hof-public-body>b{color:#dde0e8;font-size:.79rem;line-height:1.45;}
.hof-public-body>p{margin:.65rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.55;}
.hof-public-grid .hof-extra{display:none;}
.hof-public-grid.is-expanded .hof-extra{display:flex;}
.hof-public-actions{display:flex;justify-content:center;margin-top:1.35rem;}
.hof-public-actions .btn{min-width:230px;}
@media(max-width:1050px){.hof-public-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.hof-public-grid{grid-template-columns:1fr}.hof-public-photo{aspect-ratio:16/10}.hof-public-body{padding:1rem}.hof-public-actions .btn{width:100%}}

/* Mobilny standard publicznej strony — czytelne menu, dotyk i układ bez miniaturowych treści. */
.nav-toggle{display:none;}

/* Poniższe sekcje są wielokrotnie poza pierwszym ekranem. Chrome zachowuje
   ich semantykę, ale odkłada koszt układu do chwili zbliżenia się widoku. */
@supports (content-visibility:auto){
  body>main>section:not(.hero){
    content-visibility:auto;
    contain-intrinsic-size:900px;
  }
}
.dtab-short{display:none;}
body.public-nav-open{overflow:hidden;}
.mobile-schedule{display:none;}

@media(max-width:1050px){
  header.top.public-nav-ready{isolation:isolate;}
  header.top.public-nav-ready .top-inner{position:relative;flex-wrap:nowrap;gap:.7rem;padding:.7rem 0;}
  header.top.public-nav-ready .logo{flex:none;}
  header.top.public-nav-ready .btn-login{order:2;margin-left:auto;}
  header.top.public-nav-ready .nav-toggle{
    order:3;display:inline-flex;min-width:48px;min-height:44px;padding:.45rem .7rem;align-items:center;justify-content:center;gap:.45rem;
    border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--white);
    font-family:var(--font-d);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  }
  header.top.public-nav-ready .nav-toggle>span:first-child,
  header.top.public-nav-ready .nav-toggle>span:first-child::before,
  header.top.public-nav-ready .nav-toggle>span:first-child::after{
    display:block;width:16px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease;
  }
  header.top.public-nav-ready .nav-toggle>span:first-child{position:relative;}
  header.top.public-nav-ready .nav-toggle>span:first-child::before,
  header.top.public-nav-ready .nav-toggle>span:first-child::after{content:"";position:absolute;left:0;}
  header.top.public-nav-ready .nav-toggle>span:first-child::before{top:-5px;}
  header.top.public-nav-ready .nav-toggle>span:first-child::after{top:5px;}
  header.top.public-nav-ready.nav-open .nav-toggle{border-color:var(--red);background:color-mix(in srgb,var(--red) 14%,var(--panel));}
  header.top.public-nav-ready.nav-open .nav-toggle>span:first-child{background:transparent;}
  header.top.public-nav-ready.nav-open .nav-toggle>span:first-child::before{top:0;transform:rotate(45deg);}
  header.top.public-nav-ready.nav-open .nav-toggle>span:first-child::after{top:0;transform:rotate(-45deg);}
  header.top.public-nav-ready nav.main{
    position:absolute;z-index:50;top:calc(100% + .55rem);left:0;right:0;display:none;width:auto;max-height:calc(100svh - 92px);
    margin:0;padding:.65rem;overflow-y:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;flex-wrap:wrap;
    border:1px solid color-mix(in srgb,var(--red) 30%,var(--line));border-radius:16px;
    background:rgba(18,21,30,.985);box-shadow:0 24px 70px rgba(0,0,0,.58);backdrop-filter:blur(20px);
  }
  header.top.public-nav-ready.nav-open nav.main{display:grid;}
  header.top.public-nav-ready nav.main a{
    display:flex;min-height:50px;padding:.75rem .9rem;align-items:center;border:1px solid transparent;border-radius:10px;
    color:var(--white);font-size:.78rem;line-height:1.25;white-space:normal;
  }
  header.top.public-nav-ready nav.main a:hover{border-color:var(--line);background:var(--panel-2);}
  header.top.public-nav-ready nav.main a.here{border:1px solid color-mix(in srgb,var(--red) 45%,var(--line));background:color-mix(in srgb,var(--red) 12%,var(--panel));}
}

@media(max-width:760px){
  html{scroll-padding-top:92px;}
  body{font-size:16px;overflow-wrap:anywhere;}
  img,video{max-width:100%;}
  .wrap,.top-inner{width:auto;max-width:calc(100vw - 32px);}
  section{padding:3.8rem 0;}
  .eyebrow{font-size:.7rem;letter-spacing:.18em;line-height:1.45;}
  .section-lead{gap:.85rem;margin-bottom:1.55rem;}
  .section-lead h2{font-size:clamp(2.05rem,10.5vw,3rem);line-height:1.02;}
  .section-lead>p{font-size:.96rem;line-height:1.65;}
  .btn,.btn-login,.chip,.dtab,.rbtn{min-height:46px;}

  header.top.public-nav-ready .top-inner{max-width:calc(100vw - 24px);padding:.58rem 0;}
  header.top.public-nav-ready .top .logo-img,header.top.public-nav-ready .logo-img{height:32px;}
  header.top.public-nav-ready .btn-login{min-height:42px;padding:.55rem .75rem;font-size:.65rem;}
  header.top.public-nav-ready .nav-toggle{width:44px;min-width:44px;min-height:42px;padding:.45rem;}
  header.top.public-nav-ready .nav-toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
  header.top.public-nav-ready nav.main{top:calc(100% + .35rem);grid-template-columns:1fr;padding:.55rem;border-radius:14px;}

  .hero{padding:3.7rem 0 3.4rem;}
  .hero:not(.home-hero){min-height:0;}
  .hero:not(.home-hero) h1{font-size:clamp(2.25rem,12vw,3.25rem);line-height:1.03;}
  .hero:not(.home-hero) .sub{margin-top:1rem;font-size:1rem;line-height:1.65;}
  .hero.hero-photo{min-height:calc(100svh - 62px);padding:4.2rem 0 2.2rem;background-position:68% center;}
  .home-hero h1{font-size:clamp(2.85rem,14vw,4rem);line-height:.98;}
  .home-hero .sub{margin-top:1.15rem;font-size:.96rem;line-height:1.6;}
  .hero-actions{gap:.55rem;margin-top:1.35rem;}
  .hero-actions .btn{min-height:50px;}
  .hero-proof{margin-top:1.35rem;}
  .hero-proof li,.hero-proof li+li{padding:.55rem 0;}
  .hero-proof strong{font-size:.86rem;}
  .hero-proof span{font-size:.72rem;}

  .journey-strip{border-radius:14px;}
  .journey-step{padding:1rem;}
  .finder{margin-top:1.4rem;padding:1.15rem .9rem;border-radius:14px;}
  .finder .q{margin-bottom:1rem;}
  .q-label{font-size:.68rem;line-height:1.45;}
  .chips{gap:.45rem;}
  .chip{padding:.5rem .82rem;font-size:.82rem;}
  .results{margin-top:1.15rem;padding-top:1rem;}
  .rgrid{gap:.75rem;}
  .rcard{padding:1rem;border-radius:6px 13px 13px 6px;}
  .rcard .rname{font-size:1.03rem;}
  .rcard .rmeta,.rteacher strong{font-size:.8rem;}
  .rteacher img,.rteacher-initial{width:2.55rem;height:2.55rem;}
  .racts{flex-direction:column;}
  .rcard .rbtn{display:flex;width:100%;align-items:center;justify-content:center;padding:.65rem .8rem;}
  .rcard .rbtn.go{order:-1;}

  .daytabs{display:grid;width:100%;grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 1rem;padding:0;gap:.35rem;overflow:visible;}
  .dtab{min-width:0;padding:.55rem .25rem;font-size:.7rem;letter-spacing:.09em;}
  .dtab-full{display:none;}
  .dtab-short{display:inline;}
  .legend{gap:.35rem .8rem;margin-bottom:1rem;font-size:.72rem;}
  .grid-scroll{overflow:visible;border:0;background:transparent;}
  .tgrid{min-width:0;}
  .tgrid.mobile-schedule{display:grid!important;min-width:0;padding:0;gap:.65rem;background:transparent;}
  .mobile-schedule-card{
    display:grid;grid-template-columns:72px minmax(0,1fr) 28px;gap:.75rem;align-items:center;min-height:86px;padding:.85rem .9rem;
    border:1px solid color-mix(in srgb,var(--c) 38%,var(--line));border-left:4px solid var(--c);border-radius:12px;
    background:linear-gradient(105deg,color-mix(in srgb,var(--c) 10%,var(--panel)),var(--panel));color:var(--white);text-decoration:none;
  }
  .mobile-schedule-card:active{transform:scale(.99);}
  .mobile-schedule-time{display:grid;gap:.05rem;color:var(--white);font-family:var(--font-d);font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums;}
  .mobile-schedule-time small{color:var(--muted);font-family:var(--font-b);font-size:.65rem;font-weight:400;}
  .mobile-schedule-copy{display:grid;min-width:0;gap:.2rem;}
  .mobile-schedule-copy b{font-family:var(--font-d);font-size:.92rem;line-height:1.25;}
  .mobile-schedule-copy span{color:var(--muted);font-size:.72rem;line-height:1.35;}
  .mobile-schedule-arrow{color:var(--red-soft);font-size:1.25rem;text-align:right;}
  .mobile-schedule-empty{padding:1.2rem;border:1px dashed var(--line);border-radius:12px;color:var(--muted);}

  .news-card,.offer-card,.story-card,.team-card,.cbox,.card{border-radius:14px;}
  .news-card{padding:1.15rem;}
  .news-card:first-child:has(.news-media) .news-media{width:calc(100% + 2.3rem);height:220px;margin:-1.15rem -1.15rem 1.1rem;}
  .gallery-grid.big{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gallery-grid.big img{height:auto;aspect-ratio:1/1;object-fit:cover;}
  .cta-band-inner{gap:1.25rem;}
  .cta-band h2{font-size:clamp(1.85rem,10vw,2.65rem);line-height:1.08;}
  .contact-grid{gap:.7rem;margin-top:1.2rem;}
  .cbox{padding:1.1rem 1.15rem;}
  .ft-inner{gap:1.25rem;}
  .ft nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.4rem .9rem;}
  .ft nav a{display:flex;min-height:44px;align-items:center;}

  .public-form-page .form-hero{padding-top:3rem;}
  .public-form-page .back-link{min-height:44px;align-items:center;margin-bottom:.75rem;}
  .public-form-page .form-card{border-radius:16px;}
  .public-form-page .fld{margin-bottom:1rem;}
  .public-form-page .fld input,.public-form-page .fld select,.public-form-page .fld textarea{min-height:54px;font-size:16px;}
  .public-form-page .rodo{grid-template-columns:24px minmax(0,1fr);gap:.75rem;font-size:.86rem;line-height:1.55;}
  .public-form-page .rodo input{width:22px;height:22px;margin:.05rem 0 0;}
  .public-form-page .okbox{padding:1.25rem;}
  .public-form-page .course-facts{gap:.45rem;margin:1rem 0 1.25rem;}
  .public-form-page .course-fact{width:100%;border-radius:10px;padding:.65rem .8rem;font-size:.86rem;}
  .public-form-page .course-instructor{gap:.85rem;padding:1rem;margin-bottom:1rem;}
  .public-form-page .signup-side,.public-form-page .booking-side{padding:1.15rem;}

  .auth-page .login-stage{padding:1rem .75rem 2rem;background-attachment:scroll;}
  .auth-shell{gap:1rem;}
  .auth-intro .logo-img{height:34px;margin-bottom:1.1rem;}
  .auth-intro h1{font-size:clamp(2.15rem,11vw,3rem);line-height:1.02;}
  .auth-page .login-box{padding:1.35rem 1rem;border-radius:16px;}
  .auth-page .fld input{min-height:54px;font-size:16px;}
  .auth-page .rodo{grid-template-columns:24px minmax(0,1fr);gap:.7rem;}
  .auth-page .rodo input{width:22px;height:22px;}
}

@media(max-width:380px){
  .wrap{max-width:calc(100vw - 24px);}
  header.top.public-nav-ready .top-inner{max-width:calc(100vw - 16px);}
  header.top.public-nav-ready .btn-login{padding:.5rem .62rem;font-size:.61rem;}
  .mobile-schedule-card{grid-template-columns:64px minmax(0,1fr) 20px;gap:.55rem;padding:.75rem;}
  .gallery-grid.big{grid-template-columns:1fr;}
  .ft nav{grid-template-columns:1fr;}
}

/* Zwarty front mobilny: krótsze wejście, widoczne zdjęcie i mniej opisowych przerw. */
@media(max-width:760px){
  :root{--font-d:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;}
  section{padding:2.8rem 0;}
  .section-lead{margin-bottom:1.05rem;}
  .section-lead>p{display:none;}

  .hero.hero-photo{
    display:block;min-height:0!important;padding:0 0 2.15rem;
    background:var(--space);
  }
  .hero.hero-photo::before{
    content:none;
  }
  .hero-media{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/2;}
  .hero-media img{object-position:center;}
  .hero-media::after{background:linear-gradient(180deg,rgba(7,9,16,.02) 0%,rgba(7,9,16,.03) 72%,var(--space) 100%);}
  .home-hero .hero-content{margin-top:-1.45rem;}
  .home-hero .eyebrow{margin-bottom:.65rem;}
  .home-hero .hero-kicker{gap:.16rem;}
  .home-hero .hero-kicker strong{font-size:.82em;letter-spacing:.1em;}
  .home-hero h1{max-width:none;font-size:clamp(2.15rem,9.5vw,2.7rem);font-weight:400;line-height:1.02;letter-spacing:-.035em;}
  .home-hero h1 strong{font-weight:750;}
  .home-hero .sub{max-width:34rem;margin-top:.85rem;font-size:.92rem;line-height:1.55;}
  .hero-actions{margin-top:1.1rem;}
  .hero-proof{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.05rem;padding-top:.55rem;}
  .hero-proof li,.hero-proof li+li{min-width:0;padding:.55rem .45rem;border-top:0;border-left:1px solid rgba(255,255,255,.13);text-align:center;}
  .hero-proof li:first-child{border-left:0;}
  .hero-proof strong{font-size:.68rem;line-height:1.35;}
  .hero-proof span{display:none;}

  .journey-strip{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:.8rem;border-radius:12px;}
  .journey-strip li{display:flex;min-width:0;padding:.75rem .45rem;align-items:center;flex-direction:column;gap:.25rem;text-align:center;}
  .journey-strip span{grid-row:auto;font-size:.62rem;}
  .journey-strip strong{font-size:.72rem;line-height:1.3;}
  .journey-strip small{display:none;}
  .finder{margin-top:.8rem;}

  .first-visit-cta span{display:none;}
  .first-visit-cta{gap:.75rem;padding:1rem;}
  .cta-band-inner>div>p:last-child{display:none;}
}

@media(max-width:600px){
  .hof-public-grid:not(.is-expanded) .hof-mobile-extra{display:none;}
  .hof-public-grid.is-expanded .hof-mobile-extra{display:flex;}
}
