/* ── 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: 1180px;
  --pad: 24px;
  --r: 14px;
  --r-sm: 10px;

  --ff: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

*,*::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; line-height:1.15; letter-spacing:-.02em; font-weight:800; }
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; font-weight:700; letter-spacing:-.01em; }
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:9px;
  padding:14px 24px; border-radius:999px; border:1.5px solid transparent;
  font-weight:700; font-size:.97rem; letter-spacing:-.01em; 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--sm{ padding:11px 19px; font-size:.9rem; }
.btn svg{ flex:none; }

/* ── Nav ──────────────────────────────────────────────────────── */
.nav{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92);
  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:44px; }

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

.has-sub{ position:relative; }
.nav__sub{
  position:absolute; top:calc(100% + 10px); left:0; min-width:238px;
  list-style:none; margin:0; padding:8px; background:#fff;
  border:1px solid var(--line); border-radius:var(--r-sm);
  box-shadow:0 12px 34px rgba(13,28,34,.09);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
}
.has-sub:hover .nav__sub, .has-sub:focus-within .nav__sub{ opacity:1; visibility:visible; transform:none; }
.nav__sub a{
  display:block; padding:10px 13px; border-radius:7px;
  font-size:.94rem; font-weight:600; color:var(--ink-70);
}
.nav__sub a:hover{ background:var(--brand-tint); color:var(--brand-dark); }
.nav__sub-toggle svg{ transition:transform .16s ease; }
.has-sub:hover .nav__sub-toggle svg{ transform:rotate(180deg); }

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

.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); }

/* ── Hero ─────────────────────────────────────────────────────── */
.hero{ padding:clamp(48px, 5vw, 84px) 0 clamp(40px, 4vw, 64px); }
.hero__grid{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.82fr);
  gap:clamp(32px, 5vw, 72px); align-items:center;
}
.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:700; color:var(--brand-darker);
  letter-spacing:.01em;
}
.chip b{ font-weight:800; }
.hero h1{ margin-bottom:20px; }
.hero h1 em{ font-style:normal; color:var(--brand-dark); }
.hero__lead{ font-size:1.09rem; color:var(--muted); max-width:52ch; margin-bottom:30px; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:38px; }

.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:800; letter-spacing:-.03em; color:var(--ink); }
.fact span{ font-size:.85rem; color:var(--muted); font-weight:500; 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:800; letter-spacing:-.01em; }
.office-card__head span{ font-size:.8rem; opacity:.82; font-weight:600; }
.office{ padding:20px 22px; border-bottom:1px solid var(--line); }
.office:last-child{ border-bottom:0; }
.office__city{
  font-size:.74rem; font-weight:800; 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:800; 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:700; }
.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:700; }

/* ── Pasek towarzystw ─────────────────────────────────────────── */
.partners{ padding:34px 0 44px; border-top:1px solid var(--line); }
.partners__label{
  font-size:.76rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase;
  color:var(--muted); text-align:center; margin-bottom:24px;
}
.marquee{ position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee__track{ display:flex; align-items:center; gap:56px; width:max-content; animation:slide 46s linear infinite; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee img{
  height:34px; width:auto; object-fit:contain; flex:none;
  filter:grayscale(1); opacity:.62; transition:filter .2s ease, opacity .2s ease;
}
.marquee img:hover{ filter:none; opacity:1; }
@keyframes slide{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .marquee__track{ animation:none; flex-wrap:wrap; width:auto; justify-content:center; gap:34px; } }

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 1040px){
  .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-toggle{ width:100%; padding:14px 12px; font-size:1.02rem; justify-content:space-between; }
  .nav__sub{
    position:static; opacity:1; visibility:visible; transform:none; box-shadow:none;
    border:0; border-left:2px solid var(--brand-line); border-radius:0;
    margin:2px 0 8px 12px; padding:0 0 0 8px; display:none;
  }
  .nav__sub.is-open{ display:block; }
  .nav__burger{ display:flex; }
  .nav__actions .btn{ display:none; }
  .hero__grid{ grid-template-columns:1fr; gap:40px; }
  .hero__lead{ max-width:none; }
}
@media (max-width: 620px){
  body{ font-size:16px; }
  :root{ --pad:18px; }
  .nav__inner{ height:66px; gap:12px; }
  .nav__menu{ inset:66px 0 auto; max-height:calc(100dvh - 66px); }
  .nav__logo img{ height:36px; }
  .nav__tel span{ display:none; }
  .nav__tel{ width:42px; height:42px; justify-content:center; border:1px solid var(--line); border-radius:10px; }
  .hero{ padding-top:34px; }
  .hero__cta .btn{ width:100%; }
  .hero__facts{ grid-template-columns:1fr 1fr; gap:18px 20px; }
  .marquee img{ height:28px; }
}
