/* ==========================================================================
   Bestclean24 — Sprzątanie po zgonie Gdańsk
   Styl wizualny: granat morski (Bałtyk) + bursztynowy akcent (Gdańsk)
   ========================================================================== */

:root{
  --c-bg:        #f7f6f1;          /* off-white ciepły jak gdański piasek */
  --c-bg-alt:    #ffffff;
  --c-ink:       #0b2a3b;          /* granat morski */
  --c-ink-soft:  #36495a;
  --c-muted:     #6b7886;
  --c-line:      #e3e6ea;
  --c-line-soft: #eef1f4;
  --c-amber:     #d4a017;          /* bursztyn gdański */
  --c-amber-dk:  #b78712;
  --c-amber-bg:  #fff7e2;
  --c-success:   #1e7e34;
  --c-danger:    #c0392b;

  --c-hero-grad: linear-gradient(135deg,#0b2a3b 0%, #143c52 55%, #1a4d68 100%);
  --c-hero-overlay: linear-gradient(180deg, rgba(11,42,59,.88) 0%, rgba(11,42,59,.65) 100%);

  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 22px;
  --r-pill: 999px;

  --sh-1: 0 2px 10px rgba(11,42,59,.06);
  --sh-2: 0 8px 28px rgba(11,42,59,.12);
  --sh-3: 0 20px 60px rgba(11,42,59,.20);

  --ff-sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ff-serif: "Georgia", "Cambria", "Times New Roman", serif;

  --w-max: 1180px;
  --pad-x: clamp(16px, 4vw, 32px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--ff-sans);
  font-size:17px;
  line-height:1.65;
  color:var(--c-ink);
  background:var(--c-bg);
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%; height:auto; display:block}
a{color:var(--c-ink); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px}
a:hover{color:var(--c-amber-dk)}

.container{max-width:var(--w-max); margin:0 auto; padding-left:var(--pad-x); padding-right:var(--pad-x)}

.kicker{
  text-transform:uppercase;
  font-size:.78rem;
  letter-spacing:.14em;
  font-weight:700;
  color:var(--c-amber-dk);
  margin:0 0 .65rem;
}

h1,h2,h3,h4{font-family:var(--ff-sans); line-height:1.18; color:var(--c-ink); margin-top:0}
h1{font-size:clamp(2rem, 4.6vw + .4rem, 3.4rem); font-weight:800; letter-spacing:-.02em}
h2{font-size:clamp(1.55rem, 2.2vw + .6rem, 2.35rem); font-weight:800; letter-spacing:-.012em; margin:0 0 .8rem}
h3{font-size:1.18rem; font-weight:700; margin:0 0 .5rem}
h4{font-size:1.02rem; font-weight:700; margin:0 0 .5rem}

p{margin:0 0 1rem}
ul{padding-left:1.1rem; margin:0 0 1rem}
li{margin:.25rem 0}

.skip-link{
  position:absolute; left:-1000px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link:focus{
  position:static; width:auto; height:auto; padding:.5rem 1rem; background:var(--c-amber); color:#000; font-weight:700;
}

/* ========== UTILITY BAR ========== */
.utility-bar{background:var(--c-ink); color:#fff; font-size:.86rem}
.utility-bar__inner{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.5rem 0 .5rem;
}
.utility-bar__status{display:inline-flex; align-items:center; gap:.5rem; color:#dfe7ee}
.utility-bar__status .dot{
  width:.55rem; height:.55rem; border-radius:50%; background:#39d97f;
  box-shadow:0 0 0 0 rgba(57,217,127,.7); animation:pulseDot 2s infinite;
}
@keyframes pulseDot{
  0%{box-shadow:0 0 0 0 rgba(57,217,127,.55)}
  70%{box-shadow:0 0 0 10px rgba(57,217,127,0)}
  100%{box-shadow:0 0 0 0 rgba(57,217,127,0)}
}
.utility-bar__phone{
  color:#fff; text-decoration:none; font-weight:700; display:inline-flex; align-items:center; gap:.4rem;
}
.utility-bar__phone:hover{color:var(--c-amber)}

/* ========== HEADER ========== */
.topbar{
  background:var(--c-bg-alt);
  border-bottom:1px solid var(--c-line);
  position:sticky; top:0; z-index:50;
  box-shadow:0 1px 0 rgba(11,42,59,.04);
}
.topbar__inner{
  display:flex; align-items:center; gap:1.25rem;
  padding:.8rem 0;
}
.brand{display:inline-flex; align-items:center; gap:.7rem; text-decoration:none; color:var(--c-ink)}
.brand__mark{display:inline-flex}
.brand__name{
  font-family:var(--ff-sans); font-weight:800; font-size:1.18rem; line-height:1.1; letter-spacing:-.01em;
  display:flex; flex-direction:column;
}
.brand__accent{color:var(--c-amber-dk)}
.brand__sub{display:block; font-size:.72rem; color:var(--c-muted); font-weight:600; text-transform:uppercase; letter-spacing:.1em; margin-top:.15rem}

.nav{
  margin-left:auto; display:flex; gap:1.2rem; align-items:center;
}
.nav a{
  text-decoration:none; color:var(--c-ink-soft); font-weight:600; font-size:.93rem;
  padding:.4rem 0; border-bottom:2px solid transparent;
}
.nav a:hover{color:var(--c-ink); border-bottom-color:var(--c-amber)}

/* ========== BUTTONS ========== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.78rem 1.3rem; border-radius:var(--r-pill); font-weight:700; font-size:1rem;
  text-decoration:none; border:2px solid transparent; cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  white-space:nowrap;
}
.btn--xl{padding:1rem 1.6rem; font-size:1.08rem}
.btn--primary{background:var(--c-amber); color:#0b2a3b; box-shadow:var(--sh-2)}
.btn--primary:hover{background:var(--c-amber-dk); color:#fff; transform:translateY(-1px); box-shadow:var(--sh-3)}
.btn--ghost{background:transparent; color:var(--c-ink); border-color:var(--c-ink)}
.btn--ghost:hover{background:var(--c-ink); color:#fff}
.btn--cta{background:#d4a017; color:#0b2a3b}
.btn--cta:hover{background:#b78712; color:#fff}
.btn--header{position:relative; overflow:hidden}
.btn--header .btn__pulse{
  position:absolute; inset:0; border-radius:inherit;
  box-shadow:0 0 0 0 rgba(212,160,23,.6); animation:pulseBtn 2.4s infinite;
}
@keyframes pulseBtn{
  0%{box-shadow:0 0 0 0 rgba(212,160,23,.55)}
  70%{box-shadow:0 0 0 14px rgba(212,160,23,0)}
  100%{box-shadow:0 0 0 0 rgba(212,160,23,0)}
}

/* ========== HERO ========== */
.hero{position:relative; color:#fff; isolation:isolate; overflow:hidden}
.hero__bg{
  position:absolute; inset:0; z-index:-1;
  background:var(--c-hero-grad);
}
.hero__bg::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(circle at 78% 18%, rgba(212,160,23,.20) 0%, rgba(212,160,23,0) 38%),
    radial-gradient(circle at 12% 78%, rgba(96,165,200,.18) 0%, rgba(96,165,200,0) 45%);
}
.hero__bg::after{
  content:""; position:absolute; inset:0; opacity:.05;
  background-image:linear-gradient(rgba(255,255,255,.6) 1px, transparent 1px);
  background-size:100% 28px;
}
.hero__grid{
  display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center;
  padding:3.5rem 0 4rem;
}
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:.55rem;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18);
  padding:.45rem .9rem; border-radius:var(--r-pill); font-size:.85rem; font-weight:600;
  color:#fbe6a8; margin:0 0 1.2rem;
}
.hero__pulse{
  width:.55rem; height:.55rem; border-radius:50%; background:#39d97f;
  box-shadow:0 0 0 0 rgba(57,217,127,.7); animation:pulseDot 2s infinite;
}
.hero h1{color:#fff; margin-bottom:1.1rem}
.hero__lead{
  font-size:1.08rem; line-height:1.65; color:#dfe7ee; max-width:54ch; margin-bottom:1.5rem;
}
.hero__lead strong{color:#fff}
.hero__pills{
  list-style:none; padding:0; margin:0 0 1.8rem;
  display:flex; flex-wrap:wrap; gap:.5rem .9rem;
  font-size:.92rem; color:#fbe6a8; font-weight:600;
}
.hero__pills li{margin:0}
.hero__cta{display:flex; gap:.85rem; flex-wrap:wrap; margin-bottom:1.2rem}
.hero__cta .btn--ghost{color:#fff; border-color:rgba(255,255,255,.5)}
.hero__cta .btn--ghost:hover{background:#fff; color:var(--c-ink)}
.hero__trust{font-size:.92rem; color:#b6c7d4; margin:0}
.hero__trust a{color:#fff}

.hero__visual{position:relative}
.hero__figure{
  margin:0; border-radius:var(--r-lg); overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.06);
  background:#000;
}
.hero__figure img{display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover}
.hero__figure figcaption{
  background:rgba(255,255,255,.07);
  color:#dfe7ee; font-size:.85rem; padding:.7rem .95rem;
  border-top:1px solid rgba(255,255,255,.1);
}

/* ========== SECTION COMMON ========== */
section{padding:4rem 0}
.section__head{max-width:880px; margin:0 0 2.2rem}
.section__head--center{margin-left:auto; margin-right:auto; text-align:center}
.section__lead{color:var(--c-ink-soft); font-size:1.05rem; max-width:70ch}
.section__head--center .section__lead{margin-left:auto; margin-right:auto}

/* ========== PIERWSZY KROK ========== */
.firststep{background:var(--c-bg-alt); border-top:1px solid var(--c-line)}
.firststep__list{
  list-style:none; padding:0; margin:0;
  counter-reset:step;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1.4rem;
}
.firststep__list li{
  background:var(--c-bg);
  border:1px solid var(--c-line);
  border-radius:var(--r-md);
  padding:1.4rem 1.4rem 1.4rem;
  position:relative;
  transition:border-color .2s ease, transform .2s ease;
}
.firststep__list li:hover{border-color:var(--c-amber); transform:translateY(-2px)}
.firststep__num{
  position:absolute; top:-14px; left:1.4rem;
  background:var(--c-amber); color:var(--c-ink);
  width:34px; height:34px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:800; font-size:1rem;
  box-shadow:var(--sh-1);
}
.firststep__list h3{margin:.6rem 0 .35rem; font-size:1.08rem}
.firststep__list p{margin:0; color:var(--c-ink-soft); font-size:.96rem}
.tel-inline{font-weight:700; color:var(--c-amber-dk)}

/* ========== TRUST ========== */
.trust{background:var(--c-bg)}
.trust__grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1.2rem;
}
.trust__card{
  background:var(--c-bg-alt);
  border:1px solid var(--c-line);
  border-radius:var(--r-md);
  padding:1.6rem;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.trust__card:hover{transform:translateY(-3px); box-shadow:var(--sh-2); border-color:var(--c-amber)}
.trust__icon{
  width:48px; height:48px; border-radius:12px;
  background:var(--c-amber-bg); color:var(--c-amber-dk);
  display:inline-flex; align-items:center; justify-content:center;
  margin-bottom:.95rem;
}
.trust__card h3{font-size:1.08rem}
.trust__card p{color:var(--c-ink-soft); font-size:.95rem; margin:0}

/* ========== SERVICES ========== */
.services{background:var(--c-bg-alt); border-top:1px solid var(--c-line)}
.services__grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:1.2rem;
}
.service{
  background:var(--c-bg);
  border:1px solid var(--c-line);
  border-radius:var(--r-md);
  padding:1.5rem;
  display:flex; flex-direction:column;
}
.service h3{font-size:1.08rem}
.service ul{padding-left:1.05rem; color:var(--c-ink-soft); font-size:.95rem}
.service__price{
  margin:auto 0 0; padding-top:1rem; border-top:1px dashed var(--c-line);
  color:var(--c-ink-soft); font-size:.95rem;
}
.service__price strong{color:var(--c-amber-dk); font-size:1.15rem}
.service--primary{background:linear-gradient(180deg, var(--c-amber-bg) 0%, #fff 65%); border-color:var(--c-amber)}
.service--primary h3{color:var(--c-ink)}

/* ========== PROCES ========== */
.process{background:var(--c-bg)}
.process__timeline{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:1.2rem;
}
.process__timeline li{
  background:var(--c-bg-alt); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:1.4rem; position:relative; padding-top:2.6rem;
}
.process__step{
  position:absolute; top:1rem; right:1rem;
  font-family:var(--ff-serif); font-style:italic;
  color:var(--c-amber-dk); font-size:1.4rem; font-weight:700; letter-spacing:.02em;
  opacity:.85;
}
.process__timeline h3{font-size:1.05rem; padding-right:2.2rem}
.process__timeline p{color:var(--c-ink-soft); font-size:.94rem; margin:0}

/* ========== GALLERY ========== */
.gallery{background:var(--c-bg-alt); border-top:1px solid var(--c-line)}
.gallery__grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:1.2rem; margin-bottom:1.4rem;
}
.gallery__item{margin:0; border-radius:var(--r-md); overflow:hidden; background:var(--c-ink); box-shadow:var(--sh-1)}
.gallery__item img{aspect-ratio:4/3; object-fit:cover; width:100%}
.gallery__item figcaption{background:var(--c-bg); padding:.85rem 1rem; font-size:.92rem; color:var(--c-ink-soft); border-top:1px solid var(--c-line)}
.gallery__note{font-size:.88rem; color:var(--c-muted); text-align:center; margin:0}

/* ========== DISTRICTS ========== */
.districts{background:var(--c-bg)}
.districts__grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:1.4rem;
}
.districts__col{
  background:var(--c-bg-alt); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:1.4rem;
}
.districts__col h3{
  font-size:.95rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--c-amber-dk); border-bottom:2px solid var(--c-amber); padding-bottom:.5rem; margin-bottom:.7rem;
}
.districts__col ul{padding-left:0; list-style:none; margin:0; color:var(--c-ink-soft); font-size:.93rem; line-height:1.8}

/* ========== PRICING ========== */
.pricing{background:var(--c-bg-alt); border-top:1px solid var(--c-line)}
.pricing__layout{
  display:grid; grid-template-columns:1.4fr 1fr; gap:1.6rem; align-items:flex-start;
}
.pricing__table{
  border:1px solid var(--c-line); border-radius:var(--r-md); overflow:hidden; background:var(--c-bg);
}
.pricing__row{
  display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:1rem;
  padding:.95rem 1.1rem;
  border-bottom:1px solid var(--c-line-soft); font-size:.97rem;
}
.pricing__row:last-child{border-bottom:0}
.pricing__row--head{
  background:var(--c-ink); color:#fff; font-weight:700; font-size:.82rem;
  text-transform:uppercase; letter-spacing:.08em;
}
.pricing__row--highlight{background:var(--c-amber-bg); font-weight:600}
.pricing__row--highlight strong{color:var(--c-amber-dk)}
.pricing__factors{
  background:var(--c-bg); border:1px solid var(--c-line); border-radius:var(--r-md); padding:1.4rem;
}
.pricing__factors h3{font-size:1.05rem}
.pricing__factors ul{padding-left:1.15rem; color:var(--c-ink-soft); font-size:.95rem}
.pricing__note{margin-top:1rem; padding:.85rem 1rem; border-radius:var(--r-sm); background:var(--c-amber-bg); color:var(--c-ink); font-size:.92rem}

/* ========== DOCS ========== */
.docs{background:var(--c-bg)}
.docs__grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:1.1rem;
}
.docs__card{
  background:var(--c-bg-alt); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:1.4rem; border-left:4px solid var(--c-amber);
}
.docs__card h3{font-size:1.02rem}
.docs__card p{color:var(--c-ink-soft); font-size:.93rem; margin:0}

/* ========== REVIEWS ========== */
.reviews{background:var(--c-ink); color:#fff}
.reviews .kicker{color:var(--c-amber)}
.reviews h2{color:#fff}
.reviews__grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1.2rem; margin-bottom:1.6rem;
}
.review{
  margin:0;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-md);
  padding:1.5rem;
}
.review blockquote{
  margin:0 0 .7rem; font-family:var(--ff-serif); font-style:italic; color:#eef1f4;
  font-size:1rem; line-height:1.6;
}
.review figcaption{color:#bcd0dd; font-size:.88rem; font-weight:600}
.reviews__rating{
  text-align:center; font-size:1rem; color:#dfe7ee;
}
.reviews__stars{color:var(--c-amber); font-size:1.2rem; letter-spacing:.15em; margin-right:.4rem}

/* ========== FAQ ========== */
.faq{background:var(--c-bg-alt)}
.faq__list{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:.7rem;
}
.faq details{
  background:var(--c-bg); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:0; overflow:hidden; transition:border-color .2s;
}
.faq details[open]{border-color:var(--c-amber)}
.faq summary{
  cursor:pointer; padding:1rem 1.2rem; font-weight:700; color:var(--c-ink); list-style:none;
  display:flex; gap:.8rem; align-items:flex-start; font-size:.98rem;
  position:relative;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:""; margin-left:auto; min-width:14px; height:14px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230b2a3b' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .25s;
}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq details p{padding:0 1.2rem 1.1rem; margin:0; color:var(--c-ink-soft); font-size:.95rem; line-height:1.6}

/* ========== CONTACT ========== */
.contact{background:var(--c-bg); border-top:1px solid var(--c-line)}
.contact__list{list-style:none; padding:0; font-size:1rem; line-height:1.9; margin:0}
.contact__list strong{color:var(--c-ink); font-weight:700; margin-right:.3rem}
.contact__small{color:var(--c-muted); font-size:.88rem; margin:1.6rem auto 0; max-width:70ch; text-align:center}

.contact__cta{
  display:flex; justify-content:center; margin:1.6rem 0 2.4rem;
}
.contact__phone{
  display:inline-flex; flex-direction:column; align-items:center; gap:.25rem;
  background:linear-gradient(135deg, var(--c-amber) 0%, var(--c-amber-dk) 100%);
  color:var(--c-ink); text-decoration:none;
  padding:1.5rem 2.6rem; border-radius:var(--r-lg);
  box-shadow:var(--sh-3);
  transition:transform .15s ease, box-shadow .2s ease;
  position:relative; overflow:hidden;
}
.contact__phone::before{
  content:""; position:absolute; inset:0; border-radius:inherit;
  box-shadow:0 0 0 0 rgba(212,160,23,.55); animation:pulseBtn 2.4s infinite;
}
.contact__phone:hover{transform:translateY(-2px); color:var(--c-ink)}
.contact__phone svg{margin-bottom:.4rem}
.contact__phone-label{font-size:.85rem; text-transform:uppercase; letter-spacing:.12em; font-weight:700; opacity:.85}
.contact__phone-num{font-size:clamp(1.6rem, 3.2vw, 2.2rem); font-weight:800; letter-spacing:-.01em}

.contact__info{
  display:grid; grid-template-columns:1fr 1fr; gap:1.2rem;
}
.contact__card-info{
  background:var(--c-bg-alt); border:1px solid var(--c-line); border-radius:var(--r-md);
  padding:1.5rem; border-top:4px solid var(--c-amber);
}
.contact__card-info h3{font-size:1.05rem; margin-bottom:.7rem}

/* ========== FOOTER ========== */
.footer{background:#08202e; color:#c8d4dd; padding:3rem 0 0; margin-top:0}
.footer__inner{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2rem;
  padding-bottom:2rem;
}
.footer h4{color:#fff; font-size:.95rem; text-transform:uppercase; letter-spacing:.06em; margin:0 0 .8rem}
.footer ul{list-style:none; padding:0; font-size:.93rem; line-height:2}
.footer a{color:#c8d4dd; text-decoration:none}
.footer a:hover{color:var(--c-amber)}
.footer .brand__name{color:#fff; font-size:1.3rem}
.footer .brand__accent{color:var(--c-amber)}
.footer__col--brand p{color:#a3b3c0; font-size:.92rem; margin-top:.8rem; max-width:34ch}
.footer__bottom{border-top:1px solid rgba(255,255,255,.08); padding:1.2rem 0; font-size:.85rem}
.footer__bottom-inner{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; color:#a3b3c0}

/* ========== STICKY CTA (mobile) ========== */
.sticky-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:90;
  display:none;
  background:rgba(255,255,255,.96);
  backdrop-filter:saturate(160%) blur(10px);
  border-top:1px solid var(--c-line);
  padding:.6rem; gap:.6rem;
}
.sticky-cta__btn{
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.9rem 1rem; border-radius:var(--r-pill); font-weight:700; text-decoration:none;
  font-size:.98rem;
}
.sticky-cta__btn--call{background:var(--c-amber); color:#0b2a3b}
.sticky-cta__btn--mail{background:var(--c-ink); color:#fff}

/* ========== RESPONSIVE ========== */
@media (max-width: 1024px){
  .hero__grid{grid-template-columns:1fr; gap:2rem; padding:2.8rem 0 3rem}
  .hero__visual{order:-1}
  .hero__figure img{aspect-ratio:16/10}
  .contact__info{grid-template-columns:1fr; gap:1rem}
  .pricing__layout{grid-template-columns:1fr}
  .footer__inner{grid-template-columns:1fr 1fr; gap:1.6rem}
}

@media (max-width: 760px){
  .nav{display:none}
  .topbar__inner{gap:.6rem}
  .btn--header{padding:.65rem 1rem; font-size:.92rem}
  section{padding:2.8rem 0}
  .hero{padding:0}
  .hero__grid{padding:2.4rem 0 8rem}
  .hero__lead{font-size:1rem}
  .hero__cta{flex-direction:column; gap:.6rem}
  .hero__cta .btn{width:100%}
  .pricing__row{grid-template-columns:1.4fr 1fr 1fr; font-size:.92rem; gap:.6rem; padding:.8rem .85rem}
  .footer__inner{grid-template-columns:1fr; gap:1.5rem}
  .sticky-cta{display:flex}
  body{padding-bottom:78px}
  .utility-bar__status{display:none}
  .utility-bar__inner{justify-content:center}
}

@media (max-width: 420px){
  .brand__sub{display:none}
  .btn--header span{font-size:0; padding-left:.4em}
  .btn--header::after{content:"Zadzwoń"; font-size:.92rem}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01s !important; animation-iteration-count:1 !important; transition-duration:.01s !important}
  html{scroll-behavior:auto}
}

@media print{
  .utility-bar, .topbar, .sticky-cta, .hero__cta, .contact__form{display:none !important}
  body{background:#fff; color:#000}
  a{color:#000; text-decoration:underline}
}
