/* 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}

/* runda 9: prosty pasek, nagłówek w dwóch wersach, mail bez podkreślenia */
.pasek--mm{transform:none; margin-top:0}
.hero h1 .h1__dop{display:block; font-style:italic; color:var(--amber-2); font-size:.5em; line-height:1.15; margin-top:.2em; letter-spacing:0}
.kontakt__mail a{text-decoration:none}
.kontakt__mail a:hover{color:var(--amber-2)}
.hero h1{font-size:clamp(44px, 7vw, 92px)}
.hero__claim{max-width:36ch; font-size:clamp(19px, 1.8vw, 23px)}
@media (min-width: 1000px){ .hero__in{padding-top:calc(var(--hh) + 48px)} }

/* ===== czcionki lokalnie (runda 10) ===== */
/* latin-ext */
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dmserifdisplay-italic-latin-ext-0.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dmserifdisplay-italic-latin-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dmserifdisplay-normal-latin-ext-2.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/dmserifdisplay-normal-latin-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-normal-latin-ext-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-normal-latin-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-normal-latin-ext-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-normal-latin-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-normal-latin-ext-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-normal-latin-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/inter-normal-latin-ext-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/inter-normal-latin-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/inter-normal-latin-ext-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/inter-normal-latin-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ================= runda 10 (audyt) ================= */
/* bramka: tytuł jako akapit (bez nagłówka przed H1) */
.bramka__tytul{font-family:var(--f-d); font-size:clamp(30px, 5vw, 40px); margin:14px 0 26px; line-height:1.1}
.bramka__tytul span{display:block; font-size:.55em; color:var(--amber-2); font-style:italic; margin-top:6px}
/* okno rezerwacji wywoływane z dalszych sekcji */
.modal--szuflada{width:min(480px, calc(100vw - 24px)); background:transparent; box-shadow:none; overflow:visible}
.modal--szuflada[open]{animation:wejscie .35s cubic-bezier(.2,.8,.2,1)}
.szuflada__in{position:relative}
.szuflada__in .rez{box-shadow:0 40px 100px -30px rgba(0,0,0,.6); max-height:calc(100dvh - 40px); overflow:auto}
.szuflada__x{position:absolute; top:14px; right:14px; margin:0; z-index:3}
.modal--szuflada .rez__head{padding-right:52px}
@media (max-width: 599px){
  .modal--szuflada{width:100vw; max-width:100vw; margin:auto 0 0; max-height:100dvh}
  .modal--szuflada[open]{animation:zdolu .4s cubic-bezier(.2,.8,.2,1)}
  .szuflada__in .rez{border-radius:24px 24px 0 0; padding-bottom:calc(20px + env(safe-area-inset-bottom)); max-height:92dvh}
}
@keyframes zdolu{from{transform:translateY(100%)} to{transform:none}}
/* kolumny tras bez powtórzonych danych */
.kol__wiecej{gap:18px}
/* nieaktywne godziny w kalkulatorze */
.pole select option:disabled{color:#9AA3B2}

/* runda 11: trasy obok siebie także na ekranach dotykowych, bez kropek i paska pod spodem */
@media (min-width: 900px) and (hover: none){
  .kolumny{flex-direction:row; height:min(720px, 86vh); min-height:560px}
  .kol{min-height:0; border-top:0; border-left:1px solid rgba(255,255,255,.12)}
  .kol:first-child{border-left:0}
  .kol__wiecej{opacity:1; transform:none; pointer-events:auto}
}
.trasy{padding-bottom:0}
@media (max-width: 899px){ .trasy{padding-bottom:0} .kolumny.karuzela{padding-bottom:28px} }

/* ================= runda 13 ================= */
/* film w hero */
.hero__media .hero__wideo{width:100%; height:100%; object-fit:cover; object-position:50% 50%; animation:none; display:block}
/* sociale większe i w oryginalnych kolorach: menu, przy rolkach, w stopce */
.soc--panel a, .soc--duze a, .soc--kolor a{width:62px; height:62px; border-radius:50%; border:0; color:#fff; opacity:1; display:grid; place-items:center; transition:transform .2s, filter .2s}
.soc--panel .ic, .soc--duze .ic, .soc--kolor .ic{width:28px; height:28px}
.soc--panel a:hover, .soc--duze a:hover, .soc--kolor a:hover{transform:translateY(-2px); filter:brightness(1.1)}
.soc a[aria-label="Facebook"]{background:#1877F2}
.soc a[aria-label="TikTok"]{background:#010101; box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.soc a[aria-label="Instagram"]{background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%)}
.soc--duze, .soc--kolor{gap:14px; justify-content:center}
.stopka__soc{display:flex; justify-content:center; padding-top:26px}

/* runda 22: zmiany po rozmowie z klientem */
.logo__txt--jeden b{white-space:nowrap}
/* na wąskim ekranie nazwa łamie się po ukośniku, zamiast wchodzić na przycisk języka */
@media (max-width: 480px){ .logo__txt--jeden b{white-space:normal; font-size:15px; line-height:1.15} }
.hero h1 .h1__trasy{display:block; font-family:var(--f-d); font-style:normal; font-weight:400; color:#fff; font-size:clamp(19px, 2.1vw, 28px); line-height:1.3; letter-spacing:0; margin-top:.6em; hyphens:manual; -webkit-hyphens:manual}
.kol__ceny{align-self:flex-start; margin-top:10px; padding:8px 14px; border-radius:14px; background:rgba(7,15,34,.55); backdrop-filter:blur(6px); font-size:14px; line-height:1.5; color:rgba(255,255,255,.92)}
.kol__ceny span{color:var(--amber-2)}
.kol__atuty{list-style:none; margin:0; padding:0; display:grid; gap:8px}
.kol__atuty li{display:flex; gap:10px; font-size:15px; line-height:1.4; color:rgba(255,255,255,.9)}
.kol__atuty b{color:#fff}
.kol__em{flex:none; width:1.3em; text-align:center}
.kol__wiecej{max-width:520px}
.kol__wiecej > p{font-size:15.5px}
/* opisy, atuty i ceny widać od razu, bez najeżdżania na kolumnę */
@media (hover: hover) and (min-width: 900px){
  .kol__wiecej, .kolumny:not(:hover) .kol__wiecej{opacity:1; transform:none; pointer-events:auto}
}
@media (min-width: 900px){
  .kolumny{height:auto; min-height:min(720px, 86vh)}
  .kol{display:flex}
  .kol__txt{position:relative; inset:auto; flex:1}
}
.porownanie__cta .btn--wa{min-height:54px}
.faq__wa{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px; margin-top:28px; text-align:center}
.faq__wa p{margin:0}
.kol__wiecej{padding-top:18px}
.kol__wiecej > p, .kol__atuty li, .kol__ceny{text-shadow:0 1px 3px rgba(0,0,0,.55)}
.rez__blad--info{color:var(--szary, #5C6470); font-weight:500}
/* runda 23: odchudzone kolumny, pełne opisy w oknach */
.hero h1 .h1__trasy{font-size:clamp(18px, 1.55vw, 24px)}
.kol__atuty--krotko{gap:10px}
.kol__atuty--krotko li{font-size:16px; padding-left:22px; position:relative}
.kol__atuty--krotko li::before{content:""; position:absolute; left:2px; top:.5em; width:8px; height:8px; border-radius:50%; background:var(--amber-2)}
.modal .kol__atuty{margin:4px 0 18px; gap:10px}
.modal .kol__atuty li{color:inherit; text-shadow:none; font-size:15.5px}
.modal .kol__atuty b{color:inherit}
.modal__wstep{font-size:17px; line-height:1.6; margin:0 0 18px}

/* runda 24: ikonki zamiast emoji w oknach tras */
.kol__em{display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:#FBF3E6; color:var(--amber-ink); flex:none; margin-top:-4px}
.kol__em .ph--atut{width:19px; height:19px}

/* ===== runda 24: Poppins (nagłówki) + Cormorant Garamond (teksty pod nagłówkami), Inter w tekście ===== */
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/cormorantgaramond-600i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/cormorantgaramond-600i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/cormorantgaramond-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/cormorantgaramond-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/cormorantgaramond-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/cormorantgaramond-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/poppins-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/poppins-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/poppins-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/poppins-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/poppins-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/poppins-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}:root{--f-d:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif; --f-a:"Cormorant Garamond", Georgia, serif}
h1, h2, h3, h4, .kk__cena b, .rez__suma strong, .logo__txt b{font-family:var(--f-d); font-weight:600; letter-spacing:-.02em}
.hero h1{letter-spacing:-.025em}
.hero h1 .h1__dop{font-family:var(--f-a); font-style:italic; font-weight:600; font-size:.56em; letter-spacing:0}
.hero h1 .h1__trasy{font-family:var(--f-a); font-weight:600; letter-spacing:0}
.hero__claim{font-family:var(--f-a); font-weight:600; font-size:clamp(21px, 2vw, 26px); letter-spacing:0}
.kol__sub, .kk__dla, .modal__sub{font-family:var(--f-a); font-style:normal; font-weight:600; font-size:1.14em; letter-spacing:0}
.bramka__tytul{font-family:var(--f-d); font-weight:600}
.bramka__tytul span{font-family:var(--f-a); font-weight:600}

/* ===== runda 25: Poppins na całej stronie (tytuły pogrubione, reszta zwykła) ===== */
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/poppins-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/poppins-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}:root{--f:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif; --f-d:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif; --f-a:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif}
body{font-family:var(--f); font-size:16px; font-weight:400}
h1, h2, h3, .kk__cena b, .rez__suma strong, .logo__txt b{font-weight:700; letter-spacing:-.025em}
h4{font-weight:600}
.hero h1 .h1__dop{font-style:normal; font-weight:500; font-size:.42em; letter-spacing:-.01em}
.hero h1 .h1__trasy{font-weight:500; font-size:clamp(16px, 1.6vw, 20px)}
.hero__claim{font-weight:400; font-size:clamp(17px, 1.5vw, 19px); line-height:1.6}
.kol__sub, .kk__dla, .modal__sub{font-style:normal; font-weight:400; font-size:15px}
.bramka__tytul{font-weight:700}
.bramka__tytul span{font-style:normal; font-weight:500}
.btn{font-weight:600}
.lead{font-size:17px}

/* runda 26: oddech wokol ukosnika w nazwie */
.logo__sl{display:inline-block; margin:0 .32em; font-weight:400; opacity:.55}

/* runda 26: opinie gosci */
.szkla--op{display:flex; flex-wrap:wrap; justify-content:center; gap:18px}
.szkla--op .op{flex:1 1 300px; max-width:380px; margin:0; display:flex; flex-direction:column; gap:14px}
.op .szklo__zr{margin-bottom:0; font-weight:600; font-size:13px; letter-spacing:.02em; color:rgba(255,255,255,.85)}
.op__txt{margin:0; font-size:17px; line-height:1.55; font-weight:500; color:#fff}
.op__tl{margin:0; font-size:13.5px; line-height:1.5; color:rgba(255,255,255,.72)}
.op__tl span{display:block; font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--amber-2); margin-bottom:3px; font-weight:600}
.op__kto{margin-top:auto; padding-top:12px; border-top:1px solid rgba(255,255,255,.18); display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:14px}
.op__kto b{font-weight:600}
.op__kto span{font-size:12.5px; color:rgba(255,255,255,.65); white-space:nowrap}
@media (max-width: 640px){ .szkla--op .op{flex-basis:100%; max-width:none} .op__txt{font-size:16px} }
.szkla--op{display:block; columns:3 300px; column-gap:18px; max-width:1160px; margin-inline:auto}
.szkla--op .op{max-width:none; break-inside:avoid; margin:0 0 18px; display:flex}
.op__kto{margin-top:6px}
.szkla--op{display:grid; columns:auto; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:18px; max-width:none}
.szkla--op .op{margin:0}
.szkla--op .op--dl{grid-row:span 2}
.op__kto{margin-top:auto}
@media (max-width: 640px){ .szkla--op{grid-template-columns:1fr} .szkla--op .op--dl{grid-row:auto} }
@media (max-width: 600px){ .logo__sl{display:block; height:0; overflow:hidden; margin:0; opacity:0} }

/* runda 27: opinie jako slider */
.ops{position:relative}
.ops__okno{overflow:hidden; padding-block:12px; touch-action:pan-y}
.ops__tor{display:flex; gap:18px; transition:transform .8s cubic-bezier(.7,0,.2,1); will-change:transform; cursor:grab; user-select:none}
.ops__tor > .op{flex:0 0 calc((100% - 36px) / 3); max-width:none; margin:0; transition:opacity .7s ease, transform .8s cubic-bezier(.7,0,.2,1)}
.ops__tor > .op:not(.is-on){opacity:.25; transform:scale(.94)}
.ops__ster{display:flex; align-items:center; justify-content:center; gap:22px; margin-top:30px}
.ops__btn{width:54px; height:54px; border-radius:50%; display:grid; place-items:center; cursor:pointer; color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.35); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); transition:background .3s, color .3s, border-color .3s, transform .3s}
.ops__btn .ic{width:22px; height:22px; transition:transform .3s}
.ops__btn--l .ic{transform:rotate(180deg)}
.ops__btn:hover{background:var(--amber); border-color:var(--amber); color:var(--noc)}
.ops__btn:hover .ic{transform:translateX(3px)}
.ops__btn--l:hover .ic{transform:rotate(180deg) translateX(3px)}
.ops__btn:active{transform:scale(.94)}
.ops__btn:focus-visible{outline:2px solid var(--amber); outline-offset:3px}
.ops__kropki{display:flex; gap:8px}
.ops__kropki button{width:8px; height:8px; padding:0; border:0; border-radius:8px; background:rgba(255,255,255,.35); cursor:pointer; transition:width .5s cubic-bezier(.7,0,.2,1), background .4s}
.ops__kropki button.is-on{width:28px; background:var(--amber)}
@media (max-width: 999px){ .ops__tor > .op{flex-basis:calc((100% - 18px) / 2)} }
@media (max-width: 699px){ .ops__tor > .op{flex-basis:100%} .ops__ster{margin-top:22px} .ops__btn{width:48px; height:48px} }
@media (prefers-reduced-motion: reduce){ .ops__tor, .ops__tor > .op{transition:none} }
@media (max-width: 1000px){ .logo__sl{display:block; height:0; overflow:hidden; margin:0; opacity:0} .logo__txt--jeden b{font-size:16px; line-height:1.15; white-space:nowrap} }
@media (max-width: 600px){ .logo__txt--jeden b{font-size:15px} }
@media (max-width: 1000px){ .naglowek .logo{flex:none} .naglowek__cta .btn--tel{font-size:0; gap:0; padding:0; width:48px; height:48px; justify-content:center; border-radius:50%} .naglowek__cta .btn--tel .ic{width:20px; height:20px} }
.ops .op{display:flex; flex-direction:column; gap:14px}
.ops .op__tl{margin-top:2px}
.ops__ster{gap:14px}


/* runda 29: pasek dat w FAQ, przyciski pod FAQ */
.faq__okres{border-left:3px solid var(--amber); padding-left:12px; margin:4px 0}
.faq__okres b{margin-right:4px; white-space:nowrap}
.faq__wa--r29{flex-direction:column; gap:16px}
.faq__wa__btns{display:flex; flex-wrap:wrap; justify-content:center; gap:12px}


/* runda 31: widget Droplabs w oknie rezerwacji (Ząb i Białka) */
.modal--dl{width:min(1120px, calc(100vw - 24px)); max-height:min(92vh, 1100px)}
.modal--dl .modal__in{padding:clamp(18px, 3vw, 32px); gap:12px}
.modal--dl h3{font-size:clamp(22px, 2.6vw, 30px)}
.modal__hint{margin:0}
.dl-box{min-height:260px; border-radius:12px; background:var(--snieg); position:relative}
.dl-box:empty::after{content:"…"; position:absolute; inset:0; display:grid; place-items:center; color:var(--szary); font-size:28px}
.dl-box iframe{border-radius:12px}
.dl-note{font-size:13px; color:var(--szary)!important; margin:0}
@media (max-width: 640px){ .modal--dl{width:100vw; max-width:100vw; max-height:100dvh; border-radius:0} .modal--dl .modal__in{padding:16px 10px 24px} }


/* runda 32: widget Droplabs w karcie hero (zamiast kalkulatora) */
.rez--dl{gap:12px}
.rez__tabs{display:grid; grid-template-columns:repeat(3, 1fr); gap:6px}
.rez__tab{display:grid; gap:2px; padding:9px 6px; border-radius:10px; border:1px solid var(--lod); background:#fff; font:inherit; font-size:13px; font-weight:700; line-height:1.2; color:var(--tusz); cursor:pointer; text-align:center; transition:background .2s, color .2s, border-color .2s}
.rez__tab small{font-weight:500; font-size:12px; color:var(--szary)}
.rez__tab.is-on{background:var(--noc); color:#fff; border-color:var(--noc)}
.rez__tab.is-on small{color:var(--amber-2)}
.rez__tab:focus-visible{outline:2px solid var(--amber); outline-offset:2px}
.rez__dl{max-height:min(66vh, 600px); overflow:auto; border-radius:12px; background:var(--snieg); -webkit-overflow-scrolling:touch; scrollbar-width:thin}
.rez__dl[hidden], .rez__tel[hidden]{display:none}
.rez__dl iframe{border-radius:12px}
.rez__laduje{min-height:220px; display:grid; place-items:center; color:var(--szary); margin:0; font-size:14px}
.rez__tel{display:grid; gap:10px}
.rez__tel p{margin:0; font-size:14.5px; color:var(--tusz)}
.rez__tel .rez__ceny{color:var(--szary); font-size:13.5px}
.rez--dl .rez__note{text-align:left; font-size:12.5px}
@media (max-width: 759px){ .rez__dl{max-height:72vh} .rez__tab{font-size:12.5px; padding:8px 4px} }


/* runda 33: telefon - film w hero widoczny (mniejszy, napisy u dołu na gradiencie), karta rezerwacji pod filmem,
   widget Droplabs na telefonie w oknie na cały ekran zamiast przewijanego pola */
.rez__otworz{min-height:56px; font-size:16px}
.modal--dl{width:min(1120px, calc(100vw - 24px)); max-height:min(92vh, 1100px); padding:0}
.dl-top{position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; background:#fff; border-bottom:1px solid var(--lod)}
.dl-top__t{margin:0; font-weight:700; font-size:17px; line-height:1.2; color:var(--tusz)!important}
.dl-top .modal__x{position:static; flex:none; margin:0}
.dl-box{min-height:260px; background:var(--snieg)}
.dl-note{font-size:12.5px; color:var(--szary)!important; margin:0; padding:10px 16px calc(14px + env(safe-area-inset-bottom))}
@media (max-width: 759px){
  .modal--dl{width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0; margin:0}
  .modal--dl[open]{animation:none}
  .hero::before{background:none}
  .hero__media{inset:0 0 auto 0; height:min(74svh, 640px)}
  .hero__media::after{content:""; position:absolute; left:0; right:0; bottom:-2px; height:64%; background:linear-gradient(180deg, rgba(11,22,48,0) 0%, rgba(11,22,48,.45) 40%, rgba(11,22,48,.9) 78%, var(--noc) 100%)}
  .hero__in{display:grid; grid-template-rows:min(74svh, 640px) auto; gap:16px; padding-top:0; padding-bottom:30px; min-height:0}
  .hero__txt{align-self:end; padding-bottom:6px}
  .hero h1{font-size:38px; margin-bottom:8px}
  .hero h1 .h1__dop{font-size:.52em}
  .hero h1 .h1__trasy{font-size:14.5px; margin-top:.45em}
  .hero__claim{font-size:15.5px; line-height:1.5}
}

/* runda 35: zdjecia tras ciemniejsze, zeby bialy tekst byl czytelny na calej wysokosci */
.kol::after{background:linear-gradient(180deg, rgba(7,15,34,.66) 0%, rgba(7,15,34,.34) 32%, rgba(7,15,34,.42) 55%, rgba(7,15,34,.95) 100%)}
.kol__img img{filter:brightness(.86)}

/* runda 39: oprawa widgetu Droplabs (srodek iframe zostaje bez zmian) */
.rez__kroki{list-style:none; margin:0; padding:0; display:flex; align-items:center; flex-wrap:wrap; gap:6px 4px; font-size:12.5px; font-weight:600; color:var(--szary)}
.rez__kroki[hidden]{display:none}
.rez__kroki li{display:inline-flex; align-items:center; gap:6px; white-space:nowrap}
.rez__kroki li + li::before{content:""; width:16px; height:1px; background:var(--lod); margin-right:2px}
.rez__kroki b{display:grid; place-items:center; width:21px; height:21px; border-radius:50%; flex:none; background:#fff; border:1px solid var(--lod); color:var(--tusz); font-size:11px; font-weight:700; line-height:1}
.rez__kroki b svg{width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round}
.rez__kroki .is-teraz{color:var(--tusz)}
.rez__kroki .is-teraz b{background:var(--amber); border-color:var(--amber); color:var(--noc)}
.rez__kroki .is-ok b{background:var(--noc); border-color:var(--noc); color:#fff}

.rez__tab{position:relative; padding:11px 6px 10px; border-radius:12px; transition:background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s}
.rez__tab:hover{border-color:var(--amber); transform:translateY(-1px)}
.rez__tab.is-on{box-shadow:0 10px 20px -12px rgba(11,22,48,.7); transform:none}
.rez__tab.is-on::after{content:""; position:absolute; left:50%; bottom:-6px; width:11px; height:11px; margin-left:-5.5px; background:var(--noc); transform:rotate(45deg); border-radius:2px}

.rez__ramka{position:relative; border:1px solid var(--lod); border-radius:14px; background:#fff; overflow:hidden}
.rez__ramka[hidden]{display:none}
.rez__ramka-top{display:flex; align-items:center; gap:7px; margin:0; padding:9px 14px; background:var(--snieg); border-bottom:1px solid var(--lod); font-size:12.5px; font-weight:600; color:var(--tusz)}
.rez__ramka-top .ic{width:15px; height:15px; color:var(--amber-ink, #9a5a0c)}
.rez__ramka-trasa{margin-left:auto; font-weight:500; color:var(--szary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.rez__ramka .rez__dl{border-radius:0; background:#fff; max-height:min(60vh, 560px); scrollbar-color:var(--amber) transparent}
.rez__ramka .rez__dl iframe{border-radius:0}
.rez__ramka::after{content:""; position:absolute; left:0; right:0; bottom:0; height:64px; background:linear-gradient(180deg, rgba(255,255,255,0), #fff 88%); pointer-events:none; transition:opacity .3s}
.rez__ramka.na-dole::after{opacity:0}
.rez__ramka .rez__laduje{min-height:320px; margin:0; color:var(--szary); background:linear-gradient(100deg, #f4f6fa 30%, #e8edf4 50%, #f4f6fa 70%) 0 0 / 200% 100%; animation:dl-blysk 1.3s linear infinite}
@keyframes dl-blysk{to{background-position:-200% 0}}
@media (prefers-reduced-motion: reduce){ .rez__ramka .rez__laduje{animation:none} }

.dl-top{background:var(--noc); border-bottom:0}
.dl-top__t{color:#fff!important}
.dl-top .modal__x{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.25); color:#fff}
.rez__kroki--dl{padding:10px 16px; background:var(--snieg); border-bottom:1px solid var(--lod)}

@media (max-width: 759px){
  .rez__ramka{border:0; background:none; overflow:visible}
  .rez__ramka-top, .rez__ramka::after{display:none}
  .rez__ramka .rez__dl{max-height:none; background:none; overflow:visible}
  .rez__kroki{font-size:12px}
  .rez__kroki li + li::before{width:10px}
}
.rez__tabs{margin-bottom:4px}
@media (max-width: 759px){ .rez__tabs{margin-bottom:2px} }


/* ================= runda 40 ================= */
/* strzalki pod karuzelami (telefon i tablet), kurtyna ladowania kalendarza, krotsze sekcje na telefonie */
.strzalki{display:none; align-items:center; justify-content:center; gap:14px; margin-top:14px}
.strzalki[hidden]{display:none !important}
.strzalki__btn{width:46px; height:46px; border-radius:50%; display:grid; place-items:center; cursor:pointer; border:1px solid rgba(11,22,48,.22); background:#fff; color:var(--noc); transition:background .25s, border-color .25s, color .25s, transform .15s, opacity .25s}
.strzalki__btn .ic{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.strzalki__btn--l .ic{transform:rotate(180deg)}
.strzalki__btn:active{transform:scale(.94)}
.strzalki__btn:disabled{opacity:.35; cursor:default}
.strzalki__btn:focus-visible{outline:2px solid var(--amber); outline-offset:3px}
.strzalki--ciemne .strzalki__btn{background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.35); color:#fff}
.strzalki__licz{font-size:13px; font-weight:600; color:var(--szary); min-width:38px; text-align:center; font-variant-numeric:tabular-nums}
.strzalki--ciemne .strzalki__licz{color:var(--szary-j)}
@media (max-width: 899px){ .strzalki{display:flex} .kropki + .strzalki{margin-top:6px} }

/* kurtyna nad ramka kalendarza, dopoki widget nie rozciagnie ramki */
.rez__dl{position:relative}
.rez__kurtyna{position:absolute; inset:0; z-index:3; display:grid; place-items:center; text-align:center; padding:24px; background:#f6f8fb; color:var(--tusz); transition:opacity .35s}
.rez__kurtyna.is-off{opacity:0; pointer-events:none}
.rez__kurtyna__in{display:grid; justify-items:center; gap:12px; max-width:260px}
.rez__kurtyna__ikona{width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:#fff; border:1px solid var(--lod); color:var(--amber-ink); box-shadow:0 10px 24px -14px rgba(11,22,48,.6)}
.rez__kurtyna__ikona .ic{width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.rez__kurtyna b{font-size:15px}
.rez__kurtyna small{font-size:12.5px; color:var(--szary); line-height:1.4}
.rez__kurtyna__pasek{width:120px; height:4px; border-radius:2px; background:var(--lod); overflow:hidden}
.rez__kurtyna__pasek::after{content:""; display:block; width:40%; height:100%; border-radius:2px; background:var(--amber); animation:kurtyna-bieg 1.1s ease-in-out infinite}
@keyframes kurtyna-bieg{0%{transform:translateX(-100%)} 100%{transform:translateX(260%)}}
@media (prefers-reduced-motion: reduce){ .rez__kurtyna__pasek::after{animation:none; width:100%} }

/* ---------- telefon: kazda sekcja ma miescic sie w okolicach jednego ekranu ---------- */
@media (max-width: 759px){
  :root{--pad:40px}
  .sek-head{margin-bottom:18px}
  .sek-head .lead{margin-top:8px; font-size:15px; line-height:1.5}
  .sek-head h2{font-size:27px; line-height:1.15}
  .kicker{margin-bottom:8px}

  /* hero: film nizszy, tekst i karta rezerwacji wyzej */
  .hero__media{height:min(58svh, 500px)}
  .hero__in{grid-template-rows:min(58svh, 500px) auto; gap:10px; padding-bottom:18px}
  .hero h1{font-size:33px; margin-bottom:6px}
  .hero h1 .h1__trasy{font-size:13.5px; margin-top:.35em}
  .hero__claim{font-size:14.5px; line-height:1.45; margin-bottom:10px}
  .rez--dl{padding:16px 14px 14px}
  .rez--dl h2{font-size:21px}
  .rez__head p{font-size:13px; margin-bottom:8px}
  .rez__kroki{margin-bottom:8px}
  .rez__note{font-size:11.5px; margin-top:8px}

  /* trasy */
  .trasy{padding-bottom:14px}
  .kolumny.karuzela .kol__txt{min-height:0; padding:18px 18px 16px}
  .kol__lista{font-size:14.5px; gap:6px}
  .kol__lista li{padding:3px 0}
  .kol h3{font-size:25px}
  .kol__sub{font-size:14px}

  /* rolki: nizsze kafle */
  .rolka{aspect-ratio:3/4}
  .rolki__siatka{gap:8px}
  .rolki__wiecej{margin-top:20px; gap:10px}
  .rolki__wiecej p{font-size:14.5px}

  /* porownanie: krotsza karta i pasek sezonu */
  .kk__foto{aspect-ratio:16/8}
  .kk__in{padding:16px; gap:8px}
  .kk h3{font-size:22px}
  .kk__dla{font-size:13.5px}
  .kk__cena{padding:12px}
  .kk__lista li{padding:7px 0; font-size:14.5px}
  .kk__lista .ic{width:18px; height:18px}
  .porownanie__info{margin-top:14px; padding:18px 16px; gap:12px}
  .porownanie__info .lista{font-size:14px; gap:8px}
  .porownanie__info .sezon{margin-bottom:6px; font-size:15px}
  .porownanie__cta .btn{min-height:48px}

  /* w cenie: nizsze kafle, info ciasniej */
  .karty{gap:8px}
  .karta__foto{aspect-ratio:16/10}
  .karta__txt{padding:10px 12px; font-size:14px}
  .wcenie__info{margin-top:14px; gap:8px}
  .wcenie__info p{padding:10px 14px; font-size:13.5px}

  /* program */
  .slajd__foto{aspect-ratio:16/9}
  .slajd__txt{padding:16px}
  .slajd h3{font-size:20px}
  .slajd p{font-size:14.5px}
  .program__cta{margin-top:18px; gap:8px}

  /* opinie */
  .op{min-height:0}
  .op__txt{font-size:15.5px}

  /* faq */
  .faq__kolumny{gap:8px}
  .faq__i summary{padding:13px 14px; font-size:15px; gap:10px}
  .faq__i summary span{width:28px; height:28px}
  .faq__i p{padding:0 14px 14px; font-size:14.5px}
  .faq__wa{margin-top:16px; gap:10px}
  .faq__wa p{font-size:14.5px}

  /* organizatorzy: logo w pasku, mniej powietrza */
  .org2__lista{gap:10px}
  .org2__loga{min-height:0; padding:14px 16px}
  .org2__loga img{height:40px}
  .org2__loga img[src*="magiczny"]{height:62px; margin:-8px 0}
  .org2__txt{padding:14px 16px 16px}
  .org2 h3{font-size:21px}
  .org2 p{font-size:14.5px}
  .org2__trasa{font-size:13.5px}
  .org2__dane{font-size:12.5px}

  /* kontakt */
  .kontakt .lead{font-size:15px}
  .kontakt .btn{min-height:50px}
}


/* ================= runda 41 ================= */
/* telefon: karuzele wysrodkowane (karta na srodku, sasiedzi wystaja po obu stronach), odstep pod paskiem,
   krotsze karty tras i porownania, mniejszy pasek sezonu, podpisy kafli "w cenie" na srodku */
@media (max-width: 899px){
  .kolumny.karuzela{--kw:82vw; gap:14px; padding-left:calc((100vw - var(--kw)) / 2); padding-right:calc((100vw - var(--kw)) / 2); scroll-padding-inline:calc((100vw - var(--kw)) / 2); padding-top:18px; padding-bottom:8px}
  .kolumny.karuzela .kol{flex:0 0 var(--kw); scroll-snap-align:center}
  .kk__siatka.karuzela{--kw:82vw; gap:14px; grid-auto-columns:var(--kw); margin-inline:calc(-1 * clamp(16px, 4vw, 40px)); padding-left:calc((100vw - var(--kw)) / 2); padding-right:calc((100vw - var(--kw)) / 2); scroll-padding-inline:calc((100vw - var(--kw)) / 2); padding-bottom:4px}
  .kk__siatka.karuzela .kk{scroll-snap-align:center}
  .slider__tor.karuzela{--kw:82vw; gap:14px; grid-auto-columns:var(--kw); margin-inline:-16px; padding-left:calc((100vw - var(--kw)) / 2); padding-right:calc((100vw - var(--kw)) / 2); scroll-padding-inline:calc((100vw - var(--kw)) / 2)}
  .slider__tor.karuzela .slajd{scroll-snap-align:center}
  .strzalki{margin-top:8px}
  .kropki + .strzalki{margin-top:2px}
  .kropki{margin-top:10px}
}
@media (max-width: 759px){
  /* trasy: krotsza karta, zeby strzalki byly widoczne razem z karta */
  .kolumny.karuzela .kol__txt{padding:16px 16px 14px}
  .kol h3{font-size:23px}
  .kol__sub{font-size:13.5px}
  .kol__cena{margin-top:8px; padding:6px 12px}
  .kol__cena b{font-size:18px}
  .kol__lista{font-size:14px; gap:3px}
  .kol__lista li{padding:2px 0}
  .kol__btns{gap:8px}
  .kol__btns .btn{min-height:42px; padding:8px 14px; font-size:13.5px}

  /* porownanie: krotsza karta */
  .kk__foto{display:none}
  .kk__in{padding-top:18px}
  .kk__in{padding:14px; gap:6px}
  .kk h3{font-size:21px}
  .kk__dla{font-size:13px; margin-top:-2px}
  .kk__cena{padding:8px 10px}
  .kk__cena b{font-size:24px}
  .kk__lista li{padding:5px 0}
  .kk__l{font-size:10.5px}
  .kk__v{font-size:14px}
  .kk .btn{min-height:44px; font-size:14px}

  /* sezon wysoki: mniejszy pasek, przyciski obok siebie */
  .porownanie__info{padding:14px 14px 16px; gap:8px; border-radius:16px}
  .sezon{font-size:14px; margin-bottom:4px}
  .porownanie__info .lista{font-size:13px; gap:5px; line-height:1.4}
  .porownanie__cta{flex-direction:row; flex-wrap:nowrap; gap:8px; width:100%}
  .porownanie__cta .btn{min-height:42px; padding:8px 10px; font-size:13px; flex:1}

  /* w cenie: podpisy na srodku */
  .karta__txt{text-align:center}
}


/* ================= runda 42 ================= */
/* menu: animacja zamykania (wszystkie szerokosci) */
@keyframes wyjazd{from{transform:none; opacity:1} to{transform:translateX(40px); opacity:0}}
@keyframes tlo-gasnie{from{opacity:1} to{opacity:0}}
.panel.is-closing .panel__in{animation:wyjazd .28s cubic-bezier(.4,0,.8,.4) forwards}
.panel.is-closing .panel__tlo{animation:tlo-gasnie .3s ease forwards}
.panel.is-closing{pointer-events:none}
@media (prefers-reduced-motion: reduce){ .panel.is-closing .panel__in, .panel.is-closing .panel__tlo{animation-duration:.01s} }

/* opinie: rozwijanie dlugich opinii (wszystkie szerokosci, ale dziala tylko gdy JS doda .op--krotka) */
.op--krotka .op__txt{display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden}
.op--krotka.is-open .op__txt{display:block; -webkit-line-clamp:unset}
.op--krotka .op__tl{display:none}
.op--krotka.is-open .op__tl{display:block}
.op__txt, .op__tl{transition:max-height .45s cubic-bezier(.4,0,.2,1); will-change:max-height}
.op__wiecej{align-self:flex-start; margin:-4px 0 0; padding:6px 0; border:0; background:none; color:var(--amber-2); font:inherit; font-size:13.5px; font-weight:700; letter-spacing:.02em; cursor:pointer; display:inline-flex; align-items:center; gap:6px}
.op__wiecej .ic{width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .35s}
.op.is-open .op__wiecej .ic{transform:rotate(180deg)}
.op__wiecej:focus-visible{outline:2px solid var(--amber); outline-offset:2px}

/* tabela w oknach tras: na telefonie bez przewijania w bok */
.tabela__uwaga{margin:10px 0 0; font-size:13px; color:var(--szary); display:flex; gap:8px; align-items:center}
.tabela__uwaga .ic{width:16px; height:16px; color:var(--amber-ink); flex:none}

@media (max-width: 759px){
  /* menu: wszystko na jednym ekranie */
  .panel__in{padding:60px 20px 18px; gap:14px; justify-content:flex-start}
  .panel__x{top:12px; right:12px; width:40px; height:40px}
  .panel__nav a{font-size:20px; padding:7px 0}
  .panel__cta{gap:7px}
  .panel__cta .btn{min-height:42px; padding:8px 14px; font-size:14px}
  .panel__blok{gap:8px}
  .panel__etykieta{font-size:11px}
  .jezyki--panel{gap:8px; max-width:none}
  .jezyki--panel a{width:40px; height:40px}
  .soc--panel{gap:8px}
  .soc--panel a{width:42px; height:42px}
  .soc--panel .ic{width:19px; height:19px}

  /* tabela cen w oknie trasy: 3 kolumny, czwarta jako uwaga pod tabela */
  .tabela--mala{font-size:13.5px}
  .tabela--mala td{padding:10px 8px}
  .tabela--mala thead th{font-size:13.5px; padding:10px 8px}
  .tabela--mala tbody th{font-size:12.5px; padding:10px 8px; white-space:normal}
  .tabela--mala th:nth-child(4), .tabela--mala td:nth-child(4){display:none}
  .tabela-wrap{overflow-x:hidden}

  /* rolki: jedna na ekran, strzalki pod spodem */
  .rolki__siatka.karuzela{--kw:74vw; display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-inline:-16px; padding-left:calc((100vw - var(--kw)) / 2); padding-right:calc((100vw - var(--kw)) / 2); scroll-padding-inline:calc((100vw - var(--kw)) / 2); padding-bottom:4px}
  .rolki__siatka.karuzela::-webkit-scrollbar{display:none}
  .rolki__siatka.karuzela .rolka{flex:0 0 var(--kw); scroll-snap-align:center; aspect-ratio:9/14}
  .rolki__wiecej{margin-top:14px}

  /* opinie: karty tylko tak wysokie, jak trzeba */
  .ops__tor{align-items:flex-start}
  .ops .op{padding:18px; gap:10px}
  .op__txt{font-size:15px; line-height:1.5}
  .op__kto{padding-top:10px; font-size:13.5px}

  /* stopka */
  .stopka{padding:34px 0 18px; font-size:14px}
  .stopka__in{gap:18px; padding-bottom:20px; justify-items:center; text-align:center}
  .stopka__marka{flex-direction:column; gap:8px}
  .stopka__marka .logo__znak{width:150px; height:auto}
  .stopka__marka b{font-size:20px}
  .stopka__marka p{font-size:13px}
  .stopka__nav{display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; width:100%}
  .stopka__nav a{padding:9px 6px; border-radius:10px; background:rgba(255,255,255,.06); color:#fff; font-size:13.5px; font-weight:600; text-align:center}
  .stopka__tel{justify-items:center}
  .stopka__tel a{font-size:17px}
  .stopka__soc{padding-top:18px}
  .stopka__soc .soc--kolor a{width:50px; height:50px}
  .stopka__soc .soc--kolor .ic{width:22px; height:22px}
  .stopka__wlasciciel{padding-top:16px; font-size:12.5px; line-height:1.5}
}


/* ================= runda 43 ================= */
/* kalendarz Droplabs: kurtyna bez migania, ramka wjezdza plynnie gdy jest gotowa (hero i okno na telefonie) */
.rez__dl, .dl-box{position:relative}
.dl-box .rez__kurtyna{position:absolute; inset:0; z-index:3}
.dl-box:has(.rez__kurtyna){min-height:62vh}
.rez__kurtyna{opacity:1; transition:opacity .4s ease}
.rez__kurtyna.is-off{opacity:0; pointer-events:none}
.rez__kurtyna b, .rez__kurtyna small{animation:none}
#dl-widget{opacity:0; transform:translateY(14px); transition:opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1)}
#dl-widget.is-ready{opacity:1; transform:none}
@media (prefers-reduced-motion: reduce){ #dl-widget{transition:none; transform:none} }

/* kafelek trasy Ząb: film z drona w tle (plakat = stare zdjecie) */
.kol__wideo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; opacity:0; transition:opacity .6s ease}
.kol__wideo.is-on{opacity:1}
.kol:hover .kol__wideo{opacity:1}

/* menu: jezyki nad nawigacja */
.panel__blok--gora{margin-top:-6px}
.panel__blok--gora .panel__etykieta{margin-bottom:-2px}
@media (max-width: 759px){ .panel__blok--gora{margin-top:0} }

/* baner cookies (wzor: fight-club, kolory strony) */
.zgoda{position:fixed; z-index:9000; right:16px; bottom:16px; width:min(420px, calc(100vw - 32px)); max-height:calc(100svh - 32px); overflow:auto; background:#fff; color:var(--tusz); border:1px solid var(--lod); border-radius:18px; padding:18px 18px 14px; box-shadow:0 24px 60px -20px rgba(11,22,48,.45); font-size:14px; line-height:1.5; display:grid; gap:12px; animation:zgoda-in .4s cubic-bezier(.2,.8,.2,1)}
@keyframes zgoda-in{from{opacity:0; transform:translateY(16px)} to{opacity:1; transform:none}}
.zgoda.is-off{opacity:0; transform:translateY(10px); transition:opacity .25s, transform .25s}
.zgoda[hidden]{display:none}
.zgoda:focus{outline:2px solid var(--amber); outline-offset:3px}
.zgoda__t{margin:0; font-weight:700; font-size:16px}
.zgoda__txt{margin:0; color:var(--szary)}
.zgoda a{color:var(--tusz); text-decoration:underline; text-underline-offset:2px}
.zgoda__opcje{display:grid; gap:10px}
.zgoda__opcje[hidden]{display:none}
.zgoda__opcja{display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; cursor:pointer}
.zgoda__opcja input{width:18px; height:18px; margin:2px 0 0; accent-color:var(--amber)}
.zgoda__opcja b{display:block; color:var(--tusz)}
.zgoda__opcja span{color:var(--szary)}
.zgoda__akcje{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px}
.zgoda__akcje[hidden]{display:none}
.zgoda__btn{width:100%; padding:12px 10px; border:1.5px solid var(--noc); border-radius:999px; background:var(--noc); color:#fff; font:700 14px/1.2 var(--f-b, inherit); font-family:inherit; cursor:pointer; text-align:center}
.zgoda__btn:hover{background:var(--noc-2)}
.zgoda__btn:focus-visible, .zgoda__link:focus-visible{outline:2px solid var(--amber); outline-offset:2px}
.zgoda__link{justify-self:start; background:none; border:0; padding:2px; color:var(--tusz); font:700 13.5px inherit; font-family:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.zgoda__link[hidden]{display:none}
@media (max-width: 759px){
  .zgoda{left:10px; right:10px; bottom:86px; width:auto; padding:14px 14px 12px; font-size:13px; gap:10px; max-height:calc(100svh - 110px)}
  .zgoda__t{display:none}
  .zgoda__btn{font-size:13px; padding:11px 6px}
}

/* linki prawne w stopce */
.stopka__prawne{display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; padding-top:18px; font-size:13.5px}
.stopka__prawne a{color:rgba(255,255,255,.75); text-decoration:none}
.stopka__prawne a:hover{color:#fff; text-decoration:underline}
@media (max-width: 759px){ .stopka__prawne{gap:6px 16px; font-size:12.5px; padding-top:14px} }

/* ================= runda 44 ================= */
.op--krotka .op__tl, .op--krotka.is-open .op__tl{display:block}
.kol__wideo{z-index:1}
.kol__wideo.is-on ~ img{opacity:0 !important}
