/* Lokamo :: podstrona Opinie Google (/opinie).
   Laduje sie PO home.css i korzysta z jego tokenow i komponentow (.wrap, .ch*, .btn, .phone,
   .stage-l, .scn, .facts, .cfg__*, .faq, .qa, .cta). Sceny skaluja sie przez em liczone z cqw.
   Bloki: hero, iOS (status, dotyk), APARAT (.cam, komponent), Safari i ekran oceny (.saf, .ocn),
   arkusz opinii (.gsh), klawiatura (.kbd), film (.flm, .fcap), scena goscia (.fg, .gp, .ib),
   MacBook z mac.css (wspolny zestaw) i panel Opinii (.fk, .pnl), nosniki (.gd), sklep (.skl, .fmt, .sv),
   cena (.oc), narzedzia (.ot), responsywnosc. */

/* ---------- Hero ---------- */
.oh{position:relative;background:var(--ink);color:var(--paper);padding:124px 0 76px;overflow:clip}
.oh__bg{position:absolute;inset:0;pointer-events:none}
.oh__ring{position:absolute;width:1100px;height:1100px;right:-380px;top:-300px;color:#131316;transform:rotate(180deg)}
.oh__grid{position:relative;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:24px;align-items:center}
.oh__copy{position:relative;z-index:2}
.oh__title{font-size:clamp(44px,4.9vw,76px);line-height:.97;letter-spacing:-.045em;font-weight:560}
.oh__l1,.oh__l2{display:block;padding-bottom:.04em}
.oh__l1{color:#fff}
.oh__l2{color:var(--mist);text-wrap:balance}
.oh__lead{margin-top:26px;font-size:18px;line-height:1.58;color:var(--d-text);max-width:500px;text-wrap:pretty}
.js .oh__title>span,.js .oh__lead,.js .oh .hero__ctas,.js .oh .hero__note{animation:rise 1.1s var(--ease-out) both}
.js .oh__l1{animation-delay:.06s}
.js .oh__l2{animation-delay:.12s}
.js .oh__lead{animation-delay:.2s}
.js .oh .hero__ctas{animation-delay:.26s}
.js .oh .hero__note{animation-delay:.32s}
.js .oh__scene{animation:rise 1.3s var(--ease-out) .18s both}
.oh__scene{position:relative;container-type:inline-size}
.oh__in{position:relative;width:44em;height:39em;font-size:calc(100cqw / 44)}
.oh__phone{position:absolute;left:13.6em;top:.9em;width:17.4em;z-index:3;box-shadow:0 2.6em 4.6em -1.6em rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.06)}
.oh__glow{position:absolute;left:10.5em;top:3em;width:23.6em;height:33em;z-index:1;pointer-events:none}
.oh__glow span{position:absolute;inset:0;border-radius:40%;filter:blur(3.2em);transition:opacity 1s var(--ease)}
.oh__glow-a{background:url("/assets/home/img/stol-naklejka.webp") 50% 55%/cover;opacity:.5}
.oh__glow-b{background:radial-gradient(closest-side,#E9ECFF,#9FA9D8 70%,transparent);opacity:0}
.oh__scene.is-saf .oh__glow-a{opacity:.12}
.oh__scene.is-saf .oh__glow-b{opacity:.32}
.oh__card{position:absolute;width:12.6em;padding:.9em 1em 1em;border-radius:1em;background:rgba(24,24,28,.8);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border:1px solid rgba(255,255,255,.09);box-shadow:0 1.2em 2.6em -1.2em rgba(0,0,0,.75);color:#fff;z-index:4;transition:border-color .5s,box-shadow .5s,transform .6s var(--ease-out)}
.oh__card--kod{left:.2em;top:7.6em}
.oh__card--pul{left:31em;top:22.6em}
.oh__ch{display:flex;align-items:center;gap:.5em;font-size:.8em;white-space:nowrap}
.oh__ch .ico{width:1.15em;height:1.15em;color:var(--mist);transition:color .4s}
.oh__ch b{font-weight:600}
.oh__ch em{margin-left:auto;font-style:normal;font-size:.9em;color:#B8B8BD}
.oh__cv{display:flex;align-items:baseline;gap:.45em;margin-top:.55em}
.oh__cv b{font-size:1.9em;font-weight:500;letter-spacing:-.035em;line-height:1}
.oh__cv span{font-size:.76em;line-height:1.3;color:var(--d-text)}
.oh__cs{margin-top:.7em;padding-top:.6em;border-top:1px solid rgba(255,255,255,.08);font-size:.76em;color:var(--d-text);opacity:0;transform:translateY(.3em);transition:opacity .5s,transform .6s var(--ease-out)}
.oh__card.is-show .oh__cs{opacity:1;transform:none}
.oh__card.is-on{border-color:rgba(46,75,255,.8);box-shadow:0 0 0 1px rgba(46,75,255,.4),0 0 2.4em -.3em rgba(46,75,255,.5),0 1.2em 2.6em -1.2em rgba(0,0,0,.75);transform:translateY(-.2em)}
.oh__card.is-on .oh__ch .ico{color:#8FA0FF}
.oh__stars{color:#F2B544;letter-spacing:.06em;margin-right:.4em}
.is-bump{animation:obump .6s var(--ease-out)}
@keyframes obump{0%{transform:none}35%{transform:translateY(-.18em) scale(1.08)}100%{transform:none}}
.oh__cv b{display:inline-block}
.oh__pause{position:absolute;right:0;bottom:.2em;z-index:6}

/* ---------- iOS: ekran, pasek statusu, dotyk ---------- */
.o-scr{container-type:inline-size}
.o-scr>*{font-size:calc(100cqw / 20)}
.ios{position:absolute;left:0;right:0;top:0;height:2.7em;display:flex;align-items:center;justify-content:space-between;padding:.3em 1.35em 0 1.55em;z-index:30;color:var(--ink);pointer-events:none}
.ios--w{color:#fff}
.ios__t{width:4.4em;text-align:center;font-size:.84em;font-weight:650;letter-spacing:-.01em}
.ios__i{display:flex;align-items:center;gap:.32em}
.ios__sig{width:.95em;height:.62em}
.ios__wifi{width:.86em;height:.66em}
.ios__bat{position:relative;width:1.4em;height:.68em;border-radius:.22em;border:1px solid currentColor;opacity:.9}
.ios__bat i{position:absolute;inset:.1em .28em .1em .1em;border-radius:.1em;background:currentColor}
.ios__bat::after{content:"";position:absolute;right:-.22em;top:.18em;width:.12em;height:.26em;border-radius:0 .1em .1em 0;background:currentColor}
.tch{position:absolute;left:50%;top:50%;width:2.7em;height:2.7em;margin:-1.35em 0 0 -1.35em;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(160,160,168,.6),rgba(118,118,126,.48));border:1.5px solid rgba(255,255,255,.85);box-shadow:0 .15em .6em rgba(0,0,0,.3),inset 0 0 .4em rgba(255,255,255,.35);opacity:0;transform:scale(.55);pointer-events:none;z-index:60;transition:opacity .12s,transform .18s var(--ease-out)}
.tch.is-down{opacity:.95;transform:scale(1)}
.tch.is-up{opacity:0;transform:scale(1.3);transition:opacity .38s,transform .38s var(--ease-out)}
.tch.is-drag{transition:none}

/* =====================================================================
   KOMPONENT: APARAT IPHONE (.cam). Zawartosc .phone__screen.o-scr.
   Uklad jak w Aparacie iOS: pasek statusu, przyciski u gory, wizjer 3:4
   z obrazem stolu i naklejka w perspektywie, zolta ramka wykrytego kodu,
   dymek z adresem, tryby, spust. Po dotknieciu dymka otwiera sie Safari.
   ===================================================================== */
.cam{position:absolute;inset:0;background:#000;color:#fff;overflow:hidden}
.cam::after{content:"";position:absolute;inset:0;z-index:70;background:#000;opacity:0;pointer-events:none;transition:opacity .45s}
.cam.is-blk::after{opacity:1}
.cam__app{position:absolute;inset:0;transition:transform .55s var(--ease-out),opacity .45s,filter .45s}
.cam__app::after{content:"";position:absolute;left:50%;bottom:.5em;width:7em;margin-left:-3.5em;height:.26em;border-radius:99em;background:#fff}
.cam.is-saf .cam__app{transform:scale(.93);opacity:0;filter:blur(.25em)}
.cam__top{position:absolute;left:0;right:0;top:3.05em;display:flex;align-items:center;justify-content:space-between;padding:0 1.25em;z-index:5}
.cam__tb,.cam__tc{display:grid;place-items:center;width:2.15em;height:2.15em;border-radius:50%;background:rgba(255,255,255,.13);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.cam__tc{width:3.3em;height:1.75em;border-radius:99em}
.cam__tb svg,.cam__tc svg{width:1.05em;height:1.05em}
.cam__vf{position:absolute;left:0;right:0;top:6.1em;height:26.67em;overflow:hidden;background:#15110d}
.cam__feed{position:absolute;inset:-7%;transform-origin:50% 55%;will-change:transform,filter}
.cam__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.cam__plane{position:absolute;inset:0;perspective:30em;perspective-origin:50% 12%}
.cam__stk{position:absolute;left:29%;top:40%;width:42%;aspect-ratio:1;border-radius:50%;transform:rotateX(47deg) rotateZ(-15deg);box-shadow:0 .12em .2em rgba(0,0,0,.6),0 .7em 1.3em rgba(0,0,0,.45)}
.cam__sticker{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;filter:brightness(.78) sepia(.2) saturate(1.15)}
.cam__gloss{position:absolute;inset:0;border-radius:50%;background:linear-gradient(162deg,rgba(255,214,160,.26) 0%,rgba(255,214,160,.06) 34%,transparent 52%),radial-gradient(46% 30% at 34% 16%,rgba(255,232,196,.2),transparent 70%);mix-blend-mode:screen;pointer-events:none}
.cam__qr{position:absolute;left:29.5%;top:27.5%;width:41%;height:41%;opacity:0;transform:scale(1.4);transition:opacity .18s,transform .42s cubic-bezier(.2,1.5,.4,1)}
.cam__qr i{position:absolute;width:26%;height:26%;border:.34em solid #FFD60A;filter:drop-shadow(0 0 .25em rgba(255,214,10,.45))}
.cam__qr i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0;border-top-left-radius:.9em}
.cam__qr i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0;border-top-right-radius:.9em}
.cam__qr i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0;border-bottom-left-radius:.9em}
.cam__qr i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0;border-bottom-right-radius:.9em}
.cam.is-det .cam__qr{opacity:1;transform:none}
.cam__vig{position:absolute;inset:0;background:radial-gradient(130% 95% at 50% 45%,transparent 55%,rgba(0,0,0,.4));pointer-events:none}
.cam__zoom{position:absolute;left:50%;bottom:.9em;display:flex;align-items:center;gap:.25em;padding:.22em;border-radius:99em;background:rgba(0,0,0,.26);transform:translateX(-50%)}
.cam__zoom span{display:grid;place-items:center;width:1.95em;height:1.95em;border-radius:50%;background:rgba(0,0,0,.34);font-size:.62em;font-weight:650}
.cam__zoom .is-on{width:2.5em;height:2.5em;color:#FFD60A;background:rgba(0,0,0,.5)}
.cam__zoom span{width:3.1em;height:3.1em}
.cam__zoom .is-on{width:3.9em;height:3.9em}
.cam__pill{position:absolute;left:50%;bottom:3.9em;display:flex;align-items:center;gap:.42em;height:2.15em;padding:0 1em 0 .62em;border-radius:99em;background:#FFD60A;color:#000;white-space:nowrap;box-shadow:0 .3em 1.1em rgba(0,0,0,.4);opacity:0;transform:translate(-50%,.9em) scale(.82);transition:transform .5s cubic-bezier(.2,1.45,.4,1),opacity .25s}
.cam__pill b{font-size:.76em;font-weight:650;letter-spacing:-.01em}
.cam__saf{width:1.15em;height:1.15em}
.cam.is-pill .cam__pill{opacity:1;transform:translate(-50%,0) scale(1)}
.cam.is-pill .cam__pill.is-press{transform:translate(-50%,0) scale(.93);transition-duration:.12s}
.cam__modes{position:absolute;left:0;right:0;top:33.35em;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.1em;font-weight:650;color:rgba(255,255,255,.88);white-space:nowrap;overflow:hidden}
.cam__modes span,.cam__modes i{font-size:.58em;letter-spacing:.07em;font-style:normal}
.cam__modes i{font-size:1em}
.cam__ml,.cam__mr{display:flex;gap:1.9em}
.cam__ml{justify-content:flex-end}
.cam__modes .is-on{color:#FFD60A}
.cam__bar{position:absolute;left:0;right:0;top:35.2em;height:4.4em;display:flex;align-items:center;justify-content:space-between;padding:0 2em}
.cam__thumb{width:2.55em;height:2.55em;border-radius:.45em;background:url("/assets/home/img/stol-naklejka.webp") 50% 30%/cover;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.cam__shut{width:4.2em;height:4.2em;border-radius:50%;border:.28em solid #fff;padding:.26em;background:#fff content-box;background-clip:content-box}
.cam__flip{display:grid;place-items:center;width:2.65em;height:2.65em;border-radius:50%;background:rgba(255,255,255,.14)}
.cam__flip svg{width:1.25em;height:1.25em}

/* ---------- Safari iOS i ekran oceny ---------- */
.saf{position:absolute;inset:0;z-index:10;background:#F2F2F6;color:var(--ink);overflow:hidden;opacity:0;visibility:hidden;transform:scale(.28);transform-origin:50% 76%;border-radius:4em;transition:transform .6s cubic-bezier(.22,.9,.24,1),opacity .3s,border-radius .6s,visibility 0s .6s}
.saf.is-open{opacity:1;visibility:visible;transform:none;border-radius:0;transition:transform .6s cubic-bezier(.22,.9,.24,1),opacity .22s,border-radius .6s}
.saf::after{content:"";position:absolute;left:50%;bottom:.5em;width:7em;margin-left:-3.5em;height:.26em;border-radius:99em;background:#111;z-index:45}
.saf__page{position:absolute;inset:0;overflow:hidden}
.saf__bar{position:absolute;left:.85em;right:.85em;bottom:1.4em;height:2.45em;display:flex;align-items:center;gap:.45em;z-index:20}
.saf__b,.saf__url{background:rgba(255,255,255,.8);box-shadow:0 .15em .7em rgba(13,13,15,.13),inset 0 0 0 1px rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px) saturate(1.6);backdrop-filter:blur(10px) saturate(1.6);color:#1C1C1E}
.saf__b{display:grid;place-items:center;flex:none;width:2.45em;height:2.45em;border-radius:50%}
.saf__b svg{width:1.05em;height:1.05em}
.saf__url{position:relative;flex:1;height:100%;border-radius:99em;display:flex;align-items:center;justify-content:center;overflow:hidden}
.saf__url>span{font-size:.72em;font-weight:600;letter-spacing:-.01em}
.saf__load{position:absolute;left:0;bottom:0;height:.14em;width:calc(var(--l,0) * 100%);background:#0A7CFF;opacity:0;transition:opacity .3s}
.saf.is-load .saf__load{opacity:1}

.ocn{position:absolute;left:0;right:0;top:3.2em;bottom:4.5em;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0 .95em;opacity:0;transform:translateY(.8em);transition:opacity .45s,transform .6s var(--ease-out)}
.ocn.is-in{opacity:1;transform:none}
.ocn__card{position:relative;width:100%;padding:1.25em 1.1em 1.3em;border-radius:1.3em;background:#fff;border:1px solid #E6E6EA;box-shadow:0 .1em .2em rgba(13,13,15,.04),0 .7em 1.5em -.9em rgba(13,13,15,.2);text-align:center;transform:translateY(var(--sy,0));transition:transform .7s var(--ease-io)}
.ocn__lang{position:absolute;right:.75em;top:.75em;display:inline-flex;align-items:center;gap:.25em;height:1.95em;padding:0 .45em 0 .6em;border-radius:.6em;border:1px solid #E6E6EA;font-size:.58em;font-weight:600;color:#45454B}
.ocn__lang svg{width:1.15em;height:1.15em}
.ocn__logo{display:grid;place-items:center;width:2.75em;height:2.75em;margin:.7em auto 0;border-radius:.8em;background:var(--ink);color:#fff;font-weight:620;font-size:1.05em;box-shadow:0 .3em .7em -.3em rgba(13,13,15,.5)}
.ocn__venue{margin-top:.8em;font-size:.54em;font-weight:650;letter-spacing:.15em;text-transform:uppercase;color:#8C8C92}
.ocn__s{display:none}
.ocn__s--ocena,.ocn[data-step="pub"] .ocn__s--pub,.ocn[data-step="prv"] .ocn__s--prv,.ocn[data-step="end"] .ocn__s--end{display:block;animation:ostep .5s var(--ease-out) both}
.ocn[data-step="pub"] .ocn__s--ocena,.ocn[data-step="prv"] .ocn__s--ocena,.ocn[data-step="end"] .ocn__s--ocena{display:none}
@keyframes ostep{from{opacity:0;transform:translateY(.6em)}to{opacity:1;transform:none}}
.ocn__h{display:block;margin-top:.4em;font-size:1.3em;font-weight:680;letter-spacing:-.028em;line-height:1.14;text-wrap:balance}
.ocn__h--s{font-size:1.06em;line-height:1.2}
.ocn__p{margin-top:.6em;font-size:.64em;line-height:1.45;color:#6C6C72;text-wrap:pretty}
.ocn__stars{display:flex;justify-content:center;gap:.26em;margin-top:1.05em}
.ocn__st{width:2.1em;height:2.1em;fill:#EFEFF2;stroke:#CDCDD3;stroke-width:1.5;transition:fill .16s,stroke .16s,transform .3s var(--ease-out)}
.ocn__st.is-on{fill:#F7B928;stroke:#D8980C;transform:scale(1.08)}
.ocn__word{height:1.45em;margin-top:.45em;font-size:.7em;font-weight:620;opacity:0;transition:opacity .25s}
.ocn.is-rated .ocn__word{opacity:1}
.ocn__note{margin-top:.55em;font-size:.54em;color:#8C8C92}
.ocn__n2{display:none}
.ocn.is-send .ocn__n1{display:none}
.ocn.is-send .ocn__n2{display:inline}
.ocn__by{margin-top:.95em;font-size:.5em;letter-spacing:.02em;color:#8C8C92}
.ocn__by b{color:#45454B;font-weight:600;text-decoration:underline;text-underline-offset:.2em}
.ocn__dest{display:flex;align-items:center;gap:.6em;margin-top:1.05em;padding:.62em .65em;border-radius:.95em;border:1px solid #E6E6EA;background:#fff;text-align:left;box-shadow:0 .12em .4em rgba(13,13,15,.07);transition:transform .14s,background-color .2s}
.ocn__dest.is-press{transform:scale(.96);background:#F4F4F7}
.ocn__g{flex:none;display:grid;place-items:center;width:2.05em;height:2.05em;border-radius:.6em;background:#F2F2F5;font-weight:720;font-size:.95em;color:var(--ink)}
.ocn__dt{flex:1;min-width:0}
.ocn__dt b{display:block;font-size:.68em;font-weight:650}
.ocn__dt small{display:block;margin-top:.15em;font-size:.54em;color:#8C8C92}
.ocn__dest>svg{width:1em;height:1em;flex:none;color:#8C8C92}
.ocn__skip{margin-top:.95em;font-size:.58em;color:#6C6C72;text-decoration:underline;text-underline-offset:.2em}
.ocn__lab{margin-top:.95em;text-align:left;font-size:.58em;font-weight:650}
.ocn__lab span{font-weight:400;color:#8C8C92}
.ocn__chips{display:flex;flex-wrap:wrap;gap:.3em;margin-top:.45em}
.ocn__chips span{padding:.45em .72em;border-radius:99em;border:1px solid #D9D9DE;font-size:.54em;font-weight:560;color:#45454B;transition:background-color .2s,color .2s,border-color .2s,transform .15s}
.ocn__chips span.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.ocn__in{position:relative;margin-top:.45em;min-height:2.35em;padding:.55em .7em;border-radius:.65em;border:1px solid #D9D9DE;background:#fff;text-align:left;font-size:.6em;line-height:1.4;transition:border-color .2s,box-shadow .2s}
.ocn__in--area{min-height:4.6em}
.ocn__in.is-focus{border-color:var(--cobalt);box-shadow:0 0 0 .22em rgba(46,75,255,.18)}
.ocn__ph{color:#A6A6AB}
.has-tx>.ocn__ph{display:none}
.is-focus>.ocn__tx::after{content:"";display:inline-block;width:.1em;height:1.1em;margin-left:.05em;vertical-align:-.2em;background:var(--cobalt);animation:caret 1s steps(1) infinite}
.ocn__btn{display:flex;align-items:center;justify-content:center;height:2.35em;margin-top:.95em;border-radius:.75em;background:var(--ink);color:#fff;font-size:.68em;font-weight:650;transition:transform .14s}
.ocn__btn.is-press,.gsh__btn.is-press{transform:scale(.96)}
.ocn__ok{display:grid;place-items:center;width:2.7em;height:2.7em;margin:.5em auto .1em;border-radius:50%;background:var(--ok);color:#fff}
.ocn__ok svg{width:1.4em;height:1.4em}
[data-step="end"] .ocn__ok{animation:pop .6s var(--ease-out)}

/* Arkusz opinii w Google: neutralny, z identyfikacji tylko litera G */
.gsh{position:absolute;inset:0;z-index:35;pointer-events:none}
.gsh::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3);opacity:0;transition:opacity .4s}
.gsh.is-open::before{opacity:1}
.gsh__sheet{position:absolute;left:0;right:0;bottom:0;top:4.1em;padding:.55em 1.1em 0;border-radius:1.6em 1.6em 0 0;background:#fff;box-shadow:0 -.3em 2em rgba(0,0,0,.18);transform:translateY(105%);transition:transform .6s cubic-bezier(.22,.9,.24,1)}
.gsh.is-open .gsh__sheet{transform:none}
.gsh__grab{display:block;width:2.5em;height:.28em;margin:0 auto 1em;border-radius:99em;background:#D1D1D6}
.gsh__hd{display:flex;align-items:center;gap:.65em}
.gsh__g{flex:none;display:grid;place-items:center;width:2.3em;height:2.3em;border-radius:50%;box-shadow:inset 0 0 0 1px #E3E3E8;font-weight:720;font-size:1em}
.gsh__hd b{display:block;font-size:.84em;font-weight:650}
.gsh__hd small{display:block;margin-top:.1em;font-size:.58em;color:#8C8C92}
.gsh__x{margin-left:auto;display:grid;place-items:center;width:1.9em;height:1.9em;border-radius:50%;background:#F2F2F5;color:#6C6C72}
.gsh__x svg{width:.95em;height:.95em}
.gsh__form{transition:opacity .3s}
.gsh__who{display:flex;align-items:center;gap:.55em;margin-top:1.15em;padding-top:1em;border-top:1px solid #EEEEF1}
.gsh__av{display:grid;place-items:center;width:1.9em;height:1.9em;border-radius:50%;background:#7A6F66;color:#fff;font-size:.8em;font-weight:650}
.gsh__who b{display:block;font-size:.68em;font-weight:650}
.gsh__who small{display:block;font-size:.54em;color:#8C8C92}
.gsh__stars{display:flex;justify-content:center;gap:.55em;margin-top:1.25em}
.gsh__stars .ocn__st{width:2.3em;height:2.3em}
.gsh__area{position:relative;min-height:6.8em;margin-top:1.15em;padding:.7em .8em;border-radius:.85em;border:1px solid #D9D9DE;text-align:left;font-size:.64em;line-height:1.45;transition:border-color .2s,box-shadow .2s}
.gsh__area.is-focus{border-color:var(--cobalt);box-shadow:0 0 0 .22em rgba(46,75,255,.18)}
.gsh__btn{display:flex;align-items:center;justify-content:center;height:2.45em;margin-top:1em;border-radius:99em;background:var(--ink);color:#fff;font-size:.72em;font-weight:650;opacity:.3;transition:opacity .3s,transform .14s}
.gsh__btn.is-ready{opacity:1}
.gsh__done{position:absolute;left:1em;right:1em;top:7.2em;display:flex;flex-direction:column;align-items:center;gap:.35em;text-align:center;opacity:0;transform:translateY(.6em);transition:opacity .4s,transform .5s var(--ease-out)}
.gsh__done b{font-size:1.05em;font-weight:680;letter-spacing:-.02em}
.gsh__done small{font-size:.62em;color:#8C8C92}
.gsh.is-done .gsh__done{opacity:1;transform:none}
.gsh.is-done .gsh__who,.gsh.is-done .gsh__stars,.gsh.is-done .gsh__area,.gsh.is-done .gsh__btn{opacity:0;transition:opacity .25s}

/* Klawiatura iOS */
.kbd{position:absolute;left:0;right:0;bottom:0;z-index:40;height:15.4em;padding:0 .22em;background:rgba(210,212,218,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transform:translateY(102%);transition:transform .38s cubic-bezier(.2,.8,.2,1)}
.kbd.is-up{transform:none}
.kbd__bar{display:flex;align-items:center;justify-content:flex-end;height:2.25em;margin:0 -.22em .5em;padding:0 1em;background:rgba(247,247,249,.97);border-bottom:1px solid rgba(0,0,0,.08)}
.kbd__bar span{font-size:.7em;font-weight:620;color:#0A7CFF}
.kbd__r{display:flex;gap:.3em;margin-bottom:.56em}
.kbd__r--2{padding:0 .95em}
.kbd__k{flex:1;display:grid;place-items:center;height:2.15em;border-radius:.34em;background:#fff;box-shadow:0 .08em 0 rgba(0,0,0,.3);color:#111;transition:background-color .06s}
.kbd__k>span{font-size:.92em}
.kbd__f{flex:1.45;background:#ABB0BA}
.kbd__f svg{width:1.05em;height:1.05em}
.kbd__r--4 .kbd__f{flex:2.4}
.kbd__r--4 .kbd__f>span{font-size:.72em}
.kbd__sp{flex:6}
.kbd__sp>span{font-size:.72em}
.kbd__k.is-hit{background:#B4B8C2}

/* ---------- Fakty ---------- */
.of{padding:76px 0 92px}
.of .facts{margin-top:0}

/* ---------- Film: przyklejona scena i podpisy krokow (desktop i telefon) ---------- */
.flm{position:relative;margin-top:44px}
.js .flm{height:calc(var(--beats) * 88svh + 100svh)}
.js .flm__sticky{position:sticky;top:var(--hdr);height:calc(100svh - var(--hdr));display:flex;align-items:center}
.flm__in{display:grid;gap:44px;align-items:center}
.flm--side .flm__in{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}
.flm--top .flm__in{grid-template-columns:1fr;gap:26px}
.flm__stage{min-width:0;display:flex;justify-content:center}
.flm__scn{width:100%;container-type:inline-size}
.flm--side .flm__scn{aspect-ratio:48/36;width:min(100%,calc((100svh - var(--hdr) - 64px) * 48 / 36))}
.flm--top .flm__scn{aspect-ratio:68/44;width:min(100%,calc((100svh - var(--hdr) - 230px) * 68 / 44))}
.fcap{list-style:none;display:flex;flex-direction:column;gap:4px;min-width:0}
.fcap__i{position:relative;padding:18px 0 18px 24px;cursor:pointer}
/* Napis nieaktywny przygaszony kolorem, nie przezroczystoscia (kontrast WCAG 4,5:1). */
.fcap__i h3,.fcap__i>p:not(.fcap__n){transition:color .45s var(--ease)}
.fcap__i:not(.is-on) h3,.fcap__i:not(.is-on)>p:not(.fcap__n){color:var(--steel)}
.fcap__bar{position:absolute;left:0;top:18px;bottom:18px;width:2px;border-radius:2px;background:var(--line);overflow:hidden}
.fcap__bar::after{content:"";position:absolute;inset:0;background:var(--cobalt);transform:scaleY(var(--p,0));transform-origin:50% 0}
.fcap__i.is-done .fcap__bar::after{transform:none;background:var(--ink)}
.fcap__n{font-size:12px;color:var(--steel);margin-bottom:10px}
.fcap__i.is-on .fcap__n{color:var(--cobalt-deep)}
.fcap h3{font-size:clamp(22px,1.95vw,28px);letter-spacing:-.03em;line-height:1.12;margin-bottom:8px}
.fcap p:not(.fcap__n){font-size:16px;line-height:1.55;color:var(--text2);max-width:420px}
.flm--top .fcap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;width:min(100%,1080px);margin-inline:auto}
.flm--top .fcap__i{padding:18px 0 0}
.flm--top .fcap__bar{left:0;right:0;top:0;bottom:auto;width:auto;height:2px}
.flm--top .fcap__bar::after{transform:scaleX(var(--p,0));transform-origin:0 50%}
.flm--top .fcap h3{font-size:18px;letter-spacing:-.015em;margin-bottom:6px}
.flm--top .fcap p:not(.fcap__n){font-size:15px}
.flm--top .fcap__n{margin-bottom:8px}
html:not(.js) .fcap__i>*{opacity:1}

/* ---------- Scena goscia: trzy telefony, profil w Google, skrzynka ---------- */
.fg{position:absolute;inset:0;font-size:calc(100cqw / 48);overflow:hidden}
.fg__ph{position:absolute;top:2.2em;width:15.6em;transition:transform 1s var(--ease-io),opacity .6s var(--ease)}
.fg__ph .phone{width:100%}
.fg__ph--c{left:3.4em;z-index:4;transform:translateX(12.8em)}
.fg__ph--l,.fg__ph--r{top:4.6em;width:13.4em;z-index:2}
.fg__ph--l{left:1.6em;transform:rotate(-6deg)}
.fg__ph--r{left:32.6em;transform:rotate(6deg)}
.flm__scn:not([data-beat="0"]) .fg__ph--c{transform:none}
.flm__scn:not([data-beat="0"]) .fg__ph--l{transform:translateX(9em) rotate(0) scale(.92);opacity:0}
.flm__scn:not([data-beat="0"]) .fg__ph--r{transform:translateX(-17em) rotate(0) scale(.92);opacity:0}
.fg__tag{position:absolute;left:0;right:0;bottom:100%;display:flex;align-items:center;justify-content:center;gap:.45em;margin-bottom:.7em;font-size:.8em;color:var(--steel);transition:opacity .4s}
.fg__tag b{padding:.18em .45em;border-radius:.35em;background:#fff;color:var(--ink);font-weight:500;font-size:.9em;box-shadow:0 0 0 1px var(--line)}
.flm__scn:not([data-beat="0"]) .fg__ph--c .fg__tag{opacity:0}
.fg__ph--c .phone{box-shadow:0 2.4em 4em -1.8em rgba(13,13,15,.55),0 .6em 1.2em -.5em rgba(13,13,15,.3)}
.fg__sig{position:absolute;inset:0;width:100%;height:100%;z-index:3;overflow:visible;pointer-events:none}
.fg__line{fill:none;stroke:#C9CBD6;stroke-width:.09;stroke-dasharray:.25 .3;opacity:0;transition:opacity .5s}
.flm__scn[data-beat="1"] .fg__line:nth-of-type(1),.flm__scn[data-beat="2"] .fg__line:nth-of-type(2){opacity:1}
.fg__dot{fill:var(--cobalt);opacity:0;filter:drop-shadow(0 0 .25px rgba(46,75,255,.9))}
.fg__dot.is-on{opacity:1}
.gp,.ib{position:absolute;left:23.4em;width:21.8em;padding:1.15em 1.2em;border-radius:1.1em;background:#fff;box-shadow:var(--float);z-index:4;opacity:0;transform:translateX(1.2em);transition:opacity .5s,transform .7s var(--ease-out)}
.gp{top:6.4em}
.ib{top:5.6em}
.flm__scn[data-beat="1"] .gp,.flm__scn[data-beat="2"] .ib{opacity:1;transform:none}
.gp__h{display:flex;align-items:center;gap:.7em}
.gp__g{flex:none;display:grid;place-items:center;width:2.3em;height:2.3em;border-radius:50%;box-shadow:inset 0 0 0 1px #E3E3E8;font-weight:720}
.gp__h b{display:block;font-size:1em;font-weight:650}
.gp__h small{display:block;font-size:.72em;color:var(--steel)}
.gp__sc{display:flex;align-items:baseline;gap:.5em;margin-top:.8em;padding-bottom:.85em;border-bottom:1px solid #EEEEF1}
.gp__sc b{font-size:2.1em;font-weight:500;letter-spacing:-.03em;line-height:1}
.gp__st{color:#F2B544;letter-spacing:.05em;font-size:.95em}
.gp__sc small{margin-left:auto;font-size:.78em;color:var(--steel)}
.gp__sc small span{display:inline-block;color:var(--ink);font-weight:500}
.gp__l{list-style:none}
.gp__l li{display:grid;grid-template-columns:1.8em minmax(0,1fr);gap:.6em;padding:.75em 0 .1em}
.gp__av,.ib__logo{display:grid;place-items:center;width:1.8em;height:1.8em;border-radius:50%;background:#EDEDF0;color:#45454B;font-size:.78em;font-weight:650}
.gp__m{display:flex;align-items:center;gap:.45em;font-size:.8em}
.gp__m b{font-weight:620}
.gp__rs{color:#F2B544;font-size:.9em;letter-spacing:.03em}
.gp__rs i,.ib__st i,.lr__st i,.sk__st i{font-style:normal;color:#DADADF}
.gp__m small{color:var(--steel);font-size:.9em}
.gp__l li>div>p:last-child{margin-top:.2em;font-size:.78em;line-height:1.45;color:var(--text2)}
.gp__new{display:none!important}
.gp__new.is-in{display:grid!important;animation:rowin .7s var(--ease-out) both}
@keyframes rowin{from{opacity:0;transform:translateY(-.5em);background:rgba(46,75,255,.1)}to{opacity:1;transform:none;background:transparent}}
.gp__new.is-in .gp__av{background:var(--cobalt);color:#fff}
.ib__h{display:flex;align-items:center;gap:.55em;padding-bottom:.85em;border-bottom:1px solid #EEEEF1}
.ib__logo{background:var(--ink);color:#fff;border-radius:.5em}
.ib__logo svg{width:1em;height:1em}
.ib__h b{font-size:1em;font-weight:650}
.ib__n{min-width:1.55em;padding:0 .4em;border-radius:99em;background:#FDECEA;color:var(--err);font-size:.72em;font-weight:650;line-height:1.55em;text-align:center}
.ib__h small{margin-left:auto;font-size:.68em;color:var(--steel)}
.ib__m{padding:.85em 0 .2em}
.ib__m+.ib__m{border-top:1px solid #F0F0F3;margin-top:.6em}
.ib__meta{display:flex;align-items:center;gap:.5em;font-size:.76em}
.ib__st{color:#F2B544;letter-spacing:.03em}
.ib__meta small{color:var(--steel)}
.ib__todo{margin-left:auto;padding:.15em .55em;border-radius:99em;background:#FDECEA;color:var(--err);font-size:.88em;font-weight:600}
.ib__chip{display:inline-block;margin-top:.55em;padding:.25em .65em;border-radius:99em;background:#F2F2F5;font-size:.72em;font-weight:560;color:#45454B}
.ib__t{margin-top:.45em;font-size:.84em;line-height:1.45}
.ib__c{display:flex;align-items:center;gap:.4em;margin-top:.45em;font-size:.76em;font-weight:560;text-decoration:underline;text-underline-offset:.2em}
.ib__c svg{width:1.05em;height:1.05em}
.ib__m--new{display:none}
.ib__m--new.is-in{display:block;animation:rowin .7s var(--ease-out) both}

/* ---------- MacBook (wspolny zestaw mac.css) z panelem Opinii ---------- */
.flm--top .flm__scn{aspect-ratio:auto;width:min(100%,calc((100svh - var(--hdr) - 230px) * 1.43))}
.fk{position:relative;padding:2.3em 3em 2.5em;font-size:calc(100cqw / 70)}
.fk .mbk{width:64em}
[data-scene="panel"] .mw--sf{left:3.6em;top:3.1em;width:72.8em;height:43.1em}
.pnl{position:absolute;inset:0;display:grid;grid-template-columns:13em minmax(0,1fr);background:#F7F7F9;color:var(--ink);font-size:.94em;line-height:1.35}
.pnl__side{display:flex;flex-direction:column;gap:.12em;padding:1em .7em .9em;background:#F2F2F5}
.pnl__venue{display:flex;align-items:center;gap:.6em;padding:.15em .45em;margin-bottom:.95em}
.pnl__vav{display:grid;place-items:center;width:2.05em;height:2.05em;border-radius:.62em;background:#fff;font-size:.84em;font-weight:650;flex:none;box-shadow:0 0 0 .07em rgba(13,13,15,.06),0 .1em .25em rgba(13,13,15,.08)}
.pnl__venue b{min-width:0;font-size:.9em;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pnl__g{margin:1em 0 .3em .85em;font-size:.7em;font-weight:500;color:#6C6C72}
.pnl__i{display:flex;align-items:center;gap:.65em;height:2.25em;padding:0 .75em;border-radius:99em;font-size:.86em;color:#3A3A3F;white-space:nowrap;transition:background-color .25s,color .25s,box-shadow .25s}
.pnl__i svg{width:1.15em;height:1.15em;color:#56565C;flex:none;transition:color .25s}
.pnl__i.is-on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 .06em .16em rgba(13,13,15,.06),0 .3em .9em rgba(13,13,15,.05)}
.pnl__i.is-on svg{color:var(--ink)}
.pnl__i.is-hover:not(.is-on){background:#E9E9ED;color:var(--ink)}
.pnl__i--end{margin-top:auto}
.pnl__sub{display:none;flex-direction:column;gap:.1em;margin:.1em 0 .2em}
.pnl__sub span{display:flex;align-items:center;height:2em;padding:0 .75em 0 2.55em;border-radius:99em;font-size:.8em;color:#56565C;white-space:nowrap}
.pnl__sub .is-on{background:#E9E9ED;color:var(--ink);font-weight:560}
.pnl[data-view="kody"] .pnl__sub{display:flex}
.pnl__badge{display:grid;place-items:center;min-width:1.75em;height:1.5em;padding:0 .45em;margin-left:auto;border-radius:99em;background:#E6E6EA;color:var(--ink);font-size:.78em;font-style:normal;font-weight:600}
.pnl__badge.is-pop{animation:pop .55s var(--ease-out)}
.pnl__main{position:relative;min-width:0;overflow:hidden}
.pnl__top{display:flex;align-items:center;gap:.6em;height:3.3em;padding:0 1.2em 0 1.5em;font-size:.8em;color:#6C6C72}
.pnl__tg{width:1.15em;height:1.15em;flex:none}
.pnl__crumb{display:flex;align-items:center;gap:.45em;min-width:0;margin:0 auto 0 .55em;white-space:nowrap}
.pnl__crumb svg{width:.95em;height:.95em;flex:none}
.pnl__crumb b{display:inline-flex;align-items:center;gap:.45em;color:var(--ink);font-weight:600}
.pnl__crumb b .pnl__cr{color:#6C6C72;font-weight:400}
.pnl__srch{display:flex;align-items:center;gap:.5em;min-width:13em;height:2.35em;padding:0 .45em 0 .9em;border-radius:99em;background:#fff;color:#8A8A90;white-space:nowrap;box-shadow:0 0 0 .07em #E6E6EA}
.pnl__srch svg{width:1.05em;height:1.05em}
.pnl__srch kbd{margin-left:auto;padding:.12em .5em;border-radius:99em;background:#F2F2F5;color:#6C6C72;font:inherit;font-size:.82em}
.pnl__ib{display:grid;place-items:center;width:2.35em;height:2.35em;border-radius:50%;background:#fff;color:var(--ink);box-shadow:0 0 0 .07em #E6E6EA}
.pnl__ib svg{width:1.1em;height:1.1em}
.pv{position:absolute;left:1.8em;right:1.8em;top:3.9em;bottom:0;opacity:0;visibility:hidden;transform:translateY(.7em);transition:opacity .16s,transform .3s var(--ease-out),visibility 0s .16s}
.pnl[data-view="pulpit"] [data-v="pulpit"],.pnl[data-view="skrzynka"] [data-v="skrzynka"],.pnl[data-view="kody"] [data-v="kody"]{opacity:1;visibility:visible;transform:none;transition:opacity .42s .14s,transform .6s var(--ease-out) .14s}
.pv__h{display:flex;align-items:flex-end;justify-content:space-between;gap:1em;margin-bottom:1.1em}
.pv__h b{display:block;font-size:1.55em;font-weight:600;letter-spacing:-.025em;line-height:1.15}
.pv__h small{display:block;margin-top:.35em;font-size:.78em;color:#56565C}
.pv__seg{display:flex;flex:none;padding:.2em;border-radius:99em;background:#fff;box-shadow:0 0 0 .07em #E6E6EA;font-size:.8em}
.pv__seg i{padding:.42em .9em;border-radius:99em;font-style:normal;color:#56565C;white-space:nowrap}
.pv__seg .is-on{background:var(--ink);color:#fff;font-weight:560}
.pv__b{display:inline-flex;align-items:center;gap:.45em;height:2.35em;padding:0 1em;border-radius:99em;background:#fff;color:var(--ink);font-size:.8em;font-weight:560;white-space:nowrap;box-shadow:0 0 0 .07em #E4E4E8,0 .08em .2em rgba(13,13,15,.05)}
.pv__b svg{width:1.1em;height:1.1em}
.kpi{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;border-radius:1.1em;background:#fff;overflow:hidden;box-shadow:0 0 0 .07em #ECECF0,0 .1em .35em rgba(13,13,15,.04)}
.kpi>div{padding:.95em 1em;border-left:1px solid #EEEEF1;transition:background-color .6s}
.kpi>div:first-child{border-left:0}
.kpi dt{font-size:.64em;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6C6C72;white-space:nowrap}
.kpi dd{display:inline-block;margin:.3em 0 .15em;font-size:1.6em;font-weight:500;letter-spacing:-.03em}
.kpi small{display:block;font-size:.7em;color:#8C8C92}
.kpi--ok dd{color:var(--ok)}
.kpi--warn dd{color:var(--err)}
.kpi--warn.is-hot{background:#FFF7EA}
.pv__g{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1em;margin-top:1em}
.pc{min-width:0;padding:1em 1.15em;border-radius:1.1em;background:#fff;box-shadow:0 0 0 .07em #ECECF0,0 .1em .35em rgba(13,13,15,.04)}
.pc__h{display:flex;align-items:center;justify-content:space-between;gap:.6em;margin-bottom:.9em;font-size:.88em;font-weight:620}
.pc__h span{color:#45454B;font-size:.85em;font-weight:500}
.pc__ch{display:flex;align-items:flex-end;gap:.28em;height:11.5em;padding-bottom:1px;border-bottom:1px solid #EEEEF1}
.pc__ch span{position:relative;flex:1;height:calc(var(--s) * 100%);border-radius:.2em .2em 0 0;background:#E6E6EB;transition:height .8s var(--ease-out),background-color .4s}
.pc__ch span i{position:absolute;left:0;right:0;bottom:0;height:calc(var(--r) * 100%);border-radius:.2em .2em 0 0;background:var(--ink);transition:height .8s var(--ease-out),background-color .4s}
.pc__ch span.is-now i{background:var(--cobalt)}
.pc__ax{display:flex;justify-content:space-between;margin-top:.55em;font-size:.72em;color:#A1A1A7}
.lr{list-style:none}
.lr li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:.7em;align-items:center;padding:.62em 0;border-bottom:1px solid #F0F0F3;font-size:.82em}
.lr li:last-child{border-bottom:0}
.lr__st{color:#F2B544;letter-spacing:.03em;font-size:.92em}
.lr__c{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lr__b{padding:.18em .6em;border-radius:99em;background:#F2F2F5;color:#6C6C72;font-size:.84em;white-space:nowrap}
.lr__b--ok{background:#EAF7F0;color:var(--ok)}
.lr__b--w{background:#FDECEA;color:var(--err)}
.lr small{color:#A1A1A7;font-size:.86em}
.lr__n{display:none!important}
.lr__n.is-in{display:grid!important;animation:rowin .8s var(--ease-out) both}
.sk__hd{display:flex;align-items:baseline;gap:.6em;margin:0 0 .7em .2em;font-size:.74em;color:#8A8A90}
.sk__hd b{font-size:1.2em;font-weight:600;color:var(--ink)}
.sk{list-style:none;border-radius:1.1em;background:#fff;overflow:hidden;box-shadow:0 0 0 .07em #ECECF0,0 .1em .35em rgba(13,13,15,.04)}
.sk__m{display:grid;grid-template-columns:9.5em minmax(0,1fr) auto;gap:1.2em;padding:1.1em 1.3em;border-top:1px solid #F0F0F3;transition:background-color .6s}
.sk__m:first-child{border-top:0}
.sk__m.is-new{background:#F6F7FF}
.sk__l{display:flex;flex-direction:column;gap:.3em}
.sk__st{color:#F2B544;letter-spacing:.03em;font-size:.88em}
.sk__l small{font-size:.74em;color:#8C8C92}
.sk__bd{display:inline-block;padding:.2em .65em;border-radius:99em;background:#FDECEA;color:var(--err);font-size:.74em;font-weight:600;transition:background-color .3s,color .3s}
.sk__bd.is-done{background:#F2F2F5;color:#6C6C72}
.sk__ch{display:flex;gap:.3em;margin-top:.55em}
.sk__ch span{padding:.25em .7em;border-radius:99em;background:#F2F2F5;color:#45454B;font-size:.74em;font-weight:560}
.sk__b p{margin-top:.5em;font-size:.92em;line-height:1.45;transition:opacity .4s}
.sk__b .sk__k{margin-top:.85em;font-size:.66em;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#8C8C92}
.sk__mail{display:inline-flex;align-items:center;gap:.4em;margin-top:.3em;font-size:.86em;font-weight:560;text-decoration:underline;text-decoration-color:#C9C9CF;text-underline-offset:.2em;transition:color .2s,text-decoration-color .2s}
.sk__mail.is-hover{color:var(--cobalt);text-decoration-color:currentColor}
.sk__mail svg{width:1em;height:1em}
.sk__ack{align-self:start;display:inline-flex;align-items:center;gap:.45em;height:2.3em;padding:0 1em;border-radius:.65em;border:1px solid #DADADF;background:#fff;font-size:.86em;font-weight:560;white-space:nowrap;box-shadow:0 .1em .3em rgba(13,13,15,.06);transition:background-color .2s,transform .12s}
.sk__ack svg{width:1.05em;height:1.05em}
.sk__ack.is-hover{background:#F4F4F7}
.sk__ack.is-press{transform:scale(.95)}
.sk__m.is-done .sk__b p:not(.sk__k),.sk__m.is-done .sk__ch{opacity:.5}
.kt{width:100%;border-collapse:separate;border-spacing:0;border-radius:1.1em;background:#fff;overflow:hidden;font-size:.9em;box-shadow:0 0 0 .07em #ECECF0,0 .1em .35em rgba(13,13,15,.04)}
.kt th,.kt td{padding:.85em 1.1em;text-align:right;border-bottom:1px solid #F0F0F3;font-weight:400;white-space:nowrap}
.kt thead th{padding:.7em 1.1em;font-size:.68em;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8C8C92}
.kt th:first-child{text-align:left}
.kt tbody tr{transition:background-color .3s}
.kt tbody tr.is-hover{background:#F6F7FF}
.kt tbody th>span:last-child{display:inline-block;vertical-align:middle}
.kt tbody th b{display:block;font-weight:600}
.kt tbody th small{display:block;margin-top:.15em;font-size:.8em;color:#8C8C92}
.kt__qr{display:inline-block;vertical-align:middle;width:2.5em;height:2.5em;margin-right:.85em;border-radius:.45em;border:1px solid #E4E4E8;background:#fff url("/assets/home/img/qr.svg") center/80% no-repeat}
.kt__cv{display:inline-flex;align-items:center;gap:.7em}
.kt__cv i{position:relative;width:5.5em;height:.5em;border-radius:99em;background:#EBEBEE;overflow:hidden}
.kt__cv i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(var(--w) * 100%);border-radius:inherit;background:var(--ink);transform:scaleX(var(--g,1));transform-origin:0 50%}
.kt tfoot th,.kt tfoot td{border-bottom:0;font-weight:650}

/* ---------- Nosniki: zdjecia z prawdziwa naklejka ---------- */
.gd{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:56px}
.gd__f{position:relative;margin:0;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#1d1a17;container-type:inline-size;isolation:isolate}
.gd__ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gd__pl{position:absolute;inset:0;perspective:90cqw;perspective-origin:50% 8%}
.gd__stk{position:absolute;left:27%;top:43%;width:46%;aspect-ratio:1;border-radius:50%;transform:rotateX(47deg) rotateZ(-15deg);box-shadow:0 .2cqw .5cqw rgba(0,0,0,.6),0 2cqw 4cqw rgba(0,0,0,.4)}
.gd__stk img{width:100%;height:100%;border-radius:50%;filter:brightness(.8) sepia(.2) saturate(1.15)}
.gd__card{position:absolute;left:51.9%;top:46.5%;width:33.8%;height:17%;display:flex;align-items:center;gap:6%;padding:0 7%;transform:translate(-50%,-50%) rotate(-8.3deg);mix-blend-mode:multiply;color:#1b1814}
.gd__cq{flex:none;width:34%;aspect-ratio:1;background:url("/assets/home/img/qr.svg") center/100% no-repeat}
.gd__ct{display:flex;flex-direction:column;min-width:0}
.gd__ct b{font-size:3.1cqw;font-weight:680;letter-spacing:-.02em;line-height:1.1}
.gd__ct small{margin-top:.6cqw;font-size:1.9cqw;line-height:1.3;color:#57524a}
.gd__cl{display:flex;align-items:center;gap:.6cqw;margin-top:1.2cqw;font-size:1.9cqw;font-weight:650}
.gd__cl svg{width:2cqw;height:2cqw}
.gd__f--torba .gd__ph{transform:scale(1.3);transform-origin:50% 50%}
.gd__sq{position:absolute;left:50%;top:43%;width:16%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9cqw;border-radius:1.6cqw;background:#121214;color:#fff;transform:translate(-50%,-50%) rotate(-1.5deg);box-shadow:0 .25cqw .4cqw rgba(40,25,10,.35),inset 0 0 0 .1cqw rgba(255,255,255,.06)}
.gd__sq::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.14),transparent 45%,rgba(0,0,0,.12))}
.gd__sq small{font-size:1.5cqw;font-weight:650;letter-spacing:-.01em;line-height:1}
.gd__sqq{width:62%;aspect-ratio:1;border-radius:.5cqw;background:#fff url("/assets/home/img/qr.svg") center/88% no-repeat}
.gd__sql{display:flex;align-items:center;gap:.5cqw;font-size:1.25cqw;font-weight:600;line-height:1}
.gd__sql svg{width:1.3cqw;height:1.3cqw}
.gd__k{margin-top:22px;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--steel)}
.gd__i h3{margin-top:8px;font-size:22px;letter-spacing:-.022em;line-height:1.2}
.gd__i p:not(.gd__k){margin-top:8px;font-size:16px;line-height:1.55;color:var(--text2);max-width:380px}

/* ---------- Sklep z naklejkami ---------- */
.skl{padding:136px 0;background:var(--paper)}
.skl__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr);gap:20px;margin-top:56px;align-items:start}
.skl__fmt{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.fmt{position:relative;display:grid;grid-template-columns:128px minmax(0,1fr) auto;gap:22px;align-items:center;padding:14px 24px 14px 14px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .25s,box-shadow .25s}
.fmt:hover{border-color:#C8C8CB}
.fmt input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.fmt:has(input:checked){border-color:var(--cobalt);box-shadow:0 0 0 1px var(--cobalt)}
.fmt:has(input:focus-visible){outline:2px solid var(--cobalt);outline-offset:2px}
.fmt__viz{display:grid;place-items:center;height:100px;border-radius:11px;background-color:#EEEEF1;background-image:radial-gradient(circle at 1px 1px,rgba(13,13,15,.08) 1px,transparent 1.3px);background-size:12px 12px}
.fmt__t b{display:block;font-size:17px;font-weight:560;letter-spacing:-.015em}
.fmt__t small{display:block;margin-top:4px;font-size:14.5px;line-height:1.45;color:var(--text2)}
.fmt__p{font-size:15.5px;white-space:nowrap}
.sv{--mm:1.15px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(var(--w) * var(--mm));height:calc(var(--h) * var(--mm));box-shadow:0 1px 1px rgba(13,13,15,.08),0 6px 12px -6px rgba(13,13,15,.35)}
.sv__q{display:block;background:#fff url("/assets/home/img/qr.svg") center/100% no-repeat}
.sv--min{border-radius:calc(3 * var(--mm));background:#fff;padding:calc(3 * var(--mm))}
.sv--min .sv__q{width:100%;flex:1}
.sv--min small{display:none}
.sv--kolo{border-radius:50%;box-shadow:0 6px 12px -6px rgba(13,13,15,.45)}
.sv--kolo img{width:100%;height:100%}
.sv--kolor{gap:calc(1.6 * var(--mm));border-radius:calc(4 * var(--mm));background:var(--ink);color:#fff}
.sv--kolor small{font-size:calc(4.2 * var(--mm));font-weight:650;line-height:1}
.sv--kolor .sv__q{width:58%;aspect-ratio:1;border-radius:calc(1.5 * var(--mm));background-size:86%}
.sv--poz{flex-direction:row;justify-content:space-between;gap:calc(3 * var(--mm));padding:calc(3.5 * var(--mm));border-radius:calc(3 * var(--mm));background:#fff}
.sv--poz .sv__q{height:100%;aspect-ratio:1}
.sv__l{display:flex;flex-direction:column;align-items:flex-start;gap:calc(1.2 * var(--mm))}
.sv__l svg{width:calc(6 * var(--mm));height:calc(6 * var(--mm))}
.sv__l b{font-size:calc(5.4 * var(--mm));font-weight:700;letter-spacing:-.02em;line-height:1}
.sv__l small{font-size:calc(3.6 * var(--mm));color:var(--steel);line-height:1}
.sv--dzi{gap:calc(2 * var(--mm));border-radius:calc(4 * var(--mm));background:#fff}
.sv__st{color:#F2B544;font-size:calc(6 * var(--mm));letter-spacing:.08em;line-height:1}
.sv--dzi b{font-size:calc(7 * var(--mm));font-weight:760;letter-spacing:-.01em;line-height:1}
.sv--dzi .sv__q{width:46%;aspect-ratio:1;border-radius:calc(1.5 * var(--mm));box-shadow:0 0 0 calc(1.2 * var(--mm)) var(--ink)}
.skl__sum{position:sticky;top:calc(var(--hdr) + 24px);display:flex;flex-direction:column;padding:32px;border-radius:20px;background:var(--ink);color:#fff;overflow:hidden}
.skl__sum::after{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;background:var(--tone);-webkit-mask:var(--ring) center/contain no-repeat;mask:var(--ring) center/contain no-repeat;transform:rotate(45deg);pointer-events:none}
.skl__sum>*{position:relative;z-index:1}
.skl__row{display:flex;justify-content:space-between;align-items:baseline;margin-top:26px;font-size:15px;color:var(--d-text)}
.skl__row output{font-size:17px;color:#fff}
.skl__rng{-webkit-appearance:none;appearance:none;display:block;width:100%;height:44px;margin:2px 0 0;background:transparent;cursor:pointer}
.skl__rng::-webkit-slider-runnable-track{height:4px;border-radius:99px;background:linear-gradient(90deg,#fff 0 calc(var(--p) * 100%),rgba(255,255,255,.18) calc(var(--p) * 100%))}
.skl__rng::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-10px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.45)}
.skl__rng::-moz-range-track{height:4px;border-radius:99px;background:rgba(255,255,255,.18)}
.skl__rng::-moz-range-progress{height:4px;border-radius:99px;background:#fff}
.skl__rng::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:#fff}
.skl__rng:focus-visible{outline:2px solid #8FA0FF;outline-offset:2px;border-radius:8px}
.skl__price{display:flex;align-items:baseline;gap:10px;margin-top:10px}
.skl__price b{font-size:64px;font-weight:500;letter-spacing:-.05em;line-height:1}
.skl__price span{color:var(--mist);font-size:15px}
.skl__unit{margin-top:10px;font-size:14px;color:var(--mist)}
.skl__sum .btn{margin-top:4px}

/* ---------- Cena ---------- */
.oc__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:72px;align-items:center}
.oc__list{list-style:none;display:grid;gap:13px;margin-top:32px}
.oc__list li{display:flex;align-items:flex-start;gap:12px;font-size:17px;line-height:1.45}
.oc__list .ico{margin-top:3px;color:var(--cobalt)}
.oc__pro{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:32px;font-size:16px;color:var(--text2)}
.oc__card{min-height:470px}

/* ---------- Za darmo ---------- */
.ot__l{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:48px}
.ot__a{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;padding:26px 64px 26px 26px;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none;transition:border-color .25s,box-shadow .3s}
.ot__a:hover{border-color:#C8C8CB;box-shadow:var(--float)}
.ot__k{font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--steel)}
.ot__a b{font-size:19px;font-weight:560;letter-spacing:-.015em}
.ot__a span:not(.ot__k){font-size:15.5px;line-height:1.5;color:var(--text2)}
.ot__a>.ico{position:absolute;right:26px;top:30px;transition:transform .25s var(--ease)}
.ot__a:hover>.ico{transform:translateX(3px)}

/* ---------- Responsywnosc ---------- */
@media (max-width:1180px){
  .flm--side .flm__in{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:32px}
}
@media (max-width:999px){
  .oh{padding:108px 0 40px}
  .oh__grid{grid-template-columns:1fr;gap:26px}
  .oh__in{margin-inline:auto}
  .oh__pause{right:0;bottom:0}
  .flm{margin-top:36px}
  .js .flm{height:calc(var(--beats) * 82svh + 100svh)}
  .flm__in,.flm--side .flm__in{grid-template-columns:1fr;gap:18px}
  .flm__stage{margin-inline:calc(50% - 50vw)}
  .flm--side .flm__scn,.flm--top .flm__scn{width:100%;border-radius:0}
  .flm--top .flm__scn{aspect-ratio:10/9}
  .fk{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:1.2em 1.4em}
  .fcap,.flm--top .fcap{display:grid;grid-template-columns:1fr;width:100%;padding-top:12px}
  .fcap__i,.flm--top .fcap__i{grid-area:1/1;padding:14px 0 0}
  .fcap__i>:not(.fcap__bar){opacity:0}
  html:not(.js) .fcap__i{grid-area:auto}
  .fcap__bar,.flm--top .fcap__bar{top:0;bottom:auto;height:2px;width:calc((100% - 16px) / 3)}
  .fcap__i:nth-child(2) .fcap__bar{left:calc((100% - 16px) / 3 + 8px)}
  .fcap__i:nth-child(3) .fcap__bar{left:calc(2 * (100% - 16px) / 3 + 16px)}
  .fcap__bar::after,.flm--top .fcap__bar::after{transform:scaleX(var(--p,0));transform-origin:0 50%}
  .fcap h3,.flm--top .fcap h3{font-size:21px;letter-spacing:-.02em}
  .fcap p:not(.fcap__n),.flm--top .fcap p:not(.fcap__n){font-size:16px}
  .fcap__n{margin-bottom:6px}
  .gd{grid-template-columns:1fr;gap:40px;margin-top:40px}
  .gd__f{aspect-ratio:4/4.2}
  .skl__grid,.oc__grid{grid-template-columns:1fr;gap:28px}
  .skl__sum{position:relative;top:auto}
  .oc__card{min-height:0}
  .ot__l{grid-template-columns:1fr}
}
@media (max-width:640px){
  .oh{padding-top:104px}
  .oh__title{font-size:clamp(38px,11vw,54px)}
  .oh__lead{font-size:17px}
  .oh .hero__ctas .btn{width:100%}
  .of{padding:56px 0 64px}
  .skl{padding:96px 0}
  .fmt{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:12px 14px 12px 12px}
  .fmt__viz{height:84px}
  .sv{--mm:.98px}
  .fmt__p{grid-column:2;font-size:15px}
  .fmt__t small{font-size:14px}
  .skl__sum{padding:26px}
  .skl__price b{font-size:54px}
  .gd__i h3{font-size:20px}
  .oh__in{width:30em;height:37.5em;font-size:calc(100cqw / 30)}
  .oh__phone{left:6.3em;top:.6em}
  .oh__glow{left:3.2em;top:2.4em}
  .oh__card--kod{left:.2em;top:6.6em}
  .oh__card--pul{left:17.2em;top:27.4em}
  .oh__pause{top:0;bottom:auto}
  .fg{font-size:calc(100cqw / 30)}
  .flm--side .flm__scn{aspect-ratio:30/36}
  .fg__ph--c{left:1.6em;transform:translateX(5.6em)}
  .fg__ph--l,.fg__ph--r{top:5.2em;width:12.6em}
  .fg__ph--l{left:-3.4em}
  .fg__ph--r{left:20.8em}
  .flm__scn:not([data-beat="0"]) .fg__ph--l{transform:translateX(7em) rotate(0) scale(.92)}
  .flm__scn:not([data-beat="0"]) .fg__ph--r{transform:translateX(-12em) rotate(0) scale(.92)}
  .gp,.ib{left:14.4em;width:15.2em}
  .gp{top:17.6em}
  .ib{top:19.4em}
  .fg__sig{display:none}
  .ot__a{padding:22px 56px 22px 22px}
}


/* Portale opinii: gosc po ocenie wybiera, gdzie napisze (lista jak review_destinations w panelu) */
.op-pl__g{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:44px 0 0;padding:0}
.op-pl__g li{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:3px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff}
.op-pl__g i{grid-row:1 / 3;width:12px;height:12px;border-radius:50%;background:var(--t);box-shadow:0 0 0 5px color-mix(in srgb,var(--t) 15%,transparent)}
.op-pl__g b{font-size:16px;font-weight:600;letter-spacing:-.012em}
.op-pl__g small{font-size:13.5px;line-height:1.4;color:var(--steel)}
.op-pl__n{max-width:72ch;margin-top:22px;font-size:15px;line-height:1.55;color:var(--steel)}
@media (max-width:999px){.op-pl__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.op-pl__g{grid-template-columns:minmax(0,1fr)}}

/* Nosniki: pelne zdjecia z Codeksa (naklejka, telefon, ekran oceny) zamiast nakladek HTML na zdjeciu */
.gd__f--foto .gd__ph{object-position:50% 46%}
