:root,
  [data-theme="dark"]{
    --bg:#0b0c10;
    --paper:#161922;
    --paper-2:#0f1219;
    --paper-3:#20242e;
    --surface:#191c24;
    --surface-2:#20242e;
    --ink:#f1f2f6;
    --ink-soft:#b6bac4;
    --muted:#7c808b;
    --red:#fd1310;
    --red-dark:#d80f0c;
    --blue:#0170fc;
    --blue-dark:#2f86ff;
    --line:rgba(255,255,255,.11);
    --nav-scrolled-bg:rgba(11,12,16,.82);
    --marquee-bg:#14161c;
    --marquee-ink:#fff;
    --chip-bg:rgba(18,21,28,.74);
    --shadow-panel:0 -26px 60px rgba(0,0,0,.55);
    --shadow-inset:inset 0 1px 0 rgba(255,255,255,.05);
    --shadow-card:0 14px 40px rgba(0,0,0,.4);
    --footer-bg:#0a0b0f;
    --footer-ink:#fff;
    --footer-ink-muted:rgba(255,255,255,.66);
    --footer-line:rgba(255,255,255,.12);
    --map-filter:invert(.9) hue-rotate(180deg) brightness(.95) contrast(1.05) saturate(.8);
    --noise-opacity:.06;
    --calendar-working-ink:#fff;
    --cal-day-ink:#f1f2f6;
    --cal-bg:rgba(15,18,26,.65);
    --cal-day-bg:rgba(255,255,255,.04);
    --cal-working-bg:rgba(0,200,83,.14);
    --cal-working-border:rgba(0,200,83,.55);
    --cal-disabled-strike:#7a8490;
    --maxw:1240px;
    --ease:cubic-bezier(.16,1,.3,1);
    --pole-period:79.2px;
    --pole-duration:2.4s;
  }

  [data-theme="light"]{
    --bg:#f3f4f8;
    --paper:#fff;
    --paper-2:#eef0f6;
    --paper-3:#e3e7ef;
    --surface:#fff;
    --surface-2:#f5f6fa;
    --ink:#12141a;
    --ink-soft:#4a4f5c;
    --muted:#6e7583;
    --line:rgba(0,0,0,.1);
    --nav-scrolled-bg:rgba(243,244,248,.9);
    --marquee-bg:#12141a;
    --marquee-ink:#fff;
    --chip-bg:rgba(255,255,255,.92);
    --shadow-panel:0 -20px 50px rgba(15,20,35,.12);
    --shadow-inset:inset 0 1px 0 rgba(255,255,255,.85);
    --shadow-card:0 14px 36px rgba(15,20,35,.1);
    --footer-bg:#12141a;
    --footer-ink:#fff;
    --footer-ink-muted:rgba(255,255,255,.7);
    --footer-line:rgba(255,255,255,.14);
    --map-filter:none;
    --noise-opacity:.04;
    --calendar-working-ink:#12141a;
    --cal-day-ink:#12141a;
    --cal-bg:rgba(255,255,255,.85);
    --cal-day-bg:rgba(0,0,0,.03);
    --cal-working-bg:rgba(0,168,68,.12);
    --cal-working-border:rgba(0,140,56,.45);
    --cal-disabled-strike:#9aa3b0;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  .stack > section.panel[id],
  header#top,
  .opinie-band{
    scroll-margin-top:88px;
  }
  body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--ink);
    overflow-x:clip;-webkit-font-smoothing:antialiased;line-height:1.55;transition:background-color .35s var(--ease),color .35s var(--ease)}
  ::selection{background:var(--red);color:#fff}
  body::after{content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:var(--noise-opacity);mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

  h1,h2,h3,h4{font-weight:800;letter-spacing:-.02em;line-height:.98;text-transform:uppercase}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;width:100%}

  .eyebrow{font-weight:700;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--red);display:inline-flex;align-items:center;gap:12px}
  .eyebrow::before{content:"";width:28px;height:2px;background:var(--blue)}

  .btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
    padding:16px 30px;border:none;border-radius:3px;transition:transform .4s var(--ease),background .35s,color .35s,border-color .35s;position:relative}
  .btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark);transform:translateY(-3px)}
  .btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-dark);transform:translateY(-3px)}
  .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}.btn-ghost:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-3px)}
  .btn svg{transition:transform .4s var(--ease)}.btn:hover svg{transform:translateX(4px)}

  /* barber pole — GPU transform zamiast background-position (płynniej na iOS / Safari) */
  .pole{
    position:relative;
    overflow:hidden;
    background:var(--red);
  }
  .pole::before{
    content:"";
    position:absolute;
    top:0;
    left:calc(-1 * var(--pole-period));
    width:calc(100% + (2 * var(--pole-period)));
    height:100%;
    background-image:repeating-linear-gradient(45deg,var(--red) 0 14px,#fff 14px 28px,var(--blue) 28px 42px,#fff 42px 56px);
    background-size:var(--pole-period) var(--pole-period);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    transform:translate3d(0,0,0);
    animation:pole-shift var(--pole-duration) linear infinite;
  }
  @keyframes pole-shift{to{transform:translate3d(var(--pole-period),0,0)}}

  /* logo medallion (gradient ring) */
  .medallion{border-radius:50%;position:relative;background:var(--surface);flex:none;box-shadow:0 8px 22px rgba(0,0,0,.5);overflow:hidden;isolation:isolate}
  .medallion::after{content:"";position:absolute;inset:0;border-radius:50%;padding:2px;
    background:conic-gradient(from 140deg,var(--red),var(--blue),var(--red));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}
  .medallion img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;z-index:1}
  .brand .medallion img,
  .foot-brand .medallion img{
    inset:auto;
    top:50%;
    left:50%;
    width:72%;
    height:72%;
    transform:translate(-50%,-50%);
    object-fit:contain;
  }

  /* ============ NAV ============ */
  .site-nav{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:20px 28px;
    transition:all .5s var(--ease);
    pointer-events:none;
  }
  .site-nav > *{pointer-events:auto}
  .site-nav.scrolled{
    padding:12px 28px;
    background:var(--nav-scrolled-bg);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
  }
  .nav-bar{
    display:contents;
  }
  .site-nav .brand{order:1;flex:none}
  .site-nav .nav-links{
    order:2;
    flex:1 1 auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:32px;
    min-width:0;
  }
  .site-nav .nav-cta{order:3;flex:none}
  .nav-links .nav-mobile-social,
  .nav-links .nav-theme-toggle--mobile{display:none!important}
  .brand{display:flex;align-items:center;gap:13px;z-index:2}
  .brand .medallion{width:44px;height:44px;transition:.5s var(--ease)}
  .site-nav.scrolled .brand .medallion{width:39px;height:39px}
  .brand-txt{font-weight:800;font-size:19px;letter-spacing:-.01em;line-height:.9;text-transform:uppercase}
  .brand-txt span{display:block;font-weight:600;font-size:8.5px;letter-spacing:.32em;color:var(--red)}
  .nav-links{display:flex;gap:32px;align-items:center}
  .nav-links a{font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);position:relative;padding:4px 0;transition:color .3s}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--red);transition:width .35s var(--ease)}
  .nav-links a:hover{color:var(--ink)}.nav-links a:hover::after{width:100%}
  .nav-cta{display:flex;align-items:center;gap:18px}
  .nav-phone{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;color:var(--ink)}
  .nav-phone svg{color:var(--blue)}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;z-index:1002;padding:6px}
  .burger span{width:26px;height:2.5px;background:var(--ink);transition:.4s var(--ease)}
  .burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

  .nav-theme-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:42px;
    height:42px;
    padding:0;
    border-radius:50%;
    border:1.5px solid var(--line);
    background:var(--surface);
    color:var(--ink);
    cursor:pointer;
    flex:none;
    transition:border-color .3s,background .3s,color .3s,transform .35s var(--ease);
  }
  .nav-theme-toggle:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
  .nav-theme-toggle__icon{display:none;align-items:center;justify-content:center}
  .nav-theme-toggle__icon svg{display:block}
  [data-theme="dark"] .nav-theme-toggle__icon--sun,
  [data-theme="light"] .nav-theme-toggle__icon--moon{display:inline-flex}
  .nav-theme-toggle--mobile{
    display:none;
    width:auto;
    min-width:148px;
    height:auto;
    padding:12px 18px;
    border-radius:999px;
    margin-top:8px;
  }
  .nav-theme-toggle--mobile .nav-theme-toggle__label{
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  /* ============ HERO ============ */
  .hero{
    padding:clamp(120px,14vh,140px) 0 clamp(96px,12vh,120px);
    min-height:100dvh;
    box-sizing:border-box;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .hero > .wrap.hero-grid{flex:0 0 auto}
  .hero-graffiti{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
  .hero-graffiti__svg{width:100%;height:100%;display:block;opacity:.92}
  .hero-graffiti__layer--red{animation:heroGraffitiDriftRed 18s ease-in-out infinite}
  .hero-graffiti__layer--blue{animation:heroGraffitiDriftBlue 22s ease-in-out infinite}
  .hero-graffiti__layer--mix{animation:heroGraffitiDriftMix 26s ease-in-out infinite}
  .hero-graffiti__orb{position:absolute;border-radius:50%;filter:blur(42px);opacity:.45;animation:heroGraffitiOrb 9s ease-in-out infinite}
  .hero-graffiti__orb--red{width:min(340px,42vw);height:min(340px,42vw);top:8%;left:4%;background:radial-gradient(circle,rgba(253,19,16,.55),transparent 68%)}
  .hero-graffiti__orb--blue{width:min(420px,48vw);height:min(420px,48vw);right:-4%;bottom:6%;background:radial-gradient(circle,rgba(1,112,252,.48),transparent 70%);animation-delay:-4s}
  @keyframes heroGraffitiDriftRed{
    0%,100%{transform:translate(0,0) rotate(0deg)}
    50%{transform:translate(14px,-10px) rotate(-1.2deg)}
  }
  @keyframes heroGraffitiDriftBlue{
    0%,100%{transform:translate(0,0) rotate(0deg)}
    50%{transform:translate(-16px,12px) rotate(1deg)}
  }
  @keyframes heroGraffitiDriftMix{
    0%,100%{transform:translate(0,0);opacity:.55}
    50%{transform:translate(8px,6px);opacity:.75}
  }
  @keyframes heroGraffitiOrb{
    0%,100%{opacity:.38;transform:scale(1)}
    50%{opacity:.62;transform:scale(1.08)}
  }
  [data-theme="light"] .hero-graffiti__svg{opacity:.48}
  [data-theme="light"] .hero-graffiti__orb{opacity:.28}
  .hero::before{content:"";position:absolute;top:-220px;right:-180px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(1,112,252,.22),transparent 62%);z-index:0}
  .hero::after{content:"";position:absolute;bottom:-180px;left:-160px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(253,19,16,.18),transparent 62%);z-index:0}
  .hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:54px;align-items:center;position:relative;z-index:2}
  .hero-badge{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;position:relative;background:var(--surface);margin-bottom:28px;
    box-shadow:0 18px 50px rgba(0,0,0,.6),0 0 70px rgba(253,19,16,.16);opacity:0;animation:rise .8s var(--ease) .05s forwards}
  .hero-badge::after{content:"";position:absolute;inset:0;border-radius:50%;padding:2.5px;
    background:conic-gradient(from 0deg,var(--red) 0deg,#fff 90deg,var(--blue) 180deg,#fff 270deg,var(--red) 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;animation:spin 12s linear infinite}
  .hero-badge img{width:76px;height:76px;object-fit:contain}
  @keyframes spin{to{transform:rotate(360deg)}}
  .hero-tag{margin-bottom:18px;opacity:0;animation:rise .8s var(--ease) .18s forwards}
  .hero h1{font-size:clamp(46px,8.4vw,116px);color:var(--ink)}
  .hero h1 .line{display:block;overflow:hidden}
  .hero h1 .line span{display:block;transform:translateY(105%);animation:slideUp .95s var(--ease) forwards}
  .hero h1 .l2 span{animation-delay:.1s}.hero h1 .l3 span{animation-delay:.2s}
  .hero h1 .red{color:var(--red)}.hero h1 .blue{color:var(--blue)}
  .hero-sub{margin-top:24px;opacity:0;animation:rise .8s var(--ease) .55s forwards}
  .hero-sub p{font-size:clamp(15px,1.5vw,18px);color:var(--ink-soft);max-width:460px}
  .hero-sub p b{color:var(--ink);font-weight:700}
  .hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
  .hero-meta{display:flex;align-items:center;gap:22px;margin-top:34px;flex-wrap:wrap}
  .hero-meta .since{font-weight:800;font-size:40px;color:var(--ink);line-height:.8;letter-spacing:-.03em}
  .hero-meta .since small{display:block;font-size:11px;font-weight:600;letter-spacing:.22em;color:var(--muted);text-transform:uppercase}
  .hero-meta .rate .stars{color:var(--red);font-size:16px;letter-spacing:2px}
  .hero-meta .rate small{font-size:11px;color:var(--muted);letter-spacing:.1em}
  .hero-divider{width:1px;height:42px;background:var(--line)}
  .hero-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,2.2vw,26px);min-height:min(560px,78vw);opacity:0;animation:rise 1s var(--ease) .35s forwards;overflow:visible}
  .hero-visual .pole{position:absolute;left:-10px;top:8%;bottom:8%;width:14px;border-radius:8px;z-index:3;box-shadow:0 8px 20px rgba(0,0,0,.55)}

  /* Opinie — pełna szerokość pod hero, bez sticky stack */
  .opinie-band{
    position:relative;
    width:100%;
    background:var(--surface);
    border-bottom:1px solid var(--line);
    box-shadow:0 18px 48px rgba(0,0,0,.22);
    z-index:2;
  }
  .opinie-band__pole{height:6px;width:100%}
  .opinie-band__head{padding-top:clamp(36px,5vh,52px)}
  .opinie-band__head .trustindex-sec-head{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:clamp(10px,1.6vh,16px);
    margin-bottom:clamp(20px,3vh,32px);
  }
  .opinie-band__head .trustindex-sec-head h2{
    width:100%;
    text-align:center;
  }
  .opinie-band__head .trustindex-sec-head .lead{
    max-width:min(560px,100%);
    margin:0 auto;
    text-align:center;
  }
  .opinie-band__widget{
    width:100%;
    padding:0 clamp(16px,3vw,40px) clamp(36px,5vh,52px);
  }
  .opinie-band .ab-trustindex-frame{
    width:100%;
    max-width:100%;
    margin:0 auto;
  }
  .hero-medallion{position:relative;width:min(420px,92%);max-width:420px;aspect-ratio:1;border-radius:50%;background:var(--surface);
    box-shadow:0 22px 55px rgba(0,0,0,.45),0 0 42px rgba(253,19,16,.38),0 0 78px rgba(1,112,252,.32);
    margin-left:clamp(28px,4.5vw,56px);
    z-index:2;overflow:visible;animation:heroMedallionNeon 4.2s ease-in-out infinite}
  .hero-medallion__ring{position:absolute;inset:-9px;border-radius:50%;padding:4px;pointer-events:none;z-index:3;
    background:conic-gradient(from 0deg,var(--red) 0deg,#fff 72deg,var(--blue) 144deg,#fff 216deg,var(--red) 288deg,var(--red) 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    filter:drop-shadow(0 0 10px rgba(253,19,16,.85)) drop-shadow(0 0 18px rgba(1,112,252,.65));
    animation:spin 11s linear infinite}
  .hero-medallion__glow{position:absolute;inset:-24px;border-radius:50%;pointer-events:none;z-index:0;
    background:conic-gradient(from 0deg,rgba(253,19,16,.72) 0deg,rgba(255,255,255,.42) 90deg,rgba(1,112,252,.72) 180deg,rgba(255,255,255,.32) 270deg,rgba(253,19,16,.58) 360deg);
    filter:blur(20px);opacity:.88;animation:spin 14s linear infinite,heroMedallionGlow 3.6s ease-in-out infinite}
  .hero-medallion__logo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;z-index:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
  @keyframes heroMedallionNeon{
    0%,100%{box-shadow:0 22px 55px rgba(0,0,0,.45),0 0 38px rgba(253,19,16,.42),0 0 72px rgba(1,112,252,.3)}
    50%{box-shadow:0 22px 55px rgba(0,0,0,.45),0 0 58px rgba(253,19,16,.72),0 0 108px rgba(1,112,252,.55),0 0 132px rgba(253,19,16,.28)}
  }
  @keyframes heroMedallionGlow{
    0%,100%{opacity:.72;transform:scale(1)}
    50%{opacity:1;transform:scale(1.06)}
  }
  .hero-medallion__placeholder{position:relative;z-index:1;font-size:clamp(64px,14vw,96px);font-weight:800;color:var(--ink);line-height:1;opacity:.35}
  @keyframes slideUp{to{transform:translateY(0)}}
  @keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

  /* ============ PRELOADER ============ */
  html.ab-is-loading body{overflow:hidden}
  .ab-preloader{
    position:fixed;inset:0;z-index:100200;
    display:flex;align-items:center;justify-content:center;
    background:var(--bg);
    transition:opacity .28s var(--ease),visibility .28s;
  }
  .ab-preloader--hide{opacity:0;visibility:hidden;pointer-events:none}
  .ab-preloader__graffiti{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.85}
  .ab-preloader__graffiti-svg{width:100%;height:100%;display:block}
  .ab-preloader__stroke--red{animation:abPreloadStrokeDrift 14s ease-in-out infinite}
  .ab-preloader__stroke--blue{animation:abPreloadStrokeDrift 18s ease-in-out infinite reverse}
  @keyframes abPreloadStrokeDrift{
    0%,100%{transform:translate(0,0)}
    50%{transform:translate(10px,-8px)}
  }
  .ab-preloader__inner{
    position:relative;z-index:2;
    display:flex;flex-direction:column;align-items:center;
    gap:clamp(16px,3vh,28px);
    padding:24px;
    text-align:center;
  }
  .ab-preloader__logo-shell{
    position:relative;width:clamp(108px,22vw,148px);height:clamp(108px,22vw,148px);
    border-radius:50%;overflow:hidden;
    box-shadow:0 0 40px rgba(253,19,16,.35),0 0 70px rgba(1,112,252,.28);
    animation:abPreloadLogoPulse 2.4s ease-in-out infinite;
  }
  .ab-preloader__logo-ring{
    position:absolute;inset:-5px;border-radius:50%;padding:3px;z-index:3;pointer-events:none;
    background:conic-gradient(from 0deg,var(--red),#fff,var(--blue),#fff,var(--red));
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    animation:spin 8s linear infinite;
  }
  .ab-preloader__logo{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;z-index:1;
  }
  .ab-preloader__logo-fallback{
    position:absolute;inset:0;display:grid;place-items:center;
    font-size:clamp(48px,12vw,72px);font-weight:800;color:var(--ink);background:var(--surface);
  }
  @keyframes abPreloadLogoPulse{
    0%,100%{box-shadow:0 0 36px rgba(253,19,16,.35),0 0 64px rgba(1,112,252,.25)}
    50%{box-shadow:0 0 52px rgba(253,19,16,.65),0 0 96px rgba(1,112,252,.45)}
  }
  .ab-preloader__title{
    margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px;
    font-size:clamp(22px,5vw,36px);font-weight:900;line-height:1;
    letter-spacing:.06em;text-transform:uppercase;
  }
  .ab-preloader__title-line{display:inline-block}
  .ab-preloader__title-line--white{
    color:#fff;
    text-shadow:0 0 10px rgba(255,255,255,.5),0 0 24px rgba(255,255,255,.25);
  }
  .ab-preloader__title-line--red{
    color:var(--red);
    text-shadow:0 0 12px rgba(253,19,16,.95),0 0 28px rgba(253,19,16,.55);
  }
  .ab-preloader__title-line--blue{
    color:var(--blue);
    text-shadow:0 0 12px rgba(1,112,252,.95),0 0 28px rgba(1,112,252,.55);
  }
  .ab-preloader__progress{width:min(280px,72vw);display:flex;flex-direction:column;align-items:center;gap:10px}
  .ab-preloader__pct{
    font-size:clamp(28px,6vw,42px);font-weight:800;font-variant-numeric:tabular-nums;
    color:var(--ink);
    text-shadow:0 0 16px rgba(1,112,252,.35);
  }
  .ab-preloader__bar{
    width:100%;height:6px;border-radius:999px;background:var(--line);overflow:hidden;
  }
  .ab-preloader__bar-fill{
    display:block;height:100%;width:0;border-radius:inherit;
    background:linear-gradient(90deg,var(--red),#fff,var(--blue));
    box-shadow:0 0 14px rgba(253,19,16,.55),0 0 18px rgba(1,112,252,.45);
    transition:width .06s linear;
  }

  /* Pływające elementy — wspólna linia (24px od dołu) */
  :root{
    --float-edge:24px;
    --float-bottom:24px;
  }

  /* Scroll hint — tylko na hero (środek, jak float-cta / lookup) */
  .scroll-hint.scroll-hint--hero{
    position:fixed;
    left:50%;
    bottom:var(--float-bottom);
    transform:translateX(-50%);
    z-index:998;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
    text-decoration:none;
    color:var(--muted);
    opacity:0;
    pointer-events:none;
    transition:opacity .4s var(--ease),transform .4s var(--ease);
  }
  .scroll-hint.scroll-hint--hero.is-visible{
    opacity:1;
    pointer-events:auto;
  }
  .scroll-hint.scroll-hint--hero:hover{
    color:var(--ink);
    transform:translateX(-50%) translateY(-3px);
  }
  .scroll-hint__mouse{
    width:28px;
    height:44px;
    border-radius:16px;
    border:2px solid var(--line);
    position:relative;
    background:var(--surface);
    box-shadow:0 0 0 1px rgba(255,255,255,.04),0 12px 28px rgba(0,0,0,.35),
      0 0 24px rgba(253,19,16,.12),0 0 24px rgba(1,112,252,.1);
  }
  .scroll-hint__mouse::before{
    content:"";
    position:absolute;
    inset:-3px;
    border-radius:inherit;
    padding:2px;
    background:conic-gradient(from 0deg,var(--red) 0deg,#fff 90deg,var(--blue) 180deg,#fff 270deg,var(--red) 360deg);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    opacity:.85;
    pointer-events:none;
  }
  .scroll-hint__wheel{
    position:absolute;
    left:50%;
    top:9px;
    width:5px;
    height:9px;
    margin-left:-2.5px;
    border-radius:999px;
    background:linear-gradient(180deg,var(--red),var(--blue));
    box-shadow:0 0 8px rgba(253,19,16,.45);
    animation:scrollHintWheel 1.5s ease-in-out infinite;
  }
  .scroll-hint__label{
    font-size:11px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  @keyframes scrollHintWheel{
    0%,100%{transform:translateY(0);opacity:1}
    55%{transform:translateY(11px);opacity:.25}
  }
  /* Pływające social (Customizer) — prawa strona, nad „Umów wizytę” */
  .ab-float-social{
    position:fixed;
    right:var(--float-edge);
    bottom:var(--float-bottom);
    z-index:998;
    display:flex;
    flex-direction:column-reverse;
    align-items:center;
    gap:10px;
    pointer-events:none;
  }
  body:has(.float-cta.show) .ab-float-social{
    bottom:calc(var(--float-bottom) + 58px);
  }
  .ab-float-social__btn{
    pointer-events:auto;
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:50%;
    border:1px solid var(--line);
    background:var(--surface);
    color:var(--ink);
    box-shadow:var(--shadow-card);
    transition:transform .35s var(--ease),background .35s,border-color .35s;
  }
  .ab-float-social__btn:hover{
    transform:translateY(-3px);
    border-color:var(--blue);
  }
  .ab-float-social__btn--instagram:hover{color:#e1306c;border-color:#e1306c}
  .ab-float-social__btn--facebook:hover{color:#1877f2;border-color:#1877f2}
  .ab-float-social__btn--phone:hover{color:var(--red);border-color:var(--red)}
  .ab-float-social__icon{
    display:flex;
    align-items:center;
    justify-content:center;
  }

  /* ============ MARQUEE ============ */
  .marquee{background:var(--marquee-bg);color:var(--marquee-ink);overflow:hidden;position:relative}
  .marquee .pole{height:6px;width:100%}
  .marquee-body{padding:16px 0;overflow:hidden}
  .marquee-track{display:flex;width:max-content;animation:scroll 28s linear infinite}
  .marquee-track span{font-weight:800;font-size:24px;text-transform:uppercase;letter-spacing:-.01em;padding:0 24px;display:flex;align-items:center;gap:24px;white-space:nowrap}
  .marquee-track span::after{content:"✦";font-size:13px;color:var(--red)}
  .marquee-track span:nth-child(even)::after{color:var(--blue)}
  @keyframes scroll{to{transform:translateX(-50%)}}

  /* ============ STICKY STACK ============ */
  .stack{
    position:relative;
    z-index:1;
    isolation:isolate;
  }
  .stack > section.panel{
    position:-webkit-sticky;
    position:sticky;
    top:0;
    min-height:100vh;
    min-height:100dvh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:clamp(72px,11vh,104px) 0 clamp(48px,7vh,64px);
    border-radius:28px 28px 0 0;
    overflow:visible;
    box-shadow:var(--shadow-panel),var(--shadow-inset);
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
  }
  .stack-marquee{
    position:relative;
    z-index:0;
    flex:none;
  }
  /* Marquee ma własne paski .pole — bez drugiej linii na kolejnej sekcji */
  .stack-marquee + section.panel::before{
    display:none;
  }
  .stack > section.panel:nth-of-type(1){z-index:1}
  .stack > section.panel:nth-of-type(2){z-index:2}
  .stack > section.panel:nth-of-type(3){z-index:3}
  .stack > section.panel:nth-of-type(4){z-index:4}
  .stack > section.panel:nth-of-type(5){z-index:5}
  .stack > section.panel:nth-of-type(6){z-index:6}
  .stack > section.panel:nth-of-type(7){z-index:7}
  .stack > section.panel:nth-of-type(8){z-index:8}
  .stack > section.panel:nth-of-type(9){z-index:9}
  .stack > section.panel:nth-of-type(10){z-index:10}
  .stack > section.panel.panel--tall,
  .stack > section.panel#rezerwacja,
  .stack > section.panel.panel-contact{
    justify-content:flex-start;
  }
  /* Rezerwacja: domyślnie normalny scroll strony (kalendarz); wewnętrzny scroll tylko przy godzinach */
  .stack > section.panel#rezerwacja{
    min-height:100dvh;
    max-height:none;
    overflow:visible;
    padding-top:clamp(56px,8vh,80px);
    padding-bottom:clamp(20px,3vh,32px);
    box-sizing:border-box;
  }
  #rezerwacja .rezerwacja-wrap{
    max-width:min(1480px,calc(100vw - 24px));
    padding-left:clamp(12px,2vw,20px);
    padding-right:clamp(12px,2vw,20px);
  }
  .stack > section.panel#cennik{
    min-height:max(85dvh,fit-content);
    padding-top:clamp(64px,9vh,88px);
    padding-bottom:clamp(56px,8vh,80px);
  }
  .trustindex-sec-head{
    text-align:center;
    justify-content:center;
    flex-direction:column;
    align-items:center;
    margin-bottom:clamp(28px,4vh,42px);
  }
  .trustindex-sec-head h2{
    width:100%;
  }
  .trustindex-sec-head .lead{
    max-width:min(520px,100%);
    text-align:center;
  }
  .rezerwacja-wrap{
    width:100%;
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    min-height:0;
    max-height:100%;
  }
  .rezerwacja-sec-head{
    flex:0 0 auto;
    margin-bottom:clamp(10px,1.6vh,18px);
  }
  .rezerwacja-sec-head h2{
    font-size:clamp(26px,4vw,40px);
    line-height:1.05;
  }
  .rezerwacja-sec-head .lead{
    font-size:clamp(13px,1.6vw,15px);
    margin-top:8px;
    max-width:52ch;
  }
  .rezerwacja-sec-head .sec-head,
  .rezerwacja-sec-head.sec-head{
    margin-bottom:0;
  }
  .rezerwacja-body{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:visible;
  }
  .rezerwacja-scroller{
    flex:1 1 auto;
    min-height:0;
    overflow:visible;
    padding:4px 2px 12px;
  }
  @media (min-width:981px){
    .stack > section.panel#rezerwacja.rezerwacja--times-step{
      max-height:100dvh;
      overflow:hidden;
    }
    #rezerwacja.rezerwacja--times-step .rezerwacja-body{
      overflow:hidden;
    }
    #rezerwacja.rezerwacja--times-step .rezerwacja-scroller{
      overflow-x:hidden;
      overflow-y:auto;
      overscroll-behavior:contain;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:thin;
      scrollbar-color:var(--line) transparent;
    }
    #rezerwacja.rezerwacja--times-step .rezerwacja-scroller::-webkit-scrollbar{
      width:8px;
    }
    #rezerwacja.rezerwacja--times-step .rezerwacja-scroller::-webkit-scrollbar-thumb{
      background:var(--line);
      border-radius:4px;
    }
    #rezerwacja.rezerwacja--times-step .rezerwacja-scroller:focus-visible{
      outline:2px solid var(--blue);
      outline-offset:-2px;
    }
  }
  .stack > section.panel#rezerwacja > .rezerwacja-wrap{
    flex:1 1 auto;
    min-height:0;
  }
  .stack > section.panel::before{
    content:"";
    position:absolute;
    top:0;
    left:calc(-1 * var(--pole-period));
    width:calc(100% + (2 * var(--pole-period)));
    height:6px;
    z-index:6;
    border-radius:28px 28px 0 0;
    background-image:repeating-linear-gradient(45deg,var(--red) 0 14px,#fff 14px 28px,var(--blue) 28px 42px,#fff 42px 56px);
    background-size:var(--pole-period) var(--pole-period);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    transform:translate3d(0,0,0);
    animation:pole-shift var(--pole-duration) linear infinite;
  }
  .p-light{background:var(--paper)}
  .p-soft{background:var(--paper-2)}

  .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

  .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:38px}
  .sec-head h2{font-size:clamp(34px,5.6vw,76px);color:var(--ink)}
  .sec-head h2 em{font-style:normal;color:var(--red)}
  .sec-head h2 .b{font-style:normal;color:var(--blue)}
  .sec-head .lead{max-width:380px;color:var(--ink-soft);font-size:16px}

  /* SERVICES */
  .svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .svc{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-card);transition:.45s var(--ease),background .35s,border-color .35s}
  .svc:hover{transform:translateY(-6px);box-shadow:0 22px 54px rgba(0,0,0,.6)}
  .svc-img{height:clamp(170px,26vh,250px);overflow:hidden}
  .svc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
  .svc:hover .svc-img img{transform:scale(1.05)}
  .svc-body{padding:30px 30px 32px}
  .svc-num{font-weight:800;font-size:13px;letter-spacing:.14em;margin-bottom:12px}
  .svc:nth-child(1) .svc-num{color:var(--red)}.svc:nth-child(2) .svc-num{color:var(--blue)}
  .svc-body h3{font-size:clamp(22px,2.4vw,32px);margin-bottom:14px;line-height:1.04;color:var(--ink)}
  .svc-body p{color:var(--ink-soft);font-size:15px;margin-bottom:22px}

  /* PRICING */
  .price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  .price-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:30px 28px;transition:.45s var(--ease);position:relative;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.4)}
  .price-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
  .price-card:nth-child(1)::before{background:var(--red)}.price-card:nth-child(2)::before{background:var(--blue)}.price-card:nth-child(3)::before{background:#fff}
  .price-card:hover{transform:translateY(-6px);box-shadow:0 20px 54px rgba(0,0,0,.6)}
  .price-card:hover::before{transform:scaleX(1)}
  .price-card h4{font-size:13px;letter-spacing:.14em;margin-bottom:6px}
  .price-card:nth-child(1) h4{color:var(--red)}.price-card:nth-child(2) h4{color:var(--blue)}.price-card:nth-child(3) h4{color:var(--ink)}
  .price-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:13px 0;border-bottom:1px dashed var(--line)}
  .price-row:last-child{border-bottom:none}
  .price-row .n{font-weight:600;font-size:15px;color:var(--ink)}
  .price-row .n small{display:block;font-weight:400;font-size:12.5px;color:var(--muted);margin-top:2px}
  .price-row .p{font-weight:800;font-size:21px;color:var(--ink);white-space:nowrap;letter-spacing:-.02em}
  .price-note{text-align:center;margin-top:24px;font-size:13px;color:var(--muted)}

  /* ABOUT */
  .about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
  .about-img{position:relative}
  .about-img img{border-radius:12px;width:100%;height:min(54vh,500px);object-fit:cover;box-shadow:0 24px 60px rgba(0,0,0,.5)}
  .about-img .badge{position:absolute;bottom:-22px;left:-22px;background:var(--red);color:#fff;padding:22px 26px;border-radius:10px;box-shadow:0 20px 46px rgba(253,19,16,.45)}
  .about-img .badge b{font-weight:800;font-size:40px;display:block;line-height:.9;letter-spacing:-.03em}
  .about-img .badge span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;opacity:.95}
  .about-txt h2{font-size:clamp(32px,5vw,66px);color:var(--ink);margin:16px 0 22px}
  .about-txt h2 em{font-style:normal;color:var(--red)}.about-txt h2 .b{font-style:normal;color:var(--blue)}
  .about-txt p{color:var(--ink-soft);font-size:16px;margin-bottom:16px}
  .stats{display:flex;gap:34px;margin-top:30px;flex-wrap:wrap}
  .stat b{font-weight:800;font-size:40px;display:block;line-height:1;letter-spacing:-.03em}
  .stat:nth-child(1) b{color:var(--red)}.stat:nth-child(2) b{color:var(--ink)}.stat:nth-child(3) b{color:var(--blue)}
  .stat span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}

  /* PORTFOLIO */
  .gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,22vh,215px);gap:14px}
  .gitem{position:relative;overflow:hidden;border-radius:8px;cursor:pointer;border:1px solid var(--line)}
  .gitem.tall{grid-row:span 2}
  .gitem img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
  .gitem::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.8));opacity:0;transition:.5s}
  .gitem .cap{position:absolute;left:18px;bottom:14px;z-index:2;font-weight:800;font-size:16px;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(12px);transition:.5s var(--ease)}
  .gitem:hover img{transform:scale(1.08)}.gitem:hover::after{opacity:1}.gitem:hover .cap{opacity:1;transform:none}

  /* TEAM */
  .team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .barber{position:relative;border-radius:12px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
  .barber-img{position:relative;height:min(52vh,430px);overflow:hidden}
  .barber-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
  .barber-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.92))}
  .barber:hover .barber-img img{transform:scale(1.06)}
  .barber-info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px}
  .barber-info h3{font-size:28px;color:#fff}
  .barber-info .role{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:700;margin-top:6px;display:inline-flex;align-items:center;gap:8px}
  .barber-info .role::before{content:"";width:18px;height:2px;background:var(--red)}
  .barber-info .role.blue::before{background:var(--blue)}
  .barber-info .barber-bio{margin-top:10px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.88);font-weight:400;max-width:320px}
  @media (max-width:768px){
    .barber-info .barber-bio{display:block;opacity:1}
  }

  /* REVIEWS */
  .rev-top{display:flex;align-items:center;gap:16px;justify-content:center;margin-bottom:40px;flex-wrap:wrap}
  .rev-top .stars{color:var(--red);font-size:24px;letter-spacing:3px}
  .rev-top .score{font-weight:800;font-size:28px;color:var(--ink);letter-spacing:-.02em}
  .rev-top .label{color:var(--muted);font-size:13px}
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .rev{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:32px 28px;transition:.4s var(--ease)}
  .rev:hover{box-shadow:0 18px 48px rgba(0,0,0,.55);transform:translateY(-4px)}
  .rev .q{font-weight:800;font-size:54px;color:var(--blue);line-height:.4;height:22px}
  .rev p{color:var(--ink-soft);font-size:15px;margin:16px 0 20px;font-style:italic}
  .rev .who{display:flex;align-items:center;gap:12px}
  .rev .av{width:42px;height:42px;border-radius:50%;background:var(--red);display:grid;place-items:center;font-weight:800;color:#fff;font-size:16px}
  .rev:nth-child(2) .av{background:var(--blue)}.rev:nth-child(3) .av{background:#3a3f4b}
  .rev .who b{font-size:14px;color:var(--ink);font-weight:700}
  .rev .who span{font-size:12px;color:var(--muted);display:block}

  /* CONTACT */
  .panel-contact{padding:0;justify-content:stretch}
  .contact-grid{display:grid;grid-template-columns:1.08fr .92fr;width:100%;max-width:100%;flex:1;align-items:stretch;overflow:hidden}
  .contact-info{padding:104px 6vw 80px 28px;max-width:660px;margin-left:auto;width:100%;align-self:center}
  .contact-info .eyebrow{margin-bottom:16px}
  .contact-info h2{font-size:clamp(32px,4.4vw,58px);color:var(--ink);margin-bottom:26px}
  .contact-info h2 em{font-style:normal;color:var(--red)}
  .cline{display:flex;gap:18px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
  .cline .ic{flex:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--blue)}
  .cline h5{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:5px}
  .cline p,.cline a{font-size:17px;color:var(--ink);font-weight:600}.cline a:hover{color:var(--red)}
  .hours-row{display:flex;justify-content:space-between;font-size:14.5px;color:var(--ink-soft);padding:5px 0}
  .hours-row span:last-child{color:var(--ink);font-weight:600}
  .contact-cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
  .map{position:relative;background:var(--bg);min-height:520px;overflow:hidden;isolation:isolate}
  .panel-contact .map{
    width:min(480px,calc(100% - clamp(48px,6vw,72px)));
    max-width:100%;
    min-height:400px;
    height:calc(100% - clamp(72px,10vw,120px));
    margin:clamp(48px,7vw,88px) clamp(52px,6vw,72px) clamp(48px,6vw,72px) clamp(12px,1.6vw,22px);
    align-self:center;
    justify-self:start;
    border-radius:18px;
    border:1px solid var(--line);
    box-shadow:var(--shadow-card);
  }
  .map .ab-map-inner{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;overflow:hidden}
  .map iframe,
  .map .wpgmza_map,
  .map .wpgmaps_map,
  .map .leaflet-container,
  .map [id^="wpgmza_id"]{
    position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:100%!important;border:0
  }
  .map iframe{filter:var(--map-filter)}
  .map .leaflet-container{background:var(--bg)}
  .ab-map-directions{
    position:absolute;left:18px;bottom:18px;z-index:6;
    display:inline-flex;align-items:center;gap:9px;
    padding:11px 18px;border-radius:999px;
    background:var(--blue);color:#fff;font-size:13px;font-weight:700;
    letter-spacing:.04em;text-transform:uppercase;
    box-shadow:0 10px 28px rgba(1,112,252,.35);
    transition:transform .35s var(--ease),box-shadow .35s var(--ease)
  }
  .ab-map-directions:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(1,112,252,.45);color:#fff}
  .ab-map-pin-label{
    position:absolute;
    top:42%;
    left:54%;
    transform:translate(-50%,-100%);
    z-index:5;
    pointer-events:none;
    padding-bottom:10px;
  }
  .ab-map-pin-label__bubble{
    display:inline-block;
    padding:10px 16px;
    border-radius:12px;
    background:var(--surface);
    border:1px solid var(--line);
    color:var(--ink);
    font-size:14px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:.01em;
    white-space:nowrap;
    box-shadow:0 12px 32px rgba(0,0,0,.38);
  }
  .ab-map-pin-label__bubble{position:relative}
  .ab-map-pin-label__bubble::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-7px;
    width:12px;
    height:12px;
    margin-left:-6px;
    background:var(--surface);
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    transform:rotate(45deg);
  }

  /* FOOTER */
  footer{background:var(--footer-bg);color:var(--footer-ink);position:relative;border-radius:28px 28px 0 0;overflow:hidden;box-shadow:0 -26px 60px rgba(0,0,0,.25)}
  footer .pole{height:6px;width:100%}
  .foot-inner{padding:60px 0 28px}
  .foot-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start;padding-bottom:38px;border-bottom:1px solid var(--footer-line)}
  .foot-brand{display:flex;align-items:center;gap:14px}
  .foot-brand .medallion{width:58px;height:58px}
  .foot-brand .brand-txt{font-size:23px;color:var(--footer-ink)}
  .foot-brand .brand-txt span{color:var(--red);font-size:9.5px;letter-spacing:.3em}
  .foot-nav{display:flex;gap:40px;flex-wrap:wrap}
  .foot-col h6{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);font-weight:800;margin-bottom:14px}
  .foot-col a,.foot-col p{display:block;color:var(--footer-ink-muted);font-size:14px;margin-bottom:9px;transition:color .3s}
  .foot-col a:hover{color:var(--footer-ink)}
  .socials{display:flex;gap:11px;margin-top:4px}
  .socials a{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--footer-line);display:grid;place-items:center;color:var(--footer-ink-muted);transition:.4s var(--ease)}
  .socials a:hover{background:var(--red);color:#fff;border-color:var(--red);transform:translateY(-3px)}
  .foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;font-size:12.5px;color:var(--footer-ink-muted)}
  .foot-legal{width:100%;margin:0;padding-top:18px;border-top:1px solid var(--footer-line);font-size:11.5px;line-height:1.6;color:var(--footer-ink-muted)}

  /* float cta */
  .float-cta{position:fixed;right:var(--float-edge);bottom:var(--float-bottom);z-index:999;display:flex;align-items:center;gap:10px;background:var(--red);color:#fff;
    padding:15px 24px;border-radius:50px;font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 14px 34px rgba(253,19,16,.5);
    opacity:0;transform:translateY(30px) scale(.9);pointer-events:none;transition:.5s var(--ease),background .3s}
  .float-cta.show{opacity:1;transform:none;pointer-events:auto}
  .float-cta:hover{background:var(--red-dark);transform:translateY(-3px)}

  /* ============ RESPONSIVE ============ */
  .nav-mobile-social{display:none}

  /* Menu mobilne wcześniej — dużo pozycji + telefon + CTA nie mieszczą się w jednym rzędzie */
  @media(max-width:1240px){
    .site-nav .nav-links:not(.mobile){display:none!important}
    .nav-phone{display:none}
    .burger{display:flex}
    .nav-theme-toggle{display:none}
    .site-nav{
      display:block;
      padding:0;
      pointer-events:auto;
    }
    .nav-bar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      padding:16px 18px;
      min-width:0;
    }
    .site-nav.scrolled{
      padding:0;
      background:var(--nav-scrolled-bg);
      backdrop-filter:blur(14px);
      border-bottom:1px solid var(--line);
    }
    .site-nav .brand{
      min-width:0;
      flex:1 1 auto;
      overflow:hidden;
    }
    .brand-txt{
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .brand-txt span{display:none}
    body.nav-open{overflow:hidden}
    body.nav-open .site-nav{z-index:10060}
    body.nav-open .nav-bar{
      position:relative;
      z-index:10062;
    }
    .nav-cta{
      flex:none;
      gap:10px;
    }
    .nav-cta-book{display:none}
    .nav-cta-home{
      display:none;
    }
    .site-nav .nav-links.mobile{
      display:flex!important;
      position:fixed;
      top:0;
      left:0;
      right:0;
      bottom:0;
      width:100%;
      min-height:100dvh;
      min-height:100vh;
      z-index:10050;
      background:var(--bg);
      flex-direction:column;
      align-items:center;
      justify-content:flex-start;
      gap:12px;
      padding:88px 20px 32px;
      overflow-x:hidden;
      overflow-y:auto;
      -webkit-overflow-scrolling:touch;
      box-sizing:border-box;
    }
    html.admin-bar .nav-links.mobile{
      top:46px;
      min-height:calc(100dvh - 46px);
      min-height:calc(100vh - 46px);
      padding-top:32px;
    }
    html.admin-bar .site-nav{
      top:46px;
    }
    .site-nav .nav-links.mobile a{
      font-size:20px;
      font-weight:800;
      color:var(--ink);
      flex:none;
      line-height:1.2;
    }
    .site-nav .nav-links.mobile .nav-theme-toggle--mobile{
      display:inline-flex!important;
    }
    .site-nav .nav-links.mobile .nav-mobile-social{
      display:flex!important;
    }
    .nav-mobile-social{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:14px;
      margin:6px 0 4px;
      flex:none;
    }
    .nav-mobile-social__btn{
      display:grid;
      place-items:center;
      width:50px;
      height:50px;
      border-radius:50%;
      border:1.5px solid var(--line);
      background:var(--surface);
      color:var(--ink);
      transition:transform .35s var(--ease),border-color .35s,color .35s;
    }
    .nav-mobile-social__btn:hover{
      transform:translateY(-3px);
      border-color:var(--blue);
    }
    .nav-mobile-social__btn--instagram:hover{color:#e1306c;border-color:#e1306c}
    .nav-mobile-social__btn--facebook:hover{color:#1877f2;border-color:#1877f2}
    .nav-mobile-social__btn--phone:hover{color:var(--red);border-color:var(--red)}
    .ab-float-social{display:none!important}
  }

  @media(max-width:1480px) and (min-width:1241px){
    .site-nav{padding-left:16px;padding-right:16px;gap:12px}
    .site-nav .nav-links{gap:clamp(12px,1.4vw,22px)}
    .nav-links a{font-size:11px;letter-spacing:.02em}
    .nav-cta{gap:10px}
    .nav-cta-book{padding:12px 16px;font-size:11px}
    .brand-txt{font-size:16px}
    .brand-txt span{display:none}
    .nav-phone{font-size:12px;gap:6px}
  }

  @media(max-width:980px){
    :root{--wrap-pad:28px}
    .stack > section.panel{
      position:static;
      top:auto;
      min-height:0;
      max-height:none;
      border-radius:0;
      overflow:visible;
      box-shadow:none;
      transform:none;
      -webkit-transform:none;
      z-index:auto;
      padding:clamp(56px,10vh,80px) 0 clamp(40px,6vh,56px);
    }
    .stack > section.panel::before{display:none}
    .stack > section.panel#rezerwacja{
      min-height:0;
      max-height:none;
      overflow:visible;
      padding-top:clamp(56px,10vh,80px);
      padding-bottom:clamp(40px,6vh,56px);
    }
    .stack > section.panel#cennik{min-height:0}
    #rezerwacja .rezerwacja-body,
    #rezerwacja .rezerwacja-scroller{
      overflow:visible;
      flex:none;
      min-height:0;
    }
    .stack > section.panel#rezerwacja.rezerwacja--times-step,
    #rezerwacja.rezerwacja--times-step .rezerwacja-body,
    #rezerwacja.rezerwacja--times-step .rezerwacja-scroller{
      max-height:none;
      overflow:visible;
    }
    footer{border-radius:0;box-shadow:none}
    .hero-grid,.svc-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
    .hero{
      min-height:0;
      justify-content:flex-start;
      padding:108px 0 48px;
    }
    .hero-graffiti__svg{opacity:.55}
    .hero-graffiti__orb--red{width:220px;height:220px;top:12%;left:-6%}
    .hero-graffiti__orb--blue{width:260px;height:260px;right:-12%;bottom:2%}
    .hero-visual{
      flex-direction:row;
      align-items:center;
      justify-content:center;
      gap:clamp(14px,4vw,24px);
      width:100%;
      max-width:100%;
      margin:clamp(20px,4vh,32px) auto 0;
      min-height:0;
      padding:0 clamp(8px,3vw,16px);
    }
    .hero-visual .pole{
      position:relative;
      left:auto;
      top:auto;
      bottom:auto;
      width:12px;
      height:min(220px,52vw);
      max-height:240px;
      flex:none;
      align-self:center;
    }
    .hero-medallion{
      width:min(260px,58vw);
      max-width:280px;
      margin-left:0;
      flex:none;
    }
    .price-grid,.rev-grid{grid-template-columns:1fr}
    #portfolio .gallery,
    #zespol .team-grid{
      display:flex;
      flex-wrap:nowrap;
      align-items:stretch;
      gap:14px;
      overflow-x:auto;
      overflow-y:hidden;
      scroll-snap-type:x mandatory;
      -webkit-overflow-scrolling:touch;
      scrollbar-width:thin;
      padding:4px 0 12px;
      margin-left:calc(-1 * var(--wrap-pad, 28px));
      margin-right:calc(-1 * var(--wrap-pad, 28px));
      padding-left:var(--wrap-pad, 28px);
      padding-right:var(--wrap-pad, 28px);
      width:calc(100% + (2 * var(--wrap-pad, 28px)));
    }
    #portfolio .gallery .gitem,
    #zespol .team-grid .barber{
      flex:0 0 min(78vw, 280px);
      scroll-snap-align:start;
    }
    #portfolio .gallery .gitem{
      height:min(58vw, 260px);
      min-height:220px;
    }
    #portfolio .gallery .gitem.tall{
      grid-row:auto;
      height:min(58vw, 260px);
    }
    #zespol .team-grid .barber-img{
      height:min(72vw, 340px);
    }
    .float-cta{
      opacity:1;
      transform:none;
      pointer-events:auto;
    }
    .about-img{order:-1}.about-img img{height:380px}
    .contact-info{padding:20px 28px 50px;max-width:none}
    .panel-contact .map{
      width:calc(100% - 36px);
      min-height:300px;
      height:auto;
      margin:20px 18px 36px;
      border-radius:14px;
    }
    .map{min-height:300px}
  }
  html.admin-bar .site-nav{top:32px}
  @media(max-width:782px){
    html.admin-bar .site-nav{top:46px}
  }

  @media(max-width:560px){
    :root{--wrap-pad:18px}
    .wrap{padding:0 18px}
    .svc-body{padding:26px}
    :root{--float-edge:16px;--float-bottom:16px}
    .float-cta{padding:13px 20px}
    .hero-meta{gap:16px}
    .hero-badge{width:104px;height:104px}.hero-badge img{width:64px;height:64px}
  }

  .stack > section.ab-page-panel{position:static;min-height:auto}
  .ab-page-panel{padding-top:100px;padding-bottom:80px;box-shadow:none;border-radius:0}
  .ab-page-panel::before{display:none}
  .site-wrapper--page{background:var(--bg)}

  @media (prefers-reduced-motion:reduce){
    .stack > section.panel{position:static;min-height:0}
    .pole::before,.stack > section.panel::before{animation:none}
    .scroll-hint__wheel{animation:none}
    .hero-medallion,.hero-medallion__ring,.hero-medallion__glow{animation:none!important}
    .hero-graffiti__layer--red,.hero-graffiti__layer--blue,.hero-graffiti__layer--mix,.hero-graffiti__orb{animation:none!important}
    .ab-preloader__logo-shell,.ab-preloader__stroke--red,.ab-preloader__stroke--blue{animation:none!important}
  }