/* Smasher Challenge · smasher.css
   Wartości 1:1 z projektu (wdrozenie/stara-strona/smasher-szablon.dc.html). Projekt jest płynny (clamp/min),
   bez osobnego wariantu telefonu. Interakcje: smasher.js. */

/* @font-face:start – generowane przez `npm run czcionki`, nie edytować ręcznie */
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-display:swap;font-weight:900;src:url(../fonts/big-shoulders-display-latin-ext-900-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-display:swap;font-weight:900;src:url(../fonts/big-shoulders-display-latin-900-normal.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}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/barlow-condensed-latin-ext-500-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-display:swap;font-weight:500;src:url(../fonts/barlow-condensed-latin-500-normal.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}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/barlow-condensed-latin-ext-700-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/barlow-condensed-latin-700-normal.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}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/jetbrains-mono-latin-ext-400-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:400;src:url(../fonts/jetbrains-mono-latin-400-normal.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}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/jetbrains-mono-latin-ext-700-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:700;src:url(../fonts/jetbrains-mono-latin-700-normal.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}
/* @font-face:end */

:root{
  --g:#26bf00;
  --g-hover:#6bff33;
  --bg:#06070a;
  --bg2:#0a0d08;
  --fg:#e9ece8;
  --px:clamp(14px,4vw,40px);
  --om-scan:.58; /* siła linii skanowania – wariant „mocno” z projektu */
  --zgody-akcent:var(--g); /* baner zgód (/zgody.css) w zieleni Smashera */
  --ease:cubic-bezier(.2,.8,.2,1);
  --bsd:'Big Shoulders Display',sans-serif;
  --mono:'JetBrains Mono',monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:"Barlow Condensed","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--g);text-decoration:none}
a:hover{color:var(--g-hover)}
::selection{background:var(--g);color:var(--bg)}
input,button,select{font-family:inherit}
[hidden]{display:none!important}
a:focus-visible,summary:focus-visible{outline:2px solid var(--g);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@keyframes scanSweep{0%{transform:translateY(-110%)}100%{transform:translateY(110%)}}
@keyframes glitchA{0%,100%{transform:translate(0,0);clip-path:inset(0 0 0 0)}20%{transform:translate(-4px,1px);clip-path:inset(10% 0 62% 0)}40%{transform:translate(3px,-2px);clip-path:inset(48% 0 20% 0)}60%{transform:translate(-2px,2px);clip-path:inset(72% 0 8% 0)}80%{transform:translate(4px,0);clip-path:inset(28% 0 44% 0)}}
@keyframes glitchB{0%,100%{transform:translate(0,0);clip-path:inset(0 0 0 0)}25%{transform:translate(4px,-1px);clip-path:inset(60% 0 14% 0)}45%{transform:translate(-3px,2px);clip-path:inset(18% 0 54% 0)}65%{transform:translate(2px,-2px);clip-path:inset(38% 0 38% 0)}85%{transform:translate(-4px,1px);clip-path:inset(4% 0 78% 0)}}
@keyframes flick{0%,100%{opacity:1}42%{opacity:1}44%{opacity:.4}46%{opacity:1}62%{opacity:.75}64%{opacity:1}}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes greenPulse{0%,100%{opacity:.5;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.09)}}
@keyframes gridDrift{from{background-position:0 0}to{background-position:0 -80px}}
@keyframes wordmarkGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(38,191,0,0))}50%{filter:drop-shadow(0 0 18px rgba(38,191,0,.5))}}

.page{position:relative;width:100%;min-height:100vh;background:var(--bg);overflow-x:clip}

/* ---------- Efekt monitora (linie, przebieg, winieta) ---------- */
.fx-scan{position:fixed;inset:0;z-index:90;pointer-events:none;background-image:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0px,rgba(0,0,0,0) 2px,rgba(0,0,0,.42) 3px,rgba(0,0,0,0) 4px);opacity:var(--om-scan);mix-blend-mode:multiply}
.fx-sweep{position:fixed;left:0;right:0;top:0;height:22vh;z-index:91;pointer-events:none;background:linear-gradient(180deg,rgba(38,191,0,0) 0%,rgba(38,191,0,.045) 45%,rgba(220,255,200,.06) 50%,rgba(38,191,0,0) 100%);animation:scanSweep 7s linear infinite;opacity:var(--om-scan)}
.fx-vignette{position:fixed;inset:0;z-index:92;pointer-events:none;box-shadow:inset 0 0 20vmin 5vmin rgba(0,0,0,.9)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:40px 0 0;background:radial-gradient(120% 80% at 50% 8%,#0b0c0a 0%,#06070a 55%)}
.hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;animation:gridDrift 9s linear infinite;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 0%,transparent 78%);mask-image:radial-gradient(70% 60% at 50% 40%,#000 0%,transparent 78%)}
.hero__glow{position:absolute;left:50%;top:34%;width:min(62vw,460px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(38,191,0,.16) 0%,transparent 60%);filter:blur(44px);animation:greenPulse 3.6s ease-in-out infinite}
.hero__brand{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 var(--px) 6px}
.hero__brand a{display:block}
.hero__brand img{display:block;width:min(56vw,250px);height:auto;filter:drop-shadow(0 0 24px rgba(0,0,0,.9))}
.hero__presents{font-family:var(--mono);font-size:9px;letter-spacing:.3em;color:rgba(233,236,232,.42)}
.hero picture{display:contents}
.hero__robot{position:relative;z-index:2;width:min(112vw,820px);height:auto;max-height:82svh;object-fit:contain;object-position:bottom;filter:contrast(1.08) saturate(1.05);animation:flick 6s steps(1,end) infinite;will-change:transform}
.hero__body{position:relative;z-index:3;width:100%;margin-top:-26svh;padding:0 var(--px) clamp(28px,6vw,56px);display:flex;flex-direction:column;align-items:center;text-align:center;background:linear-gradient(180deg,rgba(6,7,10,0) 0%,rgba(6,7,10,.86) 34%,#06070a 62%)}
.hero__title{position:relative;width:100%;max-width:660px;margin:0}
.hero__title img{display:block;width:100%;height:auto}
.hero__glitch-a,.hero__glitch-b{position:absolute;left:0;top:0;mix-blend-mode:screen}
.hero__glitch-a{opacity:.85;animation:glitchA 3.4s steps(1,end) infinite}
.hero__glitch-b{opacity:.55;animation:glitchB 3.4s steps(1,end) infinite}
.hero__lockup{position:relative;filter:drop-shadow(0 0 18px rgba(38,191,0,.14));animation:flick 6s steps(1,end) infinite}
.hero__lead{margin:22px 0 0;max-width:24ch;font-weight:700;font-size:clamp(19px,5.4vw,34px);line-height:1.16;letter-spacing:.01em;text-transform:uppercase;color:#fff;text-wrap:balance}
.hl{color:var(--g)}

/* Odliczanie do finału (smasher.js) */
.countdown{display:flex;flex-direction:column;align-items:center;margin-top:26px}
.clock{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.clock__seg{min-width:74px;padding:12px 10px 9px;background:rgba(38,191,0,.06);border:1px solid rgba(38,191,0,.24);border-top:2px solid var(--g)}
.clock__v{font-family:var(--bsd);font-weight:900;font-size:clamp(30px,8vw,44px);line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.clock__k{font-family:var(--mono);font-size:8.5px;letter-spacing:.24em;color:rgba(233,236,232,.6);margin-top:6px}
.countdown__cap{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:rgba(233,236,232,.6);margin-top:12px}
.ended{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:26px;padding:18px 26px;background:rgba(38,191,0,.06);border:1px solid rgba(38,191,0,.24);border-top:2px solid var(--g)}
.ended__t{font-family:var(--bsd);font-weight:900;font-size:clamp(26px,7vw,40px);line-height:1;letter-spacing:.03em;color:#fff}
.ended__s{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--g)}

.cta{display:inline-flex;align-items:center;gap:12px;margin-top:26px;padding:18px 34px;background:var(--g);font-family:var(--bsd);font-weight:900;font-size:22px;letter-spacing:.06em;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);box-shadow:0 0 0 1px rgba(38,191,0,.6),0 0 44px rgba(38,191,0,.4)}
.cta,.cta:hover{color:var(--bg)}
.cta:hover{background:var(--g-hover);box-shadow:0 0 0 1px rgba(107,255,51,.7),0 0 56px rgba(107,255,51,.45)}
.cta__arrow{font-family:var(--mono);font-size:14px}

/* ---------- Pasek przewijany ---------- */
.marquee{position:relative;z-index:4;overflow:hidden;border-top:1px solid rgba(38,191,0,.24);border-bottom:1px solid rgba(38,191,0,.24);background:var(--bg2);padding:11px 0}
.marquee__track{display:flex;width:max-content;animation:marq 26s linear infinite;font-family:var(--bsd);font-weight:900;font-size:20px;letter-spacing:.1em;color:rgba(233,236,232,.3);white-space:nowrap}
.marquee__seg{display:flex;gap:34px;padding-right:34px}
.marquee__dot{color:var(--g)}

/* ---------- Sekcje ---------- */
.sec{position:relative;padding:clamp(64px,12vw,130px) var(--px)}
.sec--alt{background:var(--bg2);border-top:1px solid rgba(38,191,0,.2)}
.wrap{max-width:1100px;margin:0 auto}
.eyebrow{display:flex;align-items:center;gap:12px;justify-content:center;margin:0 0 18px;font-family:var(--mono);font-size:10px;letter-spacing:.28em;color:var(--g)}
.eyebrow::before,.eyebrow::after{content:"";width:26px;height:1px;background:var(--g)}
.h2{margin:0;font-family:var(--bsd);font-weight:900;font-size:clamp(40px,11vw,92px);line-height:.9;color:#fff;text-align:center}
.h2__dim{color:rgba(38,191,0,.45)}
.intro{margin:0 auto;text-align:center;font-size:clamp(16px,4.2vw,19px);line-height:1.5}

/* 01 Zasady */
.steps-h{margin-bottom:clamp(30px,6vw,56px);letter-spacing:-.01em}
.steps{display:grid;gap:14px}
.step{position:relative;padding:clamp(20px,5vw,34px);background:linear-gradient(180deg,rgba(38,191,0,.07),rgba(255,255,255,.015));border:1px solid rgba(38,191,0,.2);border-left:3px solid var(--g)}
.step:hover{background:linear-gradient(180deg,rgba(38,191,0,.14),rgba(255,255,255,.02));border-color:rgba(38,191,0,.4)}
.step--row,.step__head{display:flex;align-items:baseline;gap:14px}
.step__n{font-family:var(--bsd);font-weight:900;font-size:clamp(44px,12vw,76px);line-height:.8;color:rgba(38,191,0,.55)}
.step h3{margin:0;font-weight:700;font-size:clamp(20px,5.2vw,32px);line-height:1.05;text-transform:uppercase;color:#fff}
.recipe{margin-top:22px;padding:18px;background:var(--bg2);border:1px solid rgba(38,191,0,.18)}
.recipe__t{margin:0;font-family:var(--bsd);font-weight:900;font-size:clamp(22px,5.4vw,30px);letter-spacing:.02em;color:var(--g)}
.recipe__d{margin:10px 0 0;font-size:clamp(15px,4vw,18px);line-height:1.5;color:rgba(233,236,232,.7)}
.recipe__hr{height:1px;background:rgba(38,191,0,.2);margin:18px 0}
.recipe__d--extra{margin:0}
.price{display:inline-block;margin-left:4px;font-family:var(--mono);font-weight:700;font-size:15px;background:var(--g);color:var(--bg);padding:2px 8px}
.price--plus{background:none;color:var(--g-hover);padding:0}

/* 02 Nagroda */
.prize{position:relative;padding:clamp(64px,12vw,130px) var(--px);background:var(--bg2);border-top:1px solid rgba(38,191,0,.2);border-bottom:1px solid rgba(38,191,0,.2);overflow:hidden}
.prize__glow{position:absolute;left:50%;top:50%;width:min(120vw,900px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(38,191,0,.16) 0%,transparent 62%);animation:greenPulse 5s ease-in-out infinite}
.prize__in{position:relative;max-width:1100px;margin:0 auto;text-align:center}
.prize .eyebrow{margin-bottom:20px}
.prize__amount{position:relative;display:inline-block;margin:0;font-family:var(--bsd);font-weight:900;font-size:clamp(60px,20vw,200px);line-height:.82}
/* zielona warstwa „glitch” pod białą kwotą – z CSS, żeby kwota nie była dwa razy w treści strony */
.prize__amount::before{content:attr(data-glitch);position:absolute;inset:0;color:var(--g);opacity:.9;animation:glitchA 4.6s steps(1,end) infinite}
.prize__value{position:relative;display:block;color:#fff}
.prize__lead{margin:20px auto 0;max-width:34ch;font-size:clamp(16px,4.4vw,21px);line-height:1.45;color:rgba(233,236,232,.62)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:44px 0 0;text-align:left}
.facts>div{padding:22px;border:1px solid rgba(38,191,0,.24);background:rgba(38,191,0,.05)}
.facts dt{font-family:var(--mono);font-size:9px;letter-spacing:.24em;color:var(--g)}
.facts dd{margin:10px 0 0;font-family:var(--bsd);font-weight:900;font-size:27px;color:#fff;line-height:1}

/* 03 Aktualności */
.news-h{margin-bottom:14px}
.news-intro{margin-bottom:30px;max-width:48ch;color:rgba(233,236,232,.62)}
.social{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.social a{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 24px;border:1px solid rgba(38,191,0,.45);background:rgba(38,191,0,.08);color:#fff;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.social a:hover{background:var(--g);color:var(--bg);border-color:var(--g-hover)}
.social__name{font-family:var(--bsd);font-weight:900;font-size:21px;letter-spacing:.04em}
.social__handle{font-family:var(--mono);font-size:11px;letter-spacing:.1em;opacity:.7}

/* 04 Rezerwacja (ramka z systemu rezerwacji wstawiana przez embed.js) */
.book-h{margin-bottom:10px}
.book-intro{margin-bottom:34px;max-width:46ch;color:rgba(233,236,232,.6)}
.rezerwacje-widget{min-height:340px}
.rezerwacje-widget iframe{display:block;width:100%;border:0}
.book__alt{margin:18px 0 0;text-align:center;font-family:var(--mono);font-size:10px;line-height:1.8;letter-spacing:.1em;color:rgba(233,236,232,.58)}

/* 05 Regulamin – <details> (jeden otwarty naraz: atrybut name + smasher.js) */
.rules-h{margin-bottom:clamp(28px,5vw,44px)}
.rules{border-top:1px solid rgba(38,191,0,.2);interpolate-size:allow-keywords}
.rules details{border-bottom:1px solid rgba(38,191,0,.2)}
.rules summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;cursor:pointer;list-style:none;color:#fff}
.rules summary::-webkit-details-marker{display:none}
.rules summary:hover{color:var(--g-hover)}
.rules__q{display:flex;align-items:baseline;gap:14px}
.rules__n{font-family:var(--mono);font-size:10px;color:rgba(38,191,0,.6)}
.rules__t{font-weight:700;font-size:clamp(17px,4.4vw,22px);text-transform:uppercase;letter-spacing:.01em}
.rules__sign{flex:none;font-family:var(--mono);font-size:18px;color:var(--g)}
.rules__sign::before{content:"+"}
.rules details[open] .rules__sign::before{content:"\2212"}
.rules details p{margin:0;padding:0 0 20px 28px;font-size:clamp(15px,4vw,18px);line-height:1.55;color:rgba(233,236,232,.6)}
/* Płynne rozwijanie tam, gdzie przeglądarka to wspiera (Chrome 131+); gdzie indziej – natychmiastowe */
.rules details::details-content{block-size:0;opacity:0;overflow:hidden;transition:block-size .45s var(--ease),opacity .3s ease,content-visibility .45s allow-discrete}
.rules details[open]::details-content{block-size:auto;opacity:1}
.rules__note{margin:28px 0 0;font-family:var(--mono);font-size:10px;line-height:1.8;letter-spacing:.1em;color:rgba(233,236,232,.58)}

/* ---------- Stopka ---------- */
.foot{position:relative;padding:clamp(48px,9vw,90px) var(--px) 40px;background:var(--bg2);border-top:1px solid rgba(38,191,0,.2);overflow:hidden}
.foot__in{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:34px;align-items:flex-end;justify-content:space-between}
.foot__brand{display:flex;flex-direction:column;gap:14px}
.foot__brand a{display:block;width:min(42vw,160px)}
.foot__brand img{display:block;width:100%;height:auto;animation:wordmarkGlow 5s ease-in-out infinite}
.foot__addr{font-style:normal;font-family:var(--mono);font-size:11px;line-height:1.8;letter-spacing:.12em;color:rgba(233,236,232,.7)}
.foot__meta{font-family:var(--mono);font-size:10px;line-height:2.1;letter-spacing:.14em;color:rgba(233,236,232,.5)}
.foot__final{color:var(--g)}
.foot__links{display:flex;flex-wrap:wrap;gap:16px;margin-top:4px}
.foot__copy{max-width:1100px;margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.07);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:rgba(233,236,232,.5)}
/* Polityka prywatności i ponowne otwarcie banera zgód (/zgody.js łapie każdy element z data-zgody) */
.foot__legal{display:flex;flex-wrap:wrap;gap:12px 20px}
.foot__legal a,.foot__legal button{color:rgba(233,236,232,.5)}
.foot__legal button{padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;cursor:pointer}
.foot__legal a:hover,.foot__legal button:hover{color:var(--g-hover)}
.foot__legal button:focus-visible{outline:2px solid var(--g);outline-offset:3px}

/* ---------- Animacje wejścia (data-reveal → IntersectionObserver w smasher.js) ---------- */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;transform:translateY(26px);filter:blur(6px);transition:opacity .7s var(--ease),transform .7s var(--ease),filter .7s ease}
  .js [data-reveal].is-in{opacity:1;transform:none;filter:none}
}

/* =================== Ograniczony ruch =================== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
}
