/* =========================================================================
   TRANS KUBIK — Core stylesheet
   Clean, professional TSL / road-freight design system
   Brand blue: #1C3CBC
   ========================================================================= */

/* Czcionki hostowane lokalnie — brak połączeń z Google (RODO) + szybsze wczytywanie */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../assets/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(../assets/fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Sora';font-style:normal;font-weight:600 800;font-display:swap;src:url(../assets/fonts/sora-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:600 800;font-display:swap;src:url(../assets/fonts/sora-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

/* ----------------------------------------------------------------- TOKENS */
:root{
  /* Brand scale (anchored on logo blue #1C3CBC) */
  --brand-50:#eef2fe;
  --brand-100:#dde4fd;
  --brand-200:#bcc8fb;
  --brand-300:#94a5f1;
  --brand-400:#6079e4;
  --brand-500:#3a55d4;
  --brand-600:#1c3cbc;        /* BRAND */
  --brand-700:#1932a0;
  --brand-800:#182b83;
  --brand-900:#16265f;

  /* Deep navy (contrast bands / footer) */
  --navy-900:#0a1733;
  --navy-800:#0e1f4a;
  --navy-700:#152c66;

  /* Neutrals */
  --ink:#0f172a;
  --ink-soft:#334155;
  --muted:#566174;
  --muted-2:#8590a3;
  --line:#e5e9f2;
  --line-soft:#eef1f7;
  --bg:#ffffff;
  --surface:#f6f8fc;
  --surface-2:#eef2f9;

  /* Semantic */
  --primary:var(--brand-600);
  --on-primary:#ffffff;
  --focus:#3a55d4;
  --danger:#d92d20;
  --success:#0f9d58;

  /* Typography */
  --font-head:'Sora',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --fs-eyebrow:.8125rem;
  --fs-sm:.9375rem;
  --fs-body:1.0625rem;
  --lh-body:1.7;
  --lh-tight:1.1;
  --fs-display:clamp(2.6rem,1.55rem + 4.4vw,5rem);
  --fs-h1:clamp(2.05rem,1.5rem + 2.6vw,3.35rem);
  --fs-h2:clamp(1.7rem,1.3rem + 1.8vw,2.6rem);
  --fs-h3:clamp(1.24rem,1.1rem + .7vw,1.6rem);
  --fs-lead:clamp(1.075rem,1rem + .4vw,1.3rem);

  /* Layout */
  --container:1200px;
  --container-wide:1320px;
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --section-y:clamp(4rem,8vw,7.5rem);

  /* Radii */
  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:28px; --r-pill:999px;

  /* Shadows */
  --shadow-xs:0 1px 2px rgba(15,23,42,.06);
  --shadow-sm:0 4px 14px -6px rgba(15,23,42,.14);
  --shadow-md:0 16px 40px -18px rgba(15,23,42,.24);
  --shadow-lg:0 30px 70px -28px rgba(16,38,95,.35);
  --shadow-brand:0 18px 38px -14px rgba(28,60,188,.5);

  /* Motion */
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --t-fast:140ms; --t:240ms; --t-slow:420ms;

  /* z-index scale */
  --z-base:0; --z-raised:10; --z-sticky:50; --z-header:100; --z-menu:200; --z-overlay:300; --z-toast:400;
}

/* ------------------------------------------------------------------ RESET */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:var(--lh-body);
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
ul,ol{list-style:none;padding:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
::selection{background:var(--brand-600);color:#fff}

/* --------------------------------------------------------------- HEADINGS */
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.02em;color:var(--ink)}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3{font-size:var(--fs-h3)}
p{text-wrap:pretty}
strong{font-weight:700;color:var(--ink)}

/* --------------------------------------------------------------- HELPERS */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.container--wide{max-width:var(--container-wide)}
.section{padding-block:var(--section-y)}
.section--tint{background:var(--surface)}
.section--navy{background:var(--navy-900);color:#fff}
.section--brand{background:linear-gradient(135deg,var(--brand-700),var(--brand-600) 60%,var(--brand-500));color:#fff}
.section--flush-top{padding-top:0}
.text-center{text-align:center}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:1rem;top:-120px;z-index:var(--z-toast);background:var(--brand-600);color:#fff;padding:.85rem 1.25rem;border-radius:var(--r-sm);font-family:var(--font-head);font-weight:600;transition:top var(--t) var(--ease)}
.skip-link:focus{top:1rem}

/* Section header block */
.head{max-width:62ch}
.head--center{margin-inline:auto;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-head);font-weight:600;font-size:var(--fs-eyebrow);letter-spacing:.16em;text-transform:uppercase;color:var(--brand-600)}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--brand-600);border-radius:2px}
.head--center .eyebrow::before{display:none}
.section--navy .eyebrow,.section--brand .eyebrow,.page-hero .eyebrow{color:var(--brand-300)}
.section--navy .eyebrow::before,.page-hero .eyebrow::before{background:var(--brand-300)}
.head__title{margin-top:1rem;font-size:var(--fs-h2)}
.head__lead{margin-top:1.1rem;color:var(--muted);font-size:var(--fs-lead);max-width:62ch}
.head--center .head__lead{margin-inline:auto}
.section--navy .head__lead,.section--brand .head__lead{color:#c7d0e4}
.section--navy .head__title,.section--brand .head__title{color:#fff}

/* ---------------------------------------------------------------- BUTTONS */
.btn{
  --btn-bg:var(--brand-600);--btn-fg:var(--on-primary);--btn-bd:transparent;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--font-head);font-weight:600;font-size:1rem;line-height:1;text-align:center;
  padding:1rem 1.7rem;min-height:54px;border-radius:var(--r-pill);
  background:var(--btn-bg);color:var(--btn-fg);border:1.5px solid var(--btn-bd);
  transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),background var(--t) var(--ease),border-color var(--t) var(--ease);
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-brand)}
.btn:active{transform:translateY(0)}
.btn__icon{width:20px;height:20px;flex:none;transition:transform var(--t) var(--ease)}
.btn:hover .btn__icon{transform:translateX(4px)}
.btn--ghost{--btn-bg:#fff;--btn-fg:var(--brand-700);--btn-bd:var(--line)}
.btn--ghost:hover{--btn-bg:var(--brand-50);--btn-bd:var(--brand-200);box-shadow:var(--shadow-sm)}
.btn--light{--btn-bg:#fff;--btn-fg:var(--brand-700)}
.btn--light:hover{box-shadow:0 18px 38px -14px rgba(0,0,0,.35)}
.btn--outline-light{--btn-bg:transparent;--btn-fg:#fff;--btn-bd:rgba(255,255,255,.45)}
.btn--outline-light:hover{--btn-bg:rgba(255,255,255,.12);--btn-bd:rgba(255,255,255,.7);box-shadow:none}
.btn--lg{padding:1.15rem 2.1rem;font-size:1.05rem;min-height:60px}
.btn--block{display:flex;width:100%}
.btn[disabled],.btn.is-loading{opacity:.65;pointer-events:none}
.btn.is-loading{color:transparent}
.btn.is-loading::after{content:"";position:absolute;width:20px;height:20px;border:2.5px solid #fff;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}

/* Inline arrow link */
.arrow-link{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-head);font-weight:600;font-size:.95rem;color:var(--brand-600);transition:gap var(--t) var(--ease),color var(--t)}
.arrow-link svg{width:17px;height:17px;transition:transform var(--t) var(--ease)}
.arrow-link:hover{color:var(--brand-700)}
.arrow-link:hover svg{transform:translateX(4px)}

/* ------------------------------------------------------------- TOP BAR */
.topbar{background:var(--navy-900);color:#c2cce0;font-size:.86rem}
.topbar__row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;flex-wrap:wrap}
.topbar__list{display:flex;gap:1.6rem;flex-wrap:wrap}
.topbar a{display:inline-flex;align-items:center;gap:.5rem;color:#d7deee;transition:color var(--t)}
.topbar a:hover{color:#fff}
.topbar svg{width:16px;height:16px;color:var(--brand-300)}
.topbar__note{display:inline-flex;align-items:center;gap:.5rem;color:#9fadc9}
@media (max-width:760px){.topbar{display:none}}

/* -------------------------------------------------------------- HEADER/NAV */
.site-header{position:sticky;top:0;z-index:var(--z-header);background:#fff;border-bottom:1px solid var(--line-soft);transition:box-shadow var(--t) var(--ease)}
.site-header.is-scrolled{box-shadow:0 10px 30px -20px rgba(15,23,42,.45)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:78px}
.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--brand-600)}
.brand .logo{height:46px;width:auto}
.brand__word{font-family:var(--font-head);font-weight:800;font-size:1.3rem;letter-spacing:.02em;color:var(--brand-600);white-space:nowrap}
.footer .brand__word{color:#fff;font-size:1.2rem}
.nav__links{display:flex;align-items:center;gap:.15rem}
.nav__link{position:relative;font-family:var(--font-head);font-weight:500;font-size:.97rem;padding:.6rem .9rem;border-radius:var(--r-sm);color:var(--ink-soft);white-space:nowrap;transition:color var(--t),background var(--t)}
.nav__link:hover{color:var(--brand-700);background:var(--brand-50)}
.nav__link.is-active{color:var(--brand-700)}
.nav__link.is-active::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:.32rem;height:2px;background:var(--brand-600);border-radius:2px}
.nav__actions{display:flex;align-items:center;gap:.75rem}
.nav__panel-cta{display:none}

/* Language switcher */
.lang{position:relative}
.lang__btn{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border-radius:var(--r-sm);border:1px solid var(--line);font-family:var(--font-head);font-weight:600;font-size:.85rem;letter-spacing:.02em;color:var(--ink-soft);transition:border-color var(--t),background var(--t)}
.lang__btn:hover{border-color:var(--brand-200);background:var(--brand-50)}
.lang__btn .chev{width:14px;height:14px;color:var(--muted-2);transition:transform var(--t)}
.lang.is-open .lang__btn .chev{transform:rotate(180deg)}
.flag{width:22px;height:15px;border-radius:3px;flex:none;box-shadow:0 0 0 1px rgba(15,23,42,.1);overflow:hidden}
.lang__menu{position:absolute;right:0;top:calc(100% + .55rem);min-width:188px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:.4rem;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),visibility var(--t);z-index:var(--z-menu)}
.lang.is-open .lang__menu{opacity:1;visibility:visible;transform:none}
.lang__opt{display:flex;align-items:center;gap:.7rem;width:100%;padding:.65rem .7rem;border-radius:var(--r-sm);font-size:.93rem;font-weight:500;color:var(--ink-soft);transition:background var(--t)}
.lang__opt:hover{background:var(--surface)}
.lang__opt[aria-current="true"]{color:var(--brand-700);font-weight:600;background:var(--brand-50)}

/* Hamburger */
.nav__toggle{display:none;width:48px;height:48px;border-radius:var(--r-sm);align-items:center;justify-content:center;border:1px solid var(--line)}
.nav__toggle:hover{background:var(--surface)}
.nav__toggle .bars{position:relative;width:22px;height:14px}
.nav__toggle .bars span{position:absolute;left:0;width:100%;height:2px;background:var(--ink);border-radius:2px;transition:transform var(--t) var(--ease),opacity var(--t) var(--ease)}
.nav__toggle .bars span:nth-child(1){top:0}
.nav__toggle .bars span:nth-child(2){top:6px}
.nav__toggle .bars span:nth-child(3){top:12px}
.site-header.is-menu-open .nav__toggle .bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.site-header.is-menu-open .nav__toggle .bars span:nth-child(2){opacity:0}
.site-header.is-menu-open .nav__toggle .bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

@media (max-width:1024px){
  .nav__links{
    position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:.15rem;
    background:#fff;border-bottom:1px solid var(--line);padding:1rem var(--gutter) 1.6rem;
    box-shadow:var(--shadow-md);
    transform:translateY(-14px);opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),visibility var(--t);
  }
  .site-header.is-menu-open .nav__links{transform:none;opacity:1;visibility:visible;pointer-events:auto}
  .nav__link{padding:.9rem 1rem;font-size:1.06rem}
  .nav__link.is-active::after{display:none}
  .nav__link.is-active{background:var(--brand-50)}
  .nav__panel-cta{display:flex;margin-top:.8rem}
  .nav__toggle{display:inline-flex}
}
@media (max-width:680px){
  .nav__cta{display:none}
}
@media (max-width:430px){
  .brand__word{font-size:1.06rem}
  .brand .logo{height:34px}
  .nav{min-height:66px}
}

/* ----------------------------------------------------------------- HERO */
.hero{position:relative;overflow:hidden;padding-block:clamp(3rem,6vw,5.5rem) clamp(4rem,8vw,7rem);
  background:radial-gradient(120% 120% at 85% 0%,var(--surface-2) 0%,#fff 55%)}
.hero__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.hero__badge{display:inline-flex;align-items:center;gap:.55rem;padding:.5rem .9rem;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs);font-size:.85rem;font-weight:500;color:var(--ink-soft)}
.hero__badge .dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(15,157,88,.15)}
.hero__title{margin-top:1.5rem;font-size:var(--fs-display);letter-spacing:-.03em}
.hero__title .accent{color:var(--brand-600)}
.hero__lead{margin-top:1.4rem;font-size:var(--fs-lead);color:var(--muted);max-width:48ch}
.hero__actions{margin-top:2.1rem;display:flex;flex-wrap:wrap;gap:1rem}
.hero__trust{margin-top:2.4rem;display:flex;gap:1.8rem;flex-wrap:wrap}
.hero__trust li{display:flex;align-items:center;gap:.6rem;font-size:var(--fs-sm);color:var(--ink-soft);font-weight:500}
.hero__trust svg{width:22px;height:22px;color:var(--brand-600);flex:none}
.hero__visual{position:relative}
@media (max-width:900px){
  .hero__grid{grid-template-columns:1fr;gap:2.5rem}
  .hero__visual{order:-1;max-width:560px;margin-inline:auto}
}

/* Route map (hero visual) */
.routemap{width:100%;height:auto;filter:drop-shadow(0 30px 50px rgba(16,38,95,.18))}
.routemap .land{fill:#fff;stroke:var(--line);stroke-width:1.5}
.routemap .land--hl{fill:var(--brand-50);stroke:var(--brand-200)}
.routemap .route{fill:none;stroke:var(--brand-500);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 9;animation:dashFlow 18s linear infinite}
.routemap .route-glow{fill:none;stroke:var(--brand-400);stroke-width:7;stroke-linecap:round;opacity:.15}
.routemap .node{fill:#fff;stroke:var(--brand-500);stroke-width:2.5}
.routemap .node--home{fill:var(--brand-600);stroke:#fff}
.routemap .ping{fill:var(--brand-500);transform-origin:center;transform-box:fill-box;animation:ping 2.6s var(--ease-in-out) infinite}

/* Hero carousel (route map ⇄ logo video) */
.hero-carousel{position:relative}
.hero-frame{position:relative;aspect-ratio:5/2;border-radius:var(--r-xl);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg)}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s var(--ease)}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide .routemap{width:100%;height:100%;display:block}
.hero-video{width:100%;height:100%;object-fit:cover;display:block;background:#fff}
.hero-dots{display:flex;gap:.55rem;justify-content:center;margin-top:1.4rem}
.hero-dot{width:34px;height:5px;border-radius:99px;background:var(--brand-200);cursor:pointer;transition:background var(--t) var(--ease),width var(--t) var(--ease)}
.hero-dot:hover{background:var(--brand-400)}
.hero-dot.is-active{background:var(--brand-600);width:48px}
@media (max-width:700px){.hero-frame{aspect-ratio:4/3}}

/* Hero — wariant wyśrodkowany (wizual na górze, tekst pod spodem) */
.hero--centered .hero__center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:clamp(2rem,4vw,3rem)}
.hero--centered .hero__visual{order:-1;width:100%;max-width:100%;margin-inline:auto}
.hero--centered .hero__copy{display:flex;flex-direction:column;align-items:center;max-width:820px}
.hero--centered .hero__title{font-size:clamp(2.4rem,1.5rem + 3.4vw,4rem)}
.hero--centered .hero__lead{margin-inline:auto;max-width:58ch}
.hero--centered .hero__actions{justify-content:center}
.hero--centered .hero__trust{justify-content:center}
.hero--centered .hero__badge{margin-inline:auto}

/* ----------------------------------------------------------------- STATS */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.stat{padding:.25rem .5rem}
.stat__num{font-family:var(--font-head);font-weight:800;font-size:clamp(2.2rem,1.4rem + 2.2vw,3.25rem);line-height:1;color:var(--brand-600);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat__suffix{color:var(--brand-400)}
.section--navy .stat__num,.section--brand .stat__num{color:#fff}
.section--navy .stat__suffix,.section--brand .stat__suffix{color:var(--brand-300)}
.stat__label{margin-top:.6rem;color:var(--muted);font-size:var(--fs-sm)}
.section--navy .stat__label,.section--brand .stat__label{color:#aebbd6}
.stats--bordered .stat{border-left:2px solid var(--line);padding-left:1.4rem}
.section--navy .stats--bordered .stat,.section--brand .stats--bordered .stat{border-color:rgba(255,255,255,.18)}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr);gap:2.2rem 1.2rem}}

/* ----------------------------------------------------------------- CARDS */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.cards--2{grid-template-columns:repeat(2,1fr)}
.cards--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.cards,.cards--4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.cards,.cards--2,.cards--4{grid-template-columns:1fr}}
.card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem 1.85rem;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent}
.card__icon{display:grid;place-items:center;width:60px;height:60px;border-radius:var(--r-md);background:var(--brand-50);color:var(--brand-600);margin-bottom:1.35rem;transition:background var(--t),color var(--t)}
.card:hover .card__icon{background:var(--brand-600);color:#fff}
.card__icon svg{width:30px;height:30px}
.card__title{font-size:var(--fs-h3)}
.card__text{margin-top:.7rem;color:var(--muted);font-size:var(--fs-sm)}
.card__link{margin-top:auto;padding-top:1.3rem}
.card--navy{background:var(--navy-900);border-color:transparent;color:#fff}
.card--navy .card__title{color:#fff}
.card--navy .card__text{color:#aebbd6}
.card--navy .card__icon{background:rgba(255,255,255,.08);color:var(--brand-300)}
.card--navy:hover .card__icon{background:var(--brand-600);color:#fff}

/* Feature list */
.features{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem 2.2rem}
@media (max-width:720px){.features{grid-template-columns:1fr}}
.feature{display:flex;gap:1.1rem;align-items:flex-start}
.feature__icon{flex:none;width:50px;height:50px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--brand-50);color:var(--brand-600)}
.section--navy .feature__icon{background:rgba(255,255,255,.08);color:var(--brand-300)}
.feature__icon svg{width:26px;height:26px}
.feature__title{font-family:var(--font-head);font-weight:600;font-size:1.1rem;color:var(--ink)}
.section--navy .feature__title{color:#fff}
.feature__text{margin-top:.4rem;color:var(--muted);font-size:var(--fs-sm)}
.section--navy .feature__text{color:#aebbd6}

/* Split media block */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split--reverse .split__media{order:2}
@media (max-width:880px){.split{grid-template-columns:1fr;gap:2.5rem}.split--reverse .split__media{order:0}}
.media-frame{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-lg)}
.media-frame img{width:100%;height:100%;object-fit:cover;display:block}
.media-frame--ratio{aspect-ratio:4/3}

/* Checklist */
.checklist{display:grid;gap:.9rem}
.checklist li{display:flex;align-items:flex-start;gap:.75rem;color:var(--ink-soft)}
.checklist svg{flex:none;width:24px;height:24px;color:var(--brand-600);margin-top:1px}
.section--navy .checklist li{color:#d4dcec}
.section--navy .checklist svg{color:var(--brand-300)}

/* Process steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;counter-reset:step}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{position:relative;padding:1.8rem 1.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg)}
.step__num{font-family:var(--font-head);font-weight:800;font-size:1.05rem;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--brand-600);color:#fff;margin-bottom:1.1rem}
.step__title{font-family:var(--font-head);font-weight:600;font-size:1.08rem}
.step__text{margin-top:.5rem;color:var(--muted);font-size:var(--fs-sm)}

/* Trailer dimensions (fleet) */
.trailer-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:1.4rem;padding-top:1.3rem;border-top:1px solid var(--line)}
.trailer-dim{display:flex;flex-direction:column;gap:.15rem}
.trailer-dim__k{font-size:.78rem;color:var(--muted)}
.trailer-dim__v{font-family:var(--font-head);font-weight:700;font-size:1.05rem;color:var(--ink);font-variant-numeric:tabular-nums}

/* Spec list (fleet) */
.specs{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
@media (max-width:560px){.specs{grid-template-columns:1fr}}
.spec{background:#fff;padding:1.5rem 1.6rem}
.spec__k{font-size:var(--fs-sm);color:var(--muted)}
.spec__v{margin-top:.35rem;font-family:var(--font-head);font-weight:700;font-size:1.4rem;color:var(--ink)}

/* CTA band */
.cta-band{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:clamp(2.5rem,5vw,4rem);background:linear-gradient(135deg,var(--brand-700),var(--brand-600) 55%,var(--brand-500));color:#fff}
.cta-band__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cta-band h2{color:#fff;max-width:20ch}
.cta-band p{margin-top:.8rem;color:#d6dcf7;max-width:48ch}
.cta-band__deco{position:absolute;inset:0;opacity:.5;pointer-events:none}

/* ----------------------------------------------------------------- PAGE HERO */
.page-hero{position:relative;overflow:hidden;background:var(--navy-900);color:#fff;padding-block:clamp(3rem,6vw,5rem)}
.page-hero__deco{position:absolute;inset:0;opacity:.5;pointer-events:none}
.page-hero__inner{position:relative;z-index:1;max-width:64ch}
.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#9fadc9;margin-bottom:1.1rem}
.breadcrumb a:hover{color:#fff}
.breadcrumb svg{width:14px;height:14px;opacity:.6}
.page-hero h1{color:#fff}
.page-hero p{margin-top:1.1rem;color:#c7d0e4;font-size:var(--fs-lead)}

/* ----------------------------------------------------------------- FORMS */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.form-grid .field--full{grid-column:1/-1}
@media (max-width:600px){.form-grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.5rem}
.field label{font-family:var(--font-head);font-weight:600;font-size:.9rem;color:var(--ink-soft)}
.field .req{color:var(--danger)}
.field input,.field select,.field textarea{width:100%;padding:.95rem 1.1rem;min-height:54px;border:1.5px solid var(--line);border-radius:var(--r-md);background:#fff;font-size:1rem;transition:border-color var(--t),box-shadow var(--t)}
.field textarea{min-height:150px;resize:vertical;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:var(--muted-2)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 4px var(--brand-50)}
.field__help{font-size:.82rem;color:var(--muted-2)}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger);box-shadow:0 0 0 4px rgba(217,45,32,.08)}
.field__error{font-size:.82rem;color:var(--danger);display:none}
.field.has-error .field__error{display:block}
.form-note{font-size:.82rem;color:var(--muted-2)}
.form-status{display:none;align-items:center;gap:.6rem;padding:1rem 1.2rem;border-radius:var(--r-md);font-size:.95rem;font-weight:500}
.form-status.is-visible{display:flex}
.form-status svg{width:24px;height:24px;flex:none}
.form-status--ok{background:#e7f6ee;color:#0c7a43}
.form-status--ok svg{color:#0f9d58}
.form-status--err{background:#fdecea;color:#b42318}
.form-status--err svg{color:#d92d20}
.form-status--wait{background:#fff7e6;color:#92600a}
.form-status--wait svg{color:#d98a00}

/* Info tiles (contact) */
.info-tiles{display:grid;gap:1rem}
.info-tile{display:flex;gap:1rem;align-items:flex-start;padding:1.4rem 1.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);transition:box-shadow var(--t),transform var(--t)}
.info-tile:hover{box-shadow:var(--shadow-sm)}
.info-tile__icon{flex:none;width:48px;height:48px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--brand-50);color:var(--brand-600)}
.info-tile__k{font-size:var(--fs-sm);color:var(--muted)}
.info-tile__v{margin-top:.25rem;font-family:var(--font-head);font-weight:600;color:var(--ink);font-size:1.05rem}
.info-tile__v a:hover{color:var(--brand-700)}

/* Map */
.map-frame{position:relative;min-height:360px;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md);background:var(--surface)}
.map-frame iframe{display:block;width:100%;height:100%;border:0;min-height:360px}

/* Contact layout */
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(1.5rem,3vw,2.5rem);box-shadow:var(--shadow-sm)}
.consent{display:flex;gap:.7rem;align-items:flex-start}
.consent input{width:20px;height:20px;min-height:0;flex:none;margin-top:3px;accent-color:var(--brand-600)}
.consent label{font-weight:400;font-size:.85rem;color:var(--muted)}

/* ----------------------------------------------------------------- FOOTER */
.footer{background:var(--navy-900);color:#a9b6d1}
.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2.5rem;padding-block:clamp(3rem,6vw,4.5rem)}
.footer .logo{height:42px;width:auto}
.footer .footer__brandlink .logo{height:46px;width:auto;display:block}
.footer__about{margin-top:1.2rem;font-size:var(--fs-sm);color:#9fadc9;max-width:34ch}
.footer__social{display:flex;gap:.6rem;margin-top:1.4rem}
.footer__social a{width:42px;height:42px;border-radius:var(--r-sm);display:grid;place-items:center;background:rgba(255,255,255,.06);color:#cdd6e8;transition:background var(--t),color var(--t),transform var(--t)}
.footer__social a:hover{background:var(--brand-600);color:#fff;transform:translateY(-2px)}
.footer__social svg{width:20px;height:20px}
.footer__col h4{font-family:var(--font-head);font-size:.95rem;font-weight:700;color:#fff;letter-spacing:.02em;margin-bottom:1.1rem}
.footer__col ul{display:grid;gap:.7rem}
.footer__col a,.footer__col li{font-size:var(--fs-sm);color:#a9b6d1;transition:color var(--t)}
.footer__col a:hover{color:#fff}
.footer__contact li{display:flex;gap:.6rem;align-items:flex-start}
.footer__contact svg{width:18px;height:18px;color:var(--brand-300);flex:none;margin-top:2px}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding-block:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;color:#7f8eae}
.footer__bottom a:hover{color:#fff}
@media (max-width:860px){.footer__top{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer__top{grid-template-columns:1fr}}

/* ----------------------------------------------------------------- REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i,0)*70ms)}
.reveal.is-visible{opacity:1;transform:none}
.reveal--left{transform:translateX(-28px)}
.reveal--right{transform:translateX(28px)}
.reveal--left.is-visible,.reveal--right.is-visible{transform:none}

/* ----------------------------------------------------------------- KEYFRAMES */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes dashFlow{to{stroke-dashoffset:-300}}
@keyframes ping{0%{transform:scale(1);opacity:.7}70%{transform:scale(3.4);opacity:0}100%{opacity:0}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* --------------------------------------------------------- REDUCED MOTION */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important
  }
  html{scroll-behavior:auto}
  .reveal{opacity:1!important;transform:none!important}
}

/* ===================== HERO WIDEO (strona główna) ===================== */
.vhero{position:relative;isolation:isolate;min-height:clamp(560px,92vh,880px);display:flex;align-items:center;overflow:hidden;background:var(--navy-900)}
.vhero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.vhero__scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,15,35,.74) 0%,rgba(8,15,35,.34) 26%,rgba(8,15,35,.40) 60%,rgba(8,15,35,.84) 100%)}
.vhero__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff;
  padding-top:calc(var(--tb-h) + var(--hd-h) + clamp(2rem,5vw,3.5rem));padding-bottom:clamp(2.5rem,5vw,4rem)}
.vhero__badge{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.30);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vhero__badge .dot{background:#39d98a;box-shadow:0 0 0 4px rgba(57,217,138,.22)}
.vhero__title{margin-top:1.5rem;font-family:'Sora',sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1.05;color:#fff;
  font-size:clamp(2.3rem,1.3rem + 3.6vw,4.1rem);max-width:17ch;text-shadow:0 2px 26px rgba(0,0,0,.38)}
.vhero__title .accent{color:#8fb0ff}
.vhero__lead{margin-top:1.35rem;font-size:var(--fs-lead);color:rgba(255,255,255,.93);max-width:60ch;text-shadow:0 1px 16px rgba(0,0,0,.34)}
.vhero__actions{margin-top:2.1rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.vhero__ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.55);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.vhero__ghost:hover{background:rgba(255,255,255,.18);border-color:#fff;color:#fff}
.vhero__trust{margin-top:2.4rem;display:flex;gap:1.8rem;flex-wrap:wrap;justify-content:center;list-style:none;padding:0}
.vhero__trust li{display:flex;align-items:center;gap:.6rem;font-size:var(--fs-sm);color:rgba(255,255,255,.94);font-weight:600}
.vhero__trust svg{width:22px;height:22px;color:#8fb0ff;flex:none}
@media (max-width:640px){.vhero__trust{gap:.7rem 1.4rem}.vhero__trust li{font-size:.82rem}}

/* --- Przezroczysty nagłówek na wideo (tylko strona główna, u góry) --- */
body[data-page="home"]{--tb-h:44px;--hd-h:79px}
@media (max-width:760px){body[data-page="home"]{--tb-h:0px;--hd-h:66px}}
body[data-page="home"] .vhero{margin-top:calc(-1 * (var(--tb-h) + var(--hd-h)))}
body[data-page="home"] .topbar{position:relative;z-index:40;background:transparent;border-bottom:1px solid rgba(255,255,255,.16)}
body[data-page="home"] .topbar a{color:#eaf0ff}
body[data-page="home"] .topbar a:hover{color:#fff}
body[data-page="home"] .topbar svg{color:#9fc0ff}
body[data-page="home"] .topbar__note{color:#cad6f0}
body[data-page="home"] .site-header{z-index:41;background:transparent;border-bottom-color:transparent;box-shadow:none}
body[data-page="home"] .site-header:not(.is-scrolled) .nav__link{color:#f2f5ff}
body[data-page="home"] .site-header:not(.is-scrolled) .nav__link:hover,
body[data-page="home"] .site-header:not(.is-scrolled) .nav__link.is-active{color:#fff}
body[data-page="home"] .site-header:not(.is-scrolled) .lang__btn{color:#fff;border-color:rgba(255,255,255,.42)}
body[data-page="home"] .site-header:not(.is-scrolled) .nav__toggle .bars span{background:#fff}
.logo--white{display:none}
body[data-page="home"] .site-header:not(.is-scrolled) .logo--color{display:none}
body[data-page="home"] .site-header:not(.is-scrolled) .logo--white{display:block}
body[data-page="home"] .site-header.is-scrolled{background:#fff;border-bottom-color:var(--line-soft)}
/* otwarte menu mobilne: panel jest biały → linki muszą być ciemne (czytelne) */
body[data-page="home"] .site-header.is-menu-open .nav__link{color:var(--ink-soft,#334155)}
body[data-page="home"] .site-header.is-menu-open .nav__link:hover,
body[data-page="home"] .site-header.is-menu-open .nav__link.is-active{color:var(--brand-600,#1932a0)}

/* reduced-motion: nie odtwarzaj wideo, pokaż plakat */
@media (prefers-reduced-motion:reduce){
  .vhero__video{display:none}
  .vhero{background:#0a1733 url(../assets/img/hero-drone-poster.jpg) center/cover no-repeat}
}

/* ===================== GALERIA FLOTY ===================== */
.fleet-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.7rem,1.3vw,1.1rem);margin-top:2.6rem}
.fleet-gallery figure{position:relative;margin:0;overflow:hidden;border-radius:var(--r-lg);background:var(--navy-900);box-shadow:var(--shadow-sm);aspect-ratio:3/2}
.fleet-gallery .g-feature{grid-column:1 / -1;aspect-ratio:16/6}
.fleet-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.fleet-gallery figure:hover img{transform:scale(1.05)}
.fleet-gallery figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(8,15,35,.35));opacity:0;transition:opacity var(--t)}
.fleet-gallery figure:hover::after{opacity:1}
@media (max-width:640px){.fleet-gallery{grid-template-columns:1fr}.fleet-gallery .g-feature{aspect-ratio:16/10}}

/* ===================== STRONY PRAWNE (polityka prywatności) ===================== */
.legal{max-width:min(78ch,100%);margin-inline:auto;color:var(--ink-soft)}
.legal h2{margin-top:3rem;margin-bottom:.9rem;font-family:'Sora',sans-serif;font-size:clamp(1.35rem,1.1rem + .7vw,1.7rem);font-weight:700;color:var(--ink);letter-spacing:-.02em;scroll-margin-top:120px}
.legal h3{margin-top:2rem;margin-bottom:.6rem;font-family:'Sora',sans-serif;font-size:1.08rem;font-weight:600;color:var(--ink);scroll-margin-top:120px}
.legal p{margin-bottom:1rem;line-height:1.75}
.legal ul,.legal ol{margin:0 0 1.2rem 1.3rem;padding:0}
.legal li{margin-bottom:.55rem;line-height:1.7}
.legal a{color:var(--brand-600);text-decoration:underline;text-underline-offset:2px}
.legal a:hover{color:var(--brand-700,#16308f)}
.legal code{padding:.12em .4em;border-radius:6px;background:var(--brand-50,#eef2ff);border:1px solid var(--line-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;color:var(--ink)}
.legal__meta{padding:1rem 1.15rem;border-radius:var(--r-md,12px);background:var(--surface-2,#f6f8fc);border:1px solid var(--line-soft);font-size:.94rem}
.legal__toc{margin:2.2rem 0 .5rem;padding:1.3rem 1.5rem;border-radius:var(--r-lg,16px);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs)}
.legal__toc h2{margin:0 0 .8rem;font-size:1.05rem}
.legal__toc ol{margin:0 0 0 1.2rem}
.legal__toc li{margin-bottom:.35rem}
.legal__box{margin:1.2rem 0 1.6rem;padding:1.2rem 1.4rem;border-radius:var(--r-lg,16px);background:var(--surface-2,#f6f8fc);border:1px solid var(--line)}
.legal__box p:last-child{margin-bottom:0}
.legal__box--accent{background:var(--brand-50,#eef2ff);border-color:var(--brand-200,#c7d2fe)}
.legal__todo{padding:.1em .45em;border-radius:6px;background:#fff3cd;border:1px dashed #d9a300;color:#7a5c00;font-weight:600;font-size:.92em}
.legal__note{padding:.95rem 1.15rem;border-radius:var(--r-md,12px);background:var(--brand-50,#eef2ff);border-left:3px solid var(--brand-600);font-size:.95rem}
.legal__dim{color:var(--muted);font-size:.9em}
.legal__table-wrap{margin:1.2rem 0 1.8rem;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-lg,16px);border:1px solid var(--line);background:#fff}
.legal__table{width:100%;min-width:660px;border-collapse:collapse;font-size:.9rem}
.legal__table th,.legal__table td{padding:.8rem .9rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft);line-height:1.6}
.legal__table thead th{background:var(--navy-900);color:#fff;font-weight:600;font-size:.86rem;letter-spacing:.01em;border-bottom:none}
.legal__table tbody tr:last-child td{border-bottom:none}
.legal__table tbody tr:nth-child(even){background:var(--surface-2,#f8fafc)}
.legal .btn{text-decoration:none}
@media (max-width:640px){.legal h2{margin-top:2.4rem}.legal__toc{padding:1.1rem 1.2rem}}

/* ===================== FAQ ===================== */
.faq{max-width:860px;margin:2.6rem auto 0;display:flex;flex-direction:column;gap:.75rem}
.faq__item{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg,16px);box-shadow:var(--shadow-xs);overflow:hidden;transition:box-shadow var(--t) var(--ease),border-color var(--t)}
.faq__item[open]{border-color:var(--brand-200,#c7d2fe);box-shadow:var(--shadow-sm)}
.faq__item summary{list-style:none;cursor:pointer;padding:1.1rem 3.2rem 1.1rem 1.3rem;position:relative;
  font-family:'Sora',sans-serif;font-weight:600;font-size:1.02rem;color:var(--ink);line-height:1.5}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:hover{color:var(--brand-600)}
.faq__item summary:focus-visible{outline:2px solid var(--brand-600);outline-offset:-2px;border-radius:var(--r-lg,16px)}
.faq__item summary::after{content:"";position:absolute;right:1.25rem;top:50%;width:11px;height:11px;
  border-right:2.4px solid var(--brand-600);border-bottom:2.4px solid var(--brand-600);
  transform:translateY(-70%) rotate(45deg);transition:transform var(--t) var(--ease)}
.faq__item[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq__a{padding:0 1.3rem 1.25rem}
.faq__a p{margin:0;color:var(--ink-soft);line-height:1.72;font-size:.96rem}
@media (max-width:560px){.faq__item summary{font-size:.96rem;padding:1rem 2.9rem 1rem 1.1rem}}

/* klauzula RODO pod formularzem */
.form-rodo{margin-top:1rem;padding:.9rem 1.05rem;border-radius:var(--r-md,12px);background:var(--surface-2,#f6f8fc);border:1px solid var(--line-soft);font-size:.8rem;line-height:1.6;color:var(--muted)}
.form-rodo a{color:var(--brand-600);text-decoration:underline;text-underline-offset:2px}

/* stopka — obszar prawny */
.footer__legal{display:inline-flex;align-items:center;gap:1.1rem;flex-wrap:wrap}
.footer__cookiebtn{background:none;border:none;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;opacity:.85}
.footer__cookiebtn:hover{opacity:1;color:#fff}
.footer__reg{margin-top:.9rem;font-size:.82rem;color:#8fa0c0;line-height:1.6}

/* ===================== BANER COOKIES ===================== */
.cookiebar{position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:clamp(1rem,2vw,1.4rem);
  background:rgba(10,23,51,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-top:1px solid rgba(255,255,255,.14);box-shadow:0 -12px 40px -18px rgba(0,0,0,.6);
  transform:translateY(110%);transition:transform .38s var(--ease,cubic-bezier(.22,1,.36,1))}
.cookiebar.is-open{transform:translateY(0)}
.cookiebar__inner{max-width:1200px;margin-inline:auto;display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);flex-wrap:wrap}
.cookiebar__text{flex:1 1 380px;min-width:0;color:#dce4f5;font-size:.92rem;line-height:1.65}
.cookiebar__text strong{display:block;margin-bottom:.3rem;color:#fff;font-family:'Sora',sans-serif;font-size:1rem;font-weight:700}
.cookiebar__text a{color:#9fc0ff;text-decoration:underline;text-underline-offset:2px}
.cookiebar__text a:hover{color:#fff}
.cookiebar__actions{display:flex;gap:.7rem;flex-wrap:wrap;flex:0 0 auto}
.cookiebar__btn{padding:.72rem 1.3rem;border-radius:var(--r-pill,99px);font:inherit;font-size:.92rem;font-weight:600;cursor:pointer;transition:background var(--t) var(--ease),border-color var(--t),transform var(--t);white-space:nowrap}
.cookiebar__btn:hover{transform:translateY(-1px)}
.cookiebar__btn--accept{background:var(--brand-600);border:1px solid var(--brand-600);color:#fff}
.cookiebar__btn--accept:hover{background:var(--brand-500,#2c4fd6)}
.cookiebar__btn--reject{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff}
.cookiebar__btn--reject:hover{background:rgba(255,255,255,.12);border-color:#fff}
@media (max-width:640px){
  .cookiebar__inner{gap:1rem}
  .cookiebar__actions{width:100%}
  .cookiebar__btn{flex:1 1 auto;text-align:center}
}

/* zastępnik mapy do czasu zgody */
.map-consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;
  padding:1.5rem;text-align:center;background:var(--navy-900) url(../assets/img/hero-drone-poster.jpg) center/cover no-repeat}
.map-consent::before{content:"";position:absolute;inset:0;background:rgba(10,23,51,.82)}
.map-consent__inner{position:relative;z-index:1;max-width:44ch;color:#dce4f5}
.map-consent__inner strong{display:block;margin-bottom:.45rem;color:#fff;font-family:'Sora',sans-serif;font-size:1.02rem}
.map-consent__inner p{margin:0 0 1rem;font-size:.9rem;line-height:1.6}
.map-consent__inner a{color:#9fc0ff;text-decoration:underline}
