:root{
  --bg:#0a0a0a;--bg2:#121212;--bg3:#1a1a1a;--line:#262626;
  --fg:#f4f4f2;--mut:#9ea29a;--acc:#b6f70a;--acc2:#ccff3a;--on-acc:#0a0a0a;
  --r:14px;--wrap:1180px;
  --ff-h:'Montserrat',system-ui,sans-serif;--ff:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:var(--ff);background:var(--bg);color:var(--fg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--ff-h);line-height:1.1}
h1,h2{font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em}
h2{font-size:clamp(28px,4vw,46px);margin-bottom:36px}
.kicker{font:800 13px/1 var(--ff-h);letter-spacing:.18em;text-transform:uppercase;color:var(--acc);margin-bottom:14px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--acc);color:var(--on-acc);font:800 15px/1 var(--ff-h);padding:16px 26px;border-radius:999px;transition:transform .15s,background .15s,box-shadow .15s;border:2px solid var(--acc)}
.btn:hover{background:var(--acc2);border-color:var(--acc2);transform:translateY(-1px);box-shadow:0 8px 28px -8px rgba(182,247,10,.55)}
.btn-sm{padding:10px 18px;font-size:14px}
.btn-ghost,.btn-ghost-d{background:transparent;color:var(--fg);border-color:rgba(255,255,255,.35)}
.btn-ghost:hover,.btn-ghost-d:hover{background:rgba(255,255,255,.08);border-color:#fff;box-shadow:none}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:50;background:rgba(10,10,10,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.06)}
.hdr-in{display:flex;align-items:center;gap:24px;height:68px}
.logo{display:flex;align-items:center;gap:10px;font:900 18px/1 var(--ff-h);font-style:italic;letter-spacing:.02em;white-space:nowrap}
.logo img{width:44px;height:44px;border-radius:50%;border:2px solid var(--acc)}
.logo b{font-weight:700;color:var(--acc);margin-left:4px}
.nav{display:flex;gap:26px;margin-left:auto;font-size:15px;font-weight:500}
.nav a{color:var(--mut);transition:color .15s}
.nav a:hover{color:var(--acc)}
.hdr-r{display:flex;align-items:center;gap:14px}
.langs{display:flex;background:var(--bg3);border-radius:999px;padding:3px}
.langs a{font:800 12px/1 var(--ff-h);color:var(--mut);padding:8px 10px;border-radius:999px;letter-spacing:.05em}
.langs a[aria-current]{background:var(--acc);color:var(--on-acc)}
.burger{display:none;background:none;border:0;width:40px;height:40px;cursor:pointer;flex-direction:column;justify-content:center;gap:5px;align-items:center}
.burger span{width:22px;height:2px;background:#fff;border-radius:2px}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;background:var(--bg);overflow:hidden;padding:120px 0 60px}
.hero-bg{position:absolute;inset:0;background:url(img/mustang-lakierowanie.jpg) center 40%/cover;opacity:.5}
@media (max-width:700px){.hero-bg{background-image:url(img/bmw-f10-led-s.jpg);background-position:center 20%;opacity:.55}}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.6) 0%,rgba(10,10,10,.15) 35%,rgba(10,10,10,.92) 85%,var(--bg) 100%)}
.hero:before{content:"";position:absolute;z-index:1;right:-60px;top:90px;width:260px;height:14px;background:var(--acc);transform:rotate(-35deg);box-shadow:30px 40px 0 -4px var(--acc),60px 80px 0 -6px var(--acc);opacity:.9}
.hero-in{position:relative;z-index:2;width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:#dfe3d8;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);padding:8px 14px;border-radius:999px;margin-bottom:22px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px rgba(182,247,10,.25)}
.hero h1{font-size:clamp(38px,7vw,88px);max-width:960px;margin-bottom:24px}
.hero h1 em{font-style:inherit;display:inline-block;background:var(--acc);color:var(--on-acc);padding:.02em .22em .06em;margin-top:.08em;transform:skew(-6deg)}
.lead{font-size:clamp(17px,1.6vw,20px);color:#cfd3c8;max-width:620px;margin-bottom:32px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.stats{list-style:none;display:flex;flex-wrap:wrap;gap:16px 48px;margin-top:56px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.stats b{display:block;font:900 26px/1.1 var(--ff-h);font-style:italic;color:var(--acc)}
.stats span{font-size:14px;color:var(--mut)}

/* sections */
.sec{padding:110px 0;background:var(--bg)}
.sec-dark{background:var(--bg2)}
.sec-alt{background:var(--bg2)}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:var(--bg2);border-radius:var(--r);padding:28px 26px;border:1px solid var(--line);transition:transform .2s,border-color .2s}
.card:hover{transform:translateY(-4px);border-color:var(--acc)}
.ic{width:50px;height:50px;display:grid;place-items:center;border-radius:12px;background:var(--acc);margin-bottom:20px}
.ic svg{width:24px;height:24px;fill:none;stroke:var(--on-acc);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-size:19px;font-weight:800;margin-bottom:10px}
.card p{color:var(--mut);font-size:15.5px}

.about{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.about-img{border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;border:2px solid var(--acc)}
.about-img img{width:100%;height:100%;object-fit:cover}
.about h2{margin-bottom:22px}
.about p{color:#c3c7bd;font-size:17px;margin-bottom:26px}
.checks{list-style:none;display:grid;gap:14px}
.checks li{position:relative;padding-left:34px;color:#e6e8e2}
.checks li:before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%230a0a0a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:90px}
.wrap.steps{padding:0;width:calc(100% - 40px);max-width:calc(var(--wrap) - 40px)}
.step{background:var(--bg);padding:30px 26px}
.step b{font:900 28px/1 var(--ff-h);font-style:italic;color:var(--acc)}
.step h3{font-size:19px;margin:14px 0 6px}
.step p{color:var(--mut);font-size:15px}

.grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;grid-auto-flow:dense;gap:12px}
.g{border-radius:12px;overflow:hidden;position:relative;background:var(--bg3)}
.g img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.g:hover img{transform:scale(1.05)}
.g:after{content:"";position:absolute;inset:0;border:2px solid transparent;border-radius:12px;transition:border-color .2s}
.g:hover:after{border-color:var(--acc)}
.g-wide{grid-column:span 2;grid-row:span 2}
.g-tall{grid-row:span 2}
.more{margin-top:28px}
.more a{font-weight:700;color:var(--acc);border-bottom:2px solid transparent;transition:border-color .15s}
.more a:hover{border-color:var(--acc)}

.rating{font-size:.5em;color:var(--acc);vertical-align:middle;white-space:nowrap;margin-left:8px;font-style:normal}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rev{background:var(--bg);border-radius:var(--r);padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;border:1px solid var(--line);border-left:4px solid var(--acc)}
.rev p{font-size:16.5px;color:#e4e6df}
.rev cite{font-style:normal;font-weight:600;font-size:14px;color:var(--mut)}

.areas{display:flex;flex-wrap:wrap;gap:10px}
.areas li{list-style:none;background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:15px;font-weight:500}
.areas-note{color:var(--mut);margin:-20px 0 26px;max-width:720px}

.faq{display:grid;gap:12px;max-width:860px}
.faq details{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:0 24px}
.faq details[open]{border-color:var(--acc)}
.faq summary{cursor:pointer;list-style:none;font:700 17px/1.4 var(--ff-h);padding:20px 30px 20px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:0;top:16px;font-size:24px;color:var(--acc);transition:transform .2s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--mut)}

.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:start}
.contact h2{margin-bottom:16px}
.status{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;margin-bottom:26px;min-height:22px}
.status:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--st,#999)}
.info{display:grid;grid-template-columns:auto 1fr;gap:14px 28px;margin-bottom:32px;font-size:16.5px}
.info dt{color:var(--mut);font-size:14px;padding-top:2px}
.info dd a{font-weight:600}
.info dd a:hover{color:var(--acc)}
.map{border-radius:var(--r);overflow:hidden;min-height:440px;height:100%;background:var(--bg3);border:1px solid var(--line)}
.map iframe{width:100%;height:100%;min-height:440px;border:0;display:block}

.ftr{background:#000;color:var(--mut);font-size:14px;padding:56px 0 28px;border-top:1px solid var(--line)}

/* links inside cards, service pages */
.card-link{display:block;color:inherit}
.card-more{display:inline-block;margin-top:12px;font:700 14px var(--ff-h);color:var(--acc)}
.cards-3{grid-template-columns:repeat(3,1fr)}
.mt{margin-top:32px}
.hero-page{min-height:72vh;min-height:72svh}
.hero-page .hero-bg{background-image:var(--hbg)}
@media (max-width:700px){.hero-page .hero-bg{background-image:var(--hbg-s);background-position:center 30%}}
.hero-page h1{font-size:clamp(36px,6vw,76px)}
.crumbs{font-size:14px;color:var(--mut);margin-bottom:18px}
.crumbs a{color:var(--fg);border-bottom:1px solid rgba(255,255,255,.3)}
.crumbs span{margin:0 6px;opacity:.5}
.chips{margin-bottom:28px}
.collage{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:10px;aspect-ratio:4/5;width:100%}
.collage img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:12px;border:1px solid var(--line)}
.collage img:nth-child(1){grid-row:1/3;border:2px solid var(--acc)}
.collage img:nth-child(4){grid-column:1/-1;object-position:center 45%}
.grid-6{grid-template-columns:repeat(3,1fr);grid-auto-rows:280px}
.quote-wrap{max-width:860px}
.rev-big p{font-size:clamp(19px,2.2vw,24px);font-weight:500}
.about p+p{margin-top:-10px}

/* photo CTA band */
.sec-cta{padding:70px 0;background:var(--acc);color:var(--on-acc)}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:32px 48px;flex-wrap:wrap}
.cta-band h2{margin-bottom:10px}
.cta-band p{max-width:560px;font-size:17px}
.sec-cta .kicker{color:var(--on-acc);opacity:.65}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.sec-cta .btn{background:var(--on-acc);color:var(--acc);border-color:var(--on-acc)}
.sec-cta .btn:hover{background:#222;border-color:#222;box-shadow:none}
.sec-cta .btn-ghost{background:transparent;color:var(--on-acc);border-color:var(--on-acc)}
.sec-cta .btn-ghost:hover{background:rgba(0,0,0,.08);color:var(--on-acc)}
.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* map facade */
.map{position:relative}
.map-btn{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;color:var(--fg);font:500 15px var(--ff);
  background:linear-gradient(rgba(10,10,10,.72),rgba(10,10,10,.85)),url(img/warsztat-s.jpg) center/cover}
.map-btn svg{width:40px;height:40px;fill:none;stroke:var(--acc);stroke-width:2}
.map-btn b{background:var(--acc);color:var(--on-acc);font:800 15px var(--ff-h);padding:12px 22px;border-radius:999px}
.map.loaded .map-btn{display:none}

/* footer */
.ftr-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding-bottom:28px}
.ftr .logo{color:var(--fg);margin-bottom:14px}
.ftr .logo b{color:var(--acc)}
.ftr-note{max-width:340px}
.ftr h3{font:800 13px var(--ff-h);letter-spacing:.14em;text-transform:uppercase;color:var(--fg);margin-bottom:14px}
.ftr ul{list-style:none;display:grid;gap:8px}
.ftr ul a{color:var(--mut);font-weight:500}
.ftr ul a:hover{color:var(--acc)}
.ftr-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:20px;border-top:1px solid var(--line)}
.ftr-langs a{color:var(--mut);font-weight:500}
.ftr-langs a:hover{color:var(--acc)}

/* mobile action bar */
.mbar{display:none}

.lb{position:fixed;inset:0;z-index:100;background:rgba(5,6,7,.95);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb img{max-width:92vw;max-height:88vh;border-radius:8px}
.lb button{position:absolute;background:rgba(255,255,255,.08);border:0;color:#fff;font-size:34px;width:54px;height:54px;border-radius:50%;cursor:pointer;line-height:1}
.lb button:hover{background:var(--acc);color:var(--on-acc)}
.lb-x{top:18px;right:18px}
.lb-p{left:18px;top:50%;transform:translateY(-50%)}
.lb-n{right:18px;top:50%;transform:translateY(-50%)}

/* responsive */
@media (max-width:1000px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .revs{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:200px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .about,.contact{grid-template-columns:1fr;gap:40px}
  .about-img{aspect-ratio:16/10;max-height:520px}
  .collage{aspect-ratio:16/10;max-height:520px}
}
@media (max-width:1000px){
  .cards-3{grid-template-columns:repeat(2,1fr)}
  .grid-6{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}
  .ftr-grid{grid-template-columns:1fr 1fr}
  .ftr-grid>div:first-child{grid-column:1/-1}
}
@media (max-width:860px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .nav{position:fixed;top:68px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);padding:8px 20px 20px;border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .25s;margin:0;max-height:calc(100svh - 68px);overflow:auto}
  .nav.open{transform:none;box-shadow:0 30px 60px rgba(0,0,0,.6)}
  .nav a{padding:15px 0;border-bottom:1px solid var(--line);font-size:18px;color:#fff}
  .burger{display:flex}
  .burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .burger span{transition:transform .2s,opacity .2s}
  .hide-m{display:none}
  .hdr-r{margin-left:auto}
  .langs a{padding:12px 11px}
  .hero:before{width:160px;height:10px;top:80px;right:-50px}

  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:8px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(10,10,10,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:7px;height:50px;border-radius:14px;background:var(--bg3);font:700 14px var(--ff-h);color:var(--fg)}
  .mbar svg{width:19px;height:19px;fill:currentColor}
  .mbar svg.o{fill:none;stroke:currentColor;stroke-width:2}
  .mbar .mbar-call{background:var(--acc);color:var(--on-acc);font-weight:800;font-size:15px}
}
@media (max-width:600px){
  .wrap{padding:0 16px}
  .sec{padding:64px 0}
  h2{margin-bottom:26px}
  .kicker{margin-bottom:10px}

  .hero{min-height:calc(100svh - 72px);padding:96px 0 32px}
  .hero-page{min-height:auto;padding:110px 0 40px}
  .lead{margin-bottom:24px}
  .hero-cta .btn{flex:1 1 100%}
  .stats{display:grid;grid-template-columns:auto auto;gap:14px 24px;margin-top:32px;padding-top:22px}
  .stats li:last-child{display:none}
  .stats b{font-size:21px}
  .eyebrow{font-size:13px;padding:7px 12px;margin-bottom:16px}
  .grid a:nth-child(n+9){display:none}
  .grid a.g-tall:not(:first-child){grid-row:auto}
  .ftr-langs a{display:inline-block;padding:10px 4px}

  /* services as compact rows */
  .cards,.cards-3{grid-template-columns:1fr;gap:10px}
  .card{display:grid;grid-template-columns:44px 1fr;column-gap:14px;padding:16px}
  .card .ic{grid-row:1/span 3;width:44px;height:44px;margin:0;border-radius:10px}
  .card .ic svg{width:21px;height:21px}
  .card h3{font-size:17px;margin:1px 0 4px}
  .card p{font-size:14.5px;line-height:1.5}
  .card-more{margin-top:6px}
  .card:hover{transform:none}

  .about{gap:28px}
  .about-img{aspect-ratio:4/3}
  .collage{aspect-ratio:4/3;gap:6px}
  .collage img{border-radius:10px}
  .about p{font-size:16px}
  .steps{grid-template-columns:1fr 1fr;margin-top:40px}
  .wrap.steps{width:calc(100% - 32px)}
  .step{padding:18px 16px}
  .step b{font-size:22px}
  .step h3{font-size:16px;margin:8px 0 4px}
  .step p{font-size:13.5px}

  .grid,.grid-6{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:8px}

  /* reviews swipe */
  .revs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -16px;padding:0 16px 6px;scrollbar-width:none}
  .revs::-webkit-scrollbar{display:none}
  .rev{flex:0 0 86%;scroll-snap-align:center;padding:22px}

  .areas li{font-size:14px;padding:8px 13px}
  .faq details{padding:0 16px}
  .faq summary{font-size:16px;padding:16px 28px 16px 0}

  .sec-cta{padding:52px 0}
  .cta-actions{width:100%}
  .cta-actions .btn{flex:1 1 100%}

  .logo b{display:none}
  .logo img{width:40px;height:40px}
  .hdr-in{gap:12px}
  .info{grid-template-columns:1fr;gap:2px;font-size:17px}
  .info dt{margin-top:10px}
  .info dd a{display:inline-block;padding:6px 0}
  .map,.map iframe{min-height:300px}
  .more a{display:inline-block;padding:8px 0}

  .ftr{padding:44px 0 20px}
  .ftr-grid{grid-template-columns:1fr;gap:26px}
  .ftr ul{gap:2px}
  .ftr ul a{display:inline-block;padding:10px 0}
  .lb-p,.lb-n{top:auto;bottom:calc(18px + env(safe-area-inset-bottom));transform:none}
}
