:root{
  --black:#000;
  --red:#e31d24;
  --blue:#163bff;
  --yellow:#ffd400;
  --white:#fff;
  --muted:#bcbcbc;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;font-weight:800;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}

.site-header{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.96);border-bottom:1px solid #242424;padding-top:5px}
.site-header::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--red) 0 32%,var(--yellow) 32% 36%,var(--white) 36% 64%,var(--yellow) 64% 68%,var(--blue) 68% 100%)}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand img{width:170px;max-height:52px;object-fit:contain}
.menu{display:flex;align-items:center;gap:18px;text-transform:uppercase;font-size:13px;letter-spacing:.06em}
.menu a{text-decoration:none;position:relative;padding:8px 0}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;background:var(--yellow);transition:right .2s ease}
.menu a:hover::after,.menu a.active::after{right:0}
.lang{display:flex;border:2px solid var(--yellow)}
.lang button{border:0;background:#000;color:#fff;padding:8px 11px;font-weight:900;cursor:pointer}
.lang button.active{background:var(--yellow);color:#000}

.hero{text-align:center;padding:58px 0 34px}
.hero-logo{width:min(780px,94%);margin:0 auto 18px;animation:logoIn .65s ease-out both}
.eyebrow{color:var(--blue);font-size:clamp(18px,2.7vw,30px);margin-bottom:14px}
.hero h1{margin:0;color:var(--red);font-family:Impact,"Arial Black",sans-serif;font-size:clamp(46px,8vw,92px);line-height:.92;letter-spacing:.02em;text-transform:uppercase}
.hero .stars{margin:16px 0 12px;color:var(--yellow);font-size:clamp(22px,4vw,38px);letter-spacing:.25em}
.hero p{max-width:850px;margin:0 auto;color:#fff;font-size:clamp(16px,2.2vw,24px);line-height:1.5}
.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-block;text-decoration:none;background:var(--red);border:3px solid #fff;color:#fff;padding:14px 25px;font-size:17px;text-transform:uppercase;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-4px);background:var(--yellow);color:#000;border-color:var(--yellow)}
.btn.alt{background:var(--blue)}

.banner-copy{text-align:center;padding:24px 0 16px}
.banner-copy h2{margin:0;color:var(--red);font-family:Impact,"Arial Black",sans-serif;font-size:clamp(38px,7vw,76px);line-height:.98}
.banner-copy .line{margin-top:9px;color:var(--red);font-family:Impact,"Arial Black",sans-serif;font-size:clamp(23px,4.6vw,49px)}
.star{color:var(--yellow)}
.webline{margin-top:18px;color:var(--blue);font-size:clamp(24px,4vw,44px)}
.email{margin-top:5px;color:var(--red);font-size:clamp(17px,2.8vw,29px)}

.section{padding:64px 0}
.section-title{text-align:center;margin:0 0 28px;color:var(--blue);font-family:Impact,"Arial Black",sans-serif;font-size:clamp(36px,6vw,64px);text-transform:uppercase}
.section-title::after{content:"";display:block;width:120px;height:6px;background:var(--yellow);margin:12px auto 0}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.service-card{border:3px solid var(--red);padding:24px;text-align:center;background:#050505;transition:transform .2s ease,border-color .2s ease}
.service-card:hover{transform:translateY(-5px);border-color:var(--yellow)}
.service-card h3{margin:0 0 10px;color:var(--red);font-family:Impact,"Arial Black",sans-serif;font-size:clamp(27px,3vw,40px)}
.service-card p{margin:0;font-size:15px;line-height:1.6}

.gallery-preview{text-align:center}
.gallery-preview p{margin:0 0 24px;color:var(--blue);font-size:20px}
.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.preview-card{display:block;text-decoration:none;border:4px solid var(--red);overflow:hidden;background:#050505;transition:transform .2s ease,border-color .2s ease}
.preview-card:hover{transform:translateY(-5px);border-color:var(--yellow)}
.preview-card img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}
.preview-card:hover img{transform:scale(1.035)}
.preview-card span{display:block;background:var(--red);padding:11px;font-family:Impact,"Arial Black",sans-serif;font-size:21px}
.preview-card:hover span{background:var(--yellow);color:#000}

.history{text-align:center}
.history p{max-width:880px;margin:0 auto;line-height:1.65}
.timeline{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.time{border:3px solid var(--blue);padding:14px 20px;color:var(--yellow);font-size:28px;min-width:150px}
.time span{display:block;color:#fff;font-size:12px;margin-top:5px}

.contact{text-align:center}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:780px;margin:26px auto}
.contact-box{border:3px solid var(--yellow);padding:20px;background:#050505}
.contact-box strong{display:block;color:var(--yellow);font-size:18px;margin-bottom:8px;text-transform:uppercase}
.contact-box a{font-size:clamp(19px,3vw,29px);text-decoration:none}
.contact .meta{line-height:1.7;color:#fff}

.site-footer{text-align:center;color:#888;padding:20px;border-top:1px solid #222;font-size:12px}

.page-hero{text-align:center;padding:52px 0 34px}
.page-hero img{width:min(520px,85%);margin:0 auto 18px}
.page-hero h1{margin:0;color:var(--red);font-family:Impact,"Arial Black",sans-serif;font-size:clamp(48px,8vw,88px);line-height:.95}
.page-hero p{max-width:800px;margin:14px auto 0;color:var(--blue);font-size:20px;line-height:1.45}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:70px}
.gallery button{appearance:none;border:4px solid var(--red);padding:0;background:#050505;cursor:pointer;overflow:hidden;transition:transform .2s ease,border-color .2s ease}
.gallery button:hover{transform:translateY(-4px);border-color:var(--yellow)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .25s ease}
.gallery button:hover img{transform:scale(1.035)}
.gallery-status{text-align:center;color:var(--yellow);padding:16px 0 28px}

.lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.94);padding:70px 72px}
.lightbox.open{display:flex;animation:fadeIn .18s ease both}
.lightbox img{max-width:100%;max-height:84vh;object-fit:contain;border:4px solid var(--yellow)}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:0;background:var(--yellow);color:#000;font-weight:1000;cursor:pointer}
.lightbox-close{top:16px;right:18px;width:46px;height:46px;font-size:26px}
.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:50px;height:62px;font-size:30px}
.lightbox-prev{left:12px}.lightbox-next{right:12px}
.lightbox-counter{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:#000;border:2px solid var(--yellow);padding:8px 14px;color:var(--yellow)}

[data-lang="pl"]{display:none}
body.pl [data-lang="en"]{display:none}
body.pl [data-lang="pl"]{display:initial}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}
.reveal-stagger>*{opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .45s ease}
.reveal-stagger.is-visible>*{opacity:1;transform:none}
.reveal-stagger.is-visible>*:nth-child(2){transition-delay:.07s}
.reveal-stagger.is-visible>*:nth-child(3){transition-delay:.14s}
.reveal-stagger.is-visible>*:nth-child(4){transition-delay:.21s}
@keyframes logoIn{from{opacity:0;transform:translateY(-18px) scale(.97)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

@media(max-width:800px){
  .menu>a{display:none}
  .brand img{width:130px}
  .services-grid,.preview-grid,.gallery,.contact-grid{grid-template-columns:1fr}
  .section{padding:48px 0}
  .lightbox{padding:64px 18px 70px}
  .lightbox-prev,.lightbox-next{top:auto;bottom:14px;transform:none;height:46px}
  .lightbox-counter{bottom:18px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal,.reveal-stagger>*{opacity:1!important;transform:none!important}}

/* Simple American-style motion accents */
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  width:0;
  height:5px;
  z-index:9999;
  pointer-events:none;
  background:linear-gradient(90deg,var(--red) 0 30%,var(--yellow) 30% 36%,var(--white) 36% 64%,var(--yellow) 64% 70%,var(--blue) 70% 100%);
  transition:width .08s linear;
}
.site-header{animation:headerDrop .45s ease-out both}
.hero .eyebrow{animation:heroRise .48s .12s ease-out both}
.hero h1{animation:heroRise .52s .2s ease-out both}
.hero .stars{animation:heroRise .52s .28s ease-out both,starsPulse 2.8s 1s ease-in-out infinite}
.hero p{animation:heroRise .52s .34s ease-out both}
.hero-actions{animation:heroRise .52s .4s ease-out both}
.page-hero img{animation:logoIn .6s ease-out both}
.page-hero h1{animation:heroRise .52s .14s ease-out both}
.page-hero p{animation:heroRise .52s .22s ease-out both}
.section-title::after{transform:scaleX(0);transform-origin:left center;transition:transform .55s ease}
.reveal.is-visible .section-title::after,.section-title.is-visible::after{transform:scaleX(1)}
.btn,.menu a,.service-card,.preview-card,.contact-box,.gallery button{will-change:transform}
.btn:active{transform:translateY(-1px) scale(.98)}
.contact-box{transition:transform .2s ease,border-color .2s ease,background .2s ease}
.contact-box:hover{transform:translateY(-5px);border-color:var(--red);background:#0a0a0a}
.gallery button{opacity:0;transform:translateY(18px);animation:galleryTileIn .42s ease-out forwards}
.lightbox.open img{animation:lightboxImageIn .22s ease-out both}
.lang button{transition:background .18s ease,color .18s ease,transform .18s ease}
.lang button:hover{transform:translateY(-1px)}

@keyframes headerDrop{
  from{opacity:0;transform:translateY(-16px)}
  to{opacity:1;transform:none}
}
@keyframes heroRise{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:none}
}
@keyframes starsPulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.78;transform:scale(1.025)}
}
@keyframes galleryTileIn{
  to{opacity:1;transform:none}
}
@keyframes lightboxImageIn{
  from{opacity:0;transform:scale(.975)}
  to{opacity:1;transform:scale(1)}
}

@media(prefers-reduced-motion:reduce){
  .scroll-progress{transition:none}
  .gallery button{opacity:1;transform:none}
}
