/* TeamFamily - sekcje strony głównej (index.html i com/index.html).
   Tokeny, nagłówek, stopka, przyciski i zgody cookie są w styles.css. */

/* ===== badge sklepów =====
   Rysowane wektorowo, żeby nie ciągnąć obrazków. Układ (ikona + „Pobierz w /
   App Store”) odpowiada oficjalnym badge'om; gdy dołożysz oficjalne pliki
   (Apple Marketing Tools, Google Play Badge generator), podmień <a class="store">
   na <img> z tym samym linkiem. */
.store{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:8px 18px 8px 14px;border-radius:12px;background:#0B1B22;color:#fff;text-decoration:none;box-shadow:0 10px 24px -10px rgba(0,0,0,.45);transition:transform .15s ease,box-shadow .15s ease}
.store:hover{transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(0,0,0,.5)}
.store svg{width:26px;height:26px;flex:none;fill:#fff} /* jabłko bez własnego fill dziedziczy kolor; ścieżki Google Play mają własne kolory */
.store .l1{display:block;font:500 11px/1.1 var(--font-body);opacity:.9}
.store .l2{display:block;font:800 18px/1.1 var(--font-head);letter-spacing:-.2px}
.stores{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* ===== tło strony: akcenty + wstęgi (z wersji kolegi, w tonacji jasnego tła) =====
   .bg leży pod treścią (z-index:-1 w kontekście body{isolation:isolate}). Wstęgi to
   okresowe krzywe (okres = połowa szerokości SVG), więc przesunięcie o -50% zapętla
   się bez skoku. Animacja tylko transform; przy prefers-reduced-motion stoją. */
.bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:
  radial-gradient(38% 22% at 6% 2%,rgba(0,229,255,.22),rgba(0,229,255,0) 100%),
  radial-gradient(40% 24% at 96% 8%,rgba(124,92,255,.14),rgba(124,92,255,0) 100%),
  radial-gradient(44% 20% at 12% 42%,rgba(0,214,190,.12),rgba(0,214,190,0) 100%),
  radial-gradient(46% 22% at 92% 62%,rgba(169,107,255,.12),rgba(169,107,255,0) 100%),
  radial-gradient(50% 24% at 30% 88%,rgba(79,123,255,.12),rgba(79,123,255,0) 100%)}
.ribbon{position:absolute;left:0;width:2400px;height:420px;opacity:.8;background:url(ribbon-a.svg) repeat-x 0 0/auto 100%;animation:ribbonDrift 70s linear 1.5s infinite}
.ribbon.rb{background-image:url(ribbon-b.svg)}
.ribbon.rev{animation-direction:reverse;animation-duration:84s}
.ribbon.rg{background-image:url(ribbon-glow.svg);opacity:.55;mix-blend-mode:screen}
@media (min-width:1200px){.ribbon{width:4800px}}
@media (max-width:600px){.ribbon{height:320px}}
@keyframes ribbonDrift{from{transform:translateX(0)}to{transform:translateX(-1200px)}}
@media (prefers-reduced-motion:reduce){.ribbon{animation:none}}

/* ===== hero ===== */
.hero{position:relative;overflow:hidden;background:transparent}
.hero-in{max-width:var(--wrap);margin:0 auto;padding:40px clamp(16px,4vw,40px) 0;display:grid;gap:28px}
.hero-copy{text-align:center}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--brand-faint);border:1px solid var(--brand-line);font:700 12.5px var(--font-body);letter-spacing:.6px;color:var(--brand-strong);text-transform:uppercase}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--brand)}
.hero h1{margin-top:18px;font-weight:900;font-size:clamp(34px,4.2vw + 10px,58px);line-height:1.06;letter-spacing:-.02em}
.hero h1 .grad{background:linear-gradient(180deg,#0093C1,#00789F);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{margin:18px auto 0;max-width:560px;font-size:clamp(16px,1vw + 12px,19px);line-height:1.6;color:var(--muted)}
.hero .stores{margin-top:28px}
.hero-trust{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:18px;font:500 13.5px var(--font-body);color:var(--muted-2)}
.hero-trust span{display:inline-flex;align-items:center;gap:6px}
.hero-trust .ic{color:var(--green);font-size:17px}
.hero-stage::before{content:"";position:absolute;left:50%;top:40%;width:520px;height:520px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(0,229,255,.22),rgba(0,229,255,0) 66%);pointer-events:none}
.hero-stage{position:relative;height:430px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 72%,transparent);mask-image:linear-gradient(#000 72%,transparent)}
.hero-phone{position:absolute;left:50%;top:0;transform:translateX(-50%)}
.float-card{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:14px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #fff;box-shadow:0 14px 34px -14px rgba(13,46,56,.3)}
.float-card .fic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(0,147,193,.12);color:var(--brand-strong)}
.float-card .fic .ic{font-size:18px}
.float-card b{display:block;font:700 13px var(--font-body);color:var(--ink)}
.float-card small{display:block;font:400 11.5px var(--font-body);color:var(--muted-2)}
.fc1{display:none;left:max(0px,calc(50% - 300px));top:70px}
.fc2{right:max(0px,calc(50% - 300px));top:330px}
.fc2 .fic{background:rgba(82,163,92,.14);color:#3D8A47}
.fc2 b{color:#276B31}
@media(min-width:600px){.fc1{display:flex}}
@media(min-width:960px){
  .hero-in{grid-template-columns:1.05fr .95fr;align-items:center;padding-top:64px;padding-bottom:56px;gap:40px}
  .hero-copy{text-align:left}
  .hero .lead{margin-left:0}
  .hero .stores,.hero-trust{justify-content:flex-start}
  .hero-stage{height:620px;overflow:visible;-webkit-mask-image:none;mask-image:none}
  .hero-phone{top:10px;transform:translateX(-50%) rotate(-5deg)}
  .fc1{left:0;top:110px}.fc2{right:0;top:420px}
}

/* ===== makieta telefonu ===== */
.phone{width:270px;flex:none}
.phone-frame{position:relative;border-radius:40px;background:#0c2630;padding:9px;box-shadow:var(--shadow-lg),0 8px 20px -8px rgba(0,0,0,.25)}
.phone-screen{position:relative;border-radius:32px;overflow:hidden;background:#fff;height:560px;font-family:var(--font-body)}
.phone-island{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:90px;height:24px;background:#0c2630;border-radius:13px;z-index:3}
.ph-head{height:70px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;border-bottom:2px solid var(--brand);position:relative}
.ph-head .word{font-family:'Just Another Hand',cursive;font-size:28px;color:var(--brand);line-height:1}
.ph-bell{position:absolute;right:12px;bottom:8px;color:var(--brand-deep);display:flex}
.ph-bell .ic{font-size:22px}
.ph-bell .dot{position:absolute;top:-4px;right:-5px;min-width:16px;height:16px;padding:0 4px;background:var(--danger);border:2px solid #fff;border-radius:9px;color:#fff;font:700 9px/12px var(--font-body);text-align:center}
.ph-body{padding:10px 12px}
.ph-switch{display:flex;align-items:center;gap:10px;padding:2px 2px 8px}
.fam-badge{width:32px;height:32px;border-radius:9px;color:#fff;font:800 16px var(--font-head);display:flex;align-items:center;justify-content:center;flex:none}
.ph-switch .t{flex:1;min-width:0}
.ph-switch .ttl{display:block;font:800 16px var(--font-head);color:#111;line-height:1.1}
.ph-switch .meta{display:block;font:400 11.5px var(--font-body);color:var(--muted-2);margin-top:1px}
.ph-switch .chev{color:var(--brand);display:flex}.ph-switch .chev .ic{font-size:22px}
.store-banner{display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,#0A94C5,#00789F);border-radius:13px;padding:10px 12px;margin:6px 0 10px;color:#fff}
.store-banner .box{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;flex:none}
.store-banner .box .ic{font-size:20px}
.store-banner .ttl{display:block;font:800 15px var(--font-head);line-height:1.1}
.store-banner .sub{display:block;font:500 10.5px/1.25 var(--font-body);margin-top:2px}
.ph-progress{display:flex;align-items:center;gap:8px;margin:0 2px 8px}
.ph-filter{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;border:1px solid var(--brand);background:var(--brand-faint);font:600 10.5px var(--font-body);color:var(--brand-deep);flex:none}
.ph-filter .ic{font-size:13px}
.ph-filter i{width:6px;height:6px;border-radius:50%;background:var(--brand)}
.ph-filterbar{display:flex;align-items:center;justify-content:space-between;margin:0 2px 4px;font:500 11px var(--font-body);color:var(--muted-2)}
.ph-filterbar b{font-weight:600;color:var(--brand-strong)}
.ph-group{display:flex;align-items:baseline;gap:6px;padding:7px 2px 5px;font:600 12px var(--font-body);color:#111}
.ph-group i{font:500 10.5px var(--font-body);font-style:normal;color:var(--muted-2)}
.ph-progress .lab{font:600 11px var(--font-body);color:var(--muted-2);white-space:nowrap}
.ph-progress .bar{flex:1;height:6px;border-radius:3px;background:#E5E7EB;overflow:hidden}
.ph-progress .bar i{display:block;height:100%;width:40%;background:var(--brand);border-radius:3px}
.ph-card{border:1px solid #d9e9ef;border-radius:13px;overflow:hidden;background:#fff}
.prow{display:flex;align-items:center;gap:10px;padding:10px 12px}
.prow + .prow{border-top:1px solid #E5E7EB}
.cbox{width:22px;height:22px;border-radius:6px;border:2px solid #9AA3AD;background:#fff;flex:none}
.prow .pn{flex:1;min-width:0}
.prow .nm{display:block;font:500 14px var(--font-body);color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prow .mt{display:block;font:400 11.5px var(--font-body);color:var(--muted-2)}
.av{border-radius:50%;color:#fff;font:600 11px var(--font-body);display:flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px}
.ptot{font:800 16px var(--font-head);color:var(--brand-strong);white-space:nowrap}
.checked-pill{display:flex;align-items:center;gap:4px;padding:9px 4px 2px;color:var(--brand-deep);font:800 14px var(--font-head)}
.checked-pill .ic{font-size:20px;color:var(--brand)}
.ph-foot{position:absolute;left:0;right:0;bottom:0;height:60px;border-top:1px solid #E5E7EB;background:#fff;display:flex;flex-direction:column;justify-content:center;padding:0 16px}
.ph-foot .fl{font:700 9.5px var(--font-body);letter-spacing:.7px;text-transform:uppercase;color:var(--muted-2)}
.ph-foot b{font:800 18px var(--font-head);color:#111;line-height:1.15;margin-top:1px}
.fab{position:absolute;right:14px;bottom:30px;width:50px;height:50px;border-radius:50%;background:linear-gradient(180deg,#0A94C5,#00789F);box-shadow:0 10px 22px -6px rgba(0,147,193,.6);display:flex;align-items:center;justify-content:center;color:#fff;z-index:2}
.fab .ic{font-size:26px}
.balance{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(160deg,#0A94C5,#005F80);padding:16px;color:#fff}
.balance .wm{position:absolute;right:-10px;top:-10px;color:rgba(255,255,255,.14)}
.balance .wm .ic{font-size:100px}
.balance .lab{position:relative;font:700 11px var(--font-body);letter-spacing:.7px}
.balance .big{position:relative;font:800 36px/1.05 var(--font-head);margin-top:3px}
.balance .sub{position:relative;font:500 13px var(--font-body);margin-top:4px}
.sec-lab{font:700 11px var(--font-body);color:var(--muted-2);letter-spacing:.8px;margin:14px 2px 8px}
.pbtile{position:relative;border-radius:14px;background:#fff;box-shadow:var(--shadow);border:1px solid #EEF3F5;overflow:hidden;padding:12px 12px 12px 16px;margin-bottom:10px}
.pbtile .accent{position:absolute;left:0;top:0;bottom:0;width:5px}
.pbtile .top{display:flex;align-items:center;gap:10px}
.pbtile .av{width:36px;height:36px;font-size:15px}
.pbtile .who{flex:1;min-width:0}
.pbtile .nm{display:block;font:500 15px var(--font-body);color:#111}
.pbtile .sb{display:block;font:400 12px var(--font-body);color:var(--muted-2)}
.pbtile .amt{text-align:right;font:800 18px/1 var(--font-head)}
.pbtile .amt small{display:block;font:600 10px var(--font-body);color:var(--muted-2);margin-top:2px}
.pbbtn{display:block;text-align:center;border-radius:12px;padding:10px;margin-top:11px;font:600 14px var(--font-body)}
.ph-title{font:900 19px var(--font-head);color:#111;padding:4px 2px 12px}
.ph-title small{display:block;font:400 11px var(--font-body);color:var(--muted-2);margin-top:2px}
.ph-newfam{position:absolute;left:12px;right:12px;bottom:14px;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:1.5px solid var(--brand);border-radius:12px;background:#fff;font:600 13px var(--font-body);color:var(--brand-strong)}
.ph-newfam .ic{font-size:16px}
/* ekran statystyk */
.ph-seg{display:flex;background:#EEF3F5;border-radius:12px;padding:3px;margin:2px 0 8px}
.ph-seg span{flex:1;text-align:center;padding:6px 0;border-radius:9px;font:600 12px var(--font-body);color:var(--muted)}
.ph-seg .on{background:#fff;color:#111;box-shadow:0 1px 3px rgba(13,46,56,.16)}
.ph-seg.sm{margin:0 0 4px}.ph-seg.sm span{padding:5px 0;font-size:11.5px}
.ph-scope{display:flex;align-items:center;gap:6px;padding:6px 10px;margin:0 0 6px;border:1px solid #E5E7EB;border-radius:12px;background:#FAFBFC;font:600 12px var(--font-body);color:var(--brand-deep)}
.ph-scope .ic{font-size:17px;color:var(--brand)}.ph-scope span{flex:1}.ph-scope .tail{color:var(--muted-2);font-size:18px}
.ph-month{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;font:800 15px var(--font-head);color:#111}
.ph-month .arr{width:26px;height:26px;border-radius:50%;background:#EEF3F5;display:flex;align-items:center;justify-content:center;color:#111}
.ph-month .arr .ic{font-size:18px}.ph-month .arr.off{color:#C7CFD4}
.donut{position:relative;width:148px;height:148px;margin:0 auto 6px;border-radius:50%}
.donut::after{content:"";position:absolute;inset:20px;border-radius:50%;background:#fff}
.donut .c{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.donut .amt{font:800 14.5px var(--font-head);color:#111;line-height:1.1}
.donut .cap{font:500 9.5px var(--font-body);color:var(--muted-2);margin-top:2px}
.stile{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#fff;border:1px solid #EEF3F5;border-radius:12px;box-shadow:var(--shadow);margin-bottom:6px}
.stile .dot{width:10px;height:10px;border-radius:50%;flex:none}
.stile .n{flex:1;min-width:0}
.stile .nm{display:block;font:500 12.5px var(--font-body);color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stile .sb{display:block;font:400 10.5px var(--font-body);color:var(--muted-2)}
.stile .amt{text-align:right;flex:none}
.stile .v{display:block;font:800 13px var(--font-head);color:#111}
.stile .pct{display:block;font:400 10.5px var(--font-body);color:var(--muted-2)}
.stile .chev{font-size:18px;color:var(--muted-2)}
.fcard{display:flex;align-items:center;gap:8px;border:1px solid #d9e9ef;border-radius:13px;padding:10px;margin-bottom:10px;box-shadow:var(--shadow)}
.fcard .fb{width:40px;height:40px;border-radius:11px;color:#fff;font:800 18px var(--font-head);display:flex;align-items:center;justify-content:center;flex:none}
.fcard .fi{flex:1;min-width:0}
.fcard .nmrow{display:flex;align-items:center;gap:6px}
.fcard .nm{font:600 14px var(--font-body);color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.owner{background:var(--brand-faint);color:var(--brand-deep);font:700 8px var(--font-body);letter-spacing:.3px;padding:2px 5px;border-radius:6px;flex:none}
.fcard .sb{display:block;font:400 11.5px var(--font-body);color:var(--muted-2);margin-top:3px}
.stack{display:flex;margin-top:6px}
.stack .av{width:22px;height:22px;font-size:10px;border:2px solid #fff;box-sizing:content-box;margin-left:-7px}
.stack .av:first-child{margin-left:0}
.fcard .chev{color:var(--brand);display:flex}.fcard .chev .ic{font-size:20px}

/* ===== sekcje ===== */
section{scroll-margin-top:70px}
.sec{padding:clamp(48px,7vw,88px) 0}
.sec-soft{background:rgba(255,255,255,.34);border-top:1px solid rgba(255,255,255,.75);border-bottom:1px solid rgba(255,255,255,.75)}
/* ciemny pas (z wersji kolegi): zaokrąglony panel, gradient granat → indygo, świecące wstęgi pod treścią */
.sec-dark{position:relative;overflow:hidden;color:#fff;margin:0 clamp(10px,2vw,28px);border-radius:clamp(24px,3vw,40px);
  background:radial-gradient(38% 30% at 8% 0%,rgba(0,229,255,.30),rgba(0,229,255,0) 100%),radial-gradient(40% 30% at 95% 12%,rgba(124,92,255,.30),rgba(124,92,255,0) 100%),radial-gradient(50% 30% at 30% 100%,rgba(79,123,255,.24),rgba(79,123,255,0) 100%),linear-gradient(168deg,#072B38 0%,#0B2F4A 38%,#161F5E 74%,#241A49 100%);
  box-shadow:0 34px 90px -34px rgba(6,42,54,.6),0 0 0 1px rgba(255,255,255,.06),0 0 220px 70px rgba(30,75,130,.22)}
/* mgiełka: górna i dolna krawędź pasa są rozjaśnione, więc przejście idzie przez pośredni odcień */
.sec-dark::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(214,232,246,.42) 0%,rgba(214,232,246,0) 26%,rgba(214,232,246,0) 80%,rgba(214,232,246,.34) 100%)}
/* pomost: sekcje sąsiadujące łagodnie niebieszczeją w stronę pasa */
.sec-before-dark{background:linear-gradient(180deg,rgba(24,70,120,0) 12%,rgba(24,70,120,.2) 100%)}
/* pełna szerokość wokół zaokrąglonego panelu w tym samym odcieniu, w którym kończy się sekcja wyżej - bez jasnych „schodków" po bokach */
.band{background:rgba(24,70,120,.2)}
.sec-after-dark{background:linear-gradient(180deg,rgba(24,70,120,.2) 0%,rgba(24,70,120,0) 62%)}
/* CTA: ten sam pomost - sekcja wokół boksu podbarwiona radialnie, boks z poświatą i mgiełką na krawędziach */
.sec-cta{background:linear-gradient(180deg,rgba(24,70,120,.2) 0%,rgba(24,70,120,.2) 42%,rgba(24,70,120,.06) 78%,rgba(24,70,120,0) 100%),radial-gradient(78% 82% at 50% 52%,rgba(24,70,120,.2),rgba(24,70,120,0) 80%)}
.sec-dark .wrap{position:relative;z-index:1}
.sec-dark .eyebrow{color:#7CF3FF}
.sec-dark .sec-head h2{color:#fff}
.sec-dark .sec-head p{color:rgba(255,255,255,.78)}
.sec-head{text-align:center;max-width:640px;margin:0 auto clamp(28px,4vw,44px)}
.eyebrow{font:700 12.5px var(--font-body);color:var(--brand-strong);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:10px}
.sec-head h2{font-weight:900;font-size:clamp(28px,3.4vw,42px);letter-spacing:-.3px}
.sec-head p{margin-top:12px;font-size:17px;line-height:1.55;color:var(--muted)}

.trust{border-top:1px solid rgba(255,255,255,.75);border-bottom:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.4)}
.trust .wrap{display:grid;gap:12px;padding-top:18px;padding-bottom:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.trust div{display:flex;align-items:center;gap:10px;font:600 14px var(--font-body);color:var(--ink-2)}
.trust .ic{font-size:22px;color:var(--brand-strong)}

.s-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));list-style:none}
.s-card{display:flex;gap:14px;align-items:flex-start;background:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.9);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.s-card .num{flex:none;width:40px;height:40px;border-radius:12px;background:var(--brand-faint);color:var(--brand-strong);font:900 18px var(--font-head);display:flex;align-items:center;justify-content:center}
.s-card h3{font-size:18px;font-weight:800}
.s-card p{margin-top:4px;font-size:14.5px;line-height:1.5;color:var(--muted)}

.f-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.f-card{display:flex;flex-direction:column;gap:16px;min-width:0;padding:20px;border-radius:22px;background:linear-gradient(150deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.16);box-shadow:none}
.f-body{display:flex;gap:14px;align-items:flex-start}
.f-card h3{font-size:18px;font-weight:800;color:#fff;letter-spacing:-.2px}
.f-card p{margin-top:5px;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.76)}
.tile{flex:none;width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff}
.tile .ic{font-size:26px}
.t-brand{background:linear-gradient(140deg,#3FC6E0,#1682A8);box-shadow:0 12px 26px rgba(22,130,168,.45)}
.t-orange{background:linear-gradient(140deg,#F59B5B,#D8622A);box-shadow:0 12px 26px rgba(216,98,42,.42)}
.t-green{background:linear-gradient(140deg,#19C37D,#0E8A57);box-shadow:0 12px 26px rgba(14,138,87,.42)}
.t-purple{background:linear-gradient(140deg,#B77BFF,#7C4DD6);box-shadow:0 12px 26px rgba(124,77,214,.45)}
.t-gold{background:linear-gradient(140deg,#F5C451,#D9911F);box-shadow:0 12px 26px rgba(217,145,31,.42)}
.t-navy{background:linear-gradient(140deg,#7C8CFF,#4A55D6);box-shadow:0 12px 26px rgba(74,85,214,.45)}
/* mini-wizualizacje w kartach */
.f-visual{margin-top:auto;min-width:0;max-width:100%}
.ph-card.mini{max-width:360px;box-shadow:0 18px 40px -18px rgba(0,0,0,.55);border-color:rgba(255,255,255,.7)}
.cbox.on{background:var(--brand);border-color:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center}
.cbox .ic{font-size:14px}
.prow .nm{color:#111}
.chipv{display:inline-flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;max-width:100%}
.chipv > .ic{font-size:22px;color:#7CF3FF;flex:none}
.chipv .fic{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:none}
.chipv .fic .ic{font-size:17px}
.chipv b{display:block;font:700 13.5px var(--font-body);color:#fff}
.chipv small{display:block;font:400 11.5px var(--font-body);color:rgba(255,255,255,.7);margin-top:1px}
.fams{display:flex;align-items:center;flex-wrap:wrap;gap:8px 0}
.fams .fam-badge{width:36px;height:36px;border-radius:11px;border:2px solid #0F2C46;margin-left:-8px;font-size:16px}
.fams .fam-badge:first-child{margin-left:0}
.fam-more{width:36px;height:36px;border-radius:11px;border:2px solid #0F2C46;margin-left:-8px;background:rgba(255,255,255,.14);color:#fff;font:700 12px var(--font-body);display:flex;align-items:center;justify-content:center}
.fam-lab{margin-left:12px;font:500 12.5px var(--font-body);color:rgba(255,255,255,.7);min-width:0}
.f-stats{display:flex;align-items:center;flex-wrap:wrap;gap:14px 16px}
.donut.sm{width:110px;height:110px;margin:0;flex:none}
.donut.sm::after{inset:15px;background:#12305A}
.donut.sm .amt{font-size:12.5px;color:#fff}
.donut.sm .cap{font-size:9px;color:rgba(255,255,255,.7)}
.legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;min-width:0;flex:1 1 180px}
.legend span{display:flex;align-items:center;gap:7px;font:500 12.5px var(--font-body);color:rgba(255,255,255,.82)}
.legend i{width:9px;height:9px;border-radius:50%;flex:none}
@media(min-width:640px){
  .f-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .f-card{padding:24px;gap:18px}
  .f-body{flex-direction:column;gap:16px}
  .f-card h3{font-size:20px}
  .f-card.wide{grid-column:span 2;flex-direction:row;align-items:center;gap:24px}
  .f-card.wide .f-body{flex:1;min-width:0}
  .f-card.wide .f-visual{flex:0 0 46%;margin-top:0;display:flex;justify-content:center}
  .f-card.wide .f-stats{justify-content:center}
}
@media(min-width:1000px){.f-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.f-card.wide .f-visual{flex-basis:48%}}
.cta-box .store{border:1px solid rgba(255,255,255,.22)}
.cta-box{box-shadow:0 34px 90px -34px rgba(6,42,54,.6),0 0 0 1px rgba(255,255,255,.06),0 0 200px 60px rgba(30,75,130,.22)}

.shots{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 16px 22px;margin:0 -16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.shots::-webkit-scrollbar{display:none}
.shot{flex:0 0 auto;scroll-snap-align:center;text-align:center;width:270px}
.shot > .cap{margin-top:14px;font:800 17px var(--font-head);color:var(--ink)}
.shot > .sub{margin-top:2px;font-size:13.5px;color:var(--muted-2)}
.shots-hint{text-align:center;font-size:13px;color:var(--muted-2);margin-top:-6px}
@media(min-width:900px){.shots{justify-content:center;flex-wrap:wrap;overflow:visible;padding:8px 0 0;margin:0;gap:clamp(14px,2vw,30px)}.shot{zoom:.94}.shots-hint{display:none}}

.a-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
.a-card{border-radius:16px;padding:16px;border:1px solid rgba(255,255,255,.9)}
.a-card .tile{width:40px;height:40px;color:#fff;margin-bottom:12px}
.a-card .tile .ic{font-size:22px}
.a-card h3{font-size:16px;font-weight:800}
.a-card p{margin-top:4px;font-size:13.5px;line-height:1.5;color:var(--muted)}
.a1{background:linear-gradient(160deg,#EAF7FC,#f3fafd);border-color:#d8edf5}.a1 .tile{background:var(--brand)}
.a2{background:linear-gradient(160deg,#FBEFE8,#fdf6f1);border-color:#f4ddd0}.a2 .tile{background:var(--orange)}
.a3{background:linear-gradient(160deg,#EEF6E8,#f5faf0);border-color:#dbe9cf}.a3 .tile{background:var(--green)}
.a4{background:linear-gradient(160deg,#F4ECF7,#faf5fc);border-color:#e8d8ee}.a4 .tile{background:var(--purple)}
@media(min-width:800px){.a-grid{grid-template-columns:repeat(4,1fr);gap:16px}.a-card{padding:24px}.a-card h3{font-size:18px}.a-card p{font-size:14.5px}}

.faq{max-width:760px;margin:0 auto;padding:4px 20px;border-radius:20px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow)}
.faq details{border-top:1px solid rgba(13,46,56,.1)}
.faq details:first-child{border-top:0}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:14px 4px;font:800 17px var(--font-head);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'';flex:none;width:10px;height:10px;border-right:2px solid var(--brand-strong);border-bottom:2px solid var(--brand-strong);transform:rotate(45deg);transition:transform .2s;margin-right:6px}
.faq details[open] summary::after{transform:rotate(225deg)}
.faq .a{padding:0 4px 18px;font-size:15.5px;line-height:1.65;color:var(--muted)}
.faq .a a{color:var(--brand-strong);text-decoration:underline;text-underline-offset:2px}

.cta-box{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(180deg,rgba(214,232,246,.38) 0%,rgba(214,232,246,0) 24%,rgba(214,232,246,0) 78%,rgba(214,232,246,.3) 100%),radial-gradient(40% 40% at 10% 0%,rgba(0,229,255,.28),rgba(0,229,255,0) 100%),radial-gradient(40% 40% at 95% 100%,rgba(124,92,255,.32),rgba(124,92,255,0) 100%),linear-gradient(135deg,#0B2F4A,#161F5E 60%,#241A49);padding:clamp(36px,6vw,64px) clamp(20px,5vw,64px);text-align:center;color:#fff}
.cta-box::before,.cta-box::after{content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.cta-box::before{top:-60px;left:-40px;width:240px;height:240px}
.cta-box::after{bottom:-80px;right:-30px;width:280px;height:280px;background:rgba(67,210,255,.16)}
.cta-box>*{position:relative}
.cta-box img{width:64px;height:64px;border-radius:16px;box-shadow:0 14px 30px -8px rgba(0,0,0,.35);margin:0 auto 20px}
.cta-box h2{color:#fff;font-size:clamp(28px,4vw,44px);font-weight:900;max-width:620px;margin:0 auto}
.cta-box p{max-width:520px;margin:12px auto 28px;font-size:17px;line-height:1.55;color:#DFF4FB}
.cta-note{margin-top:18px;font-size:13.5px;color:#DFF4FB}
.cta-note a{color:#fff;font-weight:600}

/* ===== lift (z wersji kolegi): karty unoszą się na hover, obramowanie łapie kolor marki ===== */
.f-card,.s-card,.a-card{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
@media (hover:hover){
  .f-card:hover,.s-card:hover,.a-card:hover{transform:translateY(-6px);border-color:rgba(0,147,193,.45);box-shadow:0 22px 44px -20px rgba(0,75,91,.35)}
  .s-card:hover{background:rgba(255,255,255,.92)}
  .f-card:hover{background:linear-gradient(150deg,rgba(255,255,255,.16),rgba(255,255,255,.07));border-color:rgba(124,243,255,.5);box-shadow:0 26px 50px -24px rgba(0,0,0,.6)}
}
@media (prefers-reduced-motion:reduce){.f-card,.s-card,.a-card{transition:none}.f-card:hover,.s-card:hover,.a-card:hover{transform:none}}

/* ===== pasek CTA na mobile ===== */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .25s ease}
.sticky-cta.show{transform:none}
/* baner cookies (z-index 200) leży w tym samym miejscu - do czasu decyzji pasek zostaje schowany */
body:has(.cc-banner:not([hidden])) .sticky-cta{transform:translateY(110%)}
.sticky-cta .txt{flex:1;min-width:0}
.sticky-cta .txt b{display:block;font:800 14px var(--font-head);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-cta .txt small{display:block;font-size:12px;color:var(--muted-2)}
.sticky-cta .mini{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#0B1B22;color:#fff}
.sticky-cta .mini svg{width:24px;height:24px;fill:#fff}
@media(min-width:960px){.sticky-cta{display:none}}
body.has-sticky{padding-bottom:76px}
@media(min-width:960px){body.has-sticky{padding-bottom:0}}

/* ===== ruch ===== */
@media (prefers-reduced-motion:no-preference){
  /* tylko transform: kolor tekstu nie zmienia się w trakcie animacji (audyty kontrastu widzą stan końcowy) */
  .js .reveal{transform:translateY(18px);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
  .js .reveal.in{transform:none}
  .js .reveal.no-anim{transition:none}
  @keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  .hero-copy>*{animation:fadeUp .7s cubic-bezier(.2,.7,.2,1) both}
  .hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}.hero-copy>:nth-child(5){animation-delay:.32s}
  .hero-stage{animation:fadeUp .8s .2s cubic-bezier(.2,.7,.2,1) both}
  .sticky-cta{transition:transform .25s ease}
}
@media (prefers-reduced-motion:reduce){.sticky-cta{transition:none}}
