/* =========================================================
   KRBN — style główne
   1. Tokeny  2. Baza  3. Komponenty  4. Nawigacja
   5. Sekcje (hero → CTA)  6. Ruch / dostępność
   Wizualizacje usług i mockupy: css/visuals.css
   ========================================================= */

/* ---------- 1. TOKENY ---------- */
:root{
  --dark:#080808;
  --dark-2:#181818;
  --paper:#F3F1EB;
  --paper-2:#EAE7DE;
  --muted:#8A8A84;
  --signal:#C8FF32;

  /* Typografia: wyłącznie Inter Tight (nagłówki, duże liczby) + Inter (tekst, UI) */
  --font-display:"Inter Tight","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --font:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:var(--font); /* alias historyczny — etykiety to teraz Inter 600 */

  /* Skala nagłówków (mobile → desktop nadpisywane niżej) */
  --fs-h1:min(12.8vw,3.625rem);            /* hero 48–58 */
  --fs-h2:clamp(2rem,10.4vw,3rem);     /* sekcje 38–48 */
  --fs-h3:clamp(1.75rem,8vw,2.25rem);      /* średnie 28–36 */
  --fs-statement:clamp(3rem,13vw,3.625rem);
  --fs-price:clamp(3.25rem,14vw,4.25rem);
  --fs-body:clamp(16px,.35vw + 14.7px,18px);
  --fs-lead:clamp(17px,.4vw + 15.6px,19px);
  --fs-small:clamp(14px,.2vw + 13.2px,15px);
  --measure:33em;

  /* Odstępy */
  --gap-label:clamp(20px,.9vw + 12px,32px);   /* etykieta → nagłówek */
  --gap-head:clamp(24px,.8vw + 18px,36px);    /* nagłówek → tekst */
  --gap-cta:clamp(28px,.9vw + 22px,40px);     /* tekst → CTA */
  --sp-sec:clamp(80px,21vw,110px);            /* pionowy padding sekcji */
  --sp-xl:clamp(96px,26vw,130px);             /* sekcje z bardzo dużą typografią */

  --gutter:clamp(20px,4.2vw,72px);
  --wrap:1320px;
  --wrap-wide:1560px;
  --nav-h:76px;

  --ease:cubic-bezier(.22,.7,.1,1);
  --ease-io:cubic-bezier(.7,0,.2,1);

  --grain-l:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grain-d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (max-width:899px){:root{--nav-h:64px}}
@media (min-width:720px){:root{
  --fs-h1:clamp(4rem,9vw,4.75rem);           /* 64–76 */
  --fs-h2:clamp(3rem,6.8vw,3.75rem);         /* 48–60 */
  --fs-h3:clamp(2rem,3.6vw,2.5rem);
  --fs-statement:clamp(4.5rem,10vw,5.5rem);
  --fs-price:clamp(3.5rem,6.4vw,4.5rem);
  --sp-sec:clamp(110px,14vw,150px);
  --sp-xl:clamp(130px,17vw,180px);
}}
@media (min-width:1024px){:root{
  --fs-h1:clamp(5.5rem,7.3vw,6.5rem);        /* 88–104 */
  --fs-h2:clamp(4rem,5.6vw,5.25rem);         /* 64–84 */
  --fs-h3:clamp(2rem,2.9vw,2.75rem);         /* 32–44 */
  --fs-statement:clamp(5.5rem,7.6vw,7rem);
  --fs-price:clamp(3.5rem,5.2vw,5rem);
  --sp-sec:clamp(140px,12vw,190px);
  --sp-xl:clamp(180px,15vw,240px);
}}
@media (min-width:1440px){:root{--fs-h1:clamp(7rem,8.4vw,8rem)}} /* 112–128 */

/* ---------- 2. BAZA ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--dark);scroll-padding-top:0}
body{
  margin:0;background:var(--dark);color:var(--paper);
  font-family:var(--font);font-size:var(--fs-body);line-height:1.55;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
::selection{background:var(--signal);color:var(--dark)}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.sec--light :focus-visible{outline-color:var(--dark)}

.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--signal);color:var(--dark);padding:12px 16px;font-weight:600;transition:top .2s}
.skip:focus{top:12px}

.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.mono{font-family:var(--font);font-weight:600;letter-spacing:.1em;text-transform:uppercase}

/* Sekcje: motyw jasny/ciemny */
.sec{position:relative;background:var(--bg);color:var(--fg);transition:background-color .6s}
.sec--dark{
  --bg:var(--dark);--fg:var(--paper);--fg-2:rgba(243,241,235,.64);--fg-3:rgba(243,241,235,.36);
  --line:rgba(243,241,235,.14);--grain:var(--grain-l);--grain-o:.055;
}
.sec--light{
  --bg:var(--paper);--fg:var(--dark);--fg-2:rgba(8,8,8,.66);--fg-3:rgba(8,8,8,.36);
  --line:rgba(8,8,8,.16);--grain:var(--grain-d);--grain-o:.07;
}
.sec--paper2{--bg:var(--paper-2)}
.sec::after{ /* ziarno */
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:var(--grain);background-size:180px 180px;opacity:var(--grain-o);
}
.sec > *{position:relative;z-index:2}

/* Typografia */
.hero__h,.h-xl,.manifesto__h,.svc__n b,.svc__h,.system__h,.fnode__t,.case__h,.statement__h,
.step__n,.plan__name,.plan__price,.more__h,.more__list b,.cta__h,.cta__mark span,.wordmark,.cday__h,.plan__addon b{font-family:var(--font-display)}
.h-xl{
  font-size:var(--fs-h2);font-weight:700;line-height:.98;letter-spacing:-.035em;text-wrap:balance;
}
.label{
  display:flex;width:fit-content;align-items:center;gap:.75em;margin-bottom:var(--gap-label);
  font:600 12px/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);
}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.dot--live{background:var(--signal);box-shadow:0 0 0 0 rgba(200,255,50,.5);animation:live 2.4s infinite}
.sec--light .dot--live{background:var(--dark);box-shadow:0 0 0 3px var(--signal);animation:none}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(200,255,50,.55)}70%,100%{box-shadow:0 0 0 8px rgba(200,255,50,0)}}

.arr{width:1.05em;height:1.05em;flex:none;transition:transform .5s var(--ease)}
.arr--down{transform:rotate(90deg)}

/* Split words (maska) + reveal */
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-block:.14em .28em;margin-block:-.14em -.28em}
.wi{display:inline-block;will-change:transform}
.js [data-split] .wi{transform:translate3d(0,140%,0);transition:transform 1.15s var(--ease);transition-delay:calc(var(--i,0)*55ms + var(--d,0s))}
.js [data-split].is-in .wi{transform:none}
.js [data-reveal]{opacity:0;transform:translate3d(0,26px,0);transition:opacity .9s var(--ease) var(--d,0s),transform 1.1s var(--ease) var(--d,0s)}
.js [data-reveal].is-in{opacity:1;transform:none}

/* ---------- 3. KOMPONENTY ---------- */
.btn{
  --fill:var(--paper);
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  height:56px;padding:0 28px;border:1px solid transparent;border-radius:2px;
  font:600 13px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
  overflow:hidden;isolation:isolate;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:color .45s var(--ease),border-color .45s,transform .5s var(--ease);
}
.btn__t{position:relative;z-index:2;display:inline-flex;align-items:center;gap:.9em}
.btn::before{
  content:"";position:absolute;inset:-1px;z-index:1;background:var(--fill);
  transform:translate3d(0,102%,0);transition:transform .6s var(--ease);
}
.btn:hover::before,.btn:focus-visible::before{transform:none}
.btn:hover .arr{transform:translateX(3px)}
.btn:active{transform:scale(.995)!important}
.btn--sm{height:42px;padding:0 18px;font-size:12px}
.btn--xl{height:76px;padding:0 44px;font-size:15px}
.btn--primary{background:var(--paper);color:var(--dark);--fill:var(--signal)}
.btn--signal{background:var(--signal);color:var(--dark);--fill:var(--paper)}
.btn--line{border-color:var(--fg);color:var(--fg);--fill:var(--fg)}
.btn--line:hover,.btn--line:focus-visible{color:var(--bg)}
.plan--main .btn--signal{--fill:var(--paper)}

.tlink{display:inline-flex;align-items:center;gap:.8em;font:600 12.5px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;padding:6px 0;position:relative}
.tlink::after{content:"";position:absolute;left:0;right:1.9em;bottom:0;height:1px;background:currentColor;transform-origin:left;transition:transform .6s var(--ease);opacity:.6}
.tlink:hover::after{transform:scaleX(.35)}
.tlink:hover .arr{transform:translateX(3px)}
.tlink:hover .arr--down{transform:rotate(90deg) translateX(3px)}

/* ---------- 4. NAWIGACJA ---------- */
.nav{
  --nav-fg:#F3F1EB;--nav-rgb:8,8,8;--nav-a:0;--nav-line:rgba(243,241,235,.28);--nav-solid:#080808;--nav-dot:var(--signal);
  position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);color:var(--nav-fg);
  background:rgba(var(--nav-rgb),var(--nav-a));
  -webkit-backdrop-filter:blur(calc(var(--nav-a)*22px)) saturate(1.2);backdrop-filter:blur(calc(var(--nav-a)*22px)) saturate(1.2);
  transition:color .5s var(--ease),background-color .5s var(--ease),height .5s var(--ease),transform .6s var(--ease),opacity .8s;
}
.nav[data-on="light"]{--nav-fg:#080808;--nav-rgb:243,241,235;--nav-line:rgba(8,8,8,.28);--nav-solid:#F3F1EB;--nav-dot:#080808}
.nav.is-scrolled{--nav-a:.74;height:64px}
.js .nav{opacity:0;transform:translateY(-12px)}
.is-ready .nav{opacity:1;transform:none}
.nav__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:100%;padding-inline:var(--gutter);max-width:calc(var(--wrap) + var(--gutter)*2);margin-inline:auto}
.wordmark{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:27px;letter-spacing:-.05em;line-height:1;justify-self:start;padding:8px 0}
.wordmark__mark{flex:none;height:30px;width:auto;overflow:visible}
.wordmark__mark .lm-w{fill:var(--nav-fg);transition:fill .5s var(--ease)}
.wordmark__mark .lm-g{fill:var(--signal);transition:fill .5s var(--ease)}
.nav__links{display:flex;gap:clamp(22px,3.2vw,52px)}
.nav__links a{position:relative;font:500 12.5px/1 var(--font);letter-spacing:.11em;text-transform:uppercase;padding:10px 0;opacity:.72;transition:opacity .3s}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav__links a:hover,.nav__links a.is-cur{opacity:1}
.nav__links a:hover::after,.nav__links a.is-cur::after{transform:scaleX(1);transform-origin:left}
.nav__cta{justify-self:end;border-color:var(--nav-line);color:var(--nav-fg);--fill:var(--nav-fg)}
.nav__cta:hover,.nav__cta:focus-visible{color:var(--nav-solid)}
.nav__toggle{display:none;justify-self:end;align-items:center;gap:12px;font:600 12px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;padding:14px 0 14px 14px}
.nav__toggle-i{position:relative;width:22px;height:8px}
.nav__toggle-i i{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .5s var(--ease)}
.nav__toggle-i i:first-child{top:0}.nav__toggle-i i:last-child{bottom:0}
.nav__bar{position:absolute;inset:auto 0 0 0;height:1px;background:currentColor;opacity:0;transition:opacity .4s}
.nav__bar i{position:absolute;inset:0;background:currentColor;transform:scaleX(var(--sp,0));transform-origin:left}
.nav.is-scrolled .nav__bar{opacity:.22}
.nav.is-scrolled .nav__bar i{opacity:1}

.menu{position:fixed;inset:0;z-index:99;background:var(--dark);color:var(--paper);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--nav-h) + 6vh) var(--gutter) max(28px,env(safe-area-inset-bottom));visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease-io),visibility 0s .8s}
.menu__links{display:grid}
.menu__links a{display:flex;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid rgba(243,241,235,.12);font-size:clamp(2.6rem,12vw,4.25rem);font-weight:600;letter-spacing:-.035em;line-height:1;transform:translateY(24px);opacity:0;transition:transform .8s var(--ease),opacity .6s}
.menu__links a span{font:600 12px var(--font);letter-spacing:.12em;color:var(--muted)}
.menu__foot{display:grid;gap:18px}
.menu__foot .btn{width:100%}
.menu__mail{font:500 14px var(--font);letter-spacing:.02em;color:var(--fg-2,#aaa);text-align:center;padding:8px}
html.menu-open{overflow:hidden}
html.menu-open .menu{visibility:visible;clip-path:inset(0);transition:clip-path .8s var(--ease-io),visibility 0s}
html.menu-open .menu__links a{transform:none;opacity:1}
html.menu-open .menu__links a:nth-child(1){transition-delay:.25s}
html.menu-open .menu__links a:nth-child(2){transition-delay:.31s}
html.menu-open .menu__links a:nth-child(3){transition-delay:.37s}
html.menu-open .menu__links a:nth-child(4){transition-delay:.43s}
html.menu-open .nav{--nav-fg:#F3F1EB;--nav-a:0;--nav-solid:#080808;--nav-dot:var(--signal)}
html.menu-open .nav__toggle-i i:first-child{transform:translateY(3.25px) rotate(45deg)}
html.menu-open .nav__toggle-i i:last-child{transform:translateY(-3.25px) rotate(-45deg)}

@media (max-width:899px){
  .nav__links,.nav__cta{display:none}
  .nav__toggle{display:inline-flex}
  .nav__in{grid-template-columns:1fr auto}
}
@media (min-width:900px){.menu{display:none}}

/* ---------- 5A. HERO ---------- */
.hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(var(--nav-h) + 20px);overflow:clip}
.hero__grid{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(to right,rgba(243,241,235,.055) 1px,transparent 1px),linear-gradient(to bottom,rgba(243,241,235,.055) 1px,transparent 1px);
  background-size:96px 96px;background-position:center top;
  -webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 96%);mask-image:linear-gradient(to bottom,#000 30%,transparent 96%);
}
.hero__grid--hot{
  background-image:linear-gradient(to right,rgba(243,241,235,.2) 1px,transparent 1px),linear-gradient(to bottom,rgba(243,241,235,.2) 1px,transparent 1px);
  -webkit-mask-image:radial-gradient(220px circle at var(--mx,72%) var(--my,40%),#000,transparent 70%);
  mask-image:radial-gradient(220px circle at var(--mx,72%) var(--my,40%),#000,transparent 70%);
  opacity:0;transition:opacity .6s;
}
.hero.is-hover .hero__grid--hot{opacity:1}

.hero__visual{position:absolute;z-index:1;right:0;top:0;bottom:0;width:min(60%,980px);display:flex;align-items:flex-end;pointer-events:none}
.hg{position:relative;width:min(100%,calc((100svh - 150px)*1.5));aspect-ratio:3/2;margin-bottom:clamp(76px,8vh,104px);margin-left:auto;margin-right:0;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 32%);mask-image:linear-gradient(to right,transparent 0,#000 32%)}
.hg__scroll,.hg__par{position:absolute;inset:0;will-change:transform}
.hg__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hg__axes path{stroke:rgba(243,241,235,.24);stroke-width:1;vector-effect:non-scaling-stroke}
.hg__axes .tick{stroke:rgba(243,241,235,.3)}
.hg__dim path{stroke:rgba(243,241,235,.16);stroke-width:1.2;stroke-dasharray:2 6;vector-effect:non-scaling-stroke}
.hg__bright path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.hg__bright .m{stroke:#F3F1EB;stroke-width:2.4}
.hg__bright .g{stroke:#F3F1EB;stroke-width:9;opacity:.05}
.hg__bright .t{stroke:rgba(243,241,235,.6);stroke-width:1.4}
/* Węzły narzędzi: aktywują się po kolei, gdy linia do nich dotrze */
.hg__stem line,.hg__stem .sq{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease)}
.hg__stem line{stroke:rgba(243,241,235,.32);stroke-width:1;vector-effect:non-scaling-stroke}
.hg__stem .sq{fill:#F3F1EB;transform-box:fill-box;transform-origin:center;transform:scale(.3)}
.hg__stem.on line{opacity:1}
.hg__stem.on .sq{opacity:1;transform:none}
/* Głowica: biała podczas rysowania, po dotarciu do WZROST przechodzi w sygnałową zieleń */
.hg__head{opacity:0;transition:opacity .7s ease}
.hg.is-run .hg__head{opacity:1}
.hg__head line{stroke:rgba(243,241,235,.28);stroke-width:1;stroke-dasharray:2 5;vector-effect:non-scaling-stroke;transition:stroke .9s ease}
.hg__head.is-done line{stroke:rgba(200,255,50,.3)}
.hg__dot{fill:#F3F1EB;transition:fill .9s ease}
.hg__head.is-done .hg__dot{fill:var(--signal)}
.hg__ring{fill:none;stroke:var(--signal);stroke-width:1;vector-effect:non-scaling-stroke;opacity:0}
.hg__dots circle{fill:#F3F1EB}
/* Po intro: tylko cichy ruch tła (bez powtarzania rysowania) */
@keyframes hg-drift{to{stroke-dashoffset:-16}}
@keyframes hg-breathe{0%,100%{opacity:1}50%{opacity:.7}}
@keyframes hg-node{0%,100%{opacity:1}50%{opacity:.55}}
.hg.is-alive .hg__dim path{animation:hg-drift 10s linear infinite}
.hg.is-alive .hg__bright .t{animation:hg-breathe 9s ease-in-out infinite}
.hg.is-alive .hg__bright .t:nth-child(3){animation-delay:-2.2s}
.hg.is-alive .hg__bright .t:nth-child(4){animation-delay:-4.4s}
.hg.is-alive .hg__bright .t:nth-child(5){animation-delay:-6.6s}
.hg.is-alive .hg__stem .sq{animation:hg-node 7s ease-in-out infinite}
.hg.is-alive .hg__stem:nth-child(2) .sq{animation-delay:-1.7s}
.hg.is-alive .hg__stem:nth-child(3) .sq{animation-delay:-3.4s}
.hg.is-alive .hg__stem:nth-child(4) .sq{animation-delay:-5.1s}
.hg__labels{position:absolute;inset:0;font:600 clamp(9.5px,.78vw,11.5px)/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:rgba(243,241,235,.5)}
.hg__labels > *{position:absolute;white-space:nowrap}
.hg__demo{right:3%;bottom:-2%;color:rgba(243,241,235,.42)}
.hg__axis{color:rgba(243,241,235,.4)}
.hg__axis--y{left:-1%;top:34%;transform:rotate(-90deg);transform-origin:left top}
.hg__axis--x{left:6.7%;bottom:-2%}
.hg__n{--nx:14px;display:flex;align-items:center;gap:.7em;transform:translate(var(--nx),-50%);color:rgba(243,241,235,.82)}
.js .hg__n{opacity:0;transform:translate(calc(var(--nx) - 8px),-50%);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .hg__n.on{opacity:1;transform:translate(var(--nx),-50%)}
.hg__n i{font-style:normal;color:rgba(243,241,235,.4)}
.hg__n--top{color:var(--paper)}
.hg__n--top::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--signal)}
.hg__read{left:0;top:0;opacity:0;transition:opacity .8s ease;display:flex;flex-direction:column;gap:5px;transform:translate(-100%,0);text-align:right;color:var(--paper);will-change:transform}
.hg.is-run .hg__read{opacity:1}
.hg__read b{font-weight:600}.hg__read i{font-style:normal;color:rgba(243,241,235,.45)}

.hero__inner{position:relative;z-index:3;padding-bottom:clamp(20px,4.5vh,56px)}
@media (min-width:900px){.hero__inner{padding-bottom:clamp(60px,16vh,180px)}}
.hero__svc{display:flex;flex-wrap:wrap;align-items:center;gap:.5em .9em;font-size:12px;letter-spacing:.12em;color:var(--fg-2)}
.hero__svc em{font-style:normal;color:var(--fg-3)}
.hero__svc .dot{margin-right:.2em}
.hero__h{
  margin:var(--gap-label) 0 var(--gap-head);
  font-size:var(--fs-h1);font-weight:700;line-height:.92;letter-spacing:-.045em;
}
.hero__row{display:flex;flex-direction:column;gap:var(--gap-cta)}
.hero__lead{max-width:30em;font-size:var(--fs-lead);line-height:1.5;color:var(--fg-2)}
.hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px}
.hero__foot{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;padding-block:14px 22px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.12em;color:var(--fg-3)}
.hero__scroll{display:inline-flex;align-items:center;gap:12px}
.hero__scroll i{position:relative;width:38px;height:1px;background:var(--line);overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;inset:0;background:var(--paper);transform:translateX(-100%);animation:scan 2.8s var(--ease-io) infinite}
@keyframes scan{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}

/* Wejście hero */
.js .hero__grid,.js .hg{opacity:0;transition:opacity 1.6s var(--ease) .2s}
.is-ready .hero__grid,.is-ready .hg{opacity:1}
.is-ready .hero__grid--hot{opacity:0}
.is-ready .hero.is-hover .hero__grid--hot{opacity:1}
.js .hero__foot{opacity:0;transition:opacity 1s 1.1s}
.is-ready .hero__foot{opacity:1}

@media (min-width:900px) and (max-width:1279px){
  .hero__visual{width:52%}
  .hg{margin-bottom:clamp(76px,9vh,104px);margin-right:0}
  .hg__demo{right:4%;bottom:auto;top:-12%}
  .hg__n i{display:none}
}
@media (max-width:899px){
  .hero{justify-content:flex-start}
  .hero__visual{position:relative;order:2;inset:auto;width:100%;flex:1 1 230px;min-height:230px;align-items:center;margin-top:8px}
  .hero__inner{order:1}
  .hero__foot{order:3}
  .hg{width:100%;margin:0;-webkit-mask-image:none;mask-image:none;max-height:100%}
  .hg__labels{font-size:9.5px}
  .hg__axis{display:none}
  .hg__demo{right:var(--gutter);bottom:auto;top:-14%;font-size:9px}
  .hg__n{--nx:9px}
  .hg__n i,.hg__n--top::before{display:none}
  .hg__bright .t,.hg__stems,.hg__read{display:none}
  .hg__dim path:nth-child(n+2),.hg__dots circle:nth-child(n+2){display:none}
  .hg__n:not(.hg__n--top){display:none}
  .hero__grid{background-size:64px 64px}
}
@media (max-width:719px){
  .hero__inner .btn{width:100%}
  .hero__cta{gap:18px 24px}
}

/* ---------- 5B. MANIFEST ---------- */
.manifesto__stage{position:relative}
.manifesto__in{display:flex;flex-direction:column;gap:clamp(40px,8vh,80px);padding-block:var(--sp-sec)}
.manifesto .label{margin-bottom:0}
.manifesto__h{display:grid;font-size:var(--fs-h2);font-weight:700;line-height:1;letter-spacing:-.035em}
.mf .wi{will-change:transform,opacity}
.mf--a{color:var(--fg)}
.mf--a .strike .wi{position:relative}
.mf--a .strike .wi::after{content:"";position:absolute;left:0;right:0;top:54%;height:.055em;background:var(--fg);transform:scaleX(var(--s,1));transform-origin:left}

.pipe{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.pipe__i{position:relative;padding-top:24px;opacity:1;transition:opacity .6s var(--ease)}
.pipe__i::before,.pipe__i::after{content:"";position:absolute;top:0;left:0;right:0;height:1px}
.pipe__i::before{background:var(--line)}
.pipe__i::after{background:var(--fg);transform:scaleX(1);transform-origin:left;transition:transform .8s var(--ease-io)}
.pipe__m{position:absolute;top:-4.5px;left:0;width:10px;height:10px;border-radius:50%;background:var(--bg);border:1px solid var(--fg);transition:background-color .4s,border-color .4s,box-shadow .4s}
.pipe__i b{display:flex;align-items:center;gap:.5em;font:600 clamp(.85rem,1.2vw,1.2rem)/1 var(--font);letter-spacing:.02em;text-transform:uppercase}
.pipe__i:not(.pipe__i--end) b::after{content:"";width:.95em;height:.95em;background:currentColor;opacity:.5;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.500 8h12M9 3.500 13.500 8 9 12.500' fill='none' stroke='black' stroke-width='1.500'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.500 8h12M9 3.500 13.500 8 9 12.500' fill='none' stroke='black' stroke-width='1.500'/%3E%3C/svg%3E") center/contain no-repeat}
.pipe__i small{display:block;margin-top:.9em;padding-right:1em;font-size:var(--fs-small);line-height:1.4;color:var(--fg-2)}
.pipe__i--end.is-on b{color:var(--dark);background:var(--signal);padding:.42em .6em;margin:-.42em 0 -.42em -.6em;width:max-content}

.motion .manifesto__track{height:360vh;height:360svh}
.motion .manifesto__stage{position:sticky;top:0;height:100vh;height:100svh}
.motion .manifesto__in{height:100%;justify-content:space-between;gap:0;padding-top:calc(var(--nav-h) + 4vh);padding-bottom:clamp(28px,6vh,64px)}
.motion .mf{grid-area:1/1}
.motion .manifesto__h{align-self:center;margin-block:auto}
.motion .pipe__i{opacity:.28}
.motion .pipe__i::after{transform:scaleX(0)}
.motion .pipe__i.is-on{opacity:1}
.motion .pipe__i.is-on::after{transform:scaleX(1)}
.motion .pipe__i.is-on .pipe__m{background:var(--fg)}
.motion .pipe__i--end.is-on .pipe__m{background:var(--dark);box-shadow:0 0 0 3px var(--signal)}
.mf--b{color:var(--fg)}

html:not(.motion) .mf--a{margin-bottom:.4em;color:var(--fg-3);text-decoration:line-through;text-decoration-thickness:.05em}

@media (max-width:899px){
  .pipe{grid-template-columns:1fr;padding-left:26px;position:relative}
  .pipe__i{padding:11px 0;display:grid;grid-template-columns:8.4em 1fr;align-items:baseline;gap:8px}
  .pipe__i::before,.pipe__i::after{top:0;bottom:0;left:-26px;right:auto;width:1px;height:auto}
  .pipe__i::after{transform:scaleY(1);transform-origin:top;transition-duration:.6s}
  .motion .pipe__i::after{transform:scaleY(0)}
  .motion .pipe__i.is-on::after{transform:scaleY(1)}
  .pipe__m{top:1.05em;left:-30.5px}
  .pipe__i b{font-size:.82rem}
  .pipe__i b::after{display:none!important}
  .pipe__i small{margin:0;padding:0;font-size:14px}
  .pipe__i--end.is-on b{margin:0;padding:.4em .55em}
  .motion .manifesto__in{padding-top:calc(var(--nav-h) + 2vh);gap:14px}
}

/* ---------- 5C. USŁUGI ---------- */
.services{padding-top:var(--sp-sec)}
.services__head{padding-bottom:clamp(56px,7vw,100px)}
.svc-index{display:none}
.svc{padding:clamp(36px,6vh,64px) 0 clamp(44px,7vh,80px);border-top:1px solid var(--line)}
.svc__body{display:flex;flex-direction:column;align-items:flex-start}
.svc__n{display:flex;align-items:baseline;gap:.9em;margin-bottom:clamp(16px,3vh,32px)}
.svc__n b{font-size:clamp(3.4rem,8vw,7.4rem);font-weight:700;line-height:.8;letter-spacing:-.05em}
.svc__n span{font:600 12px var(--font);letter-spacing:.12em;color:var(--fg-2);text-transform:uppercase}
.svc__h{font-size:var(--fs-h3);font-weight:700;line-height:1.05;letter-spacing:-.02em;max-width:14em;text-wrap:balance;margin-bottom:var(--gap-head)}
.svc__p{max-width:var(--measure);color:var(--fg-2);font-size:var(--fs-body);line-height:1.55}
.svc__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--gap-cta);font-size:11px;letter-spacing:.08em}
.svc__tags li{border:1px solid var(--line);padding:.7em .95em;color:var(--fg-2)}
.svc__visual{margin-top:clamp(28px,5vh,48px)}

@media (min-width:1024px){
  .services__head{padding-bottom:clamp(40px,7vh,80px)}
  .motion .svc-track{height:400vh;height:400svh}
  .motion .svc-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:clip}
  .motion .svc-stage__in{
    height:100%;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto minmax(0,1fr);
    column-gap:clamp(36px,5.6vw,110px);padding-top:calc(var(--nav-h) + 6px);padding-bottom:clamp(28px,5vh,52px);
  }
  .motion .svc-index{
    grid-column:1/-1;grid-row:1;display:block;position:relative;
    padding:14px 0 16px;border-bottom:1px solid var(--line);font:600 11.5px var(--font);letter-spacing:.12em;text-transform:uppercase;
  }
  .motion .svc-index ol{display:flex;gap:clamp(22px,3.4vw,54px)}
  .motion .svc-index li{color:var(--fg-3);transition:color .5s}
  .motion .svc-index li span{margin-right:.9em;opacity:.7}
  .motion .svc-index li.is-on{color:var(--fg)}
  .svc-index__bar{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:transparent}
  .svc-index__bar b{position:absolute;inset:0;background:var(--signal);transform:scaleX(var(--sp,0));transform-origin:left}
  .motion .svc{
    grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:subgrid;align-items:center;padding:0;border:0;
    opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s var(--ease),visibility 0s .55s;
  }
  .motion .svc.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .7s var(--ease) .12s,visibility 0s}
  .motion .svc__body{align-self:center}
  .motion .svc__body > *{opacity:0;transform:translate3d(0,30px,0);transition:opacity .5s var(--ease),transform .7s var(--ease)}
  .motion .svc.is-past .svc__body > *{transform:translate3d(0,-30px,0)}
  .motion .svc.is-active .svc__body > *{opacity:1;transform:none;transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:calc(.16s + var(--k,0)*.08s)}
  .motion .svc__body > *:nth-child(1){--k:0}.motion .svc__body > *:nth-child(2){--k:1}.motion .svc__body > *:nth-child(3){--k:2}.motion .svc__body > *:nth-child(4){--k:3}
  .motion .svc__visual{margin:0;display:flex;justify-content:flex-end;align-items:center;opacity:1;transform:translate3d(0,7%,0) scale(.965);transition:transform .8s var(--ease),opacity .5s;opacity:0}
  .motion .svc.is-past .svc__visual{transform:translate3d(0,-7%,0) scale(.965)}
  .motion .svc.is-active .svc__visual{opacity:1;transform:none;transition:transform 1.3s var(--ease) .1s,opacity .9s var(--ease) .1s}
}
@media (min-width:1024px) and (max-height:780px){
  .svc__n{margin-bottom:12px}.svc__n b{font-size:4.4rem}
  .svc__h{margin-bottom:20px}
  .svc__tags{margin-top:24px}
}

/* ---------- 5D. SYSTEM KRBN ---------- */
.system{padding-block:var(--sp-sec)}
.system__h{margin:0 0 clamp(56px,8vw,110px);display:grid;gap:.18em;font-size:var(--fs-h2);line-height:1;font-weight:700;letter-spacing:-.035em}
.sys-l{display:block;max-width:17em}
.sys-l--2{color:var(--fg-3)}
.system__lead{max-width:var(--measure);margin-top:clamp(48px,6vw,80px);font-size:var(--fs-lead);font-weight:500;line-height:1.5}

.flow{position:relative;--fgap:clamp(24px,3.2vw,64px)}
.flow__brackets{display:none}
.flow__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.flow__svg .e{fill:none;stroke:var(--fg);stroke-width:1.2;stroke-linecap:square;transition:opacity .4s,stroke-width .3s}
.flow__svg .e--loop{stroke-dasharray:3 6;stroke-width:1}
.flow__svg .e.is-hot{stroke-width:2.2}
.flow__svg .e.is-dim{opacity:.1}
.flow__svg .p{fill:var(--fg);transition:opacity .3s}
.flow__svg.is-hover .p:not(.is-hot){opacity:0}
.flow__grid{position:relative;z-index:2}
.flow__col{display:flex;flex-direction:column;justify-content:center}
.fnode{
  position:relative;display:grid;gap:6px;width:100%;text-align:left;padding:18px 18px 16px;
  background:var(--bg);color:var(--fg);border:1px solid var(--fg);border-radius:0;
  min-width:0;overflow:hidden;container-type:inline-size;
  transition:background-color .45s var(--ease),color .45s var(--ease),opacity .4s,transform .6s var(--ease),border-color .45s;
}
.fnode__n{font:600 11px/1 var(--font);letter-spacing:.12em;color:var(--fg-2);transition:color .45s}
.fnode__t{font-size:clamp(1.15rem,1.9vw,1.95rem);font-weight:700;letter-spacing:-.02em;line-height:1;text-transform:uppercase;max-width:100%;overflow-wrap:anywhere}
.fnode__d{font-size:14px;line-height:1.35;color:var(--fg-2);transition:color .45s;max-width:100%;overflow-wrap:break-word;hyphens:auto}
.fnode:hover,.fnode.is-hot,.fnode[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.fnode:hover .fnode__n,.fnode:hover .fnode__d,.fnode.is-hot .fnode__n,.fnode.is-hot .fnode__d,.fnode[aria-pressed="true"] .fnode__n,.fnode[aria-pressed="true"] .fnode__d{color:rgba(243,241,235,.66)}
.fnode.is-dim{opacity:.32}
.fnode--end{background:var(--dark);color:var(--paper);border-color:var(--dark)}
.fnode--end .fnode__t{color:var(--signal)}
.fnode--end .fnode__n,.fnode--end .fnode__d{color:rgba(243,241,235,.6)}
.fnode--end:hover,.fnode--end.is-hot{background:var(--signal);color:var(--dark);border-color:var(--signal)}
.fnode--end:hover .fnode__t,.fnode--end.is-hot .fnode__t{color:var(--dark)}
.fnode--end:hover .fnode__n,.fnode--end:hover .fnode__d,.fnode--end.is-hot .fnode__n,.fnode--end.is-hot .fnode__d{color:rgba(8,8,8,.66)}

.js .fnode{opacity:0}
.flow.is-in .fnode{opacity:1}
.flow.is-in .fnode.is-dim{opacity:.32}
.flow.is-in .fnode{transition-delay:calc(var(--n,0)*70ms)}
.flow.is-in .fnode:hover,.flow.is-in .fnode.is-hot,.flow.is-in .fnode.is-dim{transition-delay:0s}

/* mobilnie: pionowy układ */
.flow__grid{display:flex;flex-direction:column;gap:clamp(44px,8vw,64px)}
.flow__col--src{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.flow__col--src .fnode{padding:14px 10px 12px}
.flow__col--src .fnode__d{display:none}
.flow__col--src .fnode__t{font-size:min(clamp(1rem,4.6vw,1.4rem),19cqw)}
.flow__col:not(.flow__col--src) .fnode{grid-template-columns:auto 1fr;grid-template-areas:"n t" "d d";align-items:baseline;column-gap:14px;padding:18px 18px 16px}
.flow__col:not(.flow__col--src) .fnode__n{grid-area:n}
.flow__col:not(.flow__col--src) .fnode__t{grid-area:t;font-size:1.5rem}
.flow__col:not(.flow__col--src) .fnode__d{grid-area:d}
.flow__loop{display:none}

@media (min-width:1280px){
  .flow{padding-bottom:104px}
  .flow__brackets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:var(--fgap);margin-bottom:26px;position:relative;z-index:2}
  .flow__brackets span{border-top:1px solid var(--fg);padding-top:10px;font-size:11.5px;letter-spacing:.12em;color:var(--fg-2)}
  .flow__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:var(--fgap);align-items:center}
  .flow__col--src{display:flex;flex-direction:column;justify-content:center;gap:14px}
  .flow__col--src .fnode{padding:18px 18px 16px}
  .flow__col--src .fnode__d{display:block}
  .flow__col--src .fnode,.flow__col:not(.flow__col--src) .fnode{padding:18px 16px 16px}
  .flow__col .fnode .fnode__t{font-size:min(1.85rem,15cqw)}
  .flow__col:not(.flow__col--src) .fnode{display:grid;grid-template-columns:none;grid-template-areas:none}
  .flow__col:not(.flow__col--src) .fnode > *{grid-area:auto}
  .flow__loop{display:block;position:absolute;z-index:2;font-size:11px;letter-spacing:.1em;color:var(--fg-2);white-space:nowrap;transform:translate(-50%,-50%);background:var(--bg);padding:6px 14px;opacity:0;transition:opacity .8s 1.6s}
  .flow.is-in .flow__loop{opacity:1}
}

@media (min-width:900px){.system__lead{margin-left:auto}}

/* ---------- 5E. REALIZACJE ---------- */
.work{padding-top:var(--sp-sec);padding-bottom:clamp(24px,4vw,64px)}
.work__head{padding-bottom:clamp(40px,6vw,90px)}
.work__title{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-head)}
.work__sub{max-width:var(--measure);font-size:var(--fs-lead);line-height:1.5;color:var(--fg-2)}
.cases{position:relative}
.case{position:relative;border-top:1px solid var(--line)}
.case__in.wrap{max-width:calc(var(--wrap-wide) + var(--gutter)*2)}
.case__in{display:grid;grid-template-columns:minmax(0,1fr);row-gap:clamp(36px,6vw,56px);padding-block:clamp(56px,9vw,128px)}
.case__meta{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.case__n{font-size:12px;letter-spacing:.12em;color:var(--fg-3);margin-bottom:clamp(16px,2.2vw,28px)}
.case__n b{font-weight:500;color:var(--paper)}
.case__h{font-size:clamp(2.25rem,4.6vw,4.25rem);font-weight:700;line-height:.98;letter-spacing:-.035em;margin-bottom:18px;max-width:100%;overflow-wrap:break-word}
.case__cat{font-size:12px;letter-spacing:.1em;color:var(--fg-2);margin-bottom:var(--gap-head);max-width:30em;line-height:1.5}
.case__p{max-width:24em;color:var(--fg-2);font-size:var(--fs-body);line-height:1.55;margin-bottom:var(--gap-cta)}
.case__stage{position:relative;display:grid;min-width:0;container-type:inline-size}

@media (min-width:1024px){
  .case__in{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:center}
  .case__meta{grid-column:1/5;grid-row:1}
  .case__stage{grid-column:5/13;grid-row:1}
  .case--rev .case__meta{grid-column:9/13}
  .case--rev .case__stage{grid-column:1/9}
}

/* ---------- 5F. STATEMENT ---------- */
.statement{overflow:clip;padding-block:var(--sp-xl)}
.statement__h{margin:0 0 clamp(72px,9vw,130px);display:block;font-size:var(--fs-statement);font-weight:800;line-height:.9;letter-spacing:-.05em}
.st-l{display:block;will-change:transform}
.st-l--1{transform:translate3d(calc(var(--sp,0)*-7vw),0,0)}
.st-l--2{transform:translate3d(calc(var(--sp,0)*4vw),0,0)}
.st-l--3{transform:translate3d(calc(var(--sp,0)*-3vw),0,0)}
.sig{color:var(--signal)}
.paths{display:grid}
.path{display:flex;align-items:center;gap:clamp(10px,1.8vw,26px);padding-block:clamp(16px,2.8vh,30px);border-top:1px solid var(--line);font:600 clamp(.75rem,1.25vw,1.2rem)/1 var(--font);letter-spacing:.08em;text-transform:uppercase}
.path:last-child{border-bottom:1px solid var(--line)}
.path__n{flex:none;color:var(--fg-3);transition:color .5s var(--ease);display:inline-flex;align-items:center;gap:.7em}
.path__n.is-on{color:var(--fg)}
.path__n--end.is-on::before{content:"";width:.6em;height:.6em;border-radius:50%;background:var(--signal)}
.path__l{position:relative;flex:1;min-width:14px;height:1px;background:var(--line)}
.path__l b{position:absolute;inset:0;background:var(--fg);transform:scaleX(var(--p,1));transform-origin:left}
.path__l::after{content:"";position:absolute;right:-1px;top:-3.5px;width:8px;height:8px;border-top:1px solid var(--fg);border-right:1px solid var(--fg);transform:rotate(45deg);opacity:var(--a,1);transition:opacity .35s}

/* ---------- 5G. PROCES ---------- */
.process{padding-block:var(--sp-sec)}
.steps{position:relative;margin-top:clamp(64px,8vw,120px)}
.steps__ol{display:grid;grid-template-columns:minmax(0,1fr)}
.steps__rail{position:absolute;background:var(--line);left:5px;top:6px;bottom:20px;width:1px}
.steps__rail b{position:absolute;inset:0;background:var(--fg);transform:scaleY(var(--pp,0));transform-origin:top}
.step{position:relative;padding:0 0 clamp(40px,7vh,56px) 46px;opacity:1;transition:opacity .6s var(--ease)}
.step:last-child{padding-bottom:0}
.step__m{position:absolute;left:0;top:.35em;width:11px;height:11px;border-radius:50%;background:var(--bg);border:1px solid var(--fg);transition:background-color .4s,border-color .4s,box-shadow .4s}
.step__n{display:block;font-size:clamp(3rem,14vw,4.6rem);font-weight:700;letter-spacing:-.05em;line-height:.85;margin-bottom:.4em}
.step__h{font:600 13px/1.25 var(--font);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.9em}
.step p{max-width:28ch;color:var(--fg-2);font-size:var(--fs-small);line-height:1.5}
.motion .step{opacity:.3}
.motion .step.is-on{opacity:1}
.motion .step__m{border-color:var(--fg-3)}
.motion .step.is-on .step__m{background:var(--fg);border-color:var(--fg)}
.motion .step--end.is-on .step__m{background:var(--dark);box-shadow:0 0 0 3px var(--signal)}
html:not(.motion) .steps__rail b{transform:none}
@media (min-width:900px){
  .steps__ol{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:clamp(20px,2.6vw,44px)}
  .steps__rail{left:0;right:0;top:0;bottom:auto;width:auto;height:1px}
  .steps__rail b{transform:scaleX(var(--pp,0));transform-origin:left}
  html:not(.motion) .steps__rail b{transform:none}
  .step{padding:36px 0 0}
  .step:last-child{padding-bottom:0}
  .step__m{top:-5.5px}
  .step__n{font-size:clamp(3rem,5.2vw,5.4rem)}
}

/* ---------- 5H. OFERTA ---------- */
.offer{padding-block:var(--sp-sec)}
.offer__head{margin-bottom:clamp(64px,8vw,110px)}
.offer__head .h-xl{max-width:12em}
.offer__lead{max-width:var(--measure);margin-top:var(--gap-head);color:var(--fg-2);font-size:var(--fs-lead);line-height:1.5}

.plans{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--fg)}
.plan{position:relative;display:flex;flex-direction:column;padding:clamp(36px,4.4vw,56px) 0 clamp(40px,4.6vw,60px);border-bottom:1px solid var(--line)}
.plan::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.plan:hover::before{transform:scaleX(1)}
.plan__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:clamp(20px,2.4vw,32px)}
.plan__name{font-size:var(--fs-h3);font-weight:700;line-height:1.05;letter-spacing:-.02em}
.plan__price{display:flex;align-items:baseline;gap:.2em;font-size:var(--fs-price);font-weight:700;letter-spacing:-.045em;line-height:1;white-space:nowrap}
.plan__price b{font-weight:700}
.plan__price span{font-size:.36em;font-weight:600;letter-spacing:-.01em;color:var(--fg-2)}
.plan__price small{font:600 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2);margin-right:.7em}
.plan__for{margin:clamp(20px,2vw,28px) 0 clamp(28px,3vw,40px);max-width:24em;color:var(--fg-2);font-size:var(--fs-body);line-height:1.5}
.plan__list{margin:0 0 clamp(28px,3vw,40px);flex:1}
.plan__list li{display:flex;gap:.9em;padding:.78em 0;border-top:1px solid var(--line);font-size:var(--fs-small);line-height:1.4;transition:border-color .5s var(--ease)}
.plan__list li::before{content:"";flex:none;width:7px;height:1px;background:currentColor;margin-top:.7em}
.plan:hover .plan__list li{border-color:var(--fg-3)}
.plan .btn{width:100%;height:auto;min-height:56px;padding-block:12px;justify-content:space-between;white-space:normal;text-align:left;line-height:1.25}

/* Signature: strona + produkcja contentu + doświadczenie */
.plan__groups{flex:1;margin:0 0 clamp(28px,3vw,40px)}
.plan__group + .plan__group{margin-top:1.7em}
.plan__group .plan__list{margin:0}
.plan__gh{display:flex;gap:1em;padding-bottom:.9em;font:600 11px/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase}
.plan__gh i{font-style:normal;color:var(--fg-3)}
.plan--sig{background:linear-gradient(180deg,rgba(8,8,8,.045),rgba(8,8,8,0) 55%)}

/* Business: wyróżniony, ale bez jaskrawego bloku */
.plan__tag{position:static;align-self:flex-start;display:inline-flex;align-items:center;gap:.7em;margin-bottom:20px;padding:.6em .85em;border:1px solid rgba(200,255,50,.45);color:var(--signal);font-size:11px;letter-spacing:.12em}
.plan--main{background:var(--dark);color:var(--paper);--fg:var(--paper);--fg-2:rgba(243,241,235,.66);--fg-3:rgba(243,241,235,.4);--line:rgba(243,241,235,.16);padding-inline:clamp(24px,5vw,40px);border-bottom:0;margin-block:clamp(20px,3vh,32px)}
.plan--main .dot--live{background:var(--signal);box-shadow:0 0 0 0 rgba(200,255,50,.5);animation:live 2.4s infinite}
.plan__addon{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;margin:0 0 clamp(28px,3vw,36px);padding:18px 16px;background:rgba(243,241,235,.05);border-top:1px solid var(--line);border-bottom:1px solid var(--line);transition:background-color .5s var(--ease)}
.plan__addon:hover,.plan__addon:focus-visible{background:rgba(243,241,235,.09)}
.plan__addon-k{flex:1 0 100%;font:600 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--signal)}
.plan__addon b{margin-right:auto;white-space:nowrap;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.plan__addon-p{font:600 15px/1.2 var(--font);white-space:nowrap}
.plan__addon small{flex:1 0 100%;font-size:14px;line-height:1.45;color:var(--fg-2)}

@media (min-width:900px){
  .plans{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
  .plan{padding-inline:clamp(20px,2.6vw,44px);border-bottom:0;border-left:1px solid var(--line)}
  .plan:first-child{border-left:0;padding-left:0}
  .plan:last-child{padding-right:0}
  .plan--main{margin-block:-30px;padding-top:calc(clamp(36px,4.4vw,56px) + 30px);padding-bottom:calc(clamp(40px,4.6vw,60px) + 30px);padding-inline:clamp(24px,2.8vw,48px);border-left:0}
  .plan__tag{position:absolute;top:16px;left:clamp(24px,2.8vw,48px);margin:0}
  .plan + .plan--main,.plan--main + .plan{border-left:0}
  .plan__for{min-height:4.5em}
}

/* Content Day — moduł informacyjny pod pakietami */
.cday{margin-top:clamp(88px,10vw,150px);padding-top:clamp(40px,4vw,56px);border-top:1px solid var(--fg);display:grid;gap:clamp(40px,5vw,64px)}
.cday__h{max-width:14em;margin:0 0 var(--gap-head);font-size:var(--fs-h3);font-weight:700;line-height:1.05;letter-spacing:-.02em;text-wrap:balance}
.cday__p{max-width:var(--measure);color:var(--fg-2);font-size:var(--fs-body);line-height:1.55}
.cday__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:var(--gap-cta);padding-top:20px;border-top:1px solid var(--line)}
.cday__price span{font:600 12px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2)}
.cday__price b{font-family:var(--font-display);font-size:clamp(2.25rem,3.4vw,3rem);font-weight:700;letter-spacing:-.035em;line-height:1}
.cday__note{margin-top:14px;max-width:26em;font-size:var(--fs-small);line-height:1.5;color:var(--fg-2)}
.cday__k{margin:0 0 14px;font:600 11px/1.2 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-2)}
.cday__list{margin:0 0 clamp(32px,3.4vw,48px);display:grid;grid-template-columns:minmax(0,1fr)}
.cday__list li{display:flex;gap:.9em;padding:.85em 0;border-top:1px solid var(--line);font-size:var(--fs-small);line-height:1.4}
.cday__list li::before{content:"";flex:none;width:7px;height:1px;background:currentColor;margin-top:.7em}
.cday__list li:last-child{border-bottom:1px solid var(--line)}
.cday__use{display:flex;flex-wrap:wrap;gap:8px 0}
.cday__use li{font:600 12px/1 var(--font);letter-spacing:.08em;text-transform:uppercase}
.cday__use li + li::before{content:"/";margin:0 .9em;color:var(--fg-3)}
@media (min-width:900px){
  .cday{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(48px,7vw,120px)}
}

.more{margin-top:clamp(90px,10vw,150px)}
.more__h{font-size:var(--fs-h3);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin-bottom:clamp(24px,4vh,44px)}
.more__list{border-top:1px solid var(--fg)}
.more__list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 20px;align-items:center;padding:clamp(20px,3.2vh,34px) 0;border-bottom:1px solid var(--line);transition:padding .6s var(--ease)}
.more__list b{font-size:clamp(1.5rem,2.4vw,2.25rem);font-weight:700;letter-spacing:-.02em;line-height:1.05}
.more__list span{grid-column:1;grid-row:2;font-size:11px;letter-spacing:.1em;color:var(--fg-2);line-height:1.5}
.more__list .arr{grid-column:2;grid-row:1/3;width:24px;height:24px}
.more__list a:hover{padding-left:18px}
.more__list a:hover .arr{transform:translateX(6px)}
@media (min-width:900px){
  .more__list a{grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) auto}
  .more__list span{grid-column:2;grid-row:1;font-size:12px}
  .more__list .arr{grid-column:3;grid-row:1}
}

/* ---------- 5I. CTA ---------- */
.cta{padding-block:var(--sp-xl);overflow:clip}
.cta__in{display:block}
.cta__h{margin:0 0 var(--gap-head);font-size:var(--fs-h2);font-weight:700;line-height:.98;letter-spacing:-.035em;text-wrap:balance}
.cta__row{display:flex;flex-direction:column;gap:var(--gap-cta)}
.cta__lead{max-width:28em;font-size:var(--fs-lead);line-height:1.5;color:var(--fg-2)}
.cta__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px 36px}
.cta__mail{font:500 clamp(1rem,1vw + .6rem,1.25rem)/1 var(--font);letter-spacing:0;padding:8px 0;border-bottom:1px solid var(--line);transition:border-color .4s}
.cta__mail:hover{border-color:var(--signal)}
.cta__mark{margin-top:auto;padding-top:clamp(64px,8vw,120px);padding-inline:var(--gutter);overflow:hidden}
.cta__mark span{display:block;width:max-content;font-weight:700;font-size:clamp(9rem,36vw,42rem);line-height:.74;letter-spacing:-.075em;white-space:nowrap;color:var(--paper);transform:translate3d(0,var(--my,0),0);will-change:transform}
.cta__mark i{font-style:normal;color:var(--signal)}
.foot{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;padding-block:20px 26px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.1em;color:var(--fg-2)}
.foot a:hover{color:var(--paper)}
.js .cta__mark span{opacity:0;transition:opacity 1s}
.js .cta__mark.is-in span{opacity:1}

@media (min-width:900px){
  .cta__row{flex-direction:row;align-items:flex-end;justify-content:space-between}
}
@media (max-width:599px){
  .cta .btn--xl{width:100%;height:68px;padding:0 24px}
  .cta__actions{flex-direction:column;align-items:stretch;gap:14px}
  .cta__mail{text-align:center;border:0;padding:14px}
}

/* ---------- 6. RUCH / DOSTĘPNOŚĆ ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .js [data-reveal],.js [data-split] .wi,.js .fnode,.js .cta__mark span,.js .nav,.js .hg,.js .hero__grid:not(.hero__grid--hot),.js .hero__foot{opacity:1!important;transform:none!important}
}
@media (hover:none){
  .hero__grid--hot{display:none}
}
