:root{--bg:#0b0c0b;--bg2:#111210;--card:#171817;--card2:#1d1e1c;--text:#f4f5f2;--muted:#9d9f99;--yellow:#ffd000;--yellow2:#f6bf00;--line:#292b27;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(10,11,10,.92);backdrop-filter:blur(14px);border-bottom:1px solid #1d1e1c}.header-inner{height:72px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand-mark,.square-icon{width:34px;height:34px;border-radius:9px;background:var(--yellow);color:#12120d;display:inline-grid;place-items:center;font-weight:900;box-shadow:0 0 28px rgba(255,208,0,.14)}.brand strong{display:block;font-size:14px}.brand small{display:block;color:var(--yellow);font-size:8px;letter-spacing:.13em;margin-top:2px}.nav{display:flex;gap:28px;margin-left:auto}.nav a{font-size:13px;color:#d7d8d4;transition:.2s}.nav a:hover{color:var(--yellow)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--yellow);color:#11120e;font-weight:800;border:0;border-radius:7px;padding:14px 22px;font-size:13px;box-shadow:0 10px 30px rgba(255,208,0,.08);transition:.2s;cursor:pointer}.btn:hover{transform:translateY(-2px);background:#ffe044}.btn-small{padding:11px 17px;font-size:12px}.btn-ghost{background:#20211f;color:#fff;border:1px solid #30322e;box-shadow:none}.btn-ghost:hover{background:#292a27}.btn-full{width:100%}.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:28px}.hero{position:relative;overflow:hidden;min-height:690px;padding:105px 0 80px;background:radial-gradient(circle at 55% 30%,rgba(255,208,0,.045),transparent 32%),linear-gradient(180deg,#10110e,#0b0c0b)}.hero-glow{position:absolute;width:650px;height:650px;border-radius:50%;background:rgba(255,201,0,.035);filter:blur(80px);left:45%;top:-260px}.hero-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:100px;align-items:center;position:relative}.eyebrow,.section-kicker{display:inline-block;color:#e0b92a;background:#171812;border:1px solid #2b2c24;border-radius:999px;padding:6px 10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.hero h1{font-size:58px;line-height:1.08;letter-spacing:-.045em;margin:18px 0 22px}.hero h1 span{color:var(--yellow)}.lead{font-size:16px;color:#b4b6b0;max-width:650px}.rating-line{display:flex;gap:7px;align-items:center;margin:23px 0;color:#b9bbb6;font-size:12px}.stars{color:var(--yellow);letter-spacing:.13em}.hero-actions{display:flex;gap:12px}.hero-stats{display:flex;gap:54px;margin-top:36px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-size:14px}.hero-stats span{font-size:8px;color:#777a75;text-transform:uppercase;letter-spacing:.13em;margin-top:4px}.emergency-card,.area-card,.booking-form{background:linear-gradient(145deg,#191a18,#151614);border:1px solid #2b2d29;border-radius:14px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.28)}.emergency-card h2{font-size:20px;line-height:1.25;margin:18px 0 12px}.emergency-card p{font-size:13px;color:var(--muted)}.emergency-box{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;background:#0f100f;border-radius:9px;padding:15px 16px;margin-top:22px;border:1px solid #242622}.emergency-box small{grid-column:1;font-size:8px;color:#777}.emergency-box strong{grid-column:1}.emergency-box a{grid-column:2;grid-row:1/3;width:30px;height:30px;background:var(--yellow);color:#111;border-radius:50%;display:grid;place-items:center;font-weight:900}.section{padding:105px 0;border-top:1px solid #151713}.section-dark{background:#0f100f}.section-head{text-align:center;max-width:700px;margin:0 auto 48px}.section-head .section-kicker,.booking-copy .section-kicker,.area-grid .section-kicker{background:transparent;border:0;padding:0;color:#d8ad21}.section-head h2,.booking-copy h2,.area-grid h2{font-size:34px;line-height:1.12;letter-spacing:-.035em;margin:14px 0}.section-head p,.booking-copy p,.area-grid p{color:var(--muted);font-size:13px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-card,.service-card{background:linear-gradient(145deg,#181917,#151614);border:1px solid #252724;border-radius:11px;padding:24px;min-height:235px;transition:.25s}.feature-card:hover,.service-card:hover{transform:translateY(-4px);border-color:#3a392d}.feature-card>span,.service-card>span{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#25251c;color:var(--yellow);margin-bottom:26px}.feature-card h3,.service-card h3{font-size:15px}.feature-card p,.service-card p{font-size:12px;color:#969993}.feature-card a,.service-card a{display:block;margin-top:24px;font-size:9px;color:#c3a72d;letter-spacing:.09em}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{min-height:265px}.area-section{background:linear-gradient(180deg,#0b0c0b,#0e0f0d)}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.city-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.city-list span{background:#151614;border:1px solid #252724;border-radius:7px;padding:13px 15px;color:#d7d8d4;font-size:12px}.area-card h3{font-size:22px;margin:18px 0 10px}.area-card p{margin-bottom:23px}.booking{background:#101110}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:105px;align-items:center}.booking-copy ul{padding:0;list-style:none;margin:28px 0}.booking-copy li{color:#c8cac5;font-size:12px;margin:12px 0}.booking-form{position:relative;padding:30px}.form-top{position:absolute;top:-1px;left:0;right:0;height:4px;background:var(--yellow);border-radius:14px 14px 0 0}.booking-form h3{margin:0 0 5px}.booking-form>p{font-size:11px;color:var(--muted);margin:0 0 20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-form label{display:block;color:#b7b9b4;font-size:9px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;margin-top:7px;background:#0e0f0e;border:1px solid #292b28;border-radius:7px;padding:12px;color:#e8e9e5;font:inherit;font-size:12px;outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#6b5b13}.booking-form textarea{resize:vertical}.booking-form .check{display:flex;align-items:flex-start;gap:8px;text-transform:none;letter-spacing:0;font-size:10px}.booking-form .check input{width:auto;margin:2px 0}.reviews{background:#0d0e0d}.review-badge{display:inline-flex;gap:8px;align-items:center;background:#171814;border:1px solid #2a2c28;padding:8px 12px;border-radius:999px;margin-top:18px;font-size:10px}.review-slider{max-width:760px;margin:auto;position:relative;display:flex;align-items:center}.review-track{width:100%}.review{display:none;background:#171817;border:1px solid #2c2e2a;border-radius:12px;padding:30px 38px;min-height:190px}.review.active{display:block;animation:fade .35s ease}.review blockquote{margin:10px 0 25px;font-size:16px;font-style:italic}.review strong,.review small{display:block}.review small{color:#777a75;font-size:9px;margin-top:4px}.slider-btn{position:absolute;z-index:2;width:36px;height:36px;border-radius:50%;border:1px solid #353732;background:#151614;color:#fff;font-size:24px;cursor:pointer}.slider-btn.prev{left:-18px}.slider-btn.next{right:-18px}.slider-dots{text-align:center;margin-top:16px}.slider-dots span{display:inline-block;width:5px;height:5px;background:#444642;border-radius:50%;margin:0 3px}.slider-dots span.active{width:20px;border-radius:4px;background:var(--yellow)}.cta{padding:85px 0;background:radial-gradient(circle at 50% 40%,rgba(255,208,0,.08),transparent 32%),#151608;border-top:1px solid #222312}.cta-inner{text-align:center}.cta-inner .square-icon{margin:auto}.cta h2{font-size:36px;line-height:1.08;margin:18px 0 12px}.cta p{color:#aaa;font-size:13px}.cta-actions{display:flex;justify-content:center;gap:10px;margin-top:24px}.placeholder-note{display:block;margin-top:15px;color:#777;font-size:9px}.footer{padding:44px 0 20px;background:#0a0b0a;border-top:1px solid #1d1e1b}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:70px}.footer p,.footer a{color:#888b85;font-size:11px}.footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.09em}.copyright{border-top:1px solid #20211f;margin-top:34px;padding-top:20px;color:#666863;font-size:9px;display:flex;justify-content:space-between}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}@keyframes fade{from{opacity:.2;transform:translateX(8px)}to{opacity:1;transform:none}}@media(max-width:900px){.header-phone{display:none}.nav{position:absolute;top:72px;left:0;right:0;margin:0;padding:18px 20px 24px;background:#0d0e0d;border-bottom:1px solid #252724;display:none;flex-direction:column;gap:18px}.nav.open{display:flex}.menu-toggle{display:block}.hero{padding-top:72px}.hero-grid,.area-grid,.booking-grid{grid-template-columns:1fr;gap:45px}.hero h1{font-size:44px}.emergency-card{max-width:520px}.feature-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}.booking-grid{align-items:start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:600px){.container{width:min(calc(100% - 28px),var(--max))}.hero{min-height:auto;padding-bottom:70px}.hero h1{font-size:38px}.hero-actions,.cta-actions{flex-direction:column;align-items:stretch}.hero-stats{gap:24px;justify-content:space-between}.feature-grid,.service-grid,.city-list,.form-row,.footer-grid{grid-template-columns:1fr}.section{padding:75px 0}.section-head h2,.booking-copy h2,.area-grid h2,.cta h2{font-size:29px}.review{padding:25px}.slider-btn{display:none}.footer-grid>div:first-child{grid-column:auto}.copyright{gap:12px;flex-direction:column}.header-inner{height:64px}.nav{top:64px}}
.brand-logo{width:112px;height:58px;object-fit:contain;background:#fff;border-radius:7px;padding:3px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-item{appearance:none;border:1px solid #292b28;background:#151614;border-radius:10px;padding:0;overflow:hidden;aspect-ratio:4/5;cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.04)}.google-reviews-card{max-width:720px;margin:auto;text-align:center;background:#171817;border:1px solid #2c2e2a;border-radius:12px;padding:34px}.google-reviews-card h3{font-size:22px;margin:18px 0 8px}.google-reviews-card p{color:#969993;font-size:13px;margin:0 auto 22px;max-width:540px}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(100%,1100px);max-height:90vh;object-fit:contain}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:rgba(20,20,20,.8);color:#fff;cursor:pointer;border-radius:50%}.lightbox-close{top:20px;right:20px;width:44px;height:44px;font-size:30px}.lightbox-nav{top:50%;transform:translateY(-50%);width:46px;height:46px;font-size:34px}.lightbox-prev{left:20px}.lightbox-next{right:20px}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.brand-logo{width:92px;height:50px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:9px}.google-reviews-card{padding:25px 18px}}
.brand-logo{width:112px;height:58px;object-fit:contain;background:#fff;border-radius:7px;padding:3px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery-item{appearance:none;border:1px solid #292b28;background:#151614;border-radius:10px;padding:0;overflow:hidden;aspect-ratio:4/5;cursor:pointer}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.gallery-item:hover img{transform:scale(1.04)}.google-reviews-card{max-width:720px;margin:auto;text-align:center;background:#171817;border:1px solid #2c2e2a;border-radius:12px;padding:34px}.google-reviews-card h3{font-size:22px;margin:18px 0 8px}.google-reviews-card p{color:#969993;font-size:13px;margin:0 auto 22px;max-width:540px}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(100%,1100px);max-height:90vh;object-fit:contain}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:rgba(20,20,20,.8);color:#fff;cursor:pointer;border-radius:50%}.lightbox-close{top:20px;right:20px;width:44px;height:44px;font-size:30px}.lightbox-nav{top:50%;transform:translateY(-50%);width:46px;height:46px;font-size:34px}.lightbox-prev{left:20px}.lightbox-next{right:20px}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.brand-logo{width:92px;height:50px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:9px}.google-reviews-card{padding:25px 18px}}

.brand-lockup{display:flex;align-items:center;gap:9px;text-decoration:none;color:#fff;white-space:nowrap}.brand-bolt{display:grid;place-items:center;width:31px;height:31px;border-radius:7px;background:#ffc400;color:#111;font-size:17px}.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-copy strong{font-size:14px;color:#fff}.brand-copy small{font-size:6.5px;letter-spacing:1.25px;color:#ffc400;margin-top:4px;font-weight:700}@media(max-width:600px){.brand-copy strong{font-size:13px}.brand-copy small{font-size:5.8px}.brand-bolt{width:29px;height:29px}}

/* v4 safety: the page content must never disappear because of JavaScript */
.no-js .reveal { opacity:1 !important; transform:none !important; }
.hero .reveal { opacity:1; transform:none; }

/* v5 – original user logo, same compact footprint as previous header brand */
.brand-logo-user{
  display:block;
  width:118px;
  height:42px;
  object-fit:contain;
  object-position:left center;
  flex:0 0 auto;
}
@media(max-width:600px){
  .brand-logo-user{width:110px;height:40px}
}

/* v6: exact logo file supplied by the user; display-size only */
.brand-logo-user{
  width:118px !important;
  height:42px !important;
  object-fit:contain !important;
  object-position:left center !important;
}
@media(max-width:600px){
  .brand-logo-user{width:110px !important;height:40px !important;}
}

/* v7: exact user logo + restored original company text */
.brand-combined{display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand-copy-restored{display:flex;flex-direction:column;line-height:1}
.brand-copy-restored strong{font-size:14px;letter-spacing:-.2px;color:#fff;font-weight:800}
.brand-copy-restored small{font-size:6.5px;letter-spacing:1.25px;color:#ffc400;margin-top:4px;font-weight:800}
@media(max-width:600px){
  .brand-combined{gap:7px}
  .brand-copy-restored strong{font-size:12px}
  .brand-copy-restored small{font-size:5.5px;letter-spacing:1px}
}

/* v8 – nagłówek: logo zostaje, napis wraca do wcześniejszego wyglądu */
.brand-combined{
  display:flex !important;
  align-items:center !important;
  gap:3px !important;
  white-space:nowrap;
}

.brand-copy-restored{
  display:flex !important;
  flex-direction:column !important;
  line-height:1 !important;
  margin-left:0 !important;
}

.brand-copy-restored strong{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:14px !important;
  font-weight:700 !important;
  letter-spacing:-0.2px !important;
  color:#fff !important;
}

.brand-copy-restored small{
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:6.5px !important;
  font-weight:700 !important;
  letter-spacing:1.25px !important;
  color:#ffc400 !important;
  margin-top:4px !important;
}

@media(max-width:600px){
  .brand-combined{gap:2px !important;}
  .brand-copy-restored strong{font-size:13px !important;}
  .brand-copy-restored small{
    font-size:5.8px !important;
    letter-spacing:1px !important;
  }
}

/* v9 – napis bezpośrednio przy logo; czcionka bez zmian */
.brand-combined{
  gap:0 !important;
}
.brand-copy-restored{
  margin-left:-8px !important;
}
@media(max-width:600px){
  .brand-combined{gap:0 !important;}
  .brand-copy-restored{margin-left:-7px !important;}
}

/* v10 – poprawka faktycznego odstępu:
   poprzednio sam element <img> miał 118 px szerokości,
   choć widoczne logo zajmowało tylko część tego pola.
   Zmniejszamy WYŁĄCZNIE pole obrazu w nagłówku. */
.brand-logo-user{
  width:58px !important;
  height:42px !important;
  object-fit:contain !important;
  object-position:left center !important;
  flex:0 0 58px !important;
}
.brand-combined{
  gap:3px !important;
}
.brand-copy-restored{
  margin-left:0 !important;
}
@media(max-width:600px){
  .brand-logo-user{
    width:55px !important;
    height:40px !important;
    flex-basis:55px !important;
  }
  .brand-combined{gap:3px !important;}
  .brand-copy-restored{margin-left:0 !important;}
}


/* v15 – opinie Google z lokalnego cache reviews.json */
.reviews-loading{
  max-width:760px;
  margin:26px auto;
  padding:18px 22px;
  border:1px solid rgba(255,196,0,.18);
  border-radius:14px;
  background:rgba(255,196,0,.05);
  color:#d8dce2;
  text-align:center;
  line-height:1.55;
}
.reviews-loading strong{color:#fff}
.reviews-meta{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:12px 22px;
  margin-top:22px;
  font-size:12px;
  color:#8f969f;
}
.reviews-meta a{
  color:#ffc400;
  text-decoration:none;
  font-weight:700;
}
.reviews-meta a:hover{text-decoration:underline}
#dynamic-review-dots span{cursor:pointer}


/* v22 – większe logo i nazwa firmy w nagłówku */
.brand-logo-user{
  width:82px !important;
  height:58px !important;
  flex:0 0 82px !important;
  object-fit:contain !important;
  object-position:left center !important;
}

.brand-combined{
  gap:6px !important;
  align-items:center !important;
}

.brand-copy-restored{
  margin-left:0 !important;
  line-height:1 !important;
}

.brand-copy-restored strong{
  font-size:19px !important;
  font-weight:700 !important;
}

.brand-copy-restored small{
  font-size:8.5px !important;
  letter-spacing:1.35px !important;
  margin-top:5px !important;
}

@media(max-width:600px){
  .brand-logo-user{
    width:70px !important;
    height:50px !important;
    flex-basis:70px !important;
  }

  .brand-combined{
    gap:5px !important;
  }

  .brand-copy-restored strong{
    font-size:16px !important;
  }

  .brand-copy-restored small{
    font-size:7px !important;
    letter-spacing:1.1px !important;
  }
}


/* v23 – jeszcze większe logo i nazwa firmy */
.brand-logo-user{
  width:100px !important;
  height:70px !important;
  flex:0 0 100px !important;
}

.brand-combined{
  gap:8px !important;
}

.brand-copy-restored strong{
  font-size:23px !important;
}

.brand-copy-restored small{
  font-size:10px !important;
  letter-spacing:1.45px !important;
  margin-top:6px !important;
}

@media(max-width:600px){
  .brand-logo-user{
    width:84px !important;
    height:58px !important;
    flex-basis:84px !important;
  }

  .brand-copy-restored strong{
    font-size:19px !important;
  }

  .brand-copy-restored small{
    font-size:8px !important;
    letter-spacing:1.15px !important;
  }
}
