*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:#17191b;background:#f7f7f5}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{position:absolute;z-index:10;top:0;left:0;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.nav{height:86px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:10px;min-width:210px}.brand-mark{width:40px;height:40px;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;font-family:Manrope;font-weight:800;font-size:21px}.brand strong{display:block;font:800 21px Manrope;letter-spacing:.08em}.brand small{display:block;font-size:7px;letter-spacing:.18em;opacity:.72;margin-top:2px}.nav-links{display:flex;gap:28px;margin-left:auto;font-size:13px;font-weight:600}.nav-links a{opacity:.86}.nav-links a:hover{opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.45);padding:13px 16px;font-size:12px;font-weight:700}.nav-cta span,.btn span{margin-left:14px}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:24px}.hero{min-height:760px;position:relative;overflow:hidden;background:radial-gradient(circle at 70% 30%,#5e6465 0,#282d2e 32%,#111516 75%);color:#fff;display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.1) 60%,rgba(0,0,0,.4))}.hero-grid{position:absolute;inset:-10%;opacity:.14;background:linear-gradient(115deg,transparent 48%,#fff 48.2%,transparent 48.5%),linear-gradient(65deg,transparent 49%,#fff 49.2%,transparent 49.5%),linear-gradient(180deg,transparent 68%,#fff 68.2%,transparent 68.4%);transform:perspective(600px) rotateX(16deg) scale(1.2)}.hero-structure{position:absolute;right:5%;top:15%;width:58%;height:80%;opacity:.16;transform:skewX(-8deg)}.hero-structure i{position:absolute;display:block;border-left:5px solid #fff;height:100%;bottom:0}.hero-structure i:nth-child(1){left:5%}.hero-structure i:nth-child(2){left:25%}.hero-structure i:nth-child(3){left:45%}.hero-structure i:nth-child(4){left:65%}.hero-structure i:nth-child(5){left:85%}.hero-structure i:nth-child(6){height:5px;width:100%;border:0;border-top:5px solid #fff;top:22%}.hero-inner{position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;opacity:.76;margin-bottom:24px}.eyebrow.dark{color:#666;opacity:1}.hero h1{font:800 clamp(48px,7vw,86px)/.96 Manrope;letter-spacing:-.045em;margin-bottom:28px;max-width:900px}.hero h1 em,.cta h2 em{font-style:normal;color:#c7d000}.hero-copy{font-size:18px;line-height:1.65;max-width:590px;color:#d5d8d8}.hero-actions{display:flex;gap:12px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;padding:17px 22px;font-weight:800;font-size:12px;letter-spacing:.02em;cursor:pointer}.btn-accent{background:#c7d000;color:#141614}.btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}.hero-note{font-size:11px;letter-spacing:.08em;opacity:.55;margin-top:72px}.scroll-cue{position:absolute;z-index:3;right:30px;bottom:28px;font-size:9px;letter-spacing:.2em;opacity:.65}.scroll-cue span{font-size:18px;margin-left:8px}.section{padding:120px 0}.intro{background:#f7f7f5}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.intro h2,.section-head h2,.about h2{font:700 clamp(38px,4.6vw,64px)/1.05 Manrope;letter-spacing:-.04em}.intro h2 strong,.section-head h2 strong,.about h2 strong{font-weight:800}.intro-text{padding-top:35px;color:#555;font-size:16px;line-height:1.75}.text-link{display:inline-flex;margin-top:22px;font-weight:800;border-bottom:1px solid #222;padding-bottom:8px}.dark-section{background:#171a1b;color:#fff}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:60px}.section-head>p{max-width:370px;color:#9da1a1;line-height:1.7}.section-head.light .eyebrow{color:#b9bdbd}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #3a3d3e;border-left:1px solid #3a3d3e}.service-card{min-height:360px;padding:30px;border-right:1px solid #3a3d3e;border-bottom:1px solid #3a3d3e;position:relative;transition:.3s}.service-card:hover,.service-card.featured{background:#242829}.service-card .number{font-size:10px;letter-spacing:.15em;color:#7f8484}.service-icon{font-size:54px;line-height:1;margin:70px 0 28px;color:#c7d000}.service-card h3{font:700 25px Manrope}.service-card p{color:#9da1a1;line-height:1.6;font-size:14px;min-height:70px}.service-card a{font-size:11px;font-weight:800;position:absolute;bottom:30px}.projects{background:#f7f7f5}.outline-link{border-bottom:1px solid #222;padding-bottom:9px;font-size:12px;font-weight:800}.project-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}.project{min-height:490px;position:relative;overflow:hidden}.project-placeholder{height:100%;min-height:490px;display:flex;align-items:flex-end;padding:30px;background:linear-gradient(145deg,#394041,#111516 65%,#717878);position:relative;overflow:hidden}.project-placeholder:before,.project-placeholder:after{content:"";position:absolute;border:2px solid rgba(255,255,255,.2);transform:skewX(-22deg);height:140%;width:35%;top:-20%}.project-placeholder:before{left:20%}.project-placeholder:after{left:55%}.project-b .project-placeholder{background:linear-gradient(145deg,#6c7272,#252a2b 55%,#101314)}.project-c .project-placeholder{background:linear-gradient(145deg,#24292a,#565d5e 55%,#171a1b)}.project-placeholder span{position:relative;z-index:2;color:#fff;font:700 20px/1.1 Manrope;letter-spacing:.05em}.project-meta{position:absolute;left:0;right:0;bottom:0;padding:24px 28px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff;display:flex;flex-direction:column;gap:6px}.project-meta span{font-size:9px;letter-spacing:.18em;opacity:.65}.project-meta strong{font:700 18px Manrope}.asset-note{margin-top:18px;font-size:11px;color:#888}.numbers{padding:74px 0}.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.numbers-grid>div{border-left:1px solid #3a3d3e;padding-left:25px}.big-number{font:800 clamp(42px,5vw,70px) Manrope;letter-spacing:-.05em;display:block}.big-number span{color:#c7d000}.label{display:block;font-size:9px;line-height:1.5;letter-spacing:.18em;color:#9da1a1;margin-top:12px}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-visual{min-height:560px;background:#252a2b;position:relative;overflow:hidden}.line-art{position:absolute;inset:10% 7%;transform:skewX(-10deg)}.line-art span{position:absolute;bottom:0;height:100%;width:6px;background:#858b8b}.line-art span:nth-child(1){left:5%}.line-art span:nth-child(2){left:33%}.line-art span:nth-child(3){left:61%}.line-art span:nth-child(4){left:89%}.line-art:before,.line-art:after{content:"";position:absolute;left:0;width:100%;border-top:5px solid #858b8b}.line-art:before{top:22%}.line-art:after{top:56%}.stamp{position:absolute;z-index:2;top:35px;left:35px;border:1px solid #c7d000;color:#c7d000;padding:13px 18px;font:700 11px/1.2 Manrope;letter-spacing:.12em}.stamp b{font-size:23px}.visual-caption{position:absolute;bottom:24px;left:30px;color:#aaa;font-size:9px;letter-spacing:.18em}.about-copy{font-size:16px;line-height:1.75;color:#5c5f60}.about-copy h2{color:#17191b}.cert-row{display:flex;gap:8px;margin-top:36px}.cert-row span{border:1px solid #ddd;padding:12px 14px;font-size:9px;letter-spacing:.13em;font-weight:800;color:#555}.light-grey{background:#e9e9e6}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9c9c5}.process-grid>div{padding:30px 24px;border-right:1px solid #c9c9c5}.process-grid span{font:700 12px Manrope;color:#888}.process-grid h3{font:700 23px Manrope;margin:70px 0 13px}.process-grid p{color:#666;line-height:1.65;font-size:14px}.cta{background:#242829;color:#fff;padding:110px 0}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.cta h2{font:800 clamp(42px,5vw,68px)/1 Manrope;letter-spacing:-.045em}.cta p{color:#aeb2b2;line-height:1.7;max-width:480px}.contact-direct{display:flex;gap:25px;margin-top:45px}.contact-direct a{font:700 16px Manrope;border-bottom:1px solid #555;padding-bottom:7px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{font-size:10px;letter-spacing:.1em;color:#aaa}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #454a4b;background:#171a1b;color:#fff;padding:15px;font:14px "DM Sans";outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#c7d000}.contact-form .full{grid-column:1/-1}.form-note{color:#777;font-size:10px;line-height:1.5}.contact-form .btn{border:0;width:100%}footer{background:#111415;color:#fff;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.5fr .8fr;gap:50px;padding-bottom:60px}.footer-brand{align-self:start}.footer-label{display:block;color:#707575;font-size:9px;letter-spacing:.18em;margin-bottom:18px}.footer-grid a,.footer-grid p{display:block;font-size:13px;line-height:1.9;color:#c1c5c5}.footer-bottom{border-top:1px solid #292d2e;padding-top:22px;display:flex;justify-content:space-between;color:#656a6a;font-size:10px}.footer-bottom a{color:#888}.site-header.scrolled{position:fixed;background:rgba(17,20,21,.95);backdrop-filter:blur(10px)}@media(max-width:900px){.nav-links,.nav-cta{display:none}.menu-toggle{display:block;margin-left:auto}.nav{height:72px}.nav-links.open{display:flex;position:absolute;left:0;right:0;top:72px;background:#111415;flex-direction:column;padding:25px}.nav-links.open+.nav-cta{display:block;position:absolute;top:300px;left:24px}.hero{min-height:700px}.hero h1{font-size:52px}.intro-grid,.about-grid,.cta-grid{grid-template-columns:1fr;gap:35px}.service-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr 1fr}.project-a{grid-column:1/-1}.numbers-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.about-visual{min-height:420px}.section{padding:85px 0}}@media(max-width:560px){.container{width:min(100% - 32px,1180px)}.hero h1{font-size:43px}.hero-copy{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start}.service-grid,.project-grid,.numbers-grid,.process-grid,.footer-grid{grid-template-columns:1fr}.project-a{grid-column:auto}.project,.project-placeholder{min-height:390px}.section-head{display:block}.section-head>p{margin-top:25px}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}.footer-bottom{flex-direction:column;gap:12px}.intro-text{padding-top:0}.about-visual{min-height:350px}.contact-direct{flex-direction:column;gap:14px}}
.hero-photo{position:absolute;inset:0;z-index:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.22) 62%,rgba(0,0,0,.55)),linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%)}.hero-grid{z-index:1}.project-placeholder.photo{padding:0}.project-placeholder.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.03);transition:transform .7s}.project:hover .project-placeholder.photo img{transform:scale(1.04)}.project-placeholder.photo:before,.project-placeholder.photo:after{z-index:1}.project-placeholder.photo span{z-index:2;text-shadow:0 2px 12px rgba(0,0,0,.55)}.photo-about{background:#252a2b}.photo-about>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;filter:grayscale(.15) contrast(1.08)}.photo-about:after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(20,24,25,.15),rgba(20,24,25,.7))}.photo-about .stamp,.photo-about .line-art,.photo-about .visual-caption{z-index:2}.photo-about .line-art{opacity:.35}

.config-promo{background:#e9e9e6}.config-promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.config-promo h2{font:700 clamp(38px,4.5vw,60px)/1.05 Manrope;letter-spacing:-.04em}.config-promo h2 strong{font-weight:800}.config-promo p{max-width:550px;color:#5d6161;line-height:1.7}.config-promo .btn{margin-top:18px}.config-card{background:#c5cdcd;min-height:420px;position:relative;overflow:hidden;border:1px solid #b1b9b9}.config-card-top{position:absolute;z-index:3;top:20px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;font-weight:800}.config-card-top b{background:#1b1e1f;color:#fff;padding:8px 10px}.mini-hall{position:absolute;left:50%;top:55%;width:330px;height:170px;transform:translate(-48%,-20%) rotateY(-25deg) rotateX(2deg);transform-style:preserve-3d}.mini-front{position:absolute;width:330px;height:170px;background:#d3d6d4;border:1px solid #737a7a}.mini-side{position:absolute;left:330px;width:190px;height:170px;background:#aeb6b5;border:1px solid #737a7a;transform-origin:left;transform:rotateY(90deg)}.mini-roof{position:absolute;z-index:2;left:-4px;top:-50px;width:338px;height:105px;background:#596163;clip-path:polygon(0 50%,50% 0,100% 50%,100% 100%,50% 50%,0 100%)}.mini-gate{position:absolute;z-index:4;width:70px;height:85px;left:42px;bottom:0;background:#263034;border:3px solid #e1e4e3}.config-stats{position:absolute;left:0;right:0;bottom:0;background:#171a1be8;color:#fff;padding:16px 20px;display:flex;justify-content:space-between;font-size:9px;gap:10px}.config-stats b{display:block;font:700 14px Manrope;color:#fff;margin-bottom:4px}.config-stats span{color:#909696}@media(max-width:900px){.config-promo-grid{grid-template-columns:1fr;gap:40px}}@media(max-width:560px){.config-card{min-height:340px}.mini-hall{transform:translate(-48%,-20%) rotateY(-25deg) scale(.72)}.config-stats{display:block}.config-stats span{display:block;margin:4px 0}}

.asset-missing{min-height:240px;display:grid;place-items:center;background:linear-gradient(135deg,#d9dbd7,#b8bcb8);color:#333}.asset-missing-label{font:700 13px "DM Sans",sans-serif;letter-spacing:.04em}

/* V17.11 — poprawka nakładania napisów na kafelkach realizacji */
.project-placeholder.photo > span { display: none !important; }
.project-meta { z-index: 4; padding: 70px 28px 24px; background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.18) 25%, rgba(0,0,0,.82) 100%); }
.project-meta span { opacity: .9; color: #fff; font-weight: 700; }
.project-meta strong { color: #fff; line-height: 1.08; text-shadow: 0 2px 10px rgba(0,0,0,.65); }

/* V17.13 — film realizacji jako tło HERO strony głównej */
.hero-photo.hero-video { overflow:hidden; background:#111516; }
.hero-video-player { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
.hero-video:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.22) 62%,rgba(0,0,0,.55)),linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%); pointer-events:none; }
.hero-video + .hero-grid { z-index:1; }
@media (prefers-reduced-motion: reduce) {
  .hero-video-player { display:none; }
  .hero-video { background:url('assets/videos/fami-realizacje-poster.jpg') center/cover no-repeat; }
}

/* V17.13 — film realizacji jako tło HERO strony głównej */
.hero-photo.hero-video { overflow:hidden; background:#111516; }
.hero-video-player { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center; display:block; }
.hero-video:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.22) 62%,rgba(0,0,0,.55)),linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%); pointer-events:none; }
.hero-video + .hero-grid { z-index:1; }
@media (prefers-reduced-motion: reduce) {
  .hero-video-player { display:none; }
  .hero-video { background:url('assets/videos/fami-realizacje-poster.jpg') center/cover no-repeat; }
}
/* V17.13 — jedna warstwa przyciemnienia nad filmem, bez podwójnego zaciemnienia */
.hero-video:after { background:transparent; }

/* V17.14 — film w sekcji O FAMI zamiast zdjęcia */
.photo-about { background:#252a2b; }
.photo-about .about-video-player {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center center; display:block;
}
.photo-about:after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(145deg,rgba(20,24,25,.10),rgba(20,24,25,.58));
  z-index:1; pointer-events:none;
}
.photo-about .stamp, .photo-about .line-art, .photo-about .visual-caption { z-index:2; }
@media (prefers-reduced-motion: reduce) {
  .photo-about .about-video-player { display:none; }
  .photo-about { background:url('assets/videos/fami-o-fami-poster.jpg') center/cover no-repeat; }
}

/* V17.45 – mapa Google Maps w sekcji O FAMI */
.about-map{margin-top:90px}
.about-map-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:25px}
.about-map-head h3{margin:0;font:700 clamp(30px,3.5vw,48px)/1.05 Manrope;letter-spacing:-.04em;color:#17191b}
.about-map-head h3 strong{font-weight:800}
.about-map-head p{margin:0;color:#666;line-height:1.7;font-size:14px;text-align:right}
.about-map-frame{height:430px;border:1px solid #ddd;overflow:hidden;background:#e9e9e6}
.about-map-frame iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:700px){.about-map{margin-top:60px}.about-map-head{display:block}.about-map-head p{margin-top:18px;text-align:left}.about-map-frame{height:350px}}
