.starter-card::after { content: "199"; }

/* Edycja bezpośrednio na stronie klienta */
.browser-edit{background:#fff;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:7vw}.edit-showcase-copy h2{font-size:clamp(42px,5vw,72px)}.edit-showcase-copy>p{max-width:620px;color:var(--muted);font-size:16px;line-height:1.7}.edit-showcase-copy ul{list-style:none;padding:0;margin:25px 0 30px}.edit-showcase-copy li{padding:9px 0;font-size:13px}.edit-showcase-copy li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:10px;background:var(--lime);border-radius:50%;font-weight:800;font-size:10px}.edit-showcase-window{background:#f4f2eb;border:1px solid #cbc9bf;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px #15220f20;transform:rotate(1.5deg)}.edit-mini-bar{min-height:62px;background:var(--ink);color:#fff;display:flex;align-items:center;gap:18px;padding:12px 16px;font-size:10px}.edit-mini-bar b{font:800 14px 'Manrope'}.edit-mini-bar span{margin:auto;color:#999}.edit-mini-bar i{font-style:normal;background:var(--lime);color:var(--ink);padding:9px 11px;border-radius:7px;font-weight:700}.edit-mini-bar strong{display:inline-grid;place-items:center;width:17px;height:17px;margin-left:5px;background:var(--ink);color:#fff;border-radius:50%;font-size:8px}.edit-mini-page{min-height:430px;padding:70px 10%;background:radial-gradient(circle at 88% 25%,var(--lime) 0 25%,transparent 25.2%)}.edit-mini-page small{color:#116149;font-weight:800;letter-spacing:.12em}.edit-mini-page h3{width:max-content;position:relative;font:800 clamp(38px,4.5vw,65px)/1 'Manrope';letter-spacing:-.06em;margin:18px 0;padding:6px;outline:2px dashed var(--purple);outline-offset:5px}.edit-mini-page h3:after{content:"✎ Edytujesz ten tekst";position:absolute;right:-25px;top:-31px;background:var(--purple);color:#fff;padding:7px 9px;border-radius:6px;font:700 8px 'DM Sans';letter-spacing:0}.edit-mini-page p{max-width:370px;color:var(--muted);line-height:1.6}.edit-mini-page>div{display:flex;align-items:center;gap:8px;margin-top:25px}.edit-mini-page>div span{background:#116149;color:#fff;padding:12px 16px;border-radius:8px;font-weight:700}.edit-mini-page>div b{display:grid;place-items:center;width:34px;height:34px;background:var(--purple);color:#fff;border-radius:50%}.edit-mini-note{padding:15px;text-align:center;background:#e6ffad;font-size:11px;font-weight:700}
@media(max-width:980px){.browser-edit{grid-template-columns:1fr}.edit-showcase-window{transform:none}}
@media(max-width:640px){.edit-mini-bar span{display:none}.edit-mini-bar i{margin-left:auto}.edit-mini-page{min-height:350px;padding:55px 7%}.edit-mini-page h3{font-size:39px}.edit-mini-page h3:after{right:0}}

.care-addon {
  margin: -8px 0 22px;
  padding: 14px;
  border-radius: 10px;
  background: #e9e3ff;
  border-left: 3px solid var(--purple);
}
.care-addon b,
.care-addon span { display: block; }
.care-addon b { font: 700 12px 'Manrope'; margin-bottom: 5px; }
.care-addon span { color: var(--muted); font-size: 10px; line-height: 1.5; }

@media (max-width: 1120px) {
  .nav-links { display: none; }
  .nav-cta { display: none; }
  .menu { display: block; border: 0; background: none; margin-left: auto; }
  .menu span { display: block; width: 23px; height: 2px; background: var(--ink); margin: 5px; }
  .nav.open .nav-links {
    display: flex; position: absolute; top: 70px; left: 24px; right: 24px;
    padding: 25px; background: #fff; border-radius: 14px; flex-direction: column;
    box-shadow: 0 18px 50px #1112;
  }
  .hero { grid-template-columns: 1fr; padding-top: 125px; }
  .hero-copy { max-width: 760px; }
  .hero h1 { font-size: clamp(54px, 8vw, 78px); }
  .hero-stage { min-height: 570px; margin-top: 20px; }
  .hero-glow { width: 650px; height: 650px; right: -100px; }
  .browser-main { width: min(680px, 78vw); right: 5%; }
  .browser-back { width: 55vw; }
}

@media (max-width: 640px) {
  .hero h1 { font-size: 45px; }
}

/* Czytelne kafelki katalogu branżowego */
.projects{background:#efede5}.projects .project-grid{gap:30px;align-items:stretch}.category-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;color:var(--ink);text-decoration:none;border:1px solid #d7d5cc;border-radius:19px;overflow:hidden;box-shadow:0 8px 0 #1110;transition:transform .3s,box-shadow .3s,border-color .3s}.category-card:before{content:"";position:absolute;z-index:4;inset:0 auto 0 0;width:5px;background:var(--category-accent)}.category-card:hover{transform:translateY(-7px);border-color:#c2beb3;box-shadow:0 22px 50px #25281b18}.category-card .shot{border-radius:0;aspect-ratio:1.5;margin:10px 10px 0}.category-card .shot:after{opacity:.12;background:linear-gradient(transparent 55%,#111)}.category-card .category-open{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-35%);padding:12px 16px;border-radius:99px;background:var(--lime);color:var(--ink);font-size:11px;font-weight:800;opacity:0;transition:.3s;white-space:nowrap}.category-card:hover .shot:after,.category-card:hover .category-open{opacity:1}.category-card:hover .category-open{transform:translate(-50%,-50%)}.category-content{display:flex;flex:1;flex-direction:column;padding:20px 24px 24px 27px}.category-labels{display:flex;align-items:center;gap:8px;margin-bottom:17px}.category-symbol{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:var(--category-accent);color:#fff;font-size:12px;font-weight:800}.category-labels>b{padding:6px 9px;border-radius:99px;background:#f0eee8;color:#66675f;font-size:9px}.category-labels>i{margin-left:auto;color:#aaa;font:700 10px 'Manrope';font-style:normal}.category-content>small{color:var(--category-accent);font-size:8px;font-weight:800;letter-spacing:.11em}.category-content h3{font:700 23px/1.2 'Manrope';margin:7px 0 9px}.category-content p{min-height:44px;margin:0 0 23px;color:var(--muted);font-size:12px;line-height:1.55}.category-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:15px;border-top:1px solid #e5e3dc;font-size:11px;font-weight:700}.category-link b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;transition:.25s}.category-card:hover .category-link b{background:var(--category-accent);transform:translateX(3px)}
@media(max-width:980px){.projects .project-grid{gap:22px}}
@media(max-width:640px){.projects .project-grid{gap:16px}.category-card .shot{aspect-ratio:1.55}.category-content{padding:18px 20px 21px 24px}.category-content p{min-height:0}.category-card .category-open{opacity:1;top:auto;bottom:12px;transform:translateX(-50%)}.category-card:hover .category-open{transform:translateX(-50%)}}

/* Ochrona układu przed poziomym przesunięciem i obcinaniem lewej krawędzi.
   `clip` zamiast `hidden`, bo `hidden` robi z korzenia kontener przewijania
   i zabija `position:sticky` w całym drzewie — pasek powrotu odjeżdżał
   z treścią. Deklaracja `hidden` zostaje niżej jako zapas dla przeglądarek
   bez `clip`; tam powrót po prostu nie przykleja się do góry. */
html,body{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}main,.nav,.hero,.section,footer{width:100%;max-width:100%}.ticker{width:100%;margin-left:0;transform:none}.project-grid,.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0}.project-card,.category-card,.category-content,.shot{min-width:0;max-width:100%}
@media(max-width:980px){.project-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.project-grid,.catalog-grid{grid-template-columns:minmax(0,1fr)}}

/* ======================================================================
   Strona wzoru na telefonie — P0.
   Siatka `.wzor-detal` nie miała ŻADNEJ reguły mobilnej, więc przy 390 px
   trzymała dwie kolumny: miniatura wychodziła 121×80 px (30% szerokości
   ekranu), opis łamał się po trzy słowa w kolumnie 155 px, a lewa połowa
   ekranu zostawała pusta. To najważniejsza strona lejka — tu klient
   decyduje o zakupie.
   Kolejność na wąskim ekranie: branża i nazwa → duży podgląd → opis →
   wezwanie. Powrót nie stoi już w tej kolejce — ma własny pasek nad
   treścią, ten sam na każdym poziomie galerii.
   ====================================================================== */
@media (max-width: 760px) {
  .wzor-detal{grid-template-columns:1fr;
    grid-template-areas:"naglowek" "podglad" "opis";
    grid-template-rows:auto auto auto;
    /* `main` daje już 20 px z każdej strony; własny odstęp sekcji
       zjadał kolejne 18 i obraz tracił 11% szerokości. Odstęp na
       nawigację trzyma teraz pasek powrotu, nie sekcja. */
    padding:16px 0 64px;row-gap:20px}
  .wzor-naglowek h1{font:800 clamp(30px,9vw,38px)/1.05 'Manrope'}
  .wzor-opis>p{font-size:16px;margin:4px 0 22px}
  /* Wezwanie na pełną szerokość: na telefonie przycisk szerokości tekstu
     ginie, a to jedyne działanie, które ma tu znaczenie. */
  .wzor-opis .button.primary{display:flex;justify-content:space-between;
    width:100%;min-height:52px;padding:16px 22px}
}
/* Nawigacja na telefonie jest niższa (70 px zamiast 82), więc pasek powrotu
   musi siąść wyżej — inaczej zostaje pod nią pusta szpara. */
@media (max-width: 640px) {
  .powrot-pasek{margin-top:70px;padding:4px 18px}
}
/* Na ekranie dotykowym najechanie NIE ISTNIEJE, a podpowiedź „kliknij,
   obejrzyj całą stronę" miała `opacity:0` do czasu najechania — czyli na
   telefonie była niewidoczna i nikt nie wiedział, że miniatura jest
   klikalna. Przy braku hovera pokazujemy ją na stałe. */
@media (hover: none) {
  /* `position:relative` siedzi na `.wzor-podglad--klik`, więc podpowiedź
     kotwiczy się do karty; bez tego uciekała poza kadr. */
  .wzor-podglad--klik .wzor-podglad-cta{opacity:1;font-size:12px;
    white-space:normal;max-width:calc(100% - 28px);text-align:center;
    line-height:1.3;bottom:12px;padding:9px 14px}
}

/* Nawigacja na tablecie i telefonie. `.nav` jest `position:absolute` bez
   `left`, więc brał pozycję statyczną (20 px wcięcia) i do tego `width:100%`
   od viewportu: układ rósł do 410 px na ekranie 390 i wszystko przy prawej
   krawędzi było przycięte (zmierzone 3 września 2026 w Chromium; na laptopie
   maskował to `overflow-x:hidden`). */
@media (max-width: 920px) { .nav { left: 0; } }
@media(max-width:980px){.sklad-liczby{grid-template-columns:1fr 1fr}.sklad-kolumny{grid-template-columns:1fr}}
@media(max-width:640px){.sklad{padding:0 18px 80px}.sklad-liczby{grid-template-columns:1fr 1fr;gap:10px}.sklad-liczby li{padding:16px}.sklad-karta{padding:20px}}
@media(max-width:980px){.gpt-kroki{grid-template-columns:1fr}}
@media(max-width:640px){.gpt{padding:0 18px 70px}.gpt-krok{padding:18px;grid-template-columns:32px 1fr}.gpt-krok>b{width:32px;height:32px;font-size:14px}}

/* Stopka: siedem linków w jednym rzędzie nie mieści się na telefonie
   (od dodania „Automatyzacje” rząd miał 540 px przy ekranie 390). */
footer div{flex-wrap:wrap;row-gap:12px}
