/* ── Agencja Ubezpieczeniowa Enter ─────────────────────────────── */

:root{
  --brand:        #2e839c;
  --brand-dark:   #1d6980;
  --brand-darker: #14505f;
  --brand-tint:   #eaf3f6;
  --brand-line:   #cfe2e8;

  --ink:    #0d1c22;
  --ink-70: #3b5058;
  --muted:  #5f767e;
  --line:   #e3eaed;
  --bg:     #ffffff;
  --surface:#f5f8f9;

  --w: 1400px;
  --pad: 28px;
  --r: 14px;
  --r-sm: 10px;

  --ff: 'Questrial', system-ui, -apple-system, 'Segoe UI', sans-serif;
  /* Questrial ma tylko wagę 400, więc trzyma nagłówki; tekst i UI zostają na Interze */
  --ff-head: var(--ff);
}

@media (min-width: 1800px){ :root{ --w:1560px; } }
@media (max-width: 1500px){ :root{ --w:1240px; } }

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--ff); font-size:17px; line-height:1.65;
  font-weight:400; -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }

h1,h2,h3,h4{
  margin:0; font-family:var(--ff-head); font-weight:400;
  line-height:1.16; letter-spacing:-.015em;
}
h1{ font-size:clamp(2.1rem, 1.4rem + 2.6vw, 3.5rem); }
h2{ font-size:clamp(1.7rem, 1.2rem + 1.8vw, 2.5rem); }
h3{ font-size:1.16rem; letter-spacing:-.005em; }
p{ margin:0 0 1em; }
p:last-child{ margin-bottom:0; }

.wrap{ width:100%; max-width:var(--w); margin-inline:auto; padding-inline:var(--pad); }
.skip{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--brand-dark); color:#fff; padding:12px 18px; border-radius:0 0 8px 0;
}
.skip:focus{ left:0; }

/* ── Buttons ──────────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 20px; border-radius:999px; border:1.5px solid transparent;
  font-weight:400; font-size:.9rem; letter-spacing:-.005em; cursor:pointer;
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
  white-space:nowrap;
}
.btn--primary{ background:var(--brand-dark); color:#fff; }
.btn--primary:hover{ background:var(--brand-darker); }
.btn--ghost{ border-color:var(--line); color:var(--ink); background:#fff; }
.btn--ghost:hover{ border-color:var(--brand); color:var(--brand-dark); }
.btn--light{ background:#fff; color:var(--ink); }
.btn--light:hover{ background:#eef4f6; color:var(--brand-darker); }
.btn--sm{ padding:8px 16px; font-size:.85rem; }
.btn svg{ flex:none; }

/* ── Topbar ───────────────────────────────────────────────────── */
.topbar{ background:var(--surface); border-bottom:1px solid var(--line); font-size:.79rem; }
.topbar__inner{ display:flex; align-items:center; justify-content:flex-end; height:38px; }

.tb-office{ display:flex; align-items:center; gap:12px; }
.tb-office + .tb-office{ margin-left:22px; padding-left:22px; border-left:1px solid var(--brand-line); }
.tb-office__city{
  font-size:.69rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--brand-dark); white-space:nowrap;
}
.tb-office__addr{ color:var(--muted); white-space:nowrap; }
.tb-office__tel{
  display:inline-flex; align-items:center; gap:6px;
  color:var(--ink); white-space:nowrap; letter-spacing:-.01em;
}
.tb-office__tel svg{ flex:none; color:var(--brand); transition:color .16s ease; }
.tb-office__tel:hover svg{ color:var(--brand-dark); }
.tb-office__tel:hover{ color:var(--brand-dark); }

/* ── Nav ──────────────────────────────────────────────────────── */
.nav{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.94);
  backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line);
}
.nav__inner{ display:flex; align-items:center; gap:28px; height:78px; }
.nav__logo img{ width:auto; height:52px; }

.nav__list{ display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0; }
.nav__list > li > a,
.nav__sub-link,
.nav__sub-toggle{
  display:inline-flex; align-items:center; gap:6px;
  padding:9px 11px; border:0; background:none;
  font-size:.95rem; font-weight:400; color:var(--ink-70); cursor:pointer;
  transition:color .16s ease, background .16s ease;
}
.nav__sub-link{ padding-right:3px; }
.nav__sub-toggle{ padding-left:4px; }
.nav__list > li > a:hover, .nav__sub-link:hover, .nav__sub-toggle:hover{ color:var(--ink); }
.nav__list a.is-active, .nav__sub-link.is-active{ color:var(--brand-dark); }
.has-sub:hover .nav__sub-link{ color:var(--ink); }

.has-sub{ position:static; }
.nav{ position:sticky; }

/* ── Mega menu ────────────────────────────────────────────────── */
.has-sub{ position:relative; }
.mega{
  position:absolute; top:calc(100% + 12px); left:-10px; z-index:60;
  width:660px; display:grid; grid-template-columns:minmax(0,1fr) 244px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
.has-sub:hover .mega, .has-sub:focus-within .mega{ opacity:1; visibility:visible; transform:none; }

.mega__list{ padding:10px; display:flex; flex-direction:column; }
.mega__item{
  display:flex; align-items:center; gap:14px; padding:13px 12px; border-radius:var(--r-sm);
  transition:background .16s ease;
}
.mega__item:hover{ background:var(--surface); }
.mega__ico{
  flex:none; width:40px; height:40px; border-radius:11px;
  background:var(--brand-tint); color:var(--brand-dark);
  display:flex; align-items:center; justify-content:center;
  transition:background .16s ease, color .16s ease;
}
.mega__ico svg{ width:21px; height:21px; }
.mega__item:hover .mega__ico{ background:var(--brand-dark); color:#fff; }
.mega__txt{ flex:1; min-width:0; }
.mega__txt strong{ display:block; font-size:.98rem; color:var(--ink); letter-spacing:-.01em; margin-bottom:2px; }
.mega__txt span{ display:block; font-size:.82rem; line-height:1.45; color:var(--muted); }
.mega__arrow{
  flex:none; color:var(--brand); opacity:0; transform:translateX(-5px);
  transition:opacity .18s ease, transform .18s ease;
}
.mega__item:hover .mega__arrow{ opacity:1; transform:none; }

.mega__aside{
  background:var(--brand-dark); color:#fff;
  padding:26px 22px; display:flex; flex-direction:column; gap:20px;
}
.mega__aside h4{ font-size:1.08rem; color:#fff; margin-bottom:7px; }
.mega__aside p{ font-size:.85rem; line-height:1.5; color:#bcd8e2; margin:0; }
.mega__tels{ margin-top:auto; display:flex; flex-direction:column; }
.mega__tel{ display:block; padding:11px 0; border-top:1px solid rgba(255,255,255,.16); }
.mega__tel span{
  display:block; font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; color:#8fc4d4;
}
.mega__tel strong{ font-size:1.12rem; color:#fff; letter-spacing:-.02em; font-weight:400; }
.mega__tel:hover strong{ color:#9fd8e8; }
.mega__all{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:11px 0; border-top:1px solid rgba(255,255,255,.16);
  font-size:.88rem; color:#fff;
}
.mega__all svg{ flex:none; color:#7fc0d4; transition:transform .18s ease; }
.mega__all:hover svg{ transform:translateX(3px); }
.mega__cta{ width:100%; }

.nav__actions{ display:flex; align-items:center; gap:12px; margin-left:auto; }
.nav__tel{
  display:none; align-items:center; gap:8px;
  font-weight:400; font-size:.97rem; color:var(--brand-dark); white-space:nowrap;
}
.nav__tel:hover{ color:var(--brand-darker); }

.nav-eshop{
  display:inline-flex; align-items:center; gap:9px;
  padding:6px 14px 6px 11px; border:1px solid var(--line); border-radius:999px;
  font-size:.85rem; color:var(--ink-70); white-space:nowrap;
  transition:border-color .18s ease, color .18s ease, background .18s ease;
}
.nav-eshop img{ width:52px; height:auto; }
.nav-eshop span{ position:relative; padding-left:11px; }
.nav-eshop span::before{
  content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:1px; height:16px; background:var(--line);
}
.nav-eshop svg{ flex:none; color:var(--brand); }
.nav-eshop:hover{ border-color:var(--brand-line); background:var(--surface); color:var(--ink); }

.nav__burger{
  display:none; width:44px; height:44px; border:1px solid var(--line);
  border-radius:10px; background:#fff; padding:0; cursor:pointer;
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.nav__burger span{ display:block; width:19px; height:2px; background:var(--ink); border-radius:2px; transition:transform .2s ease, opacity .2s ease; }
.nav__burger.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__burger.is-open span:nth-child(2){ opacity:0; }
.nav__burger.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ── Widget eShop Generali ────────────────────────────────────── */
.eshop{
  position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:45;
  width:112px; padding:13px 11px 12px; text-align:center;
  background:#fff; border:1px solid var(--line); border-right:0;
  border-radius:var(--r) 0 0 var(--r);
  transition:transform .22s cubic-bezier(.2,.7,.3,1), border-color .22s ease, background .22s ease;
}
.eshop:hover{ transform:translateY(-50%) translateX(-4px); border-color:var(--brand-line); background:var(--surface); }
.eshop__logo{ display:block; margin-bottom:9px; }
.eshop__logo img{ width:64px; height:auto; margin-inline:auto; }
.eshop__row{ display:flex; align-items:center; justify-content:center; gap:5px; }
.eshop__txt{ font-size:.76rem; line-height:1.28; color:var(--ink); letter-spacing:-.01em; }
.eshop__row svg{ flex:none; width:12px; height:12px; color:var(--brand); }

@media (max-width: 1400px){
  .eshop{ width:102px; padding:11px 9px 10px; }
  .eshop__logo img{ width:58px; }
  .eshop__txt{ font-size:.72rem; }
}
@media (max-width: 1040px){
  .eshop{ display:none; }
}

/* ── Hero slider ──────────────────────────────────────────────── */
.hero{
  position:relative; overflow:hidden; background:#0d1c22;
  height:clamp(520px, 74vh, 760px);
}
.hero__slides{ position:absolute; inset:0; }
.hero__slide{
  position:absolute; inset:0; display:flex; align-items:center;
  opacity:0; visibility:hidden; transition:opacity .7s ease, visibility .7s;
}
.hero__slide.is-active{ opacity:1; visibility:visible; }
.hero__bg{ position:absolute; inset:0; }
.hero__bg img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.04); transition:transform 9s ease-out;
}
.hero__slide.is-active .hero__bg img{ transform:scale(1.13); }
.hero__shade{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(8,22,28,.86) 0%, rgba(8,22,28,.62) 32%, rgba(8,22,28,.22) 58%, rgba(8,22,28,.04) 82%, transparent 100%),
    linear-gradient(180deg, rgba(8,22,28,.30) 0%, transparent 28%, transparent 70%, rgba(8,22,28,.32) 100%);
}
/* zdjęcia, które same w sobie są ciemne, dostają lżejszą nakładkę */
.hero__slide--soft .hero__shade{
  background:
    linear-gradient(90deg, rgba(8,22,28,.80) 0%, rgba(8,22,28,.58) 42%, rgba(8,22,28,.18) 78%, rgba(8,22,28,0) 100%),
    linear-gradient(180deg, rgba(8,22,28,.30) 0%, transparent 34%);
}
.hero__body{
  position:relative; width:100%; color:#fff;
  padding-bottom:64px;
}
.hero__kicker{
  display:inline-flex; align-items:center; gap:9px; margin:0 0 18px;
  padding:7px 16px 7px 13px; border-radius:999px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3);
  font-size:.82rem; letter-spacing:.02em; color:#fff;
}
.hero__kicker::before{
  content:''; width:6px; height:6px; border-radius:50%; background:#6fc0d6; flex:none;
}
.hero__title{
  font-size:clamp(1.75rem, 1.15rem + 1.9vw, 2.85rem); color:#fff;
  margin-bottom:18px; text-wrap:balance;
}
.hero__lead{
  font-size:clamp(1rem, .95rem + .25vw, 1.12rem); color:#d3e0e5;
  max-width:56ch; margin-bottom:30px;
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:12px; }

.hero__nav{
  position:absolute; left:50%; transform:translateX(-50%); bottom:34px;
  display:flex; align-items:center; gap:12px; z-index:3;
}
.hero__arrow{
  width:46px; height:46px; border-radius:50%; flex:none;
  border:1.5px solid rgba(255,255,255,.42); background:rgba(255,255,255,.06);
  color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer;
  transition:background .18s ease, border-color .18s ease;
}
.hero__arrow:hover{ background:var(--brand); border-color:var(--brand); }
.hero__dots{ display:flex; align-items:center; gap:9px; margin-left:8px; }
.hero__dot{
  width:26px; height:26px; padding:0; border:0; background:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.hero__dot span{
  display:block; width:9px; height:9px; border-radius:50%;
  background:rgba(255,255,255,.42); transition:background .2s ease, width .2s ease, border-radius .2s ease;
}
.hero__dot.is-active span{ width:26px; border-radius:99px; background:#fff; }

@media (prefers-reduced-motion: reduce){
  .hero__bg img, .hero__slide.is-active .hero__bg img{ transform:none; transition:none; }
  .hero__slide{ transition:none; }
}

.chip{
  display:inline-flex; align-items:center; gap:9px; margin-bottom:22px;
  padding:7px 15px 7px 11px; border-radius:999px;
  background:var(--brand-tint); border:1px solid var(--brand-line);
  font-size:.83rem; font-weight:400; color:var(--brand-darker);
  letter-spacing:.01em;
}
.chip b{ font-weight:400; }
.hero__facts{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:6px 26px; padding-top:26px; border-top:1px solid var(--line);
}
.fact strong{ display:block; font-size:1.5rem; font-weight:400; letter-spacing:-.03em; color:var(--ink); }
.fact span{ font-size:.85rem; color:var(--muted); font-weight:400; line-height:1.4; display:block; }

/* karta kontaktu w hero */
.office-card{
  border:1px solid var(--line); border-radius:var(--r); background:#fff;
  box-shadow:0 14px 40px rgba(13,28,34,.06); overflow:hidden;
}
.office-card__head{
  padding:18px 22px; background:var(--brand-dark); color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.office-card__head strong{ font-size:1rem; font-weight:400; letter-spacing:-.01em; }
.office-card__head span{ font-size:.8rem; opacity:.82; font-weight:400; }
.office{ padding:20px 22px; border-bottom:1px solid var(--line); }
.office:last-child{ border-bottom:0; }
.office__city{
  font-size:.74rem; font-weight:400; letter-spacing:.09em; text-transform:uppercase;
  color:var(--brand); margin-bottom:6px;
}
.office__addr{ font-size:.95rem; color:var(--ink-70); margin-bottom:10px; }
.office__tel{
  display:inline-flex; align-items:center; gap:8px;
  font-size:1.22rem; font-weight:400; letter-spacing:-.02em; color:var(--ink);
}
.office__tel:hover{ color:var(--brand-dark); }
.office__hours{ font-size:.85rem; color:var(--muted); margin-top:8px; }
.office__hours b{ color:var(--ink-70); font-weight:400; }
.office-card__foot{
  padding:14px 22px; background:var(--surface); border-top:1px solid var(--line);
  font-size:.85rem; color:var(--muted);
}
.office-card__foot a{ color:var(--brand-dark); font-weight:400; }

/* ── Pasek towarzystw ─────────────────────────────────────────── */
.partners{ padding:46px 0 52px; }
.partners__label{
  font-size:.74rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); text-align:center; margin-bottom:32px;
}
.marquee{
  position:relative; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.marquee__track{ display:flex; align-items:center; gap:62px; width:max-content; animation:slide 58s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee img{
  height:32px; width:auto; object-fit:contain; flex:none;
  filter:grayscale(1); opacity:.42;
  transition:filter .25s ease, opacity .25s ease;
}
.marquee img:hover{ filter:none; opacity:1; }
@keyframes slide{ to{ transform:translateX(calc(-50% - 31px)); } }
@media (prefers-reduced-motion: reduce){
  .marquee__track{ animation:none; flex-wrap:wrap; width:auto; justify-content:center; gap:38px; }
}


/* ── O firmie v2 ──────────────────────────────────────────────── */
.about2{ padding:clamp(60px, 6.5vw, 104px) 0; }

.about2__head{ max-width:1150px; margin:0 auto clamp(38px, 4.5vw, 60px); text-align:center; }
.about2__head h2{
  font-size:clamp(1.6rem, 1.05rem + 1.75vw, 2.55rem);
  line-height:1.28; margin-bottom:22px; text-wrap:balance;
}
.about2__head p{
  color:var(--muted); font-size:1.04rem; line-height:1.7;
  max-width:76ch; margin:0 auto 26px;
}
.about2__cta{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }

/* ── O firmie + partnerzy ─────────────────────────────────────── */
.eyebrow{
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--brand); margin-bottom:14px;
}
.about{ padding:clamp(56px, 6vw, 92px) 0; }
.about__grid{
  display:grid; grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(34px, 5vw, 72px); align-items:stretch;
}
.about__col{ display:flex; flex-direction:column; }
.about h2{ margin-bottom:24px; }
.about__lead{ color:var(--ink-70); font-size:1.02rem; line-height:1.7; max-width:50ch; margin-bottom:30px; }

.feats{
  list-style:none; margin:0 0 30px; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:26px 30px;
}
.feats li{ display:flex; gap:13px; align-items:flex-start; }
.feats svg{ width:22px; height:22px; flex:none; color:var(--brand); margin-top:3px; }
.feats strong{
  display:block; font-weight:400; font-size:.98rem; color:var(--ink);
  letter-spacing:-.01em; margin-bottom:3px;
}
.feats span{ display:block; font-size:.88rem; line-height:1.5; color:var(--muted); }

.about__stats{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:20px; margin:30px 0 28px; padding:22px 0;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.about__stats div{ display:flex; flex-direction:column; gap:2px; }
.about__stats dt{ font-size:1.55rem; letter-spacing:-.03em; color:var(--brand-dark); line-height:1; }
.about__stats dd{ margin:0; font-size:.8rem; color:var(--muted); line-height:1.35; }

.about__cta{ display:flex; flex-wrap:wrap; gap:10px; }

.about__photo{
  margin:0; position:relative; border-radius:var(--r); overflow:hidden;
  min-height:0; aspect-ratio:3/2; align-self:start;
}
.about__photo picture{ position:absolute; inset:0; display:block; }
.about__photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 50%; }

.partners-box{
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:#fff;
}
.partners-box__head{
  padding:16px 24px; border-bottom:1px solid var(--line); background:var(--surface);
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
}
.partners-box__head span{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.partners-box__head strong{ font-size:1rem; font-weight:400; color:var(--ink); letter-spacing:-.01em; }

.partners-box__grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(10, minmax(0,1fr));
}
.partners-box__grid li{
  display:flex; align-items:center; justify-content:center;
  min-height:82px; padding:14px 10px;
  border-right:1px solid var(--line); border-bottom:1px solid var(--line);
}
.partners-box__grid li:nth-child(10n){ border-right:0; }
.partners-box__grid li:nth-last-child(-n+10){ border-bottom:0; }
.partners-box__grid img{
  width:auto; max-width:100%; object-fit:contain;
  filter:grayscale(1); opacity:.45; transition:filter .22s ease, opacity .22s ease;
}
.partners-box__grid li:hover img{ filter:none; opacity:1; }

/* ── Oferta (slider) ──────────────────────────────────────────── */
.offer{ padding:clamp(56px, 6vw, 96px) 0; background:#fafcfc; overflow:hidden; }
.offer__head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  flex-wrap:wrap; margin-bottom:clamp(26px, 3vw, 40px);
}
.offer__tools{ display:flex; align-items:center; gap:18px; }
.offer__all{
  display:inline-flex; align-items:center; gap:7px;
  font-size:.92rem; color:var(--brand-dark); white-space:nowrap;
}
.offer__all:hover{ color:var(--brand-darker); }
.offer__all svg{ transition:transform .2s ease; }
.offer__all:hover svg{ transform:translateX(3px); }

.offer__arrows{ display:flex; gap:8px; }
.offer__arrow{
  width:42px; height:42px; border-radius:50%; flex:none; cursor:pointer;
  border:1px solid var(--line); background:#fff; color:var(--ink);
  display:flex; align-items:center; justify-content:center;
  transition:background .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease;
}
.offer__arrow:hover{ background:var(--brand-dark); border-color:var(--brand-dark); color:#fff; }
.offer__arrow[disabled]{ opacity:.35; pointer-events:none; }

.offer__track{
  display:flex; gap:16px; overflow-x:auto; scroll-behavior:smooth;
  scroll-snap-type:x mandatory; scrollbar-width:none;
  padding:4px 0;
  margin-left:calc(max(var(--pad), (100% - var(--w)) / 2 + var(--pad)));
}
.offer__track::-webkit-scrollbar{ display:none; }
.offer__track{ cursor:grab; }
.offer__track.is-dragging{ cursor:grabbing; scroll-behavior:auto; }
.offer__track.is-dragging .ocard{ pointer-events:none; }
.offer__track.is-dragging img{ user-select:none; }

.ocard{
  flex:0 0 clamp(360px, 26vw, 430px); scroll-snap-align:start;
  display:flex; flex-direction:column; overflow:hidden;
  background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:var(--r);
  transition:transform .22s ease, border-color .22s ease;
}
.ocard:hover{ transform:translateY(-3px); border-color:var(--brand-line); }
.ocard__img{ position:relative; display:block; }
.ocard__img img{
  width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.ocard:hover .ocard__img img{ transform:scale(1.05); }
.ocard__ico{
  position:absolute; left:16px; bottom:-19px; z-index:2;
  width:38px; height:38px; padding:8px; border-radius:11px;
  background:#fff; color:var(--brand-dark);
}
.ocard__body{ display:flex; flex-direction:column; flex:1; padding:30px 22px 22px; }
.ocard h3{ margin-bottom:7px; }
.ocard__body > p{ font-size:.92rem; line-height:1.55; color:var(--muted); margin-bottom:16px; }
.ocard ul{
  list-style:none; margin:0 0 20px; padding:16px 0 0;
  border-top:1px solid var(--line); display:flex; flex-direction:column; gap:8px;
}
.ocard li{ position:relative; padding-left:19px; font-size:.88rem; line-height:1.45; color:var(--ink-70); }
.ocard li::before{
  content:''; position:absolute; left:2px; top:.55em;
  width:6px; height:6px; border-radius:50%; border:1.5px solid var(--brand);
}
.ocard__more{
  display:inline-flex; align-items:center; gap:6px; margin-top:auto;
  font-size:.86rem; color:var(--brand-dark);
}
.ocard__more svg{ transition:transform .2s ease; }
.ocard:hover .ocard__more svg{ transform:translateX(3px); }

/* ── Biura ────────────────────────────────────────────────────── */
.offices{ padding:clamp(56px, 6vw, 96px) 0; background:var(--surface); }
.offices__head{ max-width:640px; margin-bottom:clamp(28px, 3.5vw, 44px); }
.offices__head h2{ margin-bottom:14px; }
.offices__head p{ color:var(--muted); font-size:1rem; }

.offices__grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.office2{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:26px 26px 22px; display:flex; flex-direction:column;
}
.office2__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:22px; }
.office2__tag{
  display:inline-block; margin-bottom:6px;
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--brand);
}
.office2__head h3{ font-size:1.5rem; letter-spacing:-.02em; }
.office2__map{
  display:inline-flex; align-items:center; gap:6px; flex:none;
  padding:7px 14px; border:1px solid var(--line); border-radius:999px;
  font-size:.83rem; color:var(--ink-70);
  transition:border-color .18s ease, color .18s ease, background .18s ease;
}
.office2__map:hover{ border-color:var(--brand); color:var(--brand-dark); background:var(--brand-tint); }
.office2__map svg{ color:var(--brand); }

.office2__info{
  display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:0 0 22px;
  padding-bottom:22px; border-bottom:1px solid var(--line);
}
.office2__info dt{
  font-size:.68rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--muted); margin-bottom:6px;
}
.office2__info dd{ margin:0; font-size:.93rem; line-height:1.55; color:var(--ink-70); }

.office2__main{ display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px; margin-bottom:8px; }
.office2__main a:first-child{ font-size:1.45rem; letter-spacing:-.02em; color:var(--ink); }
.office2__main a:first-child:hover{ color:var(--brand-dark); }
.office2__main a:last-child{ font-size:.92rem; color:var(--brand-dark); }
.office2__note{ font-size:.85rem; color:var(--muted); margin-bottom:20px; }

.office2__people{ list-style:none; margin:auto 0 0; padding:0; display:flex; flex-direction:column; }
.office2__people li{
  display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  padding:11px 0; border-top:1px solid var(--line); font-size:.92rem;
}
.office2__people span{ color:var(--ink-70); }
.office2__people a{ color:var(--ink); white-space:nowrap; letter-spacing:-.01em; }
.office2__people a:hover{ color:var(--brand-dark); }

/* ── CTA nad stopką ───────────────────────────────────────────── */
.fcta{ padding:clamp(20px, 3vw, 40px) 0 0; background:#fff; }

.fcta__box{
  max-width:1060px; margin-inline:auto;
  background:var(--brand-dark); color:#fff; border-radius:28px;
  padding:clamp(34px, 4.5vw, 56px) clamp(24px, 4vw, 52px);
  text-align:center;
}
.fcta__box h2{ color:#fff; font-size:clamp(1.45rem, 1.1rem + 1.2vw, 2.1rem); margin-bottom:12px; }
.fcta__box > p{
  color:#bcd8e2; font-size:.99rem; line-height:1.6;
  max-width:62ch; margin:0 auto 30px;
}

.fcta__form{ max-width:760px; margin:0 auto; }
.fcta__fields{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:18px; }
.fcta__fields input{
  width:100%; padding:13px 20px; border-radius:999px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.26);
  color:#fff; font:inherit; font-size:.94rem;
  transition:border-color .18s ease, background .18s ease;
}
.fcta__fields input::placeholder{ color:#a9cddb; }
.fcta__fields input:focus{
  outline:none; background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.6);
}

.fcta__consent{
  display:flex; align-items:flex-start; gap:11px; text-align:left;
  margin-bottom:24px; cursor:pointer;
}
.fcta__consent input{
  flex:none; width:19px; height:19px; margin-top:2px; accent-color:#fff; cursor:pointer;
}
.fcta__consent span{ font-size:.8rem; line-height:1.55; color:#bcd8e2; }
.fcta__consent a{ color:#fff; text-decoration:underline; text-underline-offset:2px; }

.fcta__btn{ min-width:210px; }

/* ── Stopka ───────────────────────────────────────────────────── */
.footer{ background:#fff; padding:clamp(46px, 5vw, 72px) 0 22px; }

.footer__grid{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,.9fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);
  gap:clamp(30px, 4vw, 72px);
  padding-bottom:clamp(30px, 3.5vw, 44px);
}
.footer__logo{ display:inline-block; margin-bottom:16px; }
.footer__logo img{ height:52px; width:auto; }
.footer__brand p{ font-size:.9rem; line-height:1.65; color:var(--muted); max-width:34ch; margin-bottom:16px; }

.fcol h4{
  font-size:1.12rem; letter-spacing:-.02em;
  color:var(--ink); margin-bottom:18px; font-weight:400;
}
.fcol ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.fcol a{ font-size:.92rem; color:var(--muted); }
.fcol a:hover{ color:var(--brand-dark); }

.foffice__addr{ font-size:.92rem; line-height:1.6; color:var(--muted); margin:0 0 10px; }
.foffice__tel{ display:inline-block; font-size:1.18rem; letter-spacing:-.02em; color:var(--ink); margin-bottom:10px; }
.foffice__tel:hover{ color:var(--brand-dark); }
.foffice__hours{ font-size:.85rem; line-height:1.55; color:var(--muted); margin:0 0 12px; }
.foffice__map{
  font-size:.85rem; color:var(--brand-dark);
  border-bottom:1px solid var(--brand-line); padding-bottom:1px;
}
.foffice__map:hover{ border-color:var(--brand); }

.fcol__eshop{
  display:inline-flex; align-items:center; gap:9px;
  padding:7px 14px; background:#fff; border:1px solid var(--line); border-radius:999px;
  font-size:.85rem; color:var(--ink-70);
  transition:border-color .18s ease, color .18s ease;
}
.fcol__eshop img{ width:48px; height:auto; }
.fcol__eshop:hover{ border-color:var(--brand-line); color:var(--ink); }

.footer__strip{
  display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap;
  padding:16px 20px; border-radius:var(--r); background:var(--surface);
  font-size:.9rem; color:var(--muted); margin-bottom:26px;
}
.footer__strip a{ color:var(--brand-dark); }
.footer__strip a:hover{ color:var(--brand-darker); }

.footer__bottom{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding-top:20px; border-top:1px solid var(--line);
}
.footer__bottom p{ font-size:.82rem; color:var(--muted); margin:0; }
.footer__meta{ display:flex; align-items:center; gap:18px; }
.footer__legal{ font-size:.82rem; color:var(--muted); }
.footer__legal:hover{ color:var(--brand-dark); }
.footer__cookies{
  background:0; border:0; padding:0; font:inherit; font-size:.82rem;
  color:var(--muted); cursor:pointer; text-align:left;
}
.footer__cookies:hover{ color:var(--brand-dark); }
.footer__made{
  display:inline-flex; align-items:center; gap:7px; padding:6px 10px; background:#fff;
  border:1px solid var(--line); border-radius:8px; transition:border-color .3s, transform .4s;
}
.footer__made:hover{ border-color:var(--brand); transform:scale(1.03); }
.footer__made-label{ font-size:11.5px; color:var(--ink); opacity:.6; }
.footer__made-logo{ width:16px; height:16px; display:block; border-radius:3px; flex-shrink:0; }
.footer__made-name{ font-size:11.5px; color:var(--brand-darker); }

/* ── Hero podstrony ───────────────────────────────────────────── */
.phero{
  position:relative; overflow:hidden; background:var(--brand-darker);
  min-height:clamp(340px, 44vh, 440px); display:flex; align-items:center;
  padding:clamp(40px, 6vw, 68px) 0;
}
.phero__body{ position:relative; color:#fff; }
.phero h1{
  font-size:clamp(1.9rem, 1.25rem + 2.2vw, 3.1rem); color:#fff;
  line-height:1.18; margin-bottom:18px; text-wrap:balance;
}
.phero__body > p{
  font-size:1.03rem; line-height:1.7; color:#d5e4e9; max-width:60ch; margin:0 0 30px;
}
.phero__facts{
  display:flex; flex-wrap:wrap; gap:14px 46px; margin:0;
  padding-top:24px; border-top:1px solid rgba(255,255,255,.2);
}
.phero__facts div{ display:flex; flex-direction:column; gap:2px; }
.phero__facts dt{ font-size:1.55rem; letter-spacing:-.03em; color:#fff; line-height:1; }
.phero__facts dd{ margin:0; font-size:.82rem; color:#a8c4cd; }

.crumbs{ display:flex; align-items:center; gap:9px; font-size:.84rem; color:var(--muted); margin-bottom:22px; }
.crumbs a:hover{ color:var(--brand-dark); }
.crumbs span[aria-current]{ color:var(--ink-70); }
.crumbs--light{ color:#a8c4cd; }
.crumbs--light a:hover{ color:#fff; }
.crumbs--light span[aria-current]{ color:#dbe9ee; }

/* ── Biura w obiektywie ───────────────────────────────────────── */
.places{ padding:clamp(46px, 5vw, 76px) 0 clamp(10px, 2vw, 20px); }
.places__head{ max-width:620px; margin-bottom:clamp(24px, 3vw, 36px); }
.places__head h2{ margin-bottom:12px; }
.places__head p{ color:var(--muted); font-size:1rem; }
.places__grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px;
}
.places__item{ margin:0; position:relative; aspect-ratio:1; border-radius:var(--r); overflow:hidden; }
.places__item picture{ position:absolute; inset:0; display:block; }
.places__item img{
  display:block; width:100%; height:100%; object-fit:cover; object-position:center;
}
.places__item figcaption{
  position:absolute; left:14px; bottom:13px;
  padding:6px 13px; border-radius:999px;
  background:rgba(8,22,28,.66); color:#fff; font-size:.78rem;
}

/* ── Podgląd zdjęć do wyboru ───────────────────────────────────── */
.photo-picker{ padding:clamp(46px, 5vw, 76px) 0; background:#fafcfc; }
.photo-picker__grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px; }
.photo-picker__item{ margin:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--r); background:#fff; }
.photo-picker__item img{ width:100%; aspect-ratio:3/2; object-fit:cover; display:block; }
.photo-picker__item figcaption{ padding:12px 14px; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.82rem; color:var(--brand-darker); }

/* ── Historia ─────────────────────────────────────────────────── */
.story{ padding:clamp(34px, 4vw, 56px) 0 clamp(48px, 5vw, 80px); }
.story__grid{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(32px, 4.5vw, 72px); align-items:start;
}
.story__txt h2{ margin-bottom:20px; }
.story__txt p{ color:var(--ink-70); font-size:1rem; line-height:1.75; margin-bottom:16px; max-width:56ch; }
.story__txt strong{ font-weight:400; color:var(--ink); }

.story__aside{ display:flex; flex-direction:column; gap:26px; }
.story__photo{ margin:0; border-radius:var(--r); overflow:hidden; }
.story__photo img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }

.story__line{ list-style:none; margin:0; padding:0; }
.story__line li{
  position:relative; padding:0 0 26px 30px; border-left:1px solid var(--brand-line);
}
.story__line li:last-child{ padding-bottom:0; border-left-color:transparent; }
.story__line li::before{
  content:''; position:absolute; left:-5px; top:7px;
  width:9px; height:9px; border-radius:50%; background:var(--brand);
}
.story__year{
  display:block; font-size:1.3rem; letter-spacing:-.02em; color:var(--brand-dark); margin-bottom:5px;
}
.story__line p{ font-size:.94rem; line-height:1.6; color:var(--muted); margin:0; }

/* skróty do sekcji w hero podstrony */
.phero__jump{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.phero__jump a{
  padding:10px 20px; border-radius:999px;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3);
  font-size:.9rem; color:#fff;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.phero__jump a:hover{
  background:#fff; border-color:#fff; color:var(--brand-darker); transform:translateY(-2px);
}

/* ── Hero podstrony ubezpieczeń ───────────────────────────────── */
.uhero{
  position:relative; overflow:hidden; background:var(--brand-dark); color:#fff;
  padding:clamp(46px, 5.5vw, 84px) 0 clamp(52px, 6vw, 96px);
}
.uhero::before{
  content:''; position:absolute; right:-8%; top:-30%;
  width:min(680px, 52vw); aspect-ratio:1; border-radius:50%;
  background:rgba(255,255,255,.045);
}
.uhero__grid{
  position:relative; display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(30px, 4vw, 70px); align-items:center;
}
.uhero h1{
  font-size:clamp(2rem, 1.3rem + 2.4vw, 3.35rem); color:#fff;
  line-height:1.14; margin-bottom:20px;
}
.uhero__txt > p{ font-size:1.03rem; line-height:1.72; color:#bcd8e2; max-width:52ch; margin:0 0 32px; }

.uhero__facts{
  display:flex; flex-wrap:wrap; gap:16px 46px; margin:0;
  padding-top:26px; border-top:1px solid rgba(255,255,255,.2);
}
.uhero__facts div{ display:flex; flex-direction:column; gap:2px; }
.uhero__facts dt{ font-size:1.6rem; letter-spacing:-.03em; color:#fff; line-height:1; }
.uhero__facts dd{ margin:0; font-size:.82rem; color:#a8c4cd; }

.uhero__jump{ display:grid; grid-template-columns:1fr 1fr; gap:10px; max-width:520px; }
.uhero__jump a{
  display:flex; align-items:center; gap:11px;
  padding:13px 18px; border-radius:var(--r-sm);
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  font-size:.93rem; color:#fff;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.uhero__jump a span{ font-size:.74rem; color:#7fc0d4; letter-spacing:.08em; }
.uhero__jump a:hover{ background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.4); transform:translateY(-2px); }

/* trzy kadry ustawione schodkowo - zapowiedz zakresu bez jednego "przypadkowego" zdjecia */
.uhero__stack{ position:relative; height:clamp(330px, 34vw, 470px); }
.uhero__card{
  position:absolute; margin:0; overflow:hidden; border-radius:var(--r);
  border:1px solid rgba(255,255,255,.16);
}
.uhero__card img{ width:100%; height:100%; object-fit:cover; }
.uhero__card--1{ width:56%; aspect-ratio:4/3; left:0; top:6%; transform:rotate(-3deg); z-index:2; }
.uhero__card--2{ width:50%; aspect-ratio:4/3; right:2%; top:0; transform:rotate(2.5deg); z-index:1; }
.uhero__card--3{ width:52%; aspect-ratio:4/3; right:8%; bottom:0; transform:rotate(-1.5deg); z-index:3; }
.uhero__card{ transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.uhero__stack:hover .uhero__card--1{ transform:rotate(-5deg) translateY(-6px); }
.uhero__stack:hover .uhero__card--2{ transform:rotate(4deg) translateY(-4px); }
.uhero__stack:hover .uhero__card--3{ transform:rotate(-3deg) translateY(-8px); }

.dept{ padding:clamp(52px, 5.5vw, 88px) 0; scroll-margin-top:100px; }
.dept--alt{ background:#fafcfc; }
.dept__grid{
  display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(32px, 4.5vw, 72px); align-items:stretch;
}
.dept--alt .dept__grid{ grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); }
.dept--alt .dept__photo{ order:2; }

/* Biura bez zdjecia - tekst na pelnej szerokosci, dane w czterech kolumnach */
.dept--noimg .dept__grid,
.dept--alt.dept--noimg .dept__grid{ grid-template-columns:1fr; }
.dept--noimg .dept__txt{ max-width:none; }
.dept--noimg .dept__list{ grid-template-columns:repeat(4, minmax(0,1fr)); }
.dept--noimg .dept__list > div:nth-last-child(-n+2){ border-bottom:0; }
.dept--noimg .dept__list > div{ border-bottom:1px solid var(--line); }
.dept--noimg .dept__lead{ max-width:66ch; }

.dept__photo{
  margin:0; position:relative; border-radius:var(--r); overflow:hidden; min-height:420px;
}
.dept__photo figcaption{
  position:absolute; left:16px; bottom:16px; z-index:2;
  padding:8px 16px; border-radius:999px;
  background:rgba(8,22,28,.62); color:#fff;
  font-size:.76rem; letter-spacing:.1em; text-transform:uppercase;
}
.dept__photo picture{ position:absolute; inset:0; display:block; }
.dept__photo img{ width:100%; height:100%; object-fit:cover; }

/* Mapa dojazdu w miejscu zdjecia biura */
.dept__map{
  margin:0; align-self:stretch; display:flex; flex-direction:column;
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:#fff;
}
.dept--alt .dept__map{ order:2; }
.dept__map iframe{
  flex:1; width:100%; min-height:380px; border:0; display:block; filter:grayscale(.25);
}
.dept__map figcaption{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding:14px 18px; border-top:1px solid var(--line);
}
.dept__map figcaption span{ font-size:.92rem; color:var(--brand-dark); }

.dept__txt{ display:flex; flex-direction:column; }
.pill{
  display:inline-flex; align-self:flex-start; align-items:center; gap:9px; margin-bottom:16px;
  padding:7px 16px 7px 13px; border-radius:999px;
  background:var(--brand-tint); border:1px solid var(--brand-line);
  font-size:.82rem; letter-spacing:.01em; color:var(--brand-darker);
}
.pill::before{
  content:''; width:6px; height:6px; border-radius:50%; background:var(--brand); flex:none;
}
.pill--light{
  background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.3); color:#fff;
}
.pill--light::before{ background:#6fc0d6; }
.dept__txt h2{ margin-bottom:14px; }
.dept__lead{ font-size:1.02rem; line-height:1.7; color:var(--muted); max-width:60ch; margin-bottom:26px; }

.dept__list{ margin:0 0 26px; display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(20px, 2.5vw, 40px); }
.dept__list > div{ padding:15px 0; border-top:1px solid var(--line); }
.dept__list > div:nth-last-child(-n+2){ border-bottom:1px solid var(--line); }
.dept__list dt{
  position:relative; padding-left:20px; font-size:1rem; color:var(--ink); margin-bottom:4px;
}
.dept__list dt::before{
  content:''; position:absolute; left:2px; top:.55em;
  width:7px; height:7px; border-radius:50%; border:1.5px solid var(--brand);
}
.dept__list dd{ margin:0 0 0 20px; font-size:.92rem; line-height:1.6; color:var(--muted); max-width:62ch; }
.dept__cta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; }

/* ── Wizualny łącznik między działami (pełnoszerokie zdjęcie) ── */
.deptband{ padding:0; }
.deptband__inner{
  position:relative; overflow:hidden; border-radius:var(--r);
  aspect-ratio:21/9; margin:clamp(28px, 3.5vw, 52px) 0;
}
.deptband__inner picture{ position:absolute; inset:0; display:block; }
.deptband__inner img{ width:100%; height:100%; object-fit:cover; display:block; }
.deptband__cap{
  position:absolute; left:clamp(18px, 2.4vw, 34px); bottom:clamp(16px, 2vw, 26px);
  color:#fff; font-family:var(--ff-head); letter-spacing:-.01em;
  font-size:clamp(1rem, .8rem + .7vw, 1.35rem); line-height:1.25;
  text-shadow:0 2px 18px rgba(0,0,0,.45); max-width:60ch;
}
.deptband__inner::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,0) 45%, rgba(0,0,0,.42) 100%);
}

/* ── Likwidacja szkód ─────────────────────────────────────────── */
.claims{ padding:clamp(52px, 5.5vw, 88px) 0; background:var(--brand-dark); color:#fff; scroll-margin-top:100px; }
.claims__head{ max-width:660px; margin-bottom:clamp(28px, 3.5vw, 44px); }
.claims__head .dept__kicker{ color:#7fc0d4; }
.claims__head h2{ color:#fff; margin-bottom:14px; }
.claims__head p{ color:#bcd8e2; font-size:1rem; line-height:1.7; margin:0; }

.claims__grid{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(28px, 4vw, 60px); align-items:start;
}
.claims__steps{ list-style:none; margin:0; padding:0; }
.claims__steps li{
  display:flex; gap:18px; padding:18px 0; border-top:1px solid rgba(255,255,255,.2);
}
.claims__steps li:last-child{ border-bottom:1px solid rgba(255,255,255,.2); }
.claims__steps span{ flex:none; font-size:.82rem; color:#7fc0d4; padding-top:4px; }
.claims__steps h3{ color:#fff; margin-bottom:5px; }
.claims__steps p{ font-size:.92rem; line-height:1.6; color:#a8c8d3; margin:0; }

/* Kroki bez kolumny telefonow - rozkladaja sie na dwie kolumny */
.claims__grid--steps{ display:block; }
.claims__grid--steps .claims__steps{
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr));
  column-gap:clamp(28px, 4vw, 60px);
}
.claims__grid--steps .claims__steps li:nth-child(2){ border-top:1px solid rgba(255,255,255,.2); }
.claims__grid--steps .claims__steps li:last-child{ border-bottom:0; }
.claims__grid--steps .claims__steps li:nth-last-child(-n+2){
  border-bottom:1px solid rgba(255,255,255,.2);
}

.claims__tels{ background:rgba(255,255,255,.07); border-radius:var(--r); padding:24px 26px; }
.claims__tels h3{ color:#fff; font-size:1.05rem; margin-bottom:16px; }
.claims__tels ul{ list-style:none; margin:0; padding:0; }
.claims__tels li{
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;
  padding:9px 0; border-top:1px solid rgba(255,255,255,.13); font-size:.9rem;
}
.claims__tels li:first-child{ border-top:0; }
.claims__tels span{ color:#bcd8e2; flex:1; min-width:150px; }
.claims__tels a{ color:#fff; letter-spacing:-.01em; white-space:nowrap; }
.claims__tels a:hover{ color:#9fd8e8; }
.claims__tels em{ font-style:normal; font-size:.8rem; color:#7fa5b3; }

.claims__aside-photo{
  margin:0 0 18px; border-radius:calc(var(--r) - 2px); overflow:hidden;
  position:relative;
}
.claims__aside-photo picture{ display:block; }
.claims__aside-photo img{
  width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; display:block;
}

/* ── Telefony do zgłaszania szkód ──────────────────────────────
   Po szkodzie liczy się jedno: dodzwonić się. Numer jest tu
   najwiekszym elementem karty, a cała karta ma wysokość palca. */
.visually-hidden{
  position:absolute; width:1px; height:1px; margin:-1px;
  padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

.tugrid{ margin-top:clamp(30px, 4vw, 48px); }
.tugrid__head{
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between;
  gap:18px 30px; margin-bottom:22px;
  padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.18);
}
.tugrid__head h3{ color:#fff; font-size:clamp(1.1rem, .95rem + .5vw, 1.35rem); margin-bottom:6px; }
.tugrid__head p{ color:#a8c8d3; font-size:.9rem; line-height:1.6; margin:0; max-width:52ch; }

.tugrid__find{
  position:relative; display:flex; align-items:center; flex:0 1 320px;
}
.tugrid__find svg{
  position:absolute; left:14px; color:#7fc0d4; pointer-events:none;
}
.tugrid__find input{
  width:100%; padding:12px 16px 12px 40px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22);
  border-radius:999px; color:#fff; font:inherit; font-size:.92rem;
  transition:border-color .2s ease, background .2s ease;
}
.tugrid__find input::placeholder{ color:#89aab6; }
.tugrid__find input:focus{
  outline:none; background:rgba(255,255,255,.13); border-color:rgba(255,255,255,.5);
}
.tugrid__find input::-webkit-search-cancel-button{ filter:invert(1); opacity:.5; }

.tugrid__list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px;
}
.tucard{
  display:flex; flex-direction:column; gap:4px;
  padding:14px 16px; border-radius:var(--r-sm);
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
  transition:background .2s ease, border-color .2s ease;
}
.tucard:hover{ background:rgba(255,255,255,.11); border-color:rgba(255,255,255,.26); }
.tucard__name{
  font-size:.82rem; line-height:1.35; color:#a8c8d3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.tucard__nums{ display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 12px; }
.tucard__nums a{
  font-size:1.12rem; letter-spacing:-.02em; color:#fff; white-space:nowrap;
  padding:3px 0; /* wiekszy cel dotykowy bez rozpychania karty */
}
.tucard__nums a:hover{ color:#9fd8e8; }
.tucard__alt{ font-size:.86rem !important; color:#7fa5b3 !important; }
.tucard__alt:hover{ color:#bcd8e2 !important; }
.tucard[hidden]{ display:none; }

.tugrid__empty{
  margin:18px 0 0; padding:16px 18px; border-radius:var(--r-sm);
  background:rgba(255,255,255,.07); color:#bcd8e2; font-size:.92rem;
}

/* ── Towarzystwa obsługiwane w biurze agencji ─────────────────── */
.tuwyr{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:20px; margin-top:28px;
}
.tuwyr__card{
  display:flex; flex-direction:column;
  padding:26px 22px 22px; border-radius:var(--r);
  background:#fff; border:1px solid var(--line);
}
.tuwyr__card h3{ margin-bottom:8px; }
.tuwyr__lead{
  font-size:.92rem; line-height:1.6; color:var(--muted); margin:0 0 auto;
}
.tuwyr__tels{ display:flex; flex-direction:column; gap:8px; margin-top:18px; }
.dept__cta--gap{ margin-top:26px; }

/* ── Zakres ochrony jako siatka kart ──────────────────────────
   Wcześniej każda pozycja zakresu była osobną sekcją ze zdjęciem,
   przez co podstrony usługowe wyglądały identycznie. */
.zakres{ padding:clamp(52px, 5.5vw, 88px) 0; background:#fafcfc; }
.zakres__head{ max-width:640px; margin-bottom:clamp(26px, 3.5vw, 40px); }
.zakres__head h2{ margin-bottom:12px; }
.zakres__head p{ color:var(--ink-70); font-size:1rem; line-height:1.7; margin:0; }

.zakres__grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px;
}
.zbox{
  display:flex; flex-direction:column;
  padding:26px 24px 24px; border-radius:var(--r);
  background:#fff; border:1px solid var(--line);
  scroll-margin-top:100px;
  transition:border-color .2s ease, transform .2s ease;
}
.zbox:hover{ border-color:var(--brand-line); transform:translateY(-2px); }
.zbox__ico{
  display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; margin-bottom:16px;
  border-radius:12px; background:var(--brand-tint); color:var(--brand-dark);
}
.zbox__ico svg{ width:23px; height:23px; }
.zbox h3{ font-size:1.06rem; line-height:1.35; margin-bottom:9px; }
.zbox > p{
  font-size:.92rem; line-height:1.62; color:var(--muted); margin:0 0 16px;
}
.zbox ul{
  list-style:none; margin:auto 0 0; padding:15px 0 0;
  border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:8px;
}
.zbox li{
  position:relative; padding-left:18px;
  font-size:.87rem; line-height:1.45; color:var(--ink-70);
}
.zbox li::before{
  content:''; position:absolute; left:1px; top:.5em;
  width:6px; height:6px; border-radius:50%; border:1.5px solid var(--brand);
}

/* ── Pasek cookies ────────────────────────────────────────────
   Wjezdza dopiero po sprawdzeniu decyzji w localStorage, wiec
   nie mruga przy kazdym wejsciu na kolejna podstrone. */
.cbar{
  position:fixed; left:0; bottom:0; z-index:80; width:100%;
  padding:0 clamp(14px, 3vw, 26px) clamp(14px, 3vw, 26px);
  pointer-events:none;
}
.cbar__box{
  max-width:1180px; margin:0 auto; pointer-events:auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:18px clamp(20px, 3vw, 40px); flex-wrap:wrap;
  padding:18px clamp(18px, 2.5vw, 26px);
  background:#fff; border:1px solid var(--brand-line); border-radius:var(--r);
  box-shadow:0 10px 34px rgba(13, 28, 34, .13);
  transform:translateY(14px); opacity:0;
  transition:transform .28s ease, opacity .28s ease;
}
.cbar.is-open .cbar__box{ transform:none; opacity:1; }
.cbar__txt{ flex:1 1 380px; min-width:0; }
.cbar__txt strong{
  display:block; font-weight:400; font-size:1rem; color:var(--ink); margin-bottom:5px;
}
.cbar__txt p{
  margin:0; font-size:.88rem; line-height:1.6; color:var(--muted); max-width:74ch;
}
.cbar__txt a{ color:var(--brand-dark); text-decoration:underline; text-underline-offset:2px; }
.cbar__txt a:hover{ color:var(--brand); }
.cbar__btns{ display:flex; gap:10px; flex:none; flex-wrap:wrap; }

@media (max-width: 620px){
  .cbar__box{ padding:16px 16px 14px; gap:14px; }
  .cbar__txt{ flex:1 1 100%; }
  .cbar__btns{ width:100%; }
  .cbar__btns .btn{ flex:1 1 auto; justify-content:center; min-height:44px; }
}

/* ── Cele dotykowe na mobile ──────────────────────────────────
   Linki tekstowe mialy 13-24px wysokosci, czyli ponizej progu,
   ktory da sie pewnie trafic palcem. */
@media (max-width: 620px){
  .fcol ul li a,
  .footer__legal,
  .legal__toc ol a{
    display:inline-flex; align-items:center; min-height:36px;
  }
  .foffice__tel{ min-height:40px; display:inline-flex; align-items:center; }
  .foffice__map{ min-height:40px; display:inline-flex; align-items:center; }
  .tb-office__tel{ min-height:34px; }
  .offer__all{ min-height:36px; }
  .tucard__nums a{ padding:6px 0; }
  .footer__made{ min-height:36px; display:inline-flex; align-items:center; }
  .fcta__consent a,
  .phero__body a:not(.btn){ padding:2px 0; }
}




/* ── Manifest (o firmie) ──────────────────────────────────────── */
.mani{ padding:clamp(56px, 6vw, 96px) 0; }
.mani__grid{
  display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  gap:clamp(32px, 4.5vw, 72px); align-items:stretch;
}
.mani__txt{ display:flex; flex-direction:column; }
.mani__txt h2{ margin-bottom:22px; }
.mani__quote{
  font-family:var(--ff-head); font-size:clamp(1.2rem, .95rem + 1vw, 1.66rem);
  line-height:1.4; letter-spacing:-.02em; color:var(--ink);
  padding-left:20px; border-left:2px solid var(--brand);
  margin-bottom:24px;
}
.mani__txt p{ color:var(--ink-70); font-size:1rem; line-height:1.75; margin-bottom:16px; max-width:60ch; }
.mani__txt strong{ font-weight:400; color:var(--ink); }

.mani__pts{
  list-style:none; margin:auto 0 0; padding:24px 0 0;
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px;
  border-top:1px solid var(--line);
}
.mani__pts strong{ display:block; font-weight:400; font-size:1rem; color:var(--brand-dark); margin-bottom:4px; }
.mani__pts span{ display:block; font-size:.86rem; line-height:1.5; color:var(--muted); }

.mani__photo{
  margin:0; position:relative; border-radius:var(--r); overflow:hidden;
  min-height:0; aspect-ratio:3/2; align-self:start;
}
.mani__photo picture{ position:absolute; inset:0; display:block; }
.mani__photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 50%; }

/* ── Foto-pas między sekcjami ─────────────────────────────────── */
.photoband{ padding:clamp(28px, 3vw, 48px) 0; }
.photoband--tight{ padding:0 0 clamp(28px, 3vw, 44px); }
.photoband figure{
  margin:0; position:relative; border-radius:var(--r); overflow:hidden;
  aspect-ratio:24/9;
}
.photoband picture{ position:absolute; inset:0; display:block; }
.photoband img{ width:100%; height:100%; object-fit:cover; object-position:50% 50%; display:block; }
@media (max-width:900px){
  .photoband figure{ aspect-ratio:16/9; }
}
@media (max-width:520px){
  .photoband figure{ aspect-ratio:4/3; }
}

/* ── Oś czasu ─────────────────────────────────────────────────── */
.tl{ padding:clamp(56px, 6vw, 96px) 0; background:var(--brand-dark); color:#fff; }
.tl__head{ max-width:620px; margin-bottom:clamp(30px, 4vw, 50px); }
.tl__head h2{ color:#fff; margin-bottom:12px; }
.tl__head p{ color:#bcd8e2; font-size:1rem; margin:0; }
.tl__grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:clamp(18px, 2.5vw, 34px);
}
.tl__grid li{ padding-top:22px; border-top:1px solid rgba(255,255,255,.22); }
.tl__year{
  display:block; font-size:.78rem; letter-spacing:.13em; text-transform:uppercase;
  color:#7fc0d4; margin-bottom:12px;
}
.tl__grid h3{ color:#fff; font-size:1.16rem; margin-bottom:8px; }
.tl__grid p{ font-size:.9rem; line-height:1.6; color:#a8c8d3; margin:0; }

/* ── Jak pracujemy ────────────────────────────────────────────── */
.how{ padding:clamp(56px, 6vw, 96px) 0; }
.how__grid{
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(32px, 4.5vw, 72px); align-items:stretch;
}
.how__txt{ display:flex; flex-direction:column; }
.how__txt h2{ margin-bottom:12px; }
.how__lead{ color:var(--muted); font-size:1rem; margin-bottom:30px; }
.how__list{ list-style:none; margin:0; padding:0; }
.how__list li{
  display:flex; gap:20px; padding:20px 0; border-top:1px solid var(--line);
}
.how__list li:last-child{ border-bottom:1px solid var(--line); }
.how__no{
  flex:none; font-size:.84rem; color:var(--brand); padding-top:4px; letter-spacing:.06em;
}
.how__list h3{ margin-bottom:5px; }
.how__list p{ font-size:.93rem; line-height:1.6; color:var(--muted); margin:0; max-width:52ch; }

.how__photo{
  margin:0; position:relative; border-radius:var(--r); overflow:hidden; min-height:440px;
}
.how__photo picture{ position:absolute; inset:0; display:block; }
.how__photo img{ width:100%; height:100%; object-fit:cover; object-position:50% 45%; }

.how__note{
  margin-top:26px; background:var(--brand-tint); border-radius:var(--r); padding:20px 22px;
}
.how__note strong{ display:block; font-weight:400; font-size:1.04rem; color:var(--brand-darker); margin-bottom:4px; }
.how__note span{ font-size:.9rem; line-height:1.55; color:var(--ink-70); }

/* ── Pas ze zdjęciem między sekcjami ──────────────────────────── */
.photo-band{ padding:clamp(20px, 3vw, 44px) 0; }
.photo-band__frame{
  position:relative; border-radius:var(--r); overflow:hidden;
  aspect-ratio:21/9; background:var(--surface);
}
.photo-band__frame picture{ position:absolute; inset:0; display:block; }
.photo-band__frame img{ width:100%; height:100%; object-fit:cover; object-position:50% 45%; }
.photo-band__cap{
  position:absolute; left:clamp(16px, 2.4vw, 32px); bottom:clamp(14px, 2vw, 26px);
  color:#fff; font-size:.86rem; letter-spacing:.02em;
  background:rgba(8,22,28,.52); padding:8px 14px; border-radius:999px;
  backdrop-filter:blur(4px);
}
@media (max-width: 780px){
  .photo-band__frame{ aspect-ratio:16/10; }
  .photo-band__cap{ font-size:.78rem; padding:6px 12px; }
}
@media (max-width: 480px){
  .photo-band__frame{ aspect-ratio:4/3; }
}

/* ── Karty oferty w siatce (podstrony) ────────────────────────── */
.offer--static{ background:#fafcfc; }
.offer--static .offer__grid{
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px;
}
.offer--static .ocard{ flex:auto; }

/* ── Zakres na podstronie ─────────────────────────────────────── */
.scope2{ padding:clamp(50px, 5.5vw, 88px) 0; background:#fafcfc; }
.scope2__head{
  display:flex; align-items:baseline; justify-content:space-between; gap:22px;
  flex-wrap:wrap; margin-bottom:clamp(22px, 2.6vw, 34px);
}
.scope2__all{ display:inline-flex; align-items:center; gap:7px; font-size:.92rem; color:var(--brand-dark); }
.scope2__all svg{ transition:transform .2s ease; }
.scope2__all:hover svg{ transform:translateX(3px); }
.scope2__grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:14px; }
.zcard{
  position:relative; display:block; border-radius:var(--r); overflow:hidden;
  min-height:210px;
}
.zcard img{ width:100%; height:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.zcard:hover img{ transform:scale(1.05); }
.zcard__shade{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(8,22,28,.05) 30%, rgba(8,22,28,.78) 100%);
}
.zcard__name{
  position:absolute; left:18px; right:18px; bottom:16px; z-index:2;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  color:#fff; font-size:1.04rem; letter-spacing:-.01em;
}
.zcard__name svg{ flex:none; transition:transform .2s ease; }
.zcard:hover .zcard__name svg{ transform:translateX(3px); }

/* ── Zespół ───────────────────────────────────────────────────── */
.team{ padding:clamp(48px, 5.5vw, 84px) 0; background:#fafcfc; }
.team__head{ max-width:620px; margin-bottom:clamp(26px, 3vw, 40px); }
.team__head h2{ margin-bottom:12px; }
.team__head p{ color:var(--muted); font-size:1rem; }

.team__grid{ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:14px; }
.tcard{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:24px 20px 20px; text-align:center;
}
.tcard__mono{
  display:flex; align-items:center; justify-content:center;
  width:60px; height:60px; margin:0 auto 18px; border-radius:50%;
  background:var(--brand-tint); color:var(--brand-dark);
  font-size:1.02rem; letter-spacing:.02em;
}
.tcard h3{ font-size:.98rem; line-height:1.35; margin-bottom:6px; }
.tcard__role{ font-size:.83rem; color:var(--muted); margin:0 0 2px; }
.tcard__city{ font-size:.78rem; color:var(--brand); margin:0 0 14px; }
.tcard__tel{
  display:inline-flex; align-items:center; gap:7px;
  padding:9px 16px; border-radius:999px; background:var(--brand-tint);
  font-size:1rem; letter-spacing:-.02em; color:var(--brand-darker);
  transition:background .18s ease, color .18s ease;
}
.tcard__tel svg{ flex:none; }
.tcard__tel:hover{ background:var(--brand-dark); color:#fff; }

/* ── Sekcja tekstowa (polityka, regulaminy) ───────────────────── */
.legal{ padding:clamp(50px, 5.5vw, 88px) 0; }
.legal__grid{
  display:grid; grid-template-columns:minmax(0, 240px) minmax(0, 1fr);
  gap:clamp(32px, 5vw, 72px); align-items:start;
}
.legal__toc{
  position:sticky; top:100px;
  padding:22px 22px 18px; border:1px solid var(--line); border-radius:var(--r);
  background:#fafcfc;
}
.legal__toc h4{
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); margin-bottom:14px;
}
.legal__toc ol{ list-style:none; margin:0; padding:0; counter-reset:toc; display:flex; flex-direction:column; gap:8px; }
.legal__toc li{ counter-increment:toc; }
.legal__toc a{
  display:block; padding-left:26px; position:relative;
  font-size:.9rem; line-height:1.4; color:var(--ink-70);
}
.legal__toc a::before{
  content:counter(toc, decimal-leading-zero); position:absolute; left:0; top:0;
  font-size:.72rem; color:var(--brand); letter-spacing:.06em;
}
.legal__toc a:hover{ color:var(--brand-dark); }

.legal__body{ max-width:72ch; }
.legal__body > p:first-of-type{ color:var(--ink-70); font-size:1.02rem; line-height:1.75; }
.legal__sec{ padding:22px 0 4px; border-top:1px solid var(--line); scroll-margin-top:100px; }
.legal__sec:first-of-type{ border-top:0; padding-top:8px; }
.legal__sec h2{
  font-size:clamp(1.28rem, 1rem + .8vw, 1.6rem); margin-bottom:14px; color:var(--ink);
}
.legal__sec h3{ font-size:1.02rem; color:var(--ink); margin:18px 0 8px; }
.legal__sec p{ color:var(--ink-70); font-size:.98rem; line-height:1.75; margin-bottom:14px; }
.legal__sec ul, .legal__sec ol{ margin:0 0 16px; padding-left:0; list-style:none; }
.legal__sec ul li, .legal__sec ol li{
  position:relative; padding:6px 0 6px 22px;
  color:var(--ink-70); font-size:.96rem; line-height:1.65;
}
.legal__sec ul li::before{
  content:''; position:absolute; left:2px; top:.95em;
  width:6px; height:6px; border-radius:50%; border:1.5px solid var(--brand);
}
.legal__sec ol{ counter-reset:leg; }
.legal__sec ol li{ counter-increment:leg; padding-left:32px; }
.legal__sec ol li::before{
  content:counter(leg) '.'; position:absolute; left:2px; top:6px;
  font-size:.9rem; color:var(--brand-dark);
}
.legal__sec dl{ margin:0 0 16px; display:grid; grid-template-columns:minmax(160px, .38fr) 1fr; gap:8px 20px; }
.legal__sec dt{ font-size:.9rem; color:var(--brand-dark); padding-top:2px; }
.legal__sec dd{ margin:0; font-size:.96rem; line-height:1.6; color:var(--ink-70); }
.legal__sec strong{ font-weight:400; color:var(--ink); }
.legal__note{
  margin-top:22px; padding:18px 20px; background:var(--brand-tint);
  border:1px solid var(--brand-line); border-radius:var(--r);
  font-size:.9rem; line-height:1.6; color:var(--ink-70);
}
.legal__meta{
  margin-top:36px; padding-top:20px; border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; gap:14px 26px; font-size:.84rem; color:var(--muted);
}

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 1040px){
  .tb-office__addr{ display:none; }
  .tb-office{ gap:10px; }
  .nav__menu{
    position:fixed; inset:78px 0 auto; background:#fff; border-bottom:1px solid var(--line);
    padding:10px var(--pad) 22px; display:none; max-height:calc(100dvh - 78px); overflow-y:auto;
    box-shadow:0 20px 40px rgba(13,28,34,.08);
  }
  .nav__menu.is-open{ display:block; }
  .nav__list{ flex-direction:column; align-items:stretch; gap:2px; }
  .nav__list > li > a, .nav__sub-link{ width:100%; padding:14px 12px; font-size:1.02rem; }
  .has-sub{ display:flex; flex-wrap:wrap; align-items:center; }
  .nav__sub-link{ flex:1; }
  .nav__sub-toggle{ padding:14px 12px; }
  .mega{
    position:static; width:auto; grid-template-columns:1fr;
    opacity:1; visibility:visible; transform:none;
    border:0; border-radius:0; display:none; background:none;
  }
  .mega.is-open{ display:block; }
  .mega__list{ padding:2px 0 8px; }
  .mega__item{ padding:10px 6px; }
  .mega__ico{ width:34px; height:34px; border-radius:9px; }
  .mega__ico svg{ width:18px; height:18px; }
  .mega__arrow{ display:none; }
  .mega__aside{ display:none; }
  .nav__burger{ display:flex; }
  .nav__actions .btn{ display:none; }
  .nav-eshop{ display:none; }
  .nav__tel{ display:inline-flex; }
  .hero__shade{
    background:
      linear-gradient(90deg, rgba(8,22,28,.86) 0%, rgba(8,22,28,.72) 55%, rgba(8,22,28,.48) 100%),
      linear-gradient(180deg, rgba(8,22,28,.34) 0%, transparent 38%);
  }
  .hero__lead{ max-width:none; }
  .about2__head h2 br{ display:none; }
  .offices__grid{ grid-template-columns:1fr; }
  .story__grid{ grid-template-columns:1fr; gap:34px; }
  .uhero__grid{ grid-template-columns:1fr; gap:36px; }
  .uhero__stack{ height:clamp(280px, 52vw, 380px); }
  .dept__list{ grid-template-columns:1fr; }
  .dept__list > div:nth-last-child(-n+2){ border-bottom:0; }
  .dept__list > div:last-child{ border-bottom:1px solid var(--line); }
  .dept__grid, .dept--alt .dept__grid{ grid-template-columns:1fr; gap:28px; }
  .dept--noimg .dept__list{ grid-template-columns:1fr 1fr; }
  .dept__photo{ min-height:0; align-self:start; aspect-ratio:auto; }
  .dept__photo picture{ position:static; }
  .dept__photo img{ height:auto; aspect-ratio:16/9; }
  .dept--alt .dept__photo{ order:0; }
  .dept__map, .dept--alt .dept__map{ order:-1; }
  .dept__map iframe{ min-height:260px; }
  .deptband__inner{ aspect-ratio:16/10; margin:22px 0; }
  .claims__grid{ grid-template-columns:1fr; }
  .claims__grid--steps .claims__steps{ grid-template-columns:1fr; }
  .claims__grid--steps .claims__steps li:nth-last-child(-n+2){ border-bottom:0; }
  .claims__grid--steps .claims__steps li:last-child{ border-bottom:1px solid rgba(255,255,255,.2); }
  .tugrid__list{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .tuwyr{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .zakres__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .mani__grid{ grid-template-columns:1fr; gap:30px; }
  .mani__photo{ min-height:0; align-self:start; aspect-ratio:auto; }
  .mani__photo picture{ position:static; }
  .mani__photo img{ height:auto; aspect-ratio:16/9; }
  .mani__pts{ grid-template-columns:1fr 1fr; }
  .how__photo{ min-height:0; align-self:start; aspect-ratio:auto; }
  .how__photo picture{ position:static; }
  .how__photo img{ height:auto; aspect-ratio:16/9; }
  .offer--static .offer__grid{ grid-template-columns:1fr 1fr; }
  .how__grid{ grid-template-columns:1fr; gap:34px; }
  .tl__grid{ grid-template-columns:1fr 1fr; }
  .scope2__grid{ grid-template-columns:1fr 1fr; }
  .photo-picker__grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .team__grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .footer__grid{ grid-template-columns:minmax(0,1.3fr) repeat(2, minmax(0,.9fr)); }
  .footer__grid .foffice{ grid-column:auto; }

  .legal__grid{ grid-template-columns:1fr; gap:22px; }
  .legal__toc{ position:static; }
  .legal__sec dl{ grid-template-columns:1fr; gap:2px 0; }
  .legal__sec dt{ padding-top:8px; }

  .about__grid{ grid-template-columns:1fr; gap:32px; }
  .about__col p{ max-width:none; }
  .about__photo{ order:-1; min-height:0; align-self:start; aspect-ratio:auto; }
  .about__photo picture{ position:static; }
  .about__photo img{ height:auto; aspect-ratio:16/9; object-position:50% 14%; }
  .feats{ gap:22px 26px; }
  .partners-box__grid{ grid-template-columns:repeat(5, minmax(0,1fr)); }
  .partners-box__grid li:nth-child(10n){ border-right:1px solid var(--line); }
  .partners-box__grid li:nth-child(5n){ border-right:0; }
  .partners-box__grid li:nth-last-child(-n+10){ border-bottom:1px solid var(--line); }
  .partners-box__grid li:nth-last-child(-n+5){ border-bottom:0; }
}
@media (max-width: 620px){
  body{ font-size:16px; }
  :root{ --pad:18px; }
  .topbar{ font-size:.78rem; }
  .topbar__inner{ height:36px; justify-content:space-between; }
  .tb-office + .tb-office{ margin-left:0; padding-left:14px; }
  .tb-office__city{ font-size:.63rem; letter-spacing:.08em; }
  .nav__inner{ height:66px; gap:12px; }
  .nav__menu{ inset:66px 0 auto; max-height:calc(100dvh - 66px); }
  .nav__logo img{ height:42px; }
  .nav__tel{ width:44px; height:44px; justify-content:center; border:1px solid var(--line); border-radius:10px; }
  .hero{ height:auto; min-height:0; }
  .hero__slides{ position:relative; height:clamp(500px, 82vh, 640px); }
  .hero__body{ padding-bottom:96px; }
  .hero__cta{ gap:10px; }
  .hero__cta .btn{ flex:1 1 100%; }
  .hero__nav{ bottom:26px; gap:10px; }
  .hero__arrow{ width:42px; height:42px; }
  .hero__facts{ grid-template-columns:1fr 1fr; gap:18px 20px; }
  .offer__head{ gap:16px; }
  .offer__tools{ width:100%; justify-content:space-between; }
  .ocard{ flex:0 0 82vw; }
  .feats{ grid-template-columns:1fr; gap:18px; }
  .about__photo img{ aspect-ratio:4/3; object-position:50% 12%; }
  .about2__cta .btn{ flex:1 1 100%; }
  .office2{ padding:22px 20px 18px; }
  .office2__info{ grid-template-columns:1fr; gap:14px; }
  .team__grid{ grid-template-columns:1fr 1fr; gap:10px; }
  .photo-picker__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
  .tl__grid{ grid-template-columns:1fr; gap:0; }
  .tl__grid li{ padding:18px 0; }
  .scope2__grid{ grid-template-columns:1fr; }
  .dept__cta .btn{ flex:1 1 100%; }
  .uhero__jump{ grid-template-columns:1fr; }
  .claims__tels{ padding:18px 18px; }
  .tugrid__list{ grid-template-columns:1fr; }
  .tuwyr{ grid-template-columns:1fr; gap:14px; }
  .zakres__grid{ grid-template-columns:1fr; }
  .zbox{ padding:22px 20px 20px; }
  .tugrid__head{ flex-direction:column; align-items:stretch; }
  .tugrid__find{ flex:1 1 auto; }
  .tucard{ padding:13px 14px; }
  .deptband__inner{ aspect-ratio:4/3; margin:18px 0; }
  .deptband__cap{ font-size:.98rem; left:14px; bottom:12px; }
  .claims__aside-photo{ margin-bottom:14px; }
  .claims__aside-photo img{ aspect-ratio:16/10; }
  .mani__quote{ padding-left:16px; }
  .mani__pts{ grid-template-columns:1fr; gap:16px; }
  .offer--static .offer__grid{ grid-template-columns:1fr; }
  .places__grid{ grid-template-columns:1fr; }
  .phero__facts{ gap:14px 28px; }
  .tcard{ padding:20px 14px 16px; }
  .phead h1{ max-width:none; }
  .fcta__fields{ grid-template-columns:1fr; }
  .fcta__btn{ width:100%; }
  .footer__grid{ grid-template-columns:1fr 1fr; gap:28px; }
  .footer__brand{ grid-column:1 / -1; }
  .footer__bottom{ justify-content:center; text-align:center; }
  .footer__meta{ justify-content:center; }
  .about__cta .btn{ flex:1 1 100%; }
  .partners-box__grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
  .partners-box__grid li{ min-height:64px; padding:12px 8px; }
  .partners-box__grid li:nth-child(5n){ border-right:1px solid var(--line); }
  .partners-box__grid li:nth-child(3n){ border-right:0; }
  .partners-box__grid li:nth-last-child(-n+5){ border-bottom:1px solid var(--line); }
  .partners-box__grid li:nth-last-child(-n+2){ border-bottom:0; }
  .partners-box__grid img{ transform:scale(.85); }
  .marquee img{ height:26px; }
  .marquee__track{ gap:44px; }
  .partners{ padding:36px 0 40px; }

  /* Mapy w kontakcie i karty TU w likwidacji (grids z inline style) - zapewnij 1 kolumnę i sensowne odstępy */
  .offices .offer__grid,
  .dept .offer__grid{ display:grid; grid-template-columns:1fr !important; gap:16px !important; }
  .offices .offer__grid iframe,
  .dept .offer__grid iframe{ height:280px !important; }

  /* Textarea w kontakcie z inline stylem - trzymamy 100% szerokości i sensowny min-height */
  .fcta__form textarea{ width:100%; min-height:120px; box-sizing:border-box; }

  /* Karty TU wyróżnione w likwidacji (repeat(3,1fr) inline) - link telefonów w jednym wierszu */
  .dept .offer__grid .tcard{ padding:22px 18px 18px; }
  .dept .offer__grid .tcard__tel{ font-size:.92rem; padding:9px 14px; word-break:break-word; text-align:center; }

  /* Zapytania telefonów w claims - zawijanie żeby długie nazwy TU nie rozjeżdżały wiersza */
  .claims__tels li{ align-items:flex-start; }
  .claims__tels li span{ min-width:0; flex:1 1 100%; }
  .claims__tels li a, .claims__tels li em{ margin-top:2px; }

  /* Team - lepszy touch target na mobile */
  .tcard__tel{ min-height:44px; }

  /* Hero: gwarancja że kicker chip nie łamie się dziwnie */
  .hero__kicker, .pill{ max-width:100%; white-space:normal; }

  /* Skip do sekcji w hero podstrony - lepiej się układa */
  .phero__jump{ gap:8px; }
  .phero__jump a{ padding:9px 14px; font-size:.84rem; }

  /* Formularz kontaktowy — pełna szerokość przycisku i offsetów consent */
  .fcta__consent{ align-items:flex-start; }

  /* Iframe mapy - min wysokości */
  .offices iframe{ min-height:240px; }

  /* Ograniczenie długości słów łamania w hero */
  .hero__title, .phero h1, .uhero h1{ overflow-wrap:break-word; word-break:normal; hyphens:auto; }
}

/* ── Bardzo małe telefony (<= 480px) ──────────────────────────── */
@media (max-width: 480px){
  :root{ --pad:16px; }
  body{ font-size:15.5px; }

  .topbar{ font-size:.72rem; }
  .topbar__inner{ height:34px; gap:8px; }
  .tb-office{ gap:6px; }
  .tb-office + .tb-office{ margin-left:0; padding-left:10px; }
  .tb-office__city{ font-size:.6rem; letter-spacing:.06em; }
  .tb-office__tel{ font-size:.75rem; }

  .nav__inner{ height:62px; gap:8px; }
  .nav__menu{ inset:62px 0 auto; max-height:calc(100dvh - 62px); }
  .nav__logo img{ height:38px; }
  .nav__actions{ gap:8px; }

  .hero__slides{ height:clamp(460px, 78vh, 600px); }
  .hero__body{ padding-bottom:88px; }
  .hero__kicker{ font-size:.76rem; padding:6px 12px 6px 10px; margin-bottom:14px; }
  .hero__title{ margin-bottom:14px; }
  .hero__lead{ font-size:.94rem; margin-bottom:22px; }
  .hero__facts{ grid-template-columns:1fr 1fr; padding-top:20px; }

  .phero{ min-height:clamp(280px, 42vh, 360px); padding:36px 0; }
  .phero h1{ margin-bottom:14px; }
  .phero__body > p{ font-size:.96rem; margin-bottom:22px; }
  .phero__facts{ gap:12px 22px; padding-top:18px; }
  .phero__facts dt{ font-size:1.4rem; }

  .uhero{ padding:36px 0 44px; }
  .uhero__grid{ gap:28px; }
  .uhero__stack{ height:clamp(240px, 62vw, 320px); }
  .uhero__facts{ gap:12px 22px; padding-top:20px; }
  .uhero__facts dt{ font-size:1.4rem; }

  /* Skróty do sekcji - 2 kolumny na naprawdę wąskich */
  .phero__jump{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:22px; }
  .phero__jump a{ padding:11px 10px; font-size:.82rem; text-align:center; }

  .about2{ padding:52px 0; }
  .about2__head h2{ font-size:clamp(1.4rem, 1rem + 2vw, 1.8rem); margin-bottom:16px; }
  .about2__head p{ font-size:.96rem; }

  .about, .offer, .offices, .dept, .claims, .mani, .tl, .how, .team, .scope2, .legal, .places, .story{
    padding-top:44px; padding-bottom:44px;
  }
  .dept{ scroll-margin-top:80px; }
  .legal__sec{ scroll-margin-top:80px; }

  .partners{ padding:28px 0 32px; }
  .partners__label{ margin-bottom:22px; }

  .btn{ padding:11px 18px; font-size:.9rem; min-height:44px; }
  .btn--sm{ padding:9px 14px; font-size:.82rem; min-height:40px; }

  .footer{ padding:44px 0 20px; }
  .footer__grid{ gap:24px; }
  .footer__logo img{ height:44px; }
  .fcol h4{ margin-bottom:12px; }
  .footer__strip{ padding:14px 16px; font-size:.84rem; text-align:center; }

  .fcta__box{ border-radius:22px; }
  .fcta__fields input{ padding:12px 18px; font-size:.92rem; min-height:44px; }
  .fcta__consent span{ font-size:.78rem; }
  .fcta__btn{ min-height:46px; }

  /* Karty ofert i drużyny - lepsza gęstość */
  .ocard{ flex:0 0 84vw; }
  .ocard__body{ padding:26px 20px 20px; }
  .tcard{ padding:20px 14px 16px; }
  .tcard h3{ font-size:.94rem; }
  .tcard__mono{ width:52px; height:52px; margin-bottom:14px; }
  .tcard__tel{ font-size:.92rem; padding:8px 12px; }

  /* Karty biur (index / o-firmie) */
  .office2{ padding:20px 18px 16px; }
  .office2__head h3{ font-size:1.32rem; }
  .office2__main a:first-child{ font-size:1.28rem; }

  /* Sekcja tekstowa/polityka - mniejsze marginesy i lepsza czytelność */
  .legal__sec h2{ font-size:1.24rem; }
  .legal__toc{ padding:18px 18px 14px; }
  .legal__meta{ gap:10px 18px; font-size:.78rem; }

  /* Historia (o-firmie) - oś czasu */
  .tl__grid li{ padding:16px 0; }
  .tl__grid h3{ font-size:1.08rem; }

  /* Manifest cytat */
  .mani__quote{ padding-left:14px; font-size:1.1rem; }

  /* How list - lepsza czytelność */
  .how__list li{ padding:16px 0; gap:14px; }
  .how__note{ padding:16px 18px; }

  /* Claims steps - mniejsze numery i większa czytelność */
  .claims__steps li{ padding:14px 0; gap:14px; }
  .claims__steps span{ font-size:.78rem; }
  .claims__tels{ padding:18px 16px; }

  /* Karty ubez - dept */
  .dept__lead{ font-size:.96rem; margin-bottom:20px; }
  .dept__list dt{ font-size:.95rem; }
  .dept__list dd{ font-size:.88rem; }

  /* Krótsze CTA w tcard nagłówku */
  .office2__head{ flex-wrap:wrap; margin-bottom:16px; }
  .office2__map{ font-size:.78rem; padding:6px 12px; }

  /* Nawigacja mobile - nagłówki większe klikalne */
  .nav__list > li > a, .nav__sub-link{ font-size:1rem; padding:13px 10px; }

  /* Formularze - mapy w kontakcie mniejszy iframe */
  .offices .offer__grid iframe,
  .dept .offer__grid iframe{ height:240px !important; }

  /* Fact grid w hero - jak wąsko to jednak jedna kolumna */
  .hero__facts{ gap:14px 16px; }
  .fact strong{ font-size:1.35rem; }
}

/* ── Photo breather (przewietrzenie długiej podstrony) ────────── */
.pbreather{
  padding:clamp(28px, 3.4vw, 56px) 0;
  background:#fafcfc;
}
.pbreather--alt{ background:#fff; }
.pbreather__frame{
  position:relative; border-radius:var(--r); overflow:hidden;
  aspect-ratio:21/8;
}
.pbreather__frame picture{ position:absolute; inset:0; display:block; }
.pbreather__frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.pbreather__frame figcaption{
  position:absolute; left:16px; bottom:16px; z-index:2;
  padding:8px 16px; border-radius:999px;
  background:rgba(8,22,28,.62); color:#fff;
  font-size:.76rem; letter-spacing:.1em; text-transform:uppercase;
}

/* Zdjęcie w kolumnie kontaktowej likwidacji/dokumentów */
.claims__tels-photo{
  margin:0 0 18px; border-radius:var(--r-sm); overflow:hidden;
}
.claims__tels-photo picture{ display:block; }
.claims__tels-photo img{
  width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; display:block;
}

@media (max-width: 900px){
  .pbreather__frame{ aspect-ratio:16/9; }
  .pbreather{ padding:clamp(22px, 4vw, 40px) 0; }
}
@media (max-width: 620px){
  .pbreather__frame{ aspect-ratio:4/3; }
  .pbreather__frame figcaption{ left:10px; bottom:10px; padding:6px 12px; font-size:.68rem; }
  .claims__tels-photo img{ aspect-ratio:16/9; }
}

/* Bardzo, bardzo małe (galaxy fold ~ 340) */
@media (max-width: 360px){
  :root{ --pad:14px; }
  .hero__title{ font-size:clamp(1.5rem, 1rem + 2.4vw, 1.9rem); }
  .phero h1, .uhero h1{ font-size:clamp(1.6rem, 1rem + 2.6vw, 2rem); }
  .about2__head h2, .about h2, .dept__txt h2, .mani__txt h2{ font-size:1.35rem; }
  .footer__grid{ grid-template-columns:1fr; }
  .footer__brand{ grid-column:auto; }
  .hero__facts{ grid-template-columns:1fr; }
  .phero__jump{ grid-template-columns:1fr; }
  .tb-office__city{ font-size:.58rem; }
  .tb-office__tel{ font-size:.72rem; }
  .offer__tools{ flex-wrap:wrap; gap:12px; }
  .offer__arrows{ margin-left:auto; }
  .topbar__inner{ gap:6px; }
  .tb-office{ gap:4px; min-width:0; }
  .tb-office + .tb-office{ padding-left:6px; }
  .tb-office__city{ overflow:hidden; text-overflow:ellipsis; }
}
