:root{--black:#050505;--ink:#151515;--muted:#707070;--line:#dedede;--soft:#f5f5f7;--white:#fff;--max:1380px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.5}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.header{height:76px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;position:fixed;inset:0 0 auto;z-index:50;background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:.3s}.header.scrolled{border-color:rgba(0,0,0,.08);background:rgba(255,255,255,.9)}.logo img{width:162px}.header nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:500}.header nav a{opacity:.82}.header nav a:hover{opacity:1}.nav-cta{border:1px solid #111;border-radius:999px;padding:10px 16px}.menu-toggle{display:none;background:none;border:0;width:44px;height:44px}.menu-toggle span{display:block;height:1px;background:#111;margin:7px}.hero{min-height:100vh;padding:120px max(24px,calc((100vw - var(--max))/2)) 34px;background:radial-gradient(circle at 70% 35%,#fff 0,#f8f8f8 32%,#f1f1f3 100%);display:grid;grid-template-columns:.85fr 1.35fr;gap:30px;align-items:center;position:relative;overflow:hidden}.hero-copy{z-index:2}.kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#656565}.hero h1,.section h2{font-size:clamp(54px,6.1vw,98px);line-height:.94;letter-spacing:-.065em;margin:24px 0 28px}.hero h1 span{color:#8a8a8f}.hero-copy p{font-size:18px;color:#5f5f64;max-width:590px}.hero-actions{display:flex;gap:12px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;font-size:14px;font-weight:600;border:1px solid #111;cursor:pointer}.btn.dark{background:#111;color:#fff}.btn.light{background:#fff;color:#111}.hero-stage{position:relative;min-height:680px;display:flex;align-items:center;justify-content:center}.halo{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0,rgba(255,255,255,.65) 48%,transparent 73%);filter:blur(12px)}.house{position:relative;width:min(820px,100%);filter:drop-shadow(0 28px 25px rgba(0,0,0,.14));animation:float 7s ease-in-out infinite}.callout{position:absolute;font-size:12px;font-weight:600;letter-spacing:.02em;opacity:0;animation:callout .65s forwards}.callout span{display:block;height:1px;background:#111;width:110px;transform-origin:left;animation:line 1s forwards}.callout b{display:block;margin-top:8px;white-space:nowrap}.c1{left:5%;top:21%;animation-delay:1s}.c2{right:2%;top:32%;text-align:right;animation-delay:1.5s}.c2 span,.c4 span{margin-left:auto;transform-origin:right}.c3{left:0;bottom:31%;animation-delay:2s}.c4{right:0;bottom:20%;text-align:right;animation-delay:2.5s}.hero-bottom{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(0,0,0,.1);padding-top:22px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#666}.section{padding:135px max(24px,calc((100vw - var(--max))/2))}.section-head{max-width:980px;margin-bottom:65px}.section h2{font-size:clamp(48px,5.3vw,82px)}.section-head>p{max-width:720px;color:var(--muted);font-size:17px}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:28px 24px 34px;min-height:300px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.service-card .icon{font-size:30px;margin-bottom:auto}.service-card h3{font-size:22px;margin:40px 0 10px}.service-card p{font-size:13px;color:var(--muted);margin:0}.dark-section{background:#050505;color:#fff}.dark-section .kicker,.dark-section .section-head>p{color:#9a9a9f}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.product-card{background:#151515;min-height:480px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:.35s}.product-card:hover{transform:translateY(-4px);background:#1d1d1f}.product-image{height:260px;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-image img{max-height:100%;object-fit:contain}.product-image.neutral{background:linear-gradient(145deg,#2e2e30,#111);color:#717176;font-size:12px;letter-spacing:.16em;text-transform:uppercase}.product-card small{color:#737378}.product-card h3{font-size:28px;letter-spacing:-.03em;margin:12px 0}.product-card p{margin:0;color:#9a9a9f;font-size:14px}.product-link{background:#fff;color:#111;flex-direction:row;align-items:flex-end}.product-link:hover{background:#f0f0f2}.product-link strong{font-size:38px}.project{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.project-visual{background:#f4f4f5;padding:30px;min-height:620px;display:flex;align-items:center}.project-copy h2{font-size:clamp(45px,4.7vw,72px)}.project-copy p,.project-copy li{color:var(--muted)}.project-copy ul{padding-left:18px;margin:24px 0 30px}.project-copy li{padding:6px 0}.text-link{font-weight:600}.text-link span{margin-left:7px}.brands{background:#f5f5f7}.brand-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.brand-card{background:#fff;min-height:290px;padding:28px;display:flex;flex-direction:column;transition:.3s}.brand-card:first-child,.brand-card:nth-child(2){grid-column:span 3}.brand-card:nth-child(n+3){grid-column:span 2}.brand-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.07)}.brand-card img{height:60px;width:auto;max-width:190px;object-fit:contain;object-position:left center}.brand-card h3{font-size:22px;line-height:1.2;letter-spacing:-.03em;margin:auto 0 18px}.brand-card span{font-size:12px;color:#777}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:14px}.gallery-item{border:0;padding:0;background:#eee;overflow:hidden;cursor:zoom-in}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.55s}.gallery-item:hover img{transform:scale(1.025)}.gallery-item.large{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.contact{background:#050505;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:clamp(48px,5.3vw,82px)}.contact-copy>p{color:#a4a4a8;font-size:17px;max-width:650px}.contact-data{display:flex;flex-direction:column;gap:6px;margin-top:38px}.contact-data a{font-size:26px;letter-spacing:-.03em}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#939398}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;color:#fff;background:transparent;border:0;border-bottom:1px solid #444;padding:13px 0;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#fff}.contact-form select option{color:#111}.full{grid-column:1/-1}.form-note{font-size:12px;color:#999}footer{height:110px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#777}footer img{width:140px}dialog{width:min(1100px,92vw);border:0;padding:0;background:#000}dialog::backdrop{background:rgba(0,0,0,.9)}dialog img{width:100%;max-height:88vh;object-fit:contain}dialog button{position:absolute;right:12px;top:4px;border:0;background:none;color:#fff;font-size:38px;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes float{50%{transform:translateY(-10px)}}@keyframes callout{to{opacity:1}}@keyframes line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:1100px){.hero{grid-template-columns:1fr}.hero-stage{min-height:580px}.service-grid{grid-template-columns:repeat(2,1fr)}.project{grid-template-columns:1fr}.brand-grid{grid-template-columns:1fr 1fr}.brand-card{grid-column:auto!important}.contact{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.header{height:68px}.menu-toggle{display:block}.header nav{position:fixed;left:0;right:0;top:68px;background:rgba(255,255,255,.98);padding:26px;flex-direction:column;align-items:flex-start;transform:translateY(-130%);transition:.3s;border-bottom:1px solid #ddd}.header nav.open{transform:none}.hero{padding-top:100px;min-height:auto}.hero h1{font-size:54px}.hero-stage{min-height:410px}.callout{font-size:9px}.callout span{width:70px}.hero-bottom{overflow:auto;gap:28px;grid-template-columns:repeat(5,max-content)}.section{padding-top:90px;padding-bottom:90px}.service-grid,.product-grid,.brand-grid{grid-template-columns:1fr}.service-card{min-height:220px}.gallery{grid-template-columns:1fr;grid-auto-rows:270px}.gallery-item.large,.gallery-item.wide{grid-column:auto;grid-row:auto}.contact-form{grid-template-columns:1fr}.contact-form>*{grid-column:1}.contact-data a{font-size:22px}footer{height:auto;padding-top:34px;padding-bottom:34px;gap:20px;align-items:flex-start;flex-direction:column}}

/* V3 adjustments */
.logo img{width:178px;height:auto;object-fit:contain}
.hero-stage{padding-inline:10px}
.house{width:min(860px,100%)}
.callout{display:none!important}
.service-card .icon{width:72px;height:72px;margin-bottom:auto;display:flex;align-items:center;justify-content:center}
.service-card .icon img{width:72px;height:72px;object-fit:contain}
.product-image{height:280px;background:linear-gradient(145deg,#232325,#101011);border-radius:2px;padding:20px}
.product-image img{width:100%;height:100%;max-height:none;object-fit:contain}
.brand-card{min-height:320px}
.brand-card img{height:88px;width:100%;max-width:300px;object-fit:contain;object-position:left center}
.gallery{grid-auto-rows:280px}
.gallery-item.tall{grid-row:span 2}
footer img{width:165px}
@media(max-width:760px){.logo img{width:148px}.service-card .icon,.service-card .icon img{width:64px;height:64px}.brand-card img{height:76px;max-width:260px}.gallery-item.tall{grid-row:auto}}

/* V4 — product tiles 4:3, edge-to-edge */
.product-card{padding:0}
.product-card>div:last-child{padding:24px}
.product-image{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  padding:0;
  border-radius:0;
  background:#f4f4f5;
}
.product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.product-link{padding:24px}


/* V5 — dopracowana wersja mobilna */
html,body{max-width:100%;overflow-x:hidden}
.hero-copy,.section-head,.project-copy,.brand-card,.contact-copy{min-width:0}
.hero h1,.section h2,.brand-card h3,.contact h2{overflow-wrap:anywhere;word-break:normal}

@media(max-width:760px){
  .header{padding-left:20px;padding-right:16px}
  .logo img{width:136px}
  .menu-toggle{flex:0 0 44px}

  .hero{
    display:block;
    padding:104px 20px 24px;
    overflow:hidden;
  }
  .hero-copy{width:100%}
  .kicker{font-size:10px;line-height:1.7;letter-spacing:.16em}
  .hero h1{
    font-size:clamp(42px,12.2vw,50px);
    line-height:.96;
    letter-spacing:-.06em;
    margin:20px 0 24px;
    max-width:100%;
  }
  .hero-copy p{
    font-size:16px;
    line-height:1.55;
    max-width:100%;
    margin-right:0;
  }
  .hero-actions{gap:10px;margin-top:28px;flex-wrap:wrap}
  .hero-actions .btn{padding:13px 18px;font-size:13px}
  .hero-stage{
    min-height:0;
    height:auto;
    padding:22px 0 6px;
    margin:0 -8px;
    overflow:visible;
  }
  .house{width:108%;max-width:none}
  .halo{width:85%}
  .hero-bottom{margin-top:0;padding-top:16px}

  .section{
    padding:76px 20px;
  }
  .section-head{margin-bottom:42px}
  .section h2,
  .contact h2{
    font-size:clamp(38px,11vw,48px);
    line-height:.98;
    letter-spacing:-.055em;
  }

  .project{
    gap:36px;
    padding-top:58px;
    padding-bottom:70px;
  }
  .project-visual{
    min-height:0;
    height:clamp(245px,72vw,320px);
    padding:6px;
    overflow:hidden;
    align-items:center;
    justify-content:center;
  }
  .project-visual img{
    width:128%;
    max-width:none;
    height:auto;
    flex:0 0 auto;
  }
  .project-copy h2{font-size:clamp(38px,10.7vw,48px)}

  .brand-card{
    min-height:270px;
    padding:24px;
    overflow:hidden;
  }
  .brand-card img{height:70px;max-width:100%}
  .brand-card h3{
    font-size:clamp(25px,7.4vw,32px);
    line-height:1.08;
    letter-spacing:-.045em;
    max-width:100%;
  }

  .product-card h3{font-size:26px}
  .contact{gap:56px}
  .contact-copy>p{font-size:16px}
}

@media(max-width:390px){
  .hero h1{font-size:40px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .hero-actions .btn{padding:13px 10px}
  .section h2,.contact h2,.project-copy h2{font-size:38px}
  .brand-card h3{font-size:26px}
  .project-visual{height:235px}
}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.contact-form button:disabled{opacity:.55;cursor:wait}
.form-note{min-height:20px;margin:0}
.form-success{color:#b9efc8}
.form-error{color:#ffb3b3}
