:root{
      --ink:#0b1220;
      --ink-soft:#1a2744;
      --text:#334155;
      --muted:#64748b;
      --line:rgba(15,23,42,.08);
      --surface:#ffffff;
      --surface-2:#f8fafc;
      --surface-3:#f1f5f9;
      --primary:#0072bc;
      --primary-deep:#005a96;
      --primary-soft:#e0f0fb;
      --accent:#00a3c4;
      --accent-glow:rgba(0,163,196,.35);
      --ok:#0d9488;
      --shadow:0 4px 24px rgba(15,23,42,.06);
      --shadow-lg:0 24px 64px rgba(15,23,42,.12);
      --radius:20px;
      --radius-sm:14px;
      --topbar-h:0px;
      --header-h:0px;
      --max:1180px;
      --font:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    }
    *{box-sizing:border-box}
    /* Lucide (inline SVG) */
    i[data-lucide]{display:inline-flex;line-height:0;vertical-align:middle}
    svg.lucide{display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
    .topbar .items a svg,.topbar .chunk svg{width:15px;height:15px;flex-shrink:0}
    .hero-eyebrow svg{width:14px;height:14px;opacity:.92}
    .btn svg{width:1.125rem;height:1.125rem;flex-shrink:0}
    .btn-primary svg,.btn-ghost svg{color:inherit}
    .btn-accent svg{color:var(--ink)}
    .pill-card .icon svg{width:22px;height:22px}
    .service-cat-title svg{width:18px;height:18px;color:var(--primary);flex-shrink:0}
    .contact-list svg{width:20px;height:20px;color:var(--accent);margin-top:2px;flex-shrink:0}
    .btn-site svg{width:1rem;height:1rem;flex-shrink:0}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:var(--font);color:var(--text);background:var(--surface-2);display:flex;flex-direction:column;min-height:100vh;line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}

    .skip{
      position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
    }
    .skip:focus{
      left:max(12px, env(safe-area-inset-left));top:max(12px, env(safe-area-inset-top));
      width:auto;height:auto;padding:12px 16px;background:var(--primary);color:#fff;z-index:100;border-radius:10px;text-decoration:none;font-weight:700;
    }

    /* Topbar */
    .topbar{
      position:sticky;top:0;z-index:30;
      background:rgba(255,255,255,.92);
      backdrop-filter:saturate(140%) blur(10px);
      color:var(--muted);
      font-size:.8125rem;
      font-weight:500;
      padding-top:calc(10px + env(safe-area-inset-top, 0px));
      padding-bottom:10px;
      padding-left:max(16px, env(safe-area-inset-left, 0px));
      padding-right:max(16px, env(safe-area-inset-right, 0px));
      border-bottom:1px solid var(--line);
    }
    .topbar .items{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto;max-width:var(--max);text-align:center;align-items:center}
    .topbar .items span{display:flex;align-items:center;gap:8px;color:var(--muted)}
    .topbar .items > .sep{opacity:.45;padding:0 .15rem;color:#94a3b8;user-select:none;flex-shrink:0}
    .topbar .items a{
      display:flex;align-items:center;gap:8px;color:var(--primary);text-decoration:none;
      font-weight:700;font-size:.875rem;
    }
    .topbar .items a:hover{color:var(--primary-deep)}
    .topbar .marquee{display:none;overflow:hidden;white-space:nowrap}
    .topbar .track{display:inline-flex;will-change:transform;animation:marquee-loop 22s linear infinite}
    .topbar .chunk{display:inline-flex;align-items:center}
    .topbar .sep{opacity:.45;padding:0 .35rem;color:#94a3b8}
    .topbar .marquee{color:var(--muted);font-size:.8rem;line-height:1.35}
    .topbar .marquee .num{color:var(--primary);text-decoration:none;font-weight:700}
    .topbar .marquee .num:hover{color:var(--primary-deep)}
    @keyframes marquee-loop{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

    /* Header */
    header{
      position:sticky;top:var(--topbar-h);z-index:25;
      background:rgba(255,255,255,.96);
      backdrop-filter:blur(12px);
      border-bottom:1px solid var(--line);
      box-shadow:0 8px 32px rgba(15,23,42,.04);
      padding:12px max(16px, env(safe-area-inset-right, 0px)) 12px max(16px, env(safe-area-inset-left, 0px));
    }
    .wrap{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:16px;min-width:0}
    .logo{display:flex;align-items:center;flex-shrink:0;line-height:0;text-decoration:none}
    .logo img{max-width:112px;width:auto;height:auto;display:block;object-fit:contain}

    header nav{margin-left:auto}
    header nav ul{list-style:none;margin:0;padding:0}
    @media (min-width:1024px){
      .burger{display:none}
      header nav ul{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
      header nav a{
        color:var(--ink-soft);text-decoration:none;font-size:.875rem;font-weight:600;
        padding:10px 12px;border-radius:10px;transition:background .2s,color .2s;
      }
      header nav a:hover{background:var(--surface-3);color:var(--primary)}
    }
    @media (max-width:1023px){
      header nav{margin-left:0}
      .burger{margin-left:auto}
      .burger{width:44px;height:40px;border:none;background:var(--surface-3);cursor:pointer;position:relative;border-radius:12px;flex-shrink:0}
      .burger .bar{position:absolute;left:11px;right:11px;height:2px;background:var(--ink);transition:.25s;border-radius:2px}
      .burger .bar:nth-child(1){top:13px}
      .burger .bar:nth-child(2){top:19px}
      .burger .bar:nth-child(3){top:25px}
      .burger.open .bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
      .burger.open .bar:nth-child(2){opacity:0}
      .burger.open .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
      header nav{
        position:fixed;left:0;right:0;top:calc(var(--topbar-h) + var(--header-h));
        background:#fff;box-shadow:var(--shadow-lg);display:none;margin-left:0;
        border-bottom:1px solid var(--line);max-height:min(70vh,calc(100dvh - var(--topbar-h) - var(--header-h)));overflow:auto;
      }
      header nav.open{display:block}
      header nav ul{display:flex;flex-direction:column;gap:0;padding:8px max(16px, env(safe-area-inset-right, 0px)) 16px max(16px, env(safe-area-inset-left, 0px))}
      header nav li+li{border-top:1px solid var(--line)}
      header nav a{display:block;padding:14px 6px;color:var(--ink-soft);text-decoration:none;font-weight:600;font-size:.95rem}
      .topbar .items{display:none !important}
      .topbar .marquee{display:block !important}
    }
    @media (min-width:1024px){
      .topbar .items{display:flex !important}
      .topbar .marquee{display:none !important}
    }

    main{flex:1}

    /* Hero */
    .hero{
      position:relative;overflow:hidden;
      color:#fff;
      padding:clamp(48px,8vw,96px) max(20px, env(safe-area-inset-left)) clamp(56px,9vw,88px) max(20px, env(safe-area-inset-right));
      background-color:#071525;
      background-image:
        radial-gradient(ellipse 100% 85% at 72% 8%, rgba(0,114,188,.22) 0%, transparent 58%),
        radial-gradient(ellipse 70% 55% at 12% 92%, rgba(0,163,196,.12) 0%, transparent 52%),
        linear-gradient(165deg, rgba(7,21,37,.52) 0%, rgba(11,36,62,.38) 42%, rgba(5,18,32,.58) 100%),
        url("../img/hero-telematics-banner.png?v=2");
      background-position:center,center,center,50% 48%;
      background-size:auto,auto,auto,cover;
      background-repeat:no-repeat;
    }
    .hero::after{
      content:"";position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(90deg,
        rgba(5,16,30,.82) 0%,
        rgba(7,21,37,.62) 28%,
        rgba(7,21,37,.22) 52%,
        rgba(7,21,37,.18) 72%,
        rgba(7,21,37,.42) 100%);
    }
    .hero-inner{
      position:relative;z-index:1;max-width:var(--max);margin:0 auto;display:grid;
      gap:clamp(22px,3.5vw,40px);align-items:stretch;
    }
    @media (min-width:900px){
      .hero-inner{
        grid-template-columns:minmax(0,0.95fr) minmax(300px,1.05fr);
        align-items:center;
      }
    }
    .hero-copy{text-align:left}
    @media (max-width:899px){
      .hero-copy{
        text-align:center;
        padding:18px 16px 20px;border-radius:18px;
        background:rgba(5,16,30,.42);
        backdrop-filter:blur(12px) saturate(130%);
        -webkit-backdrop-filter:blur(12px) saturate(130%);
        box-shadow:0 8px 32px rgba(0,0,0,.2);
      }
      .hero h1,.hero h1 .hero-h1-sub,.hero-intro{margin-left:auto;margin-right:auto}
    }
    .hero-eyebrow{
      display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
      color:rgba(255,255,255,.9);margin:0 0 14px;padding:6px 12px;border-radius:999px;
      background:rgba(0,24,48,.58);border:1px solid rgba(255,255,255,.18);
      box-shadow:0 2px 12px rgba(0,0,0,.25);
    }
    .hero h1{
      margin:0 0 14px;font-size:clamp(1.35rem,3.4vw,2.05rem);font-weight:800;line-height:1.18;letter-spacing:-.03em;color:#fff;
      text-shadow:
        0 0 1px rgba(0,0,0,.95),
        0 1px 3px rgba(0,0,0,.9),
        0 4px 28px rgba(0,0,0,.65),
        0 12px 48px rgba(0,0,0,.35);
      max-width:40rem;
    }
    .hero h1 .hero-h1-sub{
      display:block;margin-top:.42em;
      font-size:clamp(.95rem,2vw,1.12rem);font-weight:600;line-height:1.4;letter-spacing:-.015em;
      color:rgba(255,255,255,.94);max-width:34rem;
      text-shadow:0 1px 3px rgba(0,0,0,.88),0 2px 20px rgba(0,0,0,.45);
    }
    .hero-intro{
      margin:18px 0 22px;max-width:38rem;
      font-size:clamp(.9rem,1.35vw,.98rem);font-weight:600;line-height:1.62;
      color:rgba(255,255,255,.92);
      text-shadow:0 1px 2px rgba(0,0,0,.9),0 2px 16px rgba(0,0,0,.55);
    }

    .hero-panel{
      position:relative;overflow:hidden;height:fit-content;width:100%;
      background:
        linear-gradient(180deg, rgba(255,255,255,.07) 0%, transparent 26%),
        linear-gradient(165deg, rgba(8,22,42,.66) 0%, rgba(10,28,52,.54) 45%, rgba(7,20,38,.7) 100%);
      border:1px solid rgba(255,255,255,.16);
      border-radius:18px;
      padding:18px 18px 18px 20px;
      backdrop-filter:blur(18px) saturate(108%);
      -webkit-backdrop-filter:blur(18px) saturate(108%);
      box-shadow:
        0 14px 36px rgba(0,0,0,.24),
        inset 0 1px 0 rgba(255,255,255,.1);
    }
    .hero-panel::before{
      content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 5px 5px 0;
      background:linear-gradient(180deg,rgba(0,114,188,.95) 0%,rgba(0,90,150,.75) 100%);
      box-shadow:none;
    }
    .hero-panel-head{
      margin:0 0 16px;padding-bottom:16px;
      border-bottom:1px solid rgba(255,255,255,.1);
      position:relative;
    }
    .hero-panel-head::after{
      content:"";position:absolute;left:0;bottom:-1px;width:52px;height:2px;border-radius:2px;
      background:rgba(0,114,188,.85);
      opacity:1;
    }
    .hero-panel-eyebrow{
      display:inline-flex;align-items:center;margin:0 0 10px;padding:5px 11px;
      font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
      color:rgba(255,255,255,.88);
      background:rgba(0,24,48,.55);
      border:1px solid rgba(255,255,255,.14);
      border-radius:999px;
    }
    .hero-panel-title{
      margin:0;font-size:clamp(1.05rem,1.45vw,1.2rem);font-weight:800;color:#fff;
      letter-spacing:-.03em;line-height:1.22;
    }
    .hero-bullets{list-style:none;margin:0;padding:0;display:grid;gap:10px}
    .hero-bullets li{
      display:flex;gap:14px;align-items:flex-start;
      padding:12px 14px 12px 12px;border-radius:14px;
      background:rgba(0,16,34,.36);
      border:1px solid rgba(255,255,255,.1);
      border-left:2px solid rgba(0,114,188,.45);
      backdrop-filter:blur(8px);
      -webkit-backdrop-filter:blur(8px);
      transition:background .2s,border-color .2s,border-left-color .2s,box-shadow .2s;
    }
    .hero-bullets li:hover{
      background:rgba(0,22,44,.46);
      border-color:rgba(255,255,255,.13);
      border-left-color:rgba(0,114,188,.75);
      box-shadow:0 4px 16px rgba(0,0,0,.16);
    }
    .hero-bullet-ic{
      flex-shrink:0;width:36px;height:36px;border-radius:11px;margin-top:1px;
      display:flex;align-items:center;justify-content:center;
      background:rgba(0,114,188,.18);
      border:1px solid rgba(0,114,188,.28);
      color:rgba(186,220,255,.95);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    }
    .hero-bullet-ic svg{width:17px;height:17px;color:inherit}
    .hero-bullet-txt{min-width:0;display:flex;flex-direction:column;gap:5px}
    .hero-bullet-kicker{
      font-size:.84rem;font-weight:800;letter-spacing:-.02em;line-height:1.25;color:#fff;
    }
    .hero-bullet-desc{
      font-size:.78rem;font-weight:500;line-height:1.52;color:rgba(226,232,240,.82);
    }
    .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;align-items:center}
    .hero-cta-sep{
      font-size:.875rem;font-weight:600;letter-spacing:.06em;text-transform:lowercase;
      color:rgba(255,255,255,.72);user-select:none;padding:0 2px;
    }
    @media (max-width:899px){
      .hero-cta{justify-content:center}
    }
    .btn{
      display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
      min-height:50px;padding:14px 22px;border-radius:14px;text-decoration:none;
      font-weight:700;font-size:.9375rem;transition:transform .18s,box-shadow .2s,background .2s,border-color .2s;
      border:1px solid transparent;
    }
    .btn:hover{transform:translateY(-2px)}
    .btn:active{transform:translateY(0)}
    .btn:focus-visible{outline:3px solid var(--accent-glow);outline-offset:2px}
    .btn-primary{
      color:#fff;background:var(--primary);border-color:rgba(255,255,255,.2);
      box-shadow:0 12px 32px rgba(0,114,188,.4);
    }
    .btn-primary:hover{background:var(--primary-deep);box-shadow:0 16px 40px rgba(0,114,188,.48)}
    .btn-accent{
      color:var(--ink);background:#fff;border-color:rgba(255,255,255,.5);
      box-shadow:0 8px 28px rgba(0,0,0,.12);
    }
    .btn-accent:hover{background:#f8fafc}
    .btn-ghost{
      color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);
    }
    .btn-ghost:hover{background:rgba(255,255,255,.18)}
    @media (max-width:480px){
      .hero-cta .btn{flex:1 1 100%;justify-content:center}
      .hero-cta-sep{flex:1 1 100%;justify-content:center;text-align:center;padding:2px 0 4px}
    }

    /* Section shell */
    .section{padding:clamp(56px,7vw,88px) max(20px, env(safe-area-inset-left)) clamp(64px,8vw,96px) max(20px, env(safe-area-inset-right))}
    .section--tight{padding-top:clamp(40px,5vw,56px);padding-bottom:clamp(48px,6vw,72px)}
    .section-head{max-width:720px;margin:0 auto 40px;text-align:center}
    .section-head--left{margin-left:0;text-align:left;max-width:640px}
    .eyebrow{
      display:inline-flex;align-items:center;gap:12px;
      font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--primary);
      margin:0 0 10px;
    }
    .eyebrow::before{
      content:"";width:32px;height:3px;border-radius:2px;background:var(--primary);flex-shrink:0;
    }
    .section-head h2,.section-head .h2{
      margin:0 0 12px;font-size:clamp(1.65rem,3vw,2.1rem);font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1.2;
    }
    .section-head p:not(.eyebrow),.section-lead{
      margin:0;color:var(--muted);font-size:1.02rem;line-height:1.65;font-weight:500;
    }

    /* Czym się zajmujemy */
    .about .section-head .local-anchor{
      margin:0 auto 16px;color:var(--ink);font-size:1.02rem;line-height:1.65;font-weight:600;max-width:720px;
    }
    .about{background:var(--surface);border-top:1px solid var(--line)}
    .pill-grid{
      max-width:var(--max);margin:0 auto;display:grid;gap:20px;
      grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    }
    .pill-card{
      background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);
      padding:26px 22px;transition:border-color .2s,box-shadow .2s,transform .2s;
    }
    .pill-card:hover{border-color:rgba(0,114,188,.2);box-shadow:var(--shadow);transform:translateY(-3px)}
    .pill-card .icon{
      width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
      font-size:1.25rem;color:var(--primary);background:var(--primary-soft);margin-bottom:16px;
    }
    .pill-card h3{margin:0 0 10px;font-size:1.05rem;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.3}
    .pill-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.55}

    /* Why us */
    .why{background:linear-gradient(180deg,var(--surface-3) 0%,var(--surface-2) 100%);border-top:1px solid var(--line)}
    .stat{
      background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);
      padding:22px 20px;text-align:center;
    }
    .stat strong{display:block;font-size:1.35rem;font-weight:800;color:var(--primary);letter-spacing:-.02em;margin-bottom:6px}
    .stat span{font-size:.875rem;color:var(--muted);font-weight:600;line-height:1.45}
    /* Liczniki — jeden pas, duża typografia (jak „w liczbach” na stronach referencyjnych) */
    .why-stats-board{
      max-width:var(--max);margin:0 auto;padding:0;
      display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
      gap:0;background:transparent;border:none;box-shadow:none;border-radius:0;
    }
    .why .stat-counter{
      margin:0;padding:clamp(20px,3.5vw,36px) clamp(10px,1.8vw,18px);
      text-align:center;border-right:1px solid rgba(15,23,42,.08);
      display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
    }
    .why .stat-counter:last-child{border-right:none}
    .why .stat-counter .why-stat-num{
      margin:0 0 clamp(8px,1.4vw,12px);padding:0;
      font-size:clamp(2.35rem,5.2vw,3.65rem);font-weight:800;color:var(--ink);
      letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums;
    }
    .why .stat-counter .why-stat-num .stat-value{display:inline-block}
    .why .stat-counter .why-stat-gen{
      margin:0 0 6px;font-size:.95rem;font-weight:700;color:var(--ink-soft);line-height:1.35;
    }
    .why .stat-counter .why-stat-desc{
      margin:0;max-width:28ch;font-size:.8rem;font-weight:500;color:var(--muted);line-height:1.5;
    }
    @media (max-width:720px){
      .why-stats-board{grid-template-columns:repeat(2,minmax(0,1fr))}
      .why .stat-counter{border-right:none;border-bottom:1px solid rgba(15,23,42,.08)}
      .why .stat-counter:nth-child(odd){border-right:1px solid rgba(15,23,42,.08)}
      .why .stat-counter:nth-last-child(-n+2){border-bottom:none}
    }

    /* Services — cennik: górą 3 krótkie grupy; GPS w 3 kolumnach */
    .services{background:var(--surface);border-top:1px solid var(--line)}
    .services-pricing{
      max-width:var(--max);margin:0 auto;display:flex;flex-direction:column;
      gap:clamp(28px,4vw,44px);
    }
    .services-cols{
      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
      gap:clamp(12px,1.8vw,20px);align-items:start;
    }
    .services .service-category{margin:0;min-width:0}
    .service-category-note{
      margin:10px 0 0;font-size:.88rem;line-height:1.55;color:var(--muted);font-weight:500;
    }
    @media (max-width:720px){
      .services-cols{grid-template-columns:1fr}
    }
    .services-gps{margin:0;min-width:0}
    .services-gps-cols{
      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
      gap:clamp(12px,1.8vw,20px);align-items:start;
    }
    @media (max-width:768px){
      .services-gps-cols{grid-template-columns:1fr}
    }
    .services .service-cat-title{
      margin:0 0 2px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
      color:var(--muted);padding:0 0 3px;border-bottom:none;
      display:flex;align-items:center;gap:5px;
    }
    .services .service-cat-title svg{width:13px;height:13px;color:var(--primary);opacity:.88;flex-shrink:0}
    /* Nagłówki kategorii: wyraźnie większe niż wiersze usług (1.02rem) */
    .services-cols .service-cat-title,
    .services-gps .service-cat-title{
      font-size:1.08rem;letter-spacing:.06em;gap:10px;
    }
    .services-cols .service-cat-title svg,
    .services-gps .service-cat-title svg{
      width:24px;height:24px;
    }
    .services .price-list{
      border:none;border-radius:0;background:transparent;overflow:visible;
      border-top:1px solid rgba(15,23,42,.08);padding-top:1px;
    }
    .services .price-row{
      display:flex;align-items:baseline;justify-content:space-between;gap:8px 10px;
      padding:2px 0;border-bottom:1px dotted rgba(15,23,42,.1);
      font-size:1.02rem;line-height:1.65;font-weight:500;
    }
    .services .price-row:last-child{border-bottom:none}
    .services .price-row-name{font-weight:500;color:var(--muted);flex:1;min-width:0}
    .services .price-row-price{
      font-weight:500;color:var(--primary);font-variant-numeric:tabular-nums;
      white-space:nowrap;flex-shrink:0;
    }
    .services .price-row-price--wrap{white-space:normal;text-align:right;max-width:min(100%,12.5em)}
    .services .section-lead a{color:var(--primary);font-weight:600;text-decoration:none}
    .services .section-lead a:hover{text-decoration:underline}

    /* Area */
    .area{background:var(--surface-2);border-top:1px solid var(--line)}
    .area .section-head{margin-bottom:20px}
    .area .link-catalog{
      display:block;text-align:center;margin:clamp(20px,3vw,28px) auto clamp(24px,4vw,36px);max-width:var(--max);
      font-size:1.02rem;line-height:1.65;font-weight:500;color:var(--muted);text-decoration:none;
      cursor:pointer;transition:color .2s ease;
    }
    .area .link-catalog:hover{color:var(--ink-soft)}
    .area .link-catalog:focus-visible{
      outline:2px solid var(--primary);outline-offset:4px;border-radius:8px;color:var(--ink-soft);
    }
    .chips{list-style:none;margin:0 auto;padding:0;max-width:var(--max);display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
    .chips a{
      display:inline-block;padding:8px 14px;border-radius:999px;background:var(--surface);
      border:1px solid var(--line);font-size:.8125rem;font-weight:600;color:var(--ink-soft);text-decoration:none;
    }
    .chips a:hover{border-color:rgba(0,114,188,.25);color:var(--primary)}

    /* Contact */
    .contact{
      background:var(--surface);border-top:1px solid var(--line);
    }
    .contact-grid{
      max-width:var(--max);margin:0 auto;display:flex;flex-direction:column;gap:28px;align-items:stretch;
    }
    .contact-form-col{min-width:0}
    .contact-side-col{
      display:flex;flex-direction:column;gap:18px;min-width:0;
    }
    .contact-side-col .section-head{margin:0}
    .contact-side-after{display:flex;flex-direction:column;gap:0}
    @media (min-width:900px){
      .contact-grid{
        display:grid;grid-template-columns:1.08fr 1fr;gap:32px;align-items:stretch;
      }
      .contact-form-col{
        grid-column:1;grid-row:1;
        display:flex;flex-direction:column;min-height:0;
      }
      .contact-side-col{grid-column:2;grid-row:1}
    }
    .contact-card{
      background:linear-gradient(165deg,var(--ink) 0%,#122a4a 100%);color:rgba(255,255,255,.88);
      border-radius:var(--radius);padding:28px 24px;border:1px solid rgba(255,255,255,.1);
      box-shadow:0 10px 36px rgba(15,23,42,.14);
    }
    .contact-card h3{margin:0 0 16px;font-size:1.1rem;font-weight:800;color:#fff}
    .contact-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
    .contact-list li{display:flex;gap:12px;align-items:flex-start;font-size:.9375rem}
    .contact-list a{color:#fff;font-weight:700;text-decoration:none}
    .contact-list a:hover{text-decoration:underline}

    .contact-side-col h2{margin:0 0 4px}
    .contact-side-after .contact-intro{
      margin:0 0 14px;color:var(--muted);font-size:.95rem;line-height:1.62;font-weight:500;max-width:42ch;
    }
    .contact-quick-actions{
      display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin:0;
    }
    .contact-action-btn{
      display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
      padding:10px 18px;border-radius:12px;font-weight:700;font-size:.875rem;font-family:inherit;
      text-decoration:none;transition:background .2s,border-color .2s,color .15s,transform .15s;
      border:1px solid transparent;line-height:1.2;
    }
    .contact-action-btn svg{width:16px;height:16px;flex-shrink:0}
    .contact-action-btn--primary{
      color:#fff;background:var(--primary);border-color:rgba(0,90,150,.45);
      box-shadow:none;
    }
    .contact-action-btn--primary:hover{background:var(--primary-deep);border-color:rgba(0,70,120,.55)}
    .contact-action-btn--ghost{
      color:var(--primary);background:var(--surface-2);border-color:var(--line);
      box-shadow:none;
    }
    .contact-action-btn--ghost:hover{background:var(--primary-soft);border-color:rgba(0,114,188,.22)}
    .contact-quick-sep{
      font-size:.8125rem;font-weight:600;color:var(--muted);user-select:none;
    }
    @media (max-width:520px){
      .contact-quick-actions{flex-direction:column;align-items:stretch}
      .contact-action-btn{width:100%;justify-content:center}
      .contact-quick-sep{text-align:center;padding:2px 0}
    }
    .contact form{
      display:grid;gap:16px;padding:20px 20px 22px;margin:0;
      background:var(--surface);border:1px solid var(--line);border-radius:16px;
    }
    .contact input,.contact textarea{
      width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:12px;
      font-size:1rem;font-family:inherit;color:var(--ink);background:var(--surface-2);
      transition:border-color .2s,box-shadow .2s,background .2s;
    }
    .contact input::placeholder,.contact textarea::placeholder{color:#94a3b8}
    .contact input:hover,.contact textarea:hover{border-color:#cbd5e1;background:var(--surface)}
    .contact input:focus,.contact textarea:focus{
      outline:none;border-color:var(--primary);background:var(--surface);
      box-shadow:0 0 0 4px rgba(0,114,188,.15);
    }
    .contact textarea{min-height:132px;resize:vertical;line-height:1.55}
    .contact button[type="submit"]{
      margin-top:2px;padding:13px 22px;border:1px solid rgba(0,90,150,.42);border-radius:12px;cursor:pointer;
      font-size:.9375rem;font-weight:700;font-family:inherit;color:#fff;background:var(--primary);
      box-shadow:none;appearance:none;-webkit-appearance:none;
      transition:background .2s,border-color .2s;
    }
    .contact button[type="submit"]:hover{background:var(--primary-deep);border-color:rgba(0,70,120,.55)}
    .contact button[type="submit"]:focus-visible{
      outline:2px solid var(--primary);outline-offset:3px;
    }
    .contact button[type="submit"]:disabled{opacity:.55;cursor:not-allowed;background:var(--primary);border-color:rgba(0,90,150,.25)}
    @media (min-width:900px){
      .contact-form-col form{
        flex:1 1 auto;display:flex;flex-direction:column;min-height:0;
      }
      .contact-form-col form textarea{
        flex:1 1 auto;min-height:140px;
      }
    }
    #formStatus{max-width:100%;margin:0 0 12px;padding:12px 14px;border-radius:12px;font-size:.9rem;text-align:center;flex-shrink:0}
    #formStatus.success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
    #formStatus.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}

    /* FAQ */
    .faq{background:var(--surface-2);border-top:1px solid var(--line)}
    .faq-list{max-width:760px;margin:0 auto;display:grid;gap:10px}
    .faq details{
      background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0;overflow:hidden;
      box-shadow:0 2px 12px rgba(15,23,42,.04);
    }
    .faq summary{
      cursor:pointer;list-style:none;font-weight:800;font-size:.95rem;color:var(--ink);padding:16px 18px;
      display:flex;align-items:center;justify-content:space-between;gap:12px;
    }
    .faq summary::-webkit-details-marker{display:none}
    .faq summary::after{content:"+";font-weight:800;color:var(--primary);font-size:1.1rem;flex-shrink:0}
    .faq details[open] summary::after{content:"–"}
    .faq .faq-a{padding:0 18px 16px;color:var(--muted);font-size:.9rem;line-height:1.6;margin:0}

    /* Blog teaser — nagłówek jak sekcja „Zasięg lokalny” (.area): section-head + section-lead, ten sam odstęp */
    .blog-teaser{background:var(--surface);border-top:1px solid var(--line);text-align:center}
    /* Podstrony miast: bez FAQ — szare tło jak sekcja FAQ na głównej */
    .page-miasta .blog-teaser{background:var(--surface-2)}
    .blog-teaser .section-head{margin-bottom:20px}
    .blog-teaser-cta{max-width:720px;margin:0 auto;padding:0 4px;display:flex;justify-content:center}
    .btn-site{
      display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
      padding:13px 22px;border:1px solid rgba(0,90,150,.42);border-radius:12px;cursor:pointer;
      font-size:.9375rem;font-weight:700;font-family:inherit;color:#fff;background:var(--primary);
      box-shadow:none;text-decoration:none;appearance:none;-webkit-appearance:none;
      transition:background .2s,border-color .2s;
    }
    .btn-site:hover{background:var(--primary-deep);border-color:rgba(0,70,120,.55)}
    .btn-site:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
    .blog-teaser .btn-site{width:auto;max-width:100%}

    /* Footer — layout: marka (lewo) | kolumny (prawo) */
    footer.site-footer{
      background:var(--ink);
      color:rgba(148,163,184,.92);
      border-top:1px solid rgba(0,114,188,.22);
      margin-top:auto;
      font-size:.875rem;
    }
    .site-footer__shell{
      max-width:var(--max);
      margin:0 auto;
      padding:clamp(40px,5vw,56px) max(20px, env(safe-area-inset-left)) clamp(36px,4.5vw,48px) max(20px, env(safe-area-inset-right));
      display:grid;
      grid-template-columns:minmax(0,260px) minmax(0,1fr);
      gap:clamp(32px,5vw,56px);
      align-items:start;
      text-align:left;
    }
    @media (max-width:820px){
      .site-footer__shell{
        grid-template-columns:1fr;
        gap:36px;
      }
    }
    .site-footer__brand{min-width:0}
    .site-footer__logo{
      display:inline-flex;line-height:0;margin:0 0 18px;max-width:100%;
      text-decoration:none;border-radius:12px;
      transition:opacity .2s;
    }
    .site-footer__logo:hover{opacity:.88}
    .site-footer__logo:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:12px}
    .site-footer__logo img{
      width:112px;max-width:100%;height:auto;display:block;object-fit:contain;opacity:1;
    }
    .site-footer__desc{
      margin:0;font-size:.8125rem;line-height:1.65;font-weight:500;
      color:rgba(148,163,184,.95);max-width:34ch;
    }
    .site-footer__cols{
      display:grid;
      grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr) minmax(0,1.15fr);
      column-gap:clamp(14px,2vw,26px);
      row-gap:clamp(12px,2vw,20px);
      align-items:start;
    }
    .site-footer__col--blog{
      margin-left:clamp(-18px,-1.8vw,-6px);
    }
    .site-footer__col--blog .site-footer__label{margin-bottom:12px}
    .site-footer__list--sitemap{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:9px clamp(10px,1.6vw,18px);
    }
    .site-footer__list--sitemap a{line-height:1.38}
    @media (max-width:640px){
      .site-footer__list--sitemap{grid-template-columns:1fr}
    }
    .site-footer__blog-more{
      margin:12px 0 0;
    }
    .site-footer__blog-more a{
      font-size:.8125rem;font-weight:600;color:rgba(148,163,184,.95);
      text-decoration:none;
    }
    .site-footer__blog-more a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
    @media (max-width:520px){
      .site-footer__cols{grid-template-columns:1fr}
      .site-footer__col--blog{margin-left:0}
    }
    .site-footer__label{
      margin:0 0 14px;font-size:.65rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
      color:rgba(0,179,228,.88);
    }
    .site-footer__list{
      list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;
    }
    .site-footer__list a{
      color:#e2e8f0;text-decoration:none;font-weight:600;font-size:.875rem;
      transition:color .15s;
    }
    .site-footer__list a:hover{color:#fff}
    .site-footer__list a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
    .site-footer__list--contact a{font-weight:700;font-size:.9rem}
    .site-footer__list--contact li{display:flex;align-items:flex-start;gap:10px}
    .site-footer__list--contact li svg{
      width:18px;height:18px;flex-shrink:0;margin-top:2px;color:rgba(0,179,228,.92);
    }
    .site-footer__list--contact .site-footer__muted{margin-top:0}
    .site-footer__muted{
      font-size:.8125rem;font-weight:500;color:rgba(148,163,184,.88);line-height:1.45;margin-top:2px;
    }
    .site-footer__bar{
      max-width:var(--max);
      margin:0 auto;
      padding:16px max(20px, env(safe-area-inset-left)) calc(20px + env(safe-area-inset-bottom, 0px)) max(20px, env(safe-area-inset-right));
      border-top:1px solid rgba(255,255,255,.07);
      display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;
      font-size:.75rem;color:rgba(148,163,184,.85);
    }
    .site-footer__copy{font-weight:500}
    .site-footer__home{
      color:rgba(226,232,240,.9);font-weight:600;text-decoration:none;
      letter-spacing:.02em;
    }
    .site-footer__home:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
    .site-footer__home:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}

    #czym-sie-zajmujemy,#uslugi,#obszar,#kontakt,#faq,#blog{scroll-margin-top:calc(var(--topbar-h) + var(--header-h) + 14px)}

/* Lokalne podstrony miast */
.local-breadcrumb{
  background:var(--surface-2);
  border-bottom:1px solid var(--line);
  padding:10px max(16px, env(safe-area-inset-left)) 12px max(16px, env(safe-area-inset-right));
  font-size:.875rem;
  color:var(--muted);
}
.local-breadcrumb .wrap{max-width:var(--max);margin:0 auto}
.local-breadcrumb a{color:var(--primary);font-weight:600;text-decoration:none}
.local-breadcrumb a:hover{text-decoration:underline}
.local-breadcrumb span{color:var(--ink-soft);font-weight:600}
