/* Paweł Kuligi / Sleigh Ride - demo. Noc nad Tatrami, śnieg, bursztyn pochodni. */
:root{
  --noc:#0B1630; --noc-2:#13244A; --noc-3:#1C3263; --noc-0:#070F22;
  --snieg:#F2F6FB; --bialy:#FFFFFF; --lod:#DDE7F3; --lod-2:#C9D7EA;
  --tusz:#0E1A33; --szary:#4E5D78; --szary-j:rgba(255,255,255,.74);
  --amber:#F29A2E; --amber-2:#FFB451; --amber-ink:#9A4F05; --amber-ciem:#1D1203;
  --wa:#1FA855;
  --r:22px; --r-s:14px;
  --cien:0 24px 60px -24px rgba(11,22,48,.35), 0 2px 6px rgba(11,22,48,.06);
  --f-d:"Fraunces", Georgia, serif; --f:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --pad:clamp(64px, 9vw, 120px);
  --hh:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:calc(var(--hh) + 12px); -webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto} *{animation:none!important; transition:none!important}}
body{margin:0; font-family:var(--f); font-size:17px; line-height:1.6; color:var(--tusz); background:var(--snieg); overflow-x:hidden}
img{max-width:100%; display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-d); font-weight:600; line-height:1.08; margin:0; letter-spacing:-.01em; font-optical-sizing:auto}
h2{font-size:clamp(32px, 4.6vw, 56px)}
h3{font-size:clamp(21px, 2vw, 26px)}
p{margin:0}
.wrap{width:100%; max-width:1240px; margin:0 auto; padding:0 clamp(16px, 4vw, 40px)}
.ic{width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}
.skip{position:absolute; left:-9999px; top:8px; z-index:100; background:var(--amber); color:var(--amber-ciem); padding:10px 16px; border-radius:999px}
.skip:focus{left:12px}
:focus-visible{outline:3px solid var(--amber); outline-offset:3px; border-radius:6px}

/* ---------- przyciski ---------- */
.btn{--bg:var(--bialy); --fg:var(--tusz); display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 22px;
  border-radius:999px; border:1px solid transparent; background:var(--bg); color:var(--fg); font:600 15px/1.2 var(--f); text-decoration:none; cursor:pointer;
  transition:transform .2s, box-shadow .25s, background .2s; white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn span{display:flex; flex-direction:column; align-items:flex-start; gap:2px}
.btn small{font-weight:500; font-size:12px; opacity:.75; letter-spacing:.01em}
.btn--lg{min-height:62px; padding:12px 26px 12px 20px; font-size:16px}
.btn--lg .ic{width:22px; height:22px}
.btn--full{width:100%}
.btn--amber{--bg:var(--amber); --fg:var(--amber-ciem); box-shadow:0 10px 30px -10px rgba(242,154,46,.8)}
.btn--amber:hover{--bg:var(--amber-2)}
.btn--glow{--bg:rgba(255,255,255,.12); --fg:#fff; border-color:rgba(255,255,255,.5); position:relative; backdrop-filter:blur(6px)}
.btn--glow::after{content:""; position:absolute; inset:-1px; border-radius:inherit; box-shadow:0 0 0 0 rgba(255,180,81,.55); animation:puls 2.4s ease-out infinite; pointer-events:none}
@keyframes puls{0%{box-shadow:0 0 0 0 rgba(255,180,81,.55)} 70%{box-shadow:0 0 0 12px rgba(255,180,81,0)} 100%{box-shadow:0 0 0 0 rgba(255,180,81,0)}}
.btn--glow:hover{--bg:rgba(255,255,255,.2)}
.btn--light{--bg:#fff; --fg:var(--tusz)}
.btn--light .ic{width:18px; height:18px}
.btn--dark{--bg:var(--noc); --fg:#fff}
.btn--ghost{--bg:transparent; --fg:var(--tusz); border-color:var(--lod-2)}
.btn--wa{--bg:var(--wa); --fg:#fff}

/* ---------- topbar + nagłówek ---------- */
.topbar{background:var(--noc-0); color:var(--szary-j); font-size:13px}
.topbar__in{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:40px}
.topbar__txt{display:flex; align-items:center; gap:8px}
.topbar__txt .ic{width:15px; height:15px; color:var(--amber)}
.topbar__r{display:flex; align-items:center; gap:18px}
.jezyki{display:flex; align-items:center; gap:2px}
.jezyki .ic{width:15px; height:15px; margin-right:4px}
.jezyki a{padding:4px 7px; border-radius:999px; text-decoration:none; font-weight:600; font-size:12px; letter-spacing:.04em}
.jezyki a:hover{color:#fff}
.jezyki a[aria-current]{background:rgba(255,255,255,.14); color:#fff}
.soc{display:flex; gap:6px}
.soc a{display:grid; place-items:center; width:34px; height:34px; border-radius:50%; border:1px solid rgba(255,255,255,.18); color:#fff; opacity:.8}
.soc a:hover{opacity:1; border-color:var(--amber)}
.soc--mini a{width:28px; height:28px; border:0; opacity:.65}
.soc--mini .ic{width:16px; height:16px}

.naglowek{position:sticky; top:0; z-index:40; background:rgba(11,22,48,.86); backdrop-filter:blur(14px) saturate(1.3); -webkit-backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:1px solid rgba(255,255,255,.08); color:#fff}
.naglowek__in{display:flex; align-items:center; gap:18px; min-height:var(--hh)}
.logo{display:flex; align-items:center; gap:12px; text-decoration:none; margin-right:auto}
.logo__znak{display:block; width:auto; height:44px; flex:none}
.logo__txt{display:flex; flex-direction:column; line-height:1.05}
.logo__txt b{font-family:var(--f-d); font-size:21px; font-weight:700; letter-spacing:-.01em}
.logo__txt small{font-size:11px; letter-spacing:.16em; text-transform:uppercase; opacity:.7; margin-top:4px}
.naglowek__tel{display:none; align-items:center; gap:8px; text-decoration:none; font-weight:600; font-size:15px; letter-spacing:.01em}
.naglowek__tel .ic{color:var(--amber)}
.naglowek__cta{display:none; gap:10px}
.naglowek__cta .btn{min-height:44px; padding:10px 18px; font-size:14px}
.burger{display:grid; place-items:center; width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; cursor:pointer}
.burger .ic{width:22px; height:22px}
@media (min-width: 760px){ .naglowek__cta{display:flex} }
@media (min-width: 1120px){ .naglowek__tel{display:flex} }
@media (max-width: 759px){ .topbar__txt{display:none} .topbar__in{justify-content:center} .soc--mini{display:none} :root{--hh:66px} .logo__znak{height:36px} .logo__txt b{font-size:19px} }

/* panel boczny (poza nagłówkiem) */
.panel{position:fixed; inset:0; z-index:80}
.panel[hidden]{display:none}
.panel__tlo{position:absolute; inset:0; background:rgba(5,10,24,.55); backdrop-filter:blur(3px)}
.panel__in{position:absolute; top:0; right:0; bottom:0; width:min(420px, 92vw); background:var(--noc); color:#fff; padding:76px 28px 28px; display:flex; flex-direction:column; gap:26px; overflow:auto;
  animation:wjazd .35s cubic-bezier(.2,.8,.2,1)}
@keyframes wjazd{from{transform:translateX(100%)} to{transform:none}}
.panel__x{position:absolute; top:16px; right:16px; width:46px; height:46px; border-radius:50%; border:1px solid rgba(255,255,255,.25); background:none; color:#fff; display:grid; place-items:center; cursor:pointer}
.panel__nav{display:flex; flex-direction:column}
.panel__nav a{font-family:var(--f-d); font-size:28px; text-decoration:none; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.08)}
.panel__nav a:hover{color:var(--amber-2)}
.panel__cta{display:grid; gap:10px}
.panel__cta .btn--ghost{--fg:#fff; border-color:rgba(255,255,255,.25)}
.jezyki--panel{flex-wrap:wrap; gap:6px}
.jezyki--panel a{border:1px solid rgba(255,255,255,.2); padding:8px 12px}

/* ---------- hero ---------- */
.hero{position:relative; color:#fff; isolation:isolate; overflow:hidden; background:var(--noc)}
.hero__media{position:absolute; inset:0; z-index:-2}
.hero__media img, .hero__media video{width:100%; height:100%; object-fit:cover; object-position:50% 55%; animation:kenburns 26s ease-in-out infinite alternate}
@keyframes kenburns{from{transform:scale(1.02)} to{transform:scale(1.1) translate(-1%, 1%)}}
.hero::before{content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg, rgba(7,15,34,.9) 0%, rgba(7,15,34,.62) 38%, rgba(7,15,34,.18) 72%, rgba(7,15,34,.3) 100%), linear-gradient(0deg, rgba(7,15,34,.8) 0%, rgba(7,15,34,0) 35%)}
.hero__znak{position:absolute; z-index:-1; left:50%; top:-.06em; transform:translateX(-50%); font-family:var(--f-d); font-weight:700; font-size:clamp(120px, 27vw, 420px);
  line-height:1; letter-spacing:.04em; color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.13); white-space:nowrap; pointer-events:none; user-select:none}
.hero__in{display:grid; gap:40px; align-items:center; padding-block:clamp(48px, 7vw, 96px) clamp(48px, 6vw, 80px); min-height:min(calc(100svh - var(--hh) - 40px), 880px)}
.hero__eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:13px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--amber-2)}
.hero__eyebrow::before{content:""; width:28px; height:1.5px; background:currentColor}
.hero h1{font-size:clamp(44px, 8vw, 104px); hyphens:auto; -webkit-hyphens:auto; overflow-wrap:break-word; font-weight:700; margin:14px 0 18px; letter-spacing:-.02em}
.hero__claim{font-family:var(--f-d); font-size:clamp(22px, 2.5vw, 30px); line-height:1.25; max-width:24ch; font-weight:400}
.hero__lead{margin-top:18px; max-width:56ch; color:rgba(255,255,255,.8)}
.hero__cta{display:flex; flex-wrap:wrap; gap:14px; margin-top:32px}
.hero__chips{list-style:none; padding:0; margin:28px 0 0; display:flex; flex-wrap:wrap; gap:8px 18px; font-size:14px; color:rgba(255,255,255,.85)}
.hero__chips li{display:flex; align-items:center; gap:7px}
.hero__chips .ic{width:16px; height:16px; color:var(--amber-2)}
@media (min-width: 1000px){ .hero__in{grid-template-columns:1.12fr minmax(360px, .88fr); gap:56px} }
@media (max-width: 759px){ .hero::before{background:linear-gradient(180deg, rgba(7,15,34,.55) 0%, rgba(7,15,34,.82) 46%, rgba(7,15,34,.97) 70%)} .hero__cta .btn{width:100%; justify-content:flex-start} }

/* formularz dostępności */
.rez{background:rgba(255,255,255,.97); color:var(--tusz); border-radius:var(--r); padding:clamp(20px, 2.4vw, 28px); box-shadow:0 40px 80px -30px rgba(0,0,0,.6); display:grid; gap:14px; scroll-margin-top:calc(var(--hh) + 16px)}
.rez__head h2{font-size:clamp(24px, 2.4vw, 30px)}
.rez__head p{font-size:14px; color:var(--szary); margin-top:6px}
.pole{display:grid; gap:6px; font-size:13px; font-weight:600; color:var(--szary)}
.pole select, .pole input{width:100%; min-height:48px; border:1px solid var(--lod-2); border-radius:12px; background:var(--snieg); padding:10px 12px; font:500 16px var(--f); color:var(--tusz)}
.pole select:focus, .pole input:focus{outline:2px solid var(--amber); border-color:transparent}
.rez__2{display:grid; grid-template-columns:1.2fr 1fr; gap:12px}
.licz{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--lod)}
.licz__l{display:flex; flex-direction:column; line-height:1.25}
.licz__l b{font-size:15px}
.licz__l small{font-size:12.5px; color:var(--szary)}
.licz__s{display:flex; align-items:center; gap:4px}
.licz__s button{width:38px; height:38px; border-radius:50%; border:1px solid var(--lod-2); background:#fff; color:var(--tusz); display:grid; place-items:center; cursor:pointer}
.licz__s button:hover{border-color:var(--amber)}
.licz__s .ic{width:16px; height:16px}
.licz__s output{min-width:30px; text-align:center; font-weight:700; font-size:17px}
.rez__suma{display:flex; align-items:baseline; justify-content:space-between; padding-top:4px}
.rez__suma span{font-weight:600; color:var(--szary)}
.rez__suma strong{font-family:var(--f-d); font-size:32px}
.rez__btns{display:grid; gap:10px}
.rez__note{font-size:13px; color:var(--szary); text-align:center}

/* pasek pod hero */
.pasek{background:var(--noc-2); color:#fff; overflow:hidden; border-top:1px solid rgba(255,255,255,.08)}
.pasek__tor{list-style:none; margin:0 auto; padding:18px clamp(16px, 4vw, 40px); max-width:1240px; display:flex; justify-content:space-between; gap:28px}
.pasek__tor li{display:flex; align-items:center; gap:10px; font-weight:600; font-size:15px; white-space:nowrap}
.pasek__tor .ic{width:26px; height:26px; color:var(--amber-2)}
@media (max-width: 1180px){
  .pasek__tor{max-width:none; width:max-content; justify-content:flex-start; gap:36px; animation:tasma 34s linear infinite}
  @keyframes tasma{to{transform:translateX(-50%)}}
}

/* ---------- nagłówki sekcji ---------- */
.sek-head{max-width:760px; margin-bottom:clamp(32px, 4vw, 52px)}
.sek-head .lead{margin-top:16px}
.kicker{font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--amber-ink); margin-bottom:14px; display:flex; align-items:center; gap:10px}
.kicker::before{content:""; width:22px; height:1.5px; background:currentColor}
.lead{font-size:18px; color:var(--szary); max-width:60ch}
.sek-head--jasny{color:#fff}
.sek-head--jasny .kicker{color:var(--amber-2)}
.sek-head--jasny .lead{color:var(--szary-j)}
.sek-head--rzad{max-width:none; display:grid; gap:16px}
@media (min-width: 900px){ .sek-head--rzad{grid-template-columns:1fr 1fr; align-items:end} .sek-head--rzad .lead{margin:0} }

/* ---------- trasy: kolumny jak w Holny ---------- */
.trasy{background:var(--noc); padding-top:var(--pad); color:#fff}
.kolumny{display:flex; height:min(720px, 86vh); min-height:560px}
.kol{position:relative; flex:1; overflow:hidden; transition:flex .7s cubic-bezier(.2,.8,.2,1); border-left:1px solid rgba(255,255,255,.12); isolation:isolate}
.kol:first-child{border-left:0}
.kol__img{position:absolute; inset:0; z-index:-1}
.kol__img img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .8s, transform 1.4s}
.kol__b{opacity:0}
.kol::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(7,15,34,.55) 0%, rgba(7,15,34,.05) 35%, rgba(7,15,34,.35) 55%, rgba(7,15,34,.94) 100%)}
.kol__txt{position:absolute; inset:0; display:flex; flex-direction:column; padding:clamp(22px, 2.6vw, 40px)}
.kol__tag{display:flex; align-items:center; gap:12px; font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--amber-2)}
.kol__tag span{font-family:var(--f-d); font-size:15px; letter-spacing:0; color:#fff; opacity:.7}
.kol h3{font-size:clamp(28px, 2.8vw, 40px); margin-top:14px}
.kol__sub{margin-top:8px; font-family:var(--f-d); font-style:italic; font-size:18px; color:rgba(255,255,255,.85)}
.kol__wiecej{margin-top:auto; display:grid; gap:16px; max-width:460px}
.kol__wiecej > p{color:rgba(255,255,255,.88); font-size:16px}
.kol__fakty{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px}
.kol__fakty li{display:flex; align-items:center; gap:7px; font-size:13.5px; padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.12); backdrop-filter:blur(6px)}
.kol__fakty .ic{width:15px; height:15px; color:var(--amber-2)}
.kol__btns{display:flex; flex-wrap:wrap; gap:10px}
.kol__btns .btn{min-height:46px; padding:10px 18px; font-size:14px}
@media (hover: hover) and (min-width: 900px){
  .kol__wiecej{opacity:0; transform:translateY(24px); transition:opacity .45s .1s, transform .55s .1s; pointer-events:none}
  .kol:hover, .kol:focus-within{flex:1.75}
  .kol:hover .kol__b, .kol:focus-within .kol__b{opacity:1}
  .kol:hover .kol__img img, .kol:focus-within .kol__img img{transform:scale(1.05)}
  .kol:hover .kol__wiecej, .kol:focus-within .kol__wiecej{opacity:1; transform:none; pointer-events:auto}
  .kolumny:not(:hover) .kol:nth-child(2){flex:1.4}
  .kolumny:not(:hover) .kol:nth-child(2) .kol__wiecej{opacity:1; transform:none; pointer-events:auto}
}
@media (max-width: 899px), (hover: none){
  .kolumny{flex-direction:column; height:auto; min-height:0}
  .kol{min-height:560px; border-left:0; border-top:1px solid rgba(255,255,255,.12)}
}

/* ---------- porównanie / tabele ---------- */
.porownanie{padding-block:var(--pad); background:var(--bialy)}
.tabela-wrap{overflow-x:auto; border-radius:var(--r); border:1px solid var(--lod); background:#fff; -webkit-overflow-scrolling:touch}
.tabela{width:100%; border-collapse:collapse; font-size:15.5px}
.tabela th, .tabela td{padding:16px 18px; text-align:left; border-bottom:1px solid var(--lod); vertical-align:top}
.tabela tbody tr:last-child > *{border-bottom:0}
.tabela thead th{font-family:var(--f-d); font-size:19px; font-weight:600; background:var(--snieg)}
.tabela tbody th{font-weight:600; color:var(--szary); font-size:14px; white-space:nowrap}
.tabela small{color:var(--szary); display:block; font-size:12.5px}
.tabela .nw{white-space:nowrap}
.tabela--cmp{min-width:760px}
.tabela--cmp tbody th{position:sticky; left:0; background:#fff; text-transform:uppercase; letter-spacing:.08em; font-size:12px}
.tabela--cmp thead td{position:sticky; left:0; background:var(--snieg)}
.tabela--mala{font-size:14.5px}
.tabela--mala th, .tabela--mala td{padding:12px 14px}
.porownanie__cta{margin-top:28px}

/* ---------- w cenie ---------- */
.wcenie{padding-block:var(--pad); background:var(--snieg)}
.wcenie__in{display:grid; gap:48px}
.wcenie__lista{list-style:none; padding:0; margin:0; display:grid; gap:22px 28px}
.wcenie__lista li{display:flex; gap:16px; align-items:flex-start}
.wcenie__lista h3{font-size:19px}
.wcenie__lista p{font-size:15px; color:var(--szary); margin-top:4px}
.ic--box{width:50px; height:50px; padding:12px; border-radius:16px; background:var(--noc); color:var(--amber-2); stroke-width:1.5}
.wcenie__info{margin-top:30px; display:grid; gap:10px}
.wcenie__info p{display:flex; gap:12px; align-items:center; padding:14px 18px; border-radius:var(--r-s); background:var(--bialy); border:1px solid var(--lod); font-weight:600}
.wcenie__info .ic{color:var(--amber-ink)}
.wcenie__foto{position:relative; min-height:420px}
.wcenie__foto figure{margin:0; position:absolute; overflow:hidden; border-radius:var(--r); box-shadow:var(--cien)}
.wcenie__foto img{width:100%; height:100%; object-fit:cover}
.wcenie__foto .f1{inset:0 18% 16% 0}
.wcenie__foto .f2{right:0; bottom:0; width:52%; aspect-ratio:4/3; border:6px solid var(--snieg)}
@media (min-width: 640px){ .wcenie__lista{grid-template-columns:1fr 1fr} }
@media (min-width: 1000px){ .wcenie__in{grid-template-columns:1.25fr 1fr; align-items:center} .wcenie__foto{min-height:620px} }

/* ---------- program ---------- */
.program{padding-block:var(--pad); background:var(--noc) radial-gradient(1200px 500px at 85% -10%, rgba(242,154,46,.14), transparent 60%); color:#fff}
.kroki{list-style:none; padding:0; margin:0; display:grid; gap:16px; counter-reset:k}
.kroki li{position:relative; padding:26px; border-radius:var(--r); background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1)}
.krok__n{display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:var(--amber); color:var(--amber-ciem); font-family:var(--f-d); font-weight:700; font-size:20px; margin-bottom:18px}
.kroki h3{font-size:22px}
.kroki p{margin-top:8px; color:var(--szary-j); font-size:15.5px}
.program__cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px}
@media (min-width: 700px){ .kroki{grid-template-columns:1fr 1fr} }
@media (min-width: 1040px){ .kroki{grid-template-columns:repeat(3, 1fr)} }

/* ---------- ceny ---------- */
.ceny{padding-block:var(--pad); background:var(--bialy)}
.ceny__in{display:grid; gap:28px}
.ceny__tab h3{margin-bottom:16px}
.ceny__info{background:var(--noc); color:#fff; border-radius:var(--r); padding:28px; display:grid; gap:18px; align-content:start}
.sezon{display:flex; gap:10px; align-items:center; font-size:17px}
.sezon .ic{color:var(--amber-2)}
.ceny__info .lista li{color:var(--szary-j)}
@media (min-width: 1000px){ .ceny__in{grid-template-columns:1.6fr 1fr; align-items:start} }
.lista{list-style:none; padding:0; margin:0; display:grid; gap:10px}
.lista li{display:flex; gap:10px; align-items:flex-start; font-size:15.5px}
.lista .ic{width:18px; height:18px; margin-top:3px; color:var(--amber)}

/* ---------- rolki ---------- */
.rolki{padding-block:var(--pad); background:var(--noc-0); color:#fff}
.rolki__siatka{display:grid; grid-template-columns:repeat(2, 1fr); gap:14px}
@media (min-width: 900px){ .rolki__siatka{grid-template-columns:repeat(4, 1fr); gap:18px} }
.rolka{position:relative; display:block; aspect-ratio:9/14; border-radius:var(--r); overflow:hidden; text-decoration:none; isolation:isolate}
.rolka img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; transition:transform .8s}
.rolka::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, transparent 40%, rgba(0,0,0,.75))}
.rolka:hover img{transform:scale(1.06)}
.rolka__play{position:absolute; top:50%; left:50%; translate:-50% -50%; width:62px; height:62px; border-radius:50%; background:rgba(255,255,255,.2); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.5); display:grid; place-items:center}
.rolka__play .ic{width:22px; height:22px; margin-left:3px}
.rolka__v{position:absolute; left:16px; bottom:14px; font-size:14px}
.rolka__v b{font-family:var(--f-d); font-size:24px; display:block; color:var(--amber-2)}
.rolki__link{margin-top:24px}
.rolki__link a{display:inline-flex; gap:10px; align-items:center; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.3); padding-bottom:4px}

/* ---------- opinie (czekamy na linki) ---------- */
.opinie{padding-block:var(--pad) 0; background:var(--snieg)}
.opinie .sek-head{margin-bottom:24px}
.do-uzup{border:2px dashed var(--lod-2); border-radius:var(--r); padding:28px; color:var(--szary); background:#fff; font-size:16px}

/* ---------- FAQ ---------- */
.faq{padding-block:var(--pad); background:var(--snieg)}
.faq__in{display:grid; gap:24px}
.faq .sek-head .btn{margin-top:24px}
.faq__lista{display:grid; gap:10px}
.faq__i{background:#fff; border:1px solid var(--lod); border-radius:var(--r-s)}
.faq__i summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 22px; font-weight:600; font-size:17px}
.faq__i summary::-webkit-details-marker{display:none}
.faq__i summary span{display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:50%; background:var(--snieg); transition:transform .3s, background .3s}
.faq__i[open] summary span{transform:rotate(45deg); background:var(--amber)}
.faq__i p{padding:0 22px 22px; color:var(--szary)}
@media (min-width: 1000px){ .faq__in{grid-template-columns:.8fr 1.2fr; gap:56px} .faq .sek-head{position:sticky; top:calc(var(--hh) + 30px); align-self:start} }

/* ---------- organizatorzy ---------- */
.organizatorzy{padding-block:0 var(--pad); background:var(--snieg)}
.org__siatka{display:grid; gap:16px}
@media (min-width: 800px){ .org__siatka{grid-template-columns:1fr 1fr} }
.org{background:var(--lod); border-radius:var(--r); padding:28px; display:grid; gap:12px; align-content:start}
.org__rola{font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--amber-ink)}
.org p{color:var(--szary); font-size:15.5px}
.org__dane{display:flex; gap:10px; font-size:14px!important}
.org__dane .ic{width:18px; height:18px; margin-top:2px}

/* ---------- kontakt ---------- */
.kontakt{position:relative; isolation:isolate; padding-block:var(--pad); color:#fff; overflow:hidden; background:var(--noc)}
.kontakt__tlo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2}
.kontakt::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, rgba(7,15,34,.95), rgba(7,15,34,.78) 60%, rgba(7,15,34,.6))}
.kontakt__in{display:grid; gap:36px; align-items:center}
.kontakt .kicker{color:var(--amber-2)}
.kontakt .lead{color:var(--szary-j); margin-top:16px}
.kontakt__btns{display:flex; flex-wrap:wrap; gap:12px; margin-top:30px}
.kontakt__dl{display:flex; flex-wrap:wrap; gap:16px 40px; margin:30px 0 0}
.kontakt__dl dt{font-size:12px; letter-spacing:.14em; text-transform:uppercase; opacity:.6}
.kontakt__dl dd{margin:4px 0 0; font-family:var(--f-d); font-size:24px}
.kontakt__dl a{text-decoration:none}
.fanbox{background:#2E3D7A; border-radius:var(--r); padding:32px; display:grid; gap:14px}
.fanbox h3{font-family:var(--f); font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:20px; line-height:1.3}
.fanbox p{color:rgba(255,255,255,.85)}
.fanbox__ik{display:flex; gap:12px; margin-top:12px}
.fanbox__ik a{width:56px; height:56px; border-radius:50%; display:grid; place-items:center; color:#fff}
.fanbox__ik .ic{width:26px; height:26px}
.fanbox__ik .fb{background:#3B5998} .fanbox__ik .tt{background:#111} .fanbox__ik .ig{background:linear-gradient(45deg, #F58529, #DD2A7B 55%, #8134AF)} .fanbox__ik .yt{background:#D21F26}
@media (min-width: 1000px){ .kontakt__in{grid-template-columns:1.4fr 1fr; gap:64px} }

/* ---------- stopka ---------- */
.stopka{background:var(--noc-0); color:rgba(255,255,255,.75); padding:56px 0 28px; font-size:15px}
.stopka__in{display:grid; gap:28px; padding-bottom:28px; border-bottom:1px solid rgba(255,255,255,.1)}
.stopka__marka{display:flex; gap:14px; align-items:center}
.stopka__marka b{font-family:var(--f-d); font-size:22px; color:#fff}
.stopka__marka p{font-size:13.5px}
.stopka__nav{display:flex; flex-wrap:wrap; gap:8px 22px}
.stopka__nav a{text-decoration:none}
.stopka__nav a:hover{color:#fff}
.stopka__tel a{display:inline-flex; gap:10px; align-items:center; text-decoration:none; color:#fff; font-weight:600; font-size:18px}
.stopka__tel .ic{color:var(--amber)}
.stopka__wlasciciel{padding-top:22px; font-size:13.5px; text-align:center}
@media (min-width: 1000px){ .stopka__in{grid-template-columns:1.2fr 2fr auto; align-items:center} }
.tworcy-wiersz{max-width:none; width:100%; text-align:center; padding-top:18px}
.tworcy{display:inline-flex; gap:8px; align-items:center; font-size:13px; text-decoration:none; color:rgba(255,255,255,.7)}
.tworcy b{color:#fff}

/* dolny pasek na telefonie */
.dolny{display:none}
@media (max-width: 759px){
  .dolny{display:grid; grid-template-columns:1fr 1.15fr; gap:8px; position:fixed; left:0; right:0; bottom:0; z-index:50; padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(7,15,34,.94); backdrop-filter:blur(12px); border-top:1px solid rgba(255,255,255,.1)}
  .dolny .btn{min-height:50px; padding:10px 12px; font-size:15px}
  body{padding-bottom:76px}
}

/* ---------- modale ---------- */
.modal{border:0; padding:0; border-radius:var(--r); width:min(760px, calc(100vw - 24px)); max-height:min(88vh, 900px); background:#fff; color:var(--tusz); box-shadow:0 40px 120px rgba(0,0,0,.45)}
.modal::backdrop{background:rgba(5,10,24,.6); backdrop-filter:blur(4px)}
.modal[open]{animation:wejscie .35s cubic-bezier(.2,.8,.2,1)}
@keyframes wejscie{from{opacity:0; transform:translateY(20px)} to{opacity:1; transform:none}}
.modal__in{padding:clamp(24px, 4vw, 44px); display:grid; gap:16px}
.modal__x{position:sticky; top:0; justify-self:end; margin:-8px -8px -40px 0; width:44px; height:44px; border-radius:50%; border:1px solid var(--lod-2); background:#fff; display:grid; place-items:center; cursor:pointer; z-index:2}
.modal h3{font-size:clamp(28px, 3.4vw, 38px); padding-right:44px}
.modal h4{font-family:var(--f); font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin-top:8px}
.modal__sub{font-family:var(--f-d); font-style:italic; font-size:19px; color:var(--amber-ink)}
.modal p{color:var(--szary)}
.modal__dl{display:grid; gap:10px; margin:6px 0}
.modal__dl > div{display:grid; gap:2px; padding:12px 16px; border-radius:12px; background:var(--snieg)}
.modal__dl dt{display:flex; gap:8px; align-items:center; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--szary)}
.modal__dl dt .ic{width:16px; height:16px; color:var(--amber-ink)}
.modal__dl dd{margin:0; font-weight:500}
@media (min-width: 640px){ .modal__dl{grid-template-columns:1fr 1fr} }
.modal__cta{display:flex; flex-wrap:wrap; gap:10px; margin-top:8px}
.modal .btn--glow{--bg:var(--noc); border-color:var(--noc)}
.modal__prog h4{margin-top:18px; text-transform:none; letter-spacing:0; font-family:var(--f-d); font-size:20px; font-weight:600}
.modal__prog p{margin-top:6px}
.modal__podsum{padding:14px 16px; border-radius:12px; background:var(--snieg); color:var(--tusz)!important; font-weight:600}
.modal__podsum:empty{display:none}
.hero__in>*, .ceny__in>*, .wcenie__in>*, .faq__in>*, .kontakt__in>*, .org__siatka>*{min-width:0}
@media (max-width: 480px){
  .btn{white-space:normal; text-align:left; line-height:1.2}
  .dolny .btn{font-size:14px; gap:8px; padding:8px 10px; justify-content:center; text-align:center}
}

/* ---------- runda 2: audyt ---------- */
.kol__cena{display:inline-flex; align-items:baseline; gap:8px; margin-top:14px; padding:8px 14px; border-radius:999px; background:rgba(7,15,34,.55); backdrop-filter:blur(6px); align-self:flex-start}
.kol__cena b{font-family:var(--f-d); font-size:20px; color:var(--amber-2)}
.kol__cena span{font-size:13px; opacity:.85}
.porownanie__info{display:grid; gap:24px; margin-top:28px; padding:26px; border-radius:var(--r); background:var(--noc); color:#fff}
.porownanie__info .lista li{color:var(--szary-j)}
.porownanie__info .sezon{margin-bottom:14px}
.porownanie__cta{display:flex; flex-wrap:wrap; gap:10px; align-content:start; margin:0}
.porownanie__cta .btn--dark{--bg:transparent; border-color:rgba(255,255,255,.35)}
@media (min-width: 900px){ .porownanie__info{grid-template-columns:1.5fr 1fr; align-items:center} .porownanie__cta{justify-content:flex-end} }
.tabela--cmp tbody tr:last-child td{font-weight:600}
.rez__blad{color:#B42318; font-weight:600; font-size:14px; margin-top:-4px}
.pole input.blad{border-color:#B42318; outline:2px solid rgba(180,35,24,.25)}
.hero__znak{-webkit-text-stroke:1.5px rgba(255,255,255,.16)}
.fanbox__ik .btn{width:auto; height:auto; border-radius:999px; color:var(--tusz)}
@media (max-width: 759px){ .hero__lead{display:none} .hero__claim{font-size:21px} .hero__in{gap:28px; padding-top:36px} }
.kontakt__dl .dd-mail{font-family:var(--f); font-size:17px; padding-top:6px}
.stopka__tel{display:grid; gap:6px}
.stopka__mail{font-size:14px; color:rgba(255,255,255,.75); text-decoration:none}
.stopka__mail:hover{color:#fff}

/* ================= runda 3 (uwagi Any 15.10) ================= */
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.topbar{display:none}
/* biały nagłówek */
.naglowek{background:rgba(255,255,255,.97); color:var(--tusz); border-bottom:1px solid var(--lod); box-shadow:0 6px 24px -18px rgba(11,22,48,.5)}
.logo__txt small{color:var(--szary); opacity:1}
.naglowek__jezyk{display:inline-flex; align-items:center; gap:6px; height:44px; padding:0 14px; border-radius:999px; border:1px solid var(--lod-2); background:#fff; color:var(--tusz); font:700 13px var(--f); letter-spacing:.06em; cursor:pointer}
.naglowek__jezyk .ic{width:17px; height:17px; color:var(--amber-ink)}
.naglowek__jezyk:hover, .burger:hover{border-color:var(--noc)}
.burger{border-color:var(--lod-2); color:var(--tusz); background:#fff}
.btn--tel{--bg:#fff; --fg:var(--noc); border:1.5px solid var(--noc); font-weight:700; letter-spacing:.02em; position:relative}
.btn--tel .ic{color:var(--amber-ink)}
.btn--tel::after{content:""; position:absolute; inset:-2px; border-radius:inherit; animation:puls 2.4s ease-out infinite; pointer-events:none}
.btn--tel-jasny{--bg:rgba(255,255,255,.12); --fg:#fff; border-color:rgba(255,255,255,.55); backdrop-filter:blur(6px)}
.btn--tel-jasny .ic, .btn--tel-ciemny .ic{color:var(--amber-2)}
.btn--tel-ciemny{--bg:var(--noc); --fg:#fff; border-color:var(--noc)}
.dolny .btn--tel{--bg:rgba(255,255,255,.1); --fg:#fff; border-color:rgba(255,255,255,.45)}
@media (max-width: 759px){ .naglowek__jezyk{height:40px; padding:0 11px} .naglowek__in{gap:10px} }
/* panel: języki i sociale wyśrodkowane */
.panel__blok{display:grid; gap:12px; justify-items:center; text-align:center}
.panel__etykieta{display:flex; gap:8px; align-items:center; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.7)}
.panel__etykieta .ic{width:16px; height:16px; color:var(--amber-2)}
.jezyki--panel{justify-content:center}
.soc--panel{justify-content:center}
.panel__cta .btn--tel{--bg:transparent; --fg:#fff; border-color:rgba(255,255,255,.45)}
/* hero: nagłówek + jeden tekst */
.hero h1{margin:0 0 20px}
.hero__claim{font-size:clamp(20px, 2.1vw, 26px); line-height:1.4; max-width:30ch; color:rgba(255,255,255,.92)}
.hero__media img{object-position:72% 60%}
.hero::before{background:linear-gradient(90deg, rgba(7,15,34,.88) 0%, rgba(7,15,34,.55) 40%, rgba(7,15,34,.12) 75%, rgba(7,15,34,.25) 100%), linear-gradient(0deg, rgba(7,15,34,.75) 0%, rgba(7,15,34,0) 35%)}
@media (max-width: 759px){
  .hero__media img{object-position:50% 70%}
  .hero::before{background:linear-gradient(180deg, rgba(7,15,34,.35) 0%, rgba(7,15,34,.7) 40%, rgba(7,15,34,.95) 68%)}
  .hero__claim{font-size:19px}
}
/* pasek: zawsze leci */
.pasek{background:var(--noc-2)}
.pasek__tor{max-width:none; width:max-content; justify-content:flex-start; gap:46px; padding-block:16px; animation:tasma 42s linear infinite}
@keyframes tasma{to{transform:translateX(-50%)}}
.pasek:hover .pasek__tor{animation-play-state:paused}
.pasek__tor li{gap:12px; font-size:15.5px}
.pasek__ik{display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:rgba(242,154,46,.14); color:var(--amber-2)}
.ph{width:24px; height:24px}
/* trasy od razu pod paskiem */
.trasy{padding-top:0}
/* wspólne: nagłówek sekcji na środku */
.sek-head--srodek{margin-inline:auto; text-align:center}
.sek-head--srodek .kicker{justify-content:center}
.sek-head--srodek .lead{margin-inline:auto}
/* porównanie: karty na off-white */
.porownanie{background:#F6F2EB}
.kk__siatka{display:grid; gap:20px; align-items:stretch}
@media (min-width: 900px){ .kk__siatka{grid-template-columns:repeat(3, 1fr)} }
.kk{background:#fff; border-radius:var(--r); overflow:hidden; box-shadow:0 30px 60px -40px rgba(11,22,48,.45); border:1px solid #ECE4D8; display:flex; flex-direction:column}
.kk--wyr{border:2px solid var(--amber)}
.kk__foto{position:relative; aspect-ratio:16/10; overflow:hidden}
.kk__foto img{width:100%; height:100%; object-fit:cover; transition:transform .8s}
.kk:hover .kk__foto img{transform:scale(1.05)}
.kk__tag{position:absolute; left:14px; top:14px; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.92); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--amber-ink)}
.kk__in{padding:24px; display:flex; flex-direction:column; gap:14px; flex:1}
.kk h3{font-size:28px}
.kk__dla{font-family:var(--f-d); font-style:italic; color:var(--szary); font-size:17px; margin-top:-6px}
.kk__cena{display:flex; align-items:baseline; gap:8px; padding:12px 16px; border-radius:14px; background:#FBF3E6}
.kk__cena b{font-family:var(--f-d); font-size:30px; color:var(--amber-ink); font-weight:700}
.kk__cena span{color:var(--szary); font-size:14px}
.kk__lista{list-style:none; margin:0; padding:0; display:grid; align-content:start; flex:1}
.kk__lista li{display:grid; grid-template-columns:22px 1fr; column-gap:12px; padding:10px 0; border-bottom:1px solid #F0EAE0}
.kk__lista li:last-child{border-bottom:0}
.kk__lista .ic{grid-row:span 2; width:20px; height:20px; color:var(--amber-ink); margin-top:2px}
.kk__l{font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--szary)}
.kk__v{font-size:15px; font-weight:500}
.porownanie__info{margin-top:24px}
/* w cenie: kafle ze zdjęciami */
.kafle{list-style:none; margin:0; padding:0; display:grid; gap:18px}
@media (min-width: 640px){ .kafle{grid-template-columns:1fr 1fr} }
@media (min-width: 1000px){ .kafle{grid-template-columns:repeat(3, 1fr)} }
.kafel{position:relative; aspect-ratio:4/3.2; border-radius:var(--r); overflow:hidden; isolation:isolate; color:#fff}
.kafel img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .9s}
.kafel:hover img{transform:scale(1.06)}
.kafel::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(7,15,34,0) 35%, rgba(7,15,34,.88) 100%)}
.kafel__txt{position:absolute; left:0; right:0; bottom:0; padding:22px}
.kafel h3{font-size:23px}
.kafel p{font-size:14.5px; color:rgba(255,255,255,.85); margin-top:6px}
.wcenie__info{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:28px}
.wcenie__info p{justify-content:center; border-radius:999px; padding:12px 20px; text-align:center}
/* program: kafle ze zdjęciami zamiast numerków */
.kroki li.krok{position:relative; min-height:360px; padding:0; border-radius:var(--r); overflow:hidden; isolation:isolate; background:var(--noc-2); border:0}
.krok img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2}
.krok::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(7,15,34,.2) 0%, rgba(7,15,34,.15) 40%, rgba(7,15,34,.92) 100%)}
.krok__czas{position:absolute; top:16px; left:16px; display:inline-flex; gap:7px; align-items:center; padding:7px 12px; border-radius:999px; font-size:13px; font-weight:600;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.3); backdrop-filter:blur(10px)}
.krok__czas .ic{width:15px; height:15px; color:var(--amber-2)}
.krok__txt{position:absolute; left:0; right:0; bottom:0; padding:22px}
.program__cta{justify-content:center}
.modal__cta{justify-content:center}
/* rolki */
.rolki__wiecej{margin-top:36px; display:grid; gap:14px; justify-items:center; text-align:center}
.rolki__wiecej p{font-weight:600; color:var(--szary-j)}
.soc--duze a{width:54px; height:54px; opacity:1; border-color:rgba(255,255,255,.3)}
.soc--duze .ic{width:24px; height:24px}
/* opinie: tło + liquid glass */
.opinie{position:relative; isolation:isolate; padding-block:var(--pad); background:var(--noc); color:#fff; overflow:hidden}
.opinie__tlo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; filter:saturate(1.1)}
.opinie::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(7,15,34,.78), rgba(7,15,34,.6) 50%, rgba(7,15,34,.85))}
.opinie .sek-head{margin-bottom:clamp(32px, 4vw, 52px)}
.szkla{display:grid; gap:18px}
@media (min-width: 860px){ .szkla{grid-template-columns:repeat(3, 1fr)} }
.szklo{padding:26px; border-radius:var(--r); background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)); border:1px solid rgba(255,255,255,.3);
  backdrop-filter:blur(18px) saturate(1.4); -webkit-backdrop-filter:blur(18px) saturate(1.4); box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 24px 60px -20px rgba(0,0,0,.45)}
.szklo__zr{display:flex; gap:10px; align-items:center; font-weight:700; font-size:14px; margin-bottom:18px}
.szklo__zr .ic{width:20px; height:20px; color:var(--amber-2)}
.szklo__linia{display:block; height:10px; border-radius:6px; background:rgba(255,255,255,.22); margin-top:12px}
.szklo__linia--k{width:82%} .szklo__linia--kk{width:56%}
.szklo__nota{margin-top:20px; font-size:13px; font-style:italic; color:rgba(255,255,255,.7)}
/* FAQ w dwóch kolumnach, bez telefonu i bez przyklejania */
.faq .sek-head{position:static}
.faq__lista{gap:12px; align-items:start}
@media (min-width: 900px){ .faq__lista{grid-template-columns:1fr 1fr} }
/* organizatorzy z logo */
.org{background:#fff; border:1px solid var(--lod)}
.org__loga{display:flex; gap:20px; align-items:center; min-height:64px; margin-bottom:4px}
.org__loga img{height:52px; width:auto}
/* runda 3: poprawki po zrzutach */
.org__loga img[src*="magiczny"]{height:86px; margin:-12px 0}
.stopka__tel .stopka__mail{font-size:14px; font-weight:500; color:rgba(255,255,255,.75)}
@media (max-width: 899px){
  .kk__siatka{grid-auto-flow:column; grid-auto-columns:86%; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; margin-inline:calc(-1 * clamp(16px, 4vw, 40px)); padding-inline:clamp(16px, 4vw, 40px); scroll-padding-inline:clamp(16px, 4vw, 40px)}
  .kk{scroll-snap-align:start}
}
@media (max-width: 420px){ .logo__txt small{letter-spacing:.08em; font-size:10px} .logo__znak{height:32px} }

/* ================= runda 4 (15.10) ================= */
/* numer w menu na granacie */
.naglowek .btn--tel{--bg:var(--noc); --fg:#fff; border-color:var(--noc)}
.naglowek .btn--tel .ic{color:var(--amber-2)}
.naglowek .btn--tel:hover{--bg:var(--noc-3)}
/* pasek: równa pętla (odstęp jako margines elementu, nie gap) */
.pasek__tor{gap:0; padding:16px 0; animation:tasma 42s linear infinite}
.pasek__tor li{margin-right:46px}
/* porównanie: cena i sezon na środku */
.kk__cena{justify-content:center}
.porownanie__info{grid-template-columns:1fr; justify-items:center; text-align:center; gap:18px}
.porownanie__info .sezon{justify-content:center}
.porownanie__info .lista{justify-items:center}
.porownanie__info .lista li{justify-content:center}
.porownanie__cta{justify-content:center}
@media (min-width: 900px){ .porownanie__info{grid-template-columns:1fr} .porownanie__cta{justify-content:center} }
/* organizatorzy: poziome karty z polem na logo */
.organizatorzy--r4{background:#fff; padding-top:var(--pad)}
.org2__lista{display:grid; gap:18px; max-width:1000px; margin:0 auto}
.org2{display:grid; border-radius:var(--r); overflow:hidden; border:1px solid #ECE4D8; background:#fff; box-shadow:0 30px 60px -45px rgba(11,22,48,.45)}
.org2__loga{display:flex; flex-wrap:wrap; gap:22px; align-items:center; justify-content:center; padding:30px; background:#F6F2EB}
.org2__loga img{height:58px; width:auto; max-width:100%}
.org2__loga img[src*="magiczny"]{height:96px; margin:-14px 0}
.org2__txt{padding:28px; display:grid; gap:10px; align-content:center}
.org2__trasa{display:inline-flex; align-items:center; gap:8px; justify-self:start; padding:6px 12px; border-radius:999px; background:#FBF3E6; color:var(--amber-ink); font-size:13px; font-weight:700}
.org2__trasa .ic{width:16px; height:16px}
.org2 h3{font-size:26px}
.org2 p{color:var(--szary); font-size:15.5px}
.org2__dane{font-size:13.5px!important}
@media (min-width: 760px){ .org2{grid-template-columns:340px 1fr} }
/* fanbox: wszystko na środku */
.fanbox{text-align:center; justify-items:center}
.fanbox__ik{justify-content:center}
.pasek__tor{animation-duration:84s}

/* ================= runda 5 (15.10) ================= */
/* organizatorzy: kafelki obok siebie */
.org2__lista{max-width:none}
@media (min-width: 760px){ .org2__lista{grid-template-columns:1fr 1fr} .org2{grid-template-columns:1fr} }
.org2{grid-template-rows:auto 1fr}
.org2__loga{min-height:170px}
/* rozsuwane menu: białe kafelki dla numeru, języków i sociali */
.panel__cta .btn--tel{--bg:#fff; --fg:var(--noc); border-color:#fff}
.panel__cta .btn--tel .ic{color:var(--amber-ink)}
.panel__cta .btn--tel::after{display:none}
.jezyki--panel{display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; width:100%}
.jezyki--panel a{display:grid; place-items:center; padding:11px 0; border-radius:12px; border:0; background:#fff; color:var(--noc); font-size:13px; font-weight:700}
.jezyki--panel a:hover{background:#FBF3E6; color:var(--noc)}
.jezyki--panel a[aria-current]{background:var(--amber); color:var(--amber-ciem)}
.panel__blok{width:100%}
.soc--panel{gap:10px}
.soc--panel a{width:52px; height:52px; border-radius:14px; background:#fff; color:var(--noc); border:0; opacity:1}
.soc--panel a:hover{background:#FBF3E6}
.soc--panel .ic{width:22px; height:22px}

/* ================= runda 6 (15.10): szkło, kółka, FAQ, rolki, telefon ================= */
/* nagłówek: liquid glass od razu, nad zdjęciem hero */
.naglowek{position:fixed; top:0; left:0; right:0; background:rgba(11,22,48,.22); color:#fff;
  backdrop-filter:blur(18px) saturate(1.7); -webkit-backdrop-filter:blur(18px) saturate(1.7);
  border-bottom:1px solid rgba(255,255,255,.16); box-shadow:inset 0 1px 0 rgba(255,255,255,.18), 0 12px 30px -22px rgba(0,0,0,.6); transition:background .35s}
.naglowek--dalej{background:rgba(11,22,48,.66)}
.naglowek .logo__txt small{color:rgba(255,255,255,.75)}
.naglowek__jezyk, .burger{background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.3); color:#fff}
.naglowek__jezyk .ic{color:var(--amber-2)}
.naglowek__jezyk:hover, .burger:hover{border-color:#fff; background:rgba(255,255,255,.18)}
.naglowek .btn--tel{border-color:rgba(255,255,255,.28)}
.hero__in{padding-top:calc(var(--hh) + clamp(36px, 6vw, 80px)); min-height:min(100svh, 940px)}
/* menu rozwijane: języki i sociale w kółkach */
.jezyki--panel{display:flex; flex-wrap:wrap; justify-content:center; gap:10px}
.jezyki--panel a{width:50px; height:50px; padding:0; border-radius:50%; display:grid; place-items:center}
.soc--panel a{border-radius:50%}
/* FAQ: dwie niezależne kolumny, płynne rozwijanie */
.faq__kolumny{display:grid; gap:12px; align-items:start}
.faq__kol{display:grid; gap:12px; align-content:start}
@media (min-width: 900px){ .faq__kolumny{grid-template-columns:1fr 1fr} }
.faq__odp{overflow:hidden; transition:height .32s cubic-bezier(.2,.8,.2,1)}
.faq__i{transition:box-shadow .3s, border-color .3s}
.faq__i--otw, .faq__i[open]{border-color:var(--lod-2); box-shadow:0 20px 40px -30px rgba(11,22,48,.45)}
.faq__i summary span{transition:transform .32s, background .32s}
/* rolki odtwarzane na stronie */
button.rolka{border:0; padding:0; cursor:pointer; color:#fff; text-align:left; font:inherit; background:#000; width:100%}
.rolka__play{transition:transform .3s, background .3s}
.rolka:hover .rolka__play{transform:scale(1.1); background:var(--amber); border-color:var(--amber)}
.rolka:hover .rolka__play .ic{color:var(--amber-ciem)}
.odtwarzacz{border:0; padding:0; margin:0; background:transparent; width:100vw; height:100dvh; max-width:none; max-height:none; color:#fff}
.odtwarzacz[open]{display:grid; place-items:center; grid-template-columns:auto auto auto; justify-content:center; align-content:center; gap:18px}
.odtwarzacz::backdrop{background:rgba(5,10,24,.92); backdrop-filter:blur(6px)}
.odtwarzacz video{height:min(86dvh, 860px); aspect-ratio:9/16; max-width:86vw; border-radius:18px; background:#000; object-fit:contain}
.odtwarzacz__x{position:fixed; top:16px; right:16px; width:48px; height:48px; border-radius:50%; border:1px solid rgba(255,255,255,.4); background:rgba(255,255,255,.1); color:#fff; display:grid; place-items:center; cursor:pointer; z-index:2}
.odtwarzacz__nav{width:52px; height:52px; border-radius:50%; border:1px solid rgba(255,255,255,.4); background:rgba(255,255,255,.1); color:#fff; display:grid; place-items:center; cursor:pointer}
.odtwarzacz__nav:hover, .odtwarzacz__x:hover{background:rgba(255,255,255,.22)}
.odtwarzacz__nav--l .ic{transform:rotate(180deg)}
@media (max-width: 700px){
  .odtwarzacz[open]{grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:14px}
  .odtwarzacz video{grid-column:1 / -1; grid-row:1; height:auto; width:88vw; max-height:78dvh}
  .odtwarzacz__nav{grid-row:2}
  .odtwarzacz__nav--l{justify-self:end} .odtwarzacz__nav:not(.odtwarzacz__nav--l){justify-self:start}
}
/* kropki pod karuzelami */
.kropki{display:flex; justify-content:center; gap:6px; margin-top:16px}
.kropki span{width:7px; height:7px; border-radius:4px; background:rgba(127,140,160,.45); transition:width .3s, background .3s}
.kropki span.on{width:22px; background:var(--amber)}
/* ---------- telefon: krócej i intuicyjniej ---------- */
@media (max-width: 759px){
  .hero__cta{display:none}
  .hero__in{gap:22px; padding-bottom:36px}
  .hero h1{margin-bottom:14px}
}
@media (max-width: 899px){
  /* trasy jako przewijane karty */
  .trasy{padding-bottom:20px}
  .kolumny.karuzela{flex-direction:row; height:auto; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding:0 16px; scroll-padding-inline:16px; scrollbar-width:none}
  .kolumny.karuzela::-webkit-scrollbar{display:none}
  .kolumny.karuzela .kol{flex:0 0 86%; min-height:540px; border-radius:var(--r); border:0; scroll-snap-align:center}
  .trasy .kropki span{background:rgba(255,255,255,.3)}
  .kk__siatka{scrollbar-width:none}
}
@media (max-width: 699px){
  /* program jako przewijane kafle */
  .kroki.karuzela{grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:82%; overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:-16px; padding-inline:16px; scroll-padding-inline:16px; scrollbar-width:none}
  .kroki.karuzela .krok{scroll-snap-align:start; min-height:380px}
  .program .kropki span{background:rgba(255,255,255,.3)}
  /* w cenie: 2 kolumny, same tytuły */
  .kafle{grid-template-columns:1fr 1fr; gap:10px}
  .kafel{aspect-ratio:3/3.6}
  .kafel__txt{padding:14px}
  .kafel h3{font-size:17px}
  .kafel p{display:none}
  .wcenie__info p{border-radius:16px; padding:12px 16px; font-size:14.5px}
  .rolki__siatka{gap:10px}
}
@media (max-width: 899px){
  .kolumny.karuzela .kol{min-height:0}
  .kolumny.karuzela .kol__txt{position:relative; inset:auto; min-height:560px}
}
@media (max-width: 699px){
  .porownanie__info .lista{justify-items:start}
  .porownanie__info .lista li{text-align:left; justify-content:flex-start}
}
@media (max-width: 699px){ .wcenie__info p{justify-content:flex-start; text-align:left} }

/* runda 7: języki 4 + 3, sociale w kolorach */
.jezyki--panel{max-width:236px; margin-inline:auto}
.soc--panel a{color:#fff}
.soc--panel a[aria-label="Facebook"]{background:#1877F2}
.soc--panel a[aria-label="TikTok"]{background:#111; box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.soc--panel a[aria-label="Instagram"]{background:linear-gradient(45deg, #F58529, #DD2A7B 55%, #8134AF)}
.soc--panel a:hover{filter:brightness(1.12); background-blend-mode:normal}

/* ================= runda 8 (spotkanie 15.10) ================= */
/* nowy font nagłówków: DM Serif Display (jedna grubość) */
:root{--f-d:"DM Serif Display", Georgia, serif}
h1, h2, h3, h4, .kk__cena b, .rez__suma strong, .kontakt__dl dd{font-weight:400}
h2{letter-spacing:-.005em}
.hero h1{letter-spacing:-.01em}

/* flagi */
.flaga{display:block; width:100%; height:100%}
.naglowek__jezyk .flaga{width:22px; height:22px; border-radius:50%; box-shadow:0 0 0 1.5px rgba(255,255,255,.6)}
.jezyki--panel a{overflow:hidden; background:transparent; box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.jezyki--panel a .flaga{width:100%; height:100%}
.jezyki--panel a:hover{box-shadow:0 0 0 3px #fff}
.jezyki--panel a[aria-current]{background:transparent; box-shadow:0 0 0 3px var(--amber)}

/* bramka wyboru języka przy pierwszym wejściu */
.bramka{position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:20px;
  background:rgba(5,10,24,.72); backdrop-filter:blur(14px) saturate(1.3); -webkit-backdrop-filter:blur(14px) saturate(1.3)}
.bramka[hidden]{display:none}
.bramka-otwarta, .bramka-otwarta body{overflow:hidden}
.bramka__in{width:min(560px, 100%); text-align:center; color:#fff; padding:clamp(26px, 5vw, 44px); border-radius:28px;
  background:linear-gradient(140deg, rgba(255,255,255,.16), rgba(255,255,255,.05)); border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 40px 100px -30px rgba(0,0,0,.7); animation:wejscie .45s cubic-bezier(.2,.8,.2,1)}
.bramka__logo{height:58px; width:auto; margin:0 auto 10px}
.bramka__marka{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.7)}
.bramka h2{font-size:clamp(30px, 5vw, 40px); margin:14px 0 26px; line-height:1.1}
.bramka h2 span{display:block; font-size:.55em; color:var(--amber-2); font-style:italic; margin-top:6px}
.bramka__lista{display:grid; grid-template-columns:repeat(2, 1fr); gap:10px}
@media (min-width: 520px){ .bramka__lista{grid-template-columns:repeat(3, 1fr)} }
.bramka__j{display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:16px; text-decoration:none; color:#fff; font-weight:600; font-size:15px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); transition:background .2s, transform .2s}
.bramka__j:hover, .bramka__j:focus-visible{background:rgba(255,255,255,.22); transform:translateY(-2px)}
.bramka__j .flaga{width:30px; height:30px; border-radius:50%; flex:none; box-shadow:0 0 0 1.5px rgba(255,255,255,.7)}
.bramka__j--obecny{border-color:var(--amber)}

/* pasek pod hero jak w Max Moto: duże litery, romby, bez ikon, szybciej */
.pasek--mm{background:var(--amber); color:var(--amber-ciem); border:0; transform:skewY(-.6deg); margin-top:-6px; position:relative; z-index:2}
.pasek--mm .pasek__tor{padding:14px 0; animation:tasma 30s linear infinite}
.pasek--mm .pasek__tor li{margin-right:28px; gap:28px; font-weight:800; font-size:clamp(16px, 1.9vw, 21px); letter-spacing:.1em; text-transform:uppercase}
.pasek--mm .pasek__tor li i{font-style:normal; font-size:.6em; opacity:.6}
.pasek--mm:hover .pasek__tor{animation-play-state:running}

/* porównanie: dopisek przy cenie */
.kk__cena{flex-wrap:wrap; row-gap:2px}
.kk__cena small{flex-basis:100%; text-align:center; font-size:12px; color:var(--szary)}

/* w cenie: zdjęcie u góry, tekst pod spodem */
.karty{list-style:none; margin:0; padding:0; display:grid; gap:18px}
@media (min-width: 640px){ .karty{grid-template-columns:1fr 1fr} }
@media (min-width: 1000px){ .karty{grid-template-columns:repeat(3, 1fr)} }
.karta{background:#fff; border-radius:var(--r); overflow:hidden; border:1px solid var(--lod); box-shadow:0 24px 50px -40px rgba(11,22,48,.5); display:flex; flex-direction:column}
.karta__foto{aspect-ratio:4/3; overflow:hidden}
.karta__foto img{width:100%; height:100%; object-fit:cover; transition:transform .9s}
.karta:hover .karta__foto img{transform:scale(1.05)}
.karta__txt{padding:18px 20px 22px}
.karta h3{font-size:22px}
.karta p{font-size:14.5px; color:var(--szary); margin-top:6px}

/* program: slider, zdjęcie u góry, tekst pod spodem */
.slider{position:relative}
.slider__tor{list-style:none; margin:0; padding:0 0 4px; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 40px) / 3); gap:20px;
  overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none}
.slider__tor::-webkit-scrollbar{display:none}
.slajd{scroll-snap-align:start; border-radius:var(--r); overflow:hidden; background:var(--noc-2); border:1px solid rgba(255,255,255,.1); display:flex; flex-direction:column}
.slajd__foto{position:relative; aspect-ratio:4/3; overflow:hidden}
.slajd__foto img{width:100%; height:100%; object-fit:cover}
.slajd__txt{padding:18px 20px 22px}
.slajd h3{font-size:22px}
.slajd p{margin-top:6px; color:var(--szary-j); font-size:15px}
.slider__btn{position:absolute; top:calc(50% - 60px); z-index:2; width:50px; height:50px; border-radius:50%; border:0; background:#fff; color:var(--noc);
  display:grid; place-items:center; cursor:pointer; box-shadow:0 12px 30px -10px rgba(0,0,0,.5); right:-18px; transition:opacity .2s}
.slider__btn--l{left:-18px; right:auto}
.slider__btn--l .ic{transform:rotate(180deg)}
.slider__btn:disabled{opacity:0; pointer-events:none}
@media (max-width: 899px){
  .slider__tor{grid-auto-columns:calc((100% - 20px) / 2)}
}
@media (max-width: 699px){
  .slider__tor{grid-auto-columns:84%; gap:12px; margin-inline:-16px; padding-inline:16px; scroll-padding-inline:16px}
  .slider__btn{display:none}
  .karty{grid-template-columns:1fr 1fr; gap:10px}
  .karta__txt{padding:12px 14px 14px}
  .karta h3{font-size:17px}
  .karta p{display:none}
}

/* kontakt: wszystko na środku, trzy przyciski w rzędzie */
.kontakt--r8 .kontakt__srodek{display:grid; justify-items:center; text-align:center; max-width:980px}
.kontakt--r8 .kicker{justify-content:center}
.kontakt--r8 .lead{margin-inline:auto}
.kontakt__trzy{display:grid; gap:12px; width:100%; margin-top:30px}
@media (min-width: 760px){ .kontakt__trzy{grid-template-columns:repeat(3, 1fr)} }
.kontakt__trzy .btn{justify-content:center; width:100%}
.kontakt__mail{margin-top:22px; color:rgba(255,255,255,.75); font-size:15px}
.kontakt__mail a{color:#fff; font-weight:600}
