/*
Theme Name: RAJZA Visual Hybrid
Theme URI: https://rajza.net/
Author: RAJZA
Description: Dobre historie są wszędzie.
Version: 4.10.16
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: rajza-visual
*/

:root{
  --black:#0b0d0c;
  --green:#326647;
  --cream:#f4f2ed;
  --white:#fff;
  --muted:#a9aea9;
  --line:rgba(255,255,255,.10);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--black);
  color:var(--white);
  font-family:"Nugros",Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.admin-bar .site-header{top:32px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3{font-family:"Nugros",Arial,sans-serif;margin:0;text-transform:uppercase;letter-spacing:-.025em;font-weight:700;}
p{margin-top:0;}
.site-header{
  position:absolute;z-index:50;top:0;left:0;right:0;
  display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:34px;
  padding:24px 5vw;
}
.brand img{width:145px;filter:brightness(0) invert(1);}
.nav{display:flex;gap:28px;font-size:12px;font-weight:700;letter-spacing:.12em;}
.nav a{opacity:.78;transition:.25s;}.nav a:hover{opacity:1;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;padding:15px 20px;
  border:1px solid transparent;font-size:12px;font-weight:700;letter-spacing:.08em;
  transition:.25s;cursor:pointer
;}
.btn:hover{transform:translateY(-1px);filter:brightness(1.06);}
.btn-outline{border-color:rgba(255,255,255,.25);}
.btn-green{background:var(--green);}
.btn-light{background:var(--cream);color:var(--black);}
.menu-toggle{display:none;background:none;border:0;color:white;font-size:24px;cursor:pointer;}
.hero{
  min-height:900px;position:relative;display:flex;align-items:center;overflow:hidden;
  background:#0d1310 center/cover no-repeat;
}
.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 68% 35%,rgba(255,210,150,.23),transparent 18%),linear-gradient(120deg,#0d1310 0%,#15211a 42%,#050706 100%);}
.hero.has-image .hero-bg{display:none;}
.hero:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.10)),
  linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.48));
  pointer-events:none
;}
.hero-inner{position:relative;z-index:2;width:min(1320px,90vw);margin:0 auto;padding-top:70px;}
.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;}
.green{color:var(--green);}.light{color:#d6e5da;}
.hero h1{font-size:clamp(72px,8vw,128px);line-height:.86;max-width:930px;}
.hero h1 .accent{color:var(--green);}
.hero-sub{color:#84a68f;font-size:18px;font-weight:700;letter-spacing:.08em;margin:28px 0 10px;}
.hero-tags{font-size:13px;letter-spacing:.13em;color:#d0d3d1;}
.hero-actions{display:flex;gap:32px;align-items:center;margin-top:34px;}
.showreel-link{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:700;letter-spacing:.08em;}
.play{width:46px;height:46px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;}
.scroll-hint{position:absolute;right:5vw;bottom:28px;z-index:2;font-size:10px;letter-spacing:.18em;opacity:.55;}
.work{background:var(--black);padding:95px 5vw;}
.section-head{max-width:1320px;margin:0 auto 46px;display:grid;grid-template-columns:1.1fr .8fr;gap:60px;align-items:end;}
.section-head h2,.manifest h2,.crew h2,.showreel-box h2,.contact h2{font-size:clamp(56px,6vw,92px);line-height:.9;}
.section-head p{color:#c2c6c3;line-height:1.7;max-width:520px;}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1500px;margin:0 auto;}
.project{min-height:500px;position:relative;overflow:hidden;background-size:cover;background-position:center;isolation:isolate;}
.project:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 62%),radial-gradient(circle at 70% 22%,rgba(255,255,255,.10),transparent 20%);}
.project.no-image:nth-child(1){background:linear-gradient(140deg,#27392d,#0c1610);}
.project.no-image:nth-child(2){background:linear-gradient(140deg,#1e2930,#101317);}
.project.no-image:nth-child(3){background:linear-gradient(140deg,#433b2a,#111);}
.project.no-image:nth-child(4){background:linear-gradient(140deg,#213044,#0d1016);}
.project-copy{position:absolute;z-index:1;left:24px;right:24px;bottom:26px;}
.project-copy h3{font-size:34px;}.project-copy p{margin:4px 0 8px;}.project-copy span{font-size:10px;letter-spacing:.14em;color:#c7cbc8;}
.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.service{padding:54px 40px;border-right:1px solid var(--line);}
.service:last-child{border-right:0;}.service-no{font-size:11px;color:#6da17c;margin-bottom:25px;}.service h3{font-size:40px;margin-bottom:12px;}.service p{color:#aeb3af;line-height:1.6;font-size:14px;}
.manifest{display:grid;grid-template-columns:1fr 1.3fr;background:var(--cream);color:var(--black);}
.manifest-photo{min-height:610px;background:linear-gradient(150deg,#263b30,#0d100f) center/cover no-repeat;}
.manifest-copy{padding:95px 8vw;display:flex;flex-direction:column;justify-content:center;}
.manifest-copy p{max-width:590px;line-height:1.75;color:#4e5450;}.text-link{margin-top:20px;font-size:12px;font-weight:700;letter-spacing:.12em;}
.showreel-section{padding:80px 5vw;background:#111;}
.showreel-box{
  min-height:560px;padding:70px;
  background:radial-gradient(circle at 72% 40%,rgba(65,115,81,.38),transparent 18%),linear-gradient(135deg,#121713,#050605) center/cover no-repeat;
  display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden
;}
.showreel-box:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.24);}
.showreel-box>*{position:relative;z-index:1;}
.showreel-big{margin-top:35px;}.showreel-big .play{width:64px;height:64px;}
.crew{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--black);padding:90px 5vw;gap:70px;align-items:center;}
.crew-copy p{color:#aeb3af;line-height:1.7;max-width:460px;}
.crew-photo{min-height:470px;background:linear-gradient(145deg,#18241d,#080a09) center/cover no-repeat;}
.clients{padding:30px 5vw;display:flex;align-items:center;}
.clients>span{font-size:11px;letter-spacing:.15em;font-weight:700;white-space:nowrap;}
.client-row{display:flex;gap:36px;align-items:center;flex-wrap:wrap;opacity:.72;}
.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;padding:90px 5vw;background:var(--green);align-items:end;}
.contact-side p{line-height:1.7;max-width:460px;margin-bottom:24px;}
.site-footer{background:#050605;padding:26px 5vw;display:flex;align-items:center;gap:30px;font-size:11px;color:#8f9691;}
.site-footer img{width:100px;filter:brightness(0) invert(1);}.site-footer a{margin-left:auto;}
.content-page{max-width:1000px;margin:0 auto;padding:160px 24px 90px;min-height:70vh;}
.content-page h1{font-size:clamp(48px,6vw,86px);margin-bottom:30px;}
.content-page .entry-content{font-size:18px;line-height:1.75;color:#d7dbd8;}
@media(max-width:900px){
  body.admin-bar .site-header{top:46px;}
  .site-header{grid-template-columns:1fr auto;padding:20px 24px;}
  .nav,.header-cta{display:none;}
  .menu-toggle{display:block;}
  .nav.open{display:flex;position:absolute;top:75px;left:0;right:0;background:#0b0d0c;padding:24px;flex-direction:column;}
  .hero{min-height:760px;}.hero-inner{width:calc(100% - 48px);}.hero h1{font-size:64px;}.hero-actions{align-items:flex-start;flex-direction:column;}
  .section-head,.manifest,.crew,.contact{grid-template-columns:1fr;}.project-grid{grid-template-columns:1fr 1fr;}.project{min-height:380px;}
  .service{border-bottom:1px solid var(--line);}.manifest-photo{min-height:380px;}
  .clients{align-items:flex-start;flex-direction:column;gap:18px;}
}
@media(max-width:600px){
  .hero h1{font-size:52px;}.hero-sub{font-size:14px;}.project-grid,.services{grid-template-columns:1fr;}.project{min-height:360px;}
  .section-head{gap:24px;}.work,.crew,.contact{padding-left:24px;padding-right:24px;}.manifest-copy{padding:70px 24px;}
  .showreel-box{padding:40px 24px;min-height:460px;}.contact h2,.crew h2,.manifest h2,.section-head h2{font-size:54px;}
}


/* HYBRID 3.0 */
.project-grid.dynamic-projects .project {
  display:block;
  color:#fff;
}
.project-grid.dynamic-projects .project img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2;
}
.project-grid.dynamic-projects .project:after{
  content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.82),rgba(0,0,0,.08) 68%); z-index:-1;
}
.admin-note{display:none;}
.case-hero{padding:170px 5vw 70px;background:var(--black);}
.case-hero-inner{max-width:1450px;margin:auto;}
.case-hero h1{font-size:clamp(62px,8vw,125px);line-height:.88;}
.case-excerpt{max-width:700px;color:#bac0bc;font-size:20px;line-height:1.7;margin-top:22px;}
.case-cover{max-width:1450px;margin:0 auto;padding:0 5vw 70px;}
.case-cover img{width:100%;aspect-ratio:16/9;object-fit:cover;}
.case-body{background:var(--cream);color:var(--black);padding:90px 8vw;}
.case-body-inner{max-width:980px;margin:auto;font-size:18px;line-height:1.8;}
.case-body h2{font-size:clamp(40px,5vw,68px);margin-top:60px;}
.case-body .wp-block-image img,.case-body img{border-radius:0;}
.case-cta{padding:90px 5vw;background:var(--green);}
.case-cta-inner{max-width:1450px;margin:auto;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;}
.case-cta h2{font-size:clamp(52px,6vw,90px);line-height:.9;}
.archive-hero{padding:170px 5vw 80px;}
.archive-grid-wrap{padding:0 5vw 120px;}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.08);max-width:1500px;margin:auto;}
.archive-grid .project{min-height:520px;}
.page-hero{padding:170px 5vw 80px;background:var(--black);}
.page-hero h1{font-size:clamp(62px,8vw,120px);line-height:.88;max-width:1100px;}
.page-body{background:var(--cream);color:var(--black);padding:90px 8vw;}
.page-body-inner{max-width:1050px;margin:auto;font-size:18px;line-height:1.8;}
.page-body h2{font-size:clamp(38px,5vw,68px);}
@media(max-width:900px){
  .archive-grid{grid-template-columns:1fr 1fr;}
  .case-cta-inner{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .archive-grid{grid-template-columns:1fr;}
}


/* 3.1 - przewijane logotypy klientów */
.clients{
  overflow:hidden;
  gap:42px;
}
.clients-label{
  flex:0 0 auto;
  position:relative;
  z-index:2;
  
  
  padding-right:10px;
}
.clients-marquee{
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
  position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}
.clients-track{
  display:flex;
  width:max-content;
  align-items:center;
  gap:72px;
  animation:rajzaClientsScroll 26s linear infinite;
  will-change:transform;
}
.clients-marquee:hover .clients-track{animation-play-state:paused;}
.client-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  height:58px;
  
}
.client-logo img{
  display:block;
  
  
  
  
  
  
  
  transition:opacity .25s ease, filter .25s ease, transform .25s ease;
}
.client-logo:hover img{
  
  
  transform:translateY(-1px);
}
@keyframes rajzaClientsScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion: reduce){
  .clients-track{animation:none;flex-wrap:wrap;}
}
@media(max-width:700px){
  .clients{padding-top:24px;padding-bottom:24px;}
  .clients-label{margin-bottom:20px;}
  
  
  
}


/* 3.3 - typografia */
body,
button,
input,
textarea,
select{
  font-family:"Nugros",Arial,Helvetica,sans-serif;
}
h1,h2,h3,
.rajza-display,
.project-copy h3,
.service h3{
  font-family:"Nugros",Arial,sans-serif;
  font-weight:900;
}
.eyebrow,
.btn,
.nav,
.hero-tags,
.text-link,
.service-no,
.clients-label{
  font-family:"Nugros",Arial,sans-serif;
  font-weight:700;
}


/* =========================================================
   3.4 — POJEDYNCZA REALIZACJA / MINIMAL CASE STUDY
   ========================================================= */

.single-realizacja{
  background:var(--black);
  color:#fff;
}
.case-min-hero{
  min-height:760px;
  position:relative;
  display:flex;
  align-items:flex-end;
  background:#111 center/cover no-repeat;
  overflow:hidden;
}
.case-min-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(5,7,6,.86) 0%,rgba(5,7,6,.58) 42%,rgba(5,7,6,.12) 78%),
    linear-gradient(180deg,rgba(5,7,6,.12) 0%,rgba(5,7,6,.18) 62%,rgba(5,7,6,.82) 100%);
}
.case-min-hero-inner{
  position:relative;
  
  width:min(1420px,90vw);
  margin:0 auto;
  padding:190px 0 90px;
}
.case-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  color:#7fb08d;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:700;
  margin-bottom:24px;
}
.case-kicker:before{
  content:"";
  width:34px;
  height:1px;
  background:var(--green);
}
.case-min-title{
  font-family:"Nugros",Arial,sans-serif;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.035em;
  line-height:.86;
  font-size:clamp(64px,8vw,128px);
  max-width:980px;
  margin:0 0 16px;
}
.case-min-subtitle{
  font-size:clamp(22px,2.2vw,34px);
  font-weight:500;
  margin:0 0 20px;
}
.case-min-lead{
  max-width:620px;
  color:#d0d4d1;
  line-height:1.65;
  font-size:16px;
  margin:0 0 30px;
}
.case-min-actions{
  display:flex;
  gap:12px;
  align-items:center;
}
.case-min-section{
  max-width:1420px;
  margin:0 auto;
  padding:105px 5vw;
}
.case-min-about{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:90px;
  align-items:start;
}
.case-min-about h2,
.case-results h2{
  font-size:clamp(48px,5.5vw,82px);
  line-height:.92;
  margin:0;
  max-width:620px;
}
.case-about-copy{
  color:#c2c8c4;
  font-size:16px;
  line-height:1.8;
  max-width:680px;
}
.case-about-copy > *:last-child{margin-bottom:0;}
.case-meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px 48px;
  border-left:1px solid rgba(255,255,255,.13);
  padding-left:56px;
}
.case-meta-item{
  min-height:74px;
}
.case-meta-label{
  display:block;
  color:#6f9e7d;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:10px;
  font-weight:700;
  margin-bottom:8px;
}
.case-meta-value{
  color:#fff;
  font-size:15px;
  line-height:1.55;
}
.case-story{
  max-width:900px;
  margin:65px 0 0;
  color:#bec4c0;
  font-size:17px;
  line-height:1.85;
}
.case-story h2,
.case-story h3{
  color:#fff;
  margin-top:55px;
}
.case-story h2{font-size:44px;}
.case-story h3{font-size:30px;}
.case-story img{
  width:100%;
  height:auto;
  margin:30px 0;
}
.case-video-wrap{
  max-width:1420px;
  margin:0 auto;
  padding:0 5vw 90px;
}
.case-video-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  margin-bottom:18px;
}
.case-video-head .case-kicker{margin:0;}
.case-video-frame{
  position:relative;
  background:#050605;
  border:1px solid rgba(255,255,255,.18);
  overflow:hidden;
  aspect-ratio:16/9;
}
.case-video-frame iframe,
.case-video-frame video{
  width:100%;
  height:100%;
  display:block;
  border:0;
}
.case-video-placeholder{
  width:100%;
  height:100%;
  background:linear-gradient(135deg,#172019,#090b0a);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8a928d;
  letter-spacing:.1em;
  font-size:12px;
}
.case-gallery-wrap{
  max-width:1420px;
  margin:0 auto;
  padding:0 5vw 100px;
}
.case-gallery-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
}
.case-gallery-head .case-kicker{margin:0;}
.case-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.case-gallery a{
  display:block;
  overflow:hidden;
  background:#151715;
}
.case-gallery img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .45s ease, opacity .3s ease;
}
.case-gallery a:hover img{
  transform:scale(1.025);
  opacity:.88;
}
.case-results{
  max-width:1420px;
  margin:0 auto;
  padding:0 5vw 105px;
  display:grid;
  grid-template-columns:1.15fr 2fr;
  gap:80px;
  align-items:end;
}
.case-results-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-left:1px solid rgba(255,255,255,.12);
}
.case-stat{
  padding:10px 28px 6px;
  border-right:1px solid rgba(255,255,255,.12);
}
.case-stat-value{
  display:block;
  color:#4c8b61;
  font-size:32px;
  line-height:1;
  font-weight:600;
  margin-bottom:8px;
}
.case-stat-label{
  color:#aeb4b0;
  font-size:11px;
  line-height:1.45;
}
.case-min-cta{
  position:relative;
  overflow:hidden;
  background:#162019;
  text-align:center;
  padding:90px 5vw;
}
.case-min-cta:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 150%,rgba(50,102,71,.48),transparent 42%),
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.4));
}
.case-min-cta-inner{
  position:relative;
  z-index:1;
  max-width:900px;
  margin:0 auto;
}
.case-min-cta h2{
  font-size:clamp(42px,5vw,72px);
  line-height:.95;
  margin:10px 0 28px;
}
.case-back{
  display:inline-flex;
  margin-top:20px;
  font-size:11px;
  letter-spacing:.13em;
  color:#9da49f;
}
@media(max-width:980px){
  .case-min-about{grid-template-columns:1fr;gap:52px;}
  .case-meta{border-left:0;border-top:1px solid rgba(255,255,255,.13);padding:38px 0 0;}
  .case-gallery{grid-template-columns:1fr 1fr;}
  .case-results{grid-template-columns:1fr;gap:45px;}
  .case-results-stats{border-left:0;}
}
@media(max-width:640px){
  .case-min-hero{min-height:680px;}
  .case-min-hero-inner{width:calc(100% - 48px);padding:155px 0 62px;}
  .case-min-title{font-size:54px;}
  .case-min-subtitle{font-size:21px;}
  .case-min-section,
  .case-video-wrap,
  .case-gallery-wrap,
  .case-results{padding-left:24px;padding-right:24px;}
  .case-meta{grid-template-columns:1fr;}
  .case-gallery{grid-template-columns:1fr;}
  .case-results-stats{grid-template-columns:1fr 1fr;}
  .case-stat{padding:18px 18px;border-bottom:1px solid rgba(255,255,255,.12);}
}


/* =========================================================
   3.6 — O NAS z pełnym panelem
   ========================================================= */
.page-template-page-o-nas,
.page-template-page-o-nas body{background:var(--black);color:#fff;}
.about-min-hero{min-height:84vh;position:relative;display:flex;align-items:flex-end;background:#0e0f0e center/cover no-repeat;overflow:hidden;}
.about-min-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,6,.88) 0%,rgba(5,7,6,.64) 38%,rgba(5,7,6,.12) 78%),linear-gradient(180deg,rgba(5,7,6,.12) 0%,rgba(5,7,6,.25) 60%,rgba(5,7,6,.86) 100%);}
.about-min-hero-inner,.about-min-section,.about-photo-band-inner,.about-steps,.about-crew,.about-cta-inner{width:min(1420px,90vw);margin:0 auto;}
.about-min-hero-inner{position:relative;z-index:1;padding:170px 0 80px;}
.about-kicker{display:flex;align-items:center;gap:12px;color:#7fb08d;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin-bottom:22px;}
.about-kicker:before{content:"";width:34px;height:1px;background:var(--green);}
.about-title{font-family:"Nugros",Arial,sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:-.04em;line-height:.88;font-size:clamp(58px,8vw,120px);max-width:860px;margin:0 0 18px;}
.about-lead{max-width:620px;color:#d0d4d1;font-size:17px;line-height:1.7;margin:0 0 28px;}
.about-tags{display:flex;flex-wrap:wrap;gap:12px 18px;color:#c9cfca;text-transform:uppercase;letter-spacing:.18em;font-size:10px;}
.about-min-section{padding:90px 0;}
.about-manifest{background:var(--cream);color:#0b0c0b;}
.about-manifest-grid{display:grid;grid-template-columns:1.2fr 1fr auto;gap:48px;align-items:start;}
.about-manifest h2,.about-crew-copy h2,.about-cta-inner h2{font-size:clamp(42px,5vw,82px);line-height:.92;margin:0;text-transform:uppercase;}
.about-manifest-copy{font-size:18px;line-height:1.75;max-width:520px;}
.about-manifest-side{color:var(--green);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:14px;align-self:center;}
.about-photo-band{background:#131513;}
.about-photo-band img,.about-crew-photo img{width:100%;display:block;object-fit:cover;}
.about-photo-band .about-photo-band-inner{position:relative;}
.about-photo-caption{position:absolute;left:24px;bottom:22px;color:#f4f1ea;font-size:11px;letter-spacing:.16em;text-transform:uppercase;}
.about-steps{padding:80px 0;background:var(--cream);color:#111;}
.about-steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(0,0,0,.1);margin-top:20px;}
.about-step{padding:28px 28px 12px 0;border-right:1px solid rgba(0,0,0,.1);}
.about-step:last-child{border-right:0;}
.about-step-no{font-size:54px;line-height:1;margin-bottom:18px;}
.about-step h3{font-size:22px;margin:0 0 12px;text-transform:uppercase;}
.about-step p{margin:0;color:#4f5350;line-height:1.7;}
.about-crew{display:grid;grid-template-columns:1fr 1.15fr;gap:42px;align-items:end;padding:0;}
.about-crew-copy{padding:80px 0 80px;}
.about-crew-copy p{max-width:440px;color:#cad0cb;line-height:1.8;font-size:16px;}
.about-cta{background:#111714;padding:90px 0;position:relative;overflow:hidden;}
.about-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,rgba(50,102,71,.42),transparent 40%);}
.about-cta-inner{position:relative;z-index:1;text-align:center;}
.about-cta-inner h2{color:#fff;max-width:920px;margin:10px auto 26px;}
@media(max-width:980px){.about-manifest-grid,.about-crew{grid-template-columns:1fr;}.about-steps-grid{grid-template-columns:1fr 1fr;gap:18px 24px;border-top:0;}.about-step{border-right:0;border-top:1px solid rgba(0,0,0,.1);padding:22px 0 10px;}}
@media(max-width:640px){.about-min-hero-inner,.about-min-section,.about-photo-band-inner,.about-steps,.about-crew,.about-cta-inner{width:calc(100% - 48px);}.about-min-hero-inner{padding:140px 0 54px;}.about-title{font-size:50px;}.about-steps-grid{grid-template-columns:1fr;}}


/* 3.7 — drobne poprawki pełnego panelu homepage */
.services a.service{
  color:inherit;
  text-decoration:none;
  display:block;
}
.services a.service:hover{
  background:rgba(255,255,255,.025);
}


/* =========================================================
   3.8 — FOOTER / BIURO / SOCIAL MEDIA
   ========================================================= */
.site-footer-v2{
  background:#050605;
  padding:42px 5vw;
  display:grid;
  grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(150px,.75fr));
  gap:42px;
  align-items:start;
  border-top:1px solid rgba(255,255,255,.08);
  color:#a8aea9;
}
.site-footer-v2 .footer-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:22px;
}
.site-footer-v2 .footer-brand img{
  width:118px;
  filter:brightness(0) invert(1);
}
.footer-copyright{
  font-size:10px;
  letter-spacing:.08em;
  color:#747b76;
}
.footer-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.footer-label{
  color:#6da17c;
  font-size:10px;
  line-height:1;
  letter-spacing:.18em;
  font-weight:700;
  text-transform:uppercase;
}
.footer-copy{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:12px;
  line-height:1.55;
  color:#c3c8c4;
}
.footer-copy a{
  margin:0;
  color:#c3c8c4;
  transition:color .2s ease;
}
.footer-copy a:hover{
  color:#fff;
}
.footer-socials{
  display:flex;
  gap:10px;
  align-items:center;
}
.footer-social{
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  margin:0;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.footer-social:hover{
  background:var(--green);
  border-color:var(--green);
  transform:translateY(-2px);
}
.footer-social-linkedin span{
  font-family:Arial,Helvetica,sans-serif;
  font-size:18px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.04em;
}
.ig-icon{
  position:relative;
  width:18px;
  height:18px;
  display:block;
  border:2px solid currentColor;
  border-radius:5px;
}
.ig-icon:before{
  content:"";
  position:absolute;
  width:6px;
  height:6px;
  border:2px solid currentColor;
  border-radius:50%;
  left:4px;
  top:4px;
  box-sizing:border-box;
}
.ig-icon:after{
  content:"";
  position:absolute;
  width:2px;
  height:2px;
  border-radius:50%;
  background:currentColor;
  right:3px;
  top:3px;
}
.ig-icon i{display:none;}

@media(max-width:980px){
  .site-footer-v2{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:600px){
  .site-footer-v2{
    grid-template-columns:1fr;
    gap:30px;
    padding-top:36px;
    padding-bottom:36px;
  }
}


/* 3.8.4 — logo stopki wyrównane zdecydowanie do lewej */
.site-footer-v2{
  justify-items:start;
}
.site-footer-v2 .footer-brand{
  justify-self:start;
  align-self:start;
  text-align:left;
  width:100%;
}
.site-footer-v2 .footer-brand > a{
  display:block;
  margin:0;
}
.site-footer-v2 .footer-brand img{
  margin:0;
  margin-left:0;
  margin-right:auto;
}


/* =========================================================
   3.9 — MOBILE POLISH
   Kierunek: cinematic / editorial / first-mobile
   Desktop pozostaje bez zmian.
   ========================================================= */

@media(max-width:700px){

  html,body{overflow-x:hidden;}
  body{background:#070908;}

  /* HEADER / HAMBURGER */
  .site-header{
    padding:18px 22px;
    border-bottom:0;
    background:linear-gradient(180deg,rgba(5,7,6,.72),rgba(5,7,6,0));
  }
  .brand img{width:112px;}

  .menu-toggle{
    width:42px;
    height:42px;
    padding:0;
    position:relative;
    font-size:0;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
  }
  .menu-toggle:before,
  .menu-toggle:after{
    content:"";
    position:absolute;
    left:11px;
    width:18px;
    height:1px;
    background:#fff;
    transition:transform .25s ease,top .25s ease,box-shadow .25s ease;
  }
  .menu-toggle:before{
    top:15px;
    box-shadow:0 6px 0 #fff;
  }
  .menu-toggle:after{top:27px;}
  .menu-toggle[aria-expanded="true"]:before{
    top:20px;
    transform:rotate(45deg);
    box-shadow:none;
  }
  .menu-toggle[aria-expanded="true"]:after{
    top:20px;
    transform:rotate(-45deg);
  }
  .nav.open{
    top:0;
    min-height:100svh;
    padding:110px 24px 40px;
    z-index:-1;
    background:#070908;
    gap:0;
  }
  .nav.open a{
    opacity:1;
    font-size:25px;
    line-height:1;
    padding:20px 0;
    border-bottom:1px solid rgba(255,255,255,.09);
    letter-spacing:.05em;
  }

  /* HERO */
  .hero{
    min-height:100svh;
    align-items:flex-end;
    background-position:center center;
  }
  .hero:after{
    background:
      linear-gradient(180deg,rgba(0,0,0,.14) 0%,rgba(0,0,0,.14) 34%,rgba(0,0,0,.86) 83%,#070908 100%),
      linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.04));
  }
  .hero-inner{
    width:auto;
    margin:0;
    padding:150px 24px 112px;
  }
  .hero .eyebrow{
    color:#70aa80;
    margin-bottom:14px;
    font-size:9px;
  }
  .hero h1{
    font-size:clamp(50px,14.2vw,66px);
    line-height:.87;
    max-width:360px;
    letter-spacing:-.045em;
  }
  .hero-sub{
    margin:20px 0 8px;
    
    
    letter-spacing:.08em;
  }
  .hero-tags{
    font-size:9px;
    line-height:1.6;
    letter-spacing:.11em;
  }
  .hero-actions{
    margin-top:26px;
    width:100%;
    gap:10px;
  }
  .hero-actions .btn,
  .hero-actions .showreel-link{
    width:100%;
    min-height:52px;
    justify-content:center;
    padding:0 18px;
    border-radius:2px;
  }
  .hero-actions .showreel-link{
    border:1px solid rgba(255,255,255,.55);
    font-size:11px;
  }
  .hero-actions .showreel-link .play{display:none;}
  .scroll-hint{
    right:auto;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    font-size:8px;
    white-space:nowrap;
  }

  /* SELECTED WORK */
  .work{
    padding:74px 24px 54px;
  }
  .section-head{
    margin-bottom:28px;
    gap:18px;
  }
  .section-head .eyebrow{
    margin-bottom:14px;
    font-size:9px;
  }
  .section-head h2{
    font-size:clamp(46px,12vw,58px);
    letter-spacing:-.04em;
  }
  .section-head p{
    font-size:13px;
    line-height:1.65;
    margin-bottom:16px;
  }
  .section-head .text-link{
    display:inline-flex;
    margin-top:0;
  }

  .project-grid{
    gap:14px;
  }
  .project-grid.dynamic-projects .project{
    min-height:0;
    display:flex;
    flex-direction:column;
    background:#0e1110;
    border:1px solid rgba(255,255,255,.07);
    overflow:hidden;
  }
  .project-grid.dynamic-projects .project:before,
  .project-grid.dynamic-projects .project:after{
    display:none;
  }
  .project-grid.dynamic-projects .project img{
    position:relative;
    inset:auto;
    z-index:auto;
    width:100%;
    height:230px;
    object-fit:cover;
  }
  .project-grid.dynamic-projects .project .project-copy{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    padding:18px 18px 20px;
    min-height:112px;
  }
  .project-copy h3{
    font-size:26px;
    padding-right:30px;
  }
  .project-copy p{
    color:#c1c6c2;
    font-size:12px;
    margin:5px 0 12px;
  }
  .project-copy span{
    font-size:8px;
    color:#71977d;
  }
  .project-grid.dynamic-projects .project .project-copy:after{
    content:"→";
    position:absolute;
    right:18px;
    top:18px;
    font-size:20px;
    color:#fff;
  }
  .project.no-image{
    min-height:280px;
  }

  /* SERVICES */
  .services{
    display:block;
    padding:54px 24px 18px;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .service{
    display:grid !important;
    grid-template-columns:40px 1fr;
    column-gap:14px;
    padding:26px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  .service:last-child{border-bottom:0;}
  .service-no{
    grid-row:1 / span 2;
    margin:2px 0 0;
    color:#67a079;
    font-size:9px;
  }
  .service h3{
    font-size:27px;
    margin:0 0 7px;
    line-height:1;
  }
  .service p{
    margin:0;
    max-width:280px;
    font-size:12px;
    line-height:1.55;
  }

  /* ABOUT TEASER — dark mobile treatment */
  .manifest{
    display:flex;
    flex-direction:column;
    background:#090b0a;
    color:#fff;
  }
  .manifest-photo{
    min-height:390px;
    order:0;
    background-position:center;
  }
  .manifest-copy{
    order:1;
    padding:48px 24px 58px;
  }
  .manifest-copy .eyebrow{font-size:9px;margin-bottom:14px;}
  .manifest h2{
    font-size:clamp(46px,12vw,58px);
    max-width:340px;
    letter-spacing:-.04em;
  }
  .manifest-copy p{
    color:#c4c9c5;
    line-height:1.7;
    font-size:13px;
    margin-top:20px;
  }
  .manifest-copy .text-link{
    color:#fff;
    margin-top:12px;
  }

  /* SHOWREEL */
  .showreel-section{
    padding:0;
    background:#070908;
  }
  .showreel-box{
    min-height:610px;
    padding:48px 24px 42px;
    background-position:center;
  }
  .showreel-box:before{
    background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.72) 85%);
  }
  .showreel-box .eyebrow{
    color:#70aa80;
    font-size:9px;
  }
  .showreel-box h2{
    font-size:clamp(48px,12vw,60px);
    max-width:330px;
    margin-top:10px;
  }
  .showreel-big{
    margin-top:22px;
    width:max-content;
    max-width:100%;
  }
  .showreel-big .play{
    width:52px;
    height:52px;
  }

  /* CREW */
  .crew{
    display:flex;
    flex-direction:column-reverse;
    padding:0;
    gap:0;
    background:#090b0a;
  }
  .crew-photo{
    min-height:390px;
    width:100%;
  }
  .crew-copy{
    padding:46px 24px 56px;
    width:100%;
  }
  .crew-copy .eyebrow{font-size:9px;}
  .crew h2{
    font-size:clamp(46px,12vw,58px);
    margin-top:12px;
  }
  .crew-copy p{
    font-size:13px;
    line-height:1.7;
  }

  /* CLIENTS — pełna czerń + brand green */
  .clients{
    display:block;
    padding:48px 24px 44px;
    
    
    border-top:1px solid rgba(255,255,255,.07);
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .clients-label{
    display:block;
    margin:0 0 28px;
    padding:0;
    
    
    font-size:9px;
  }
  .clients-marquee{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);
  }
  .clients-track{
    gap:48px;
    animation-duration:24s !important;
  }
  
  .client-logo img{
    
    
    
    opacity:.78;
  }
  .client-logo:hover img{
    filter:grayscale(1) brightness(.92);
    opacity:1;
  }

  /* CONTACT — matches the dark mobile concept */
  .contact{
    display:block;
    padding:68px 24px 72px;
    background:#0a0d0b;
    border-top:1px solid rgba(255,255,255,.07);
  }
  .contact .eyebrow{
    color:#70aa80;
    font-size:9px;
    margin-bottom:14px;
  }
  .contact h2{
    font-size:clamp(48px,12vw,60px);
    letter-spacing:-.04em;
  }
  .contact-side{
    margin-top:26px;
  }
  .contact-side p{
    max-width:330px;
    margin-bottom:24px;
    color:#c4c9c5;
    font-size:13px;
    line-height:1.7;
  }
  .contact .btn-light{
    width:100%;
    min-height:54px;
    background:var(--green);
    color:#fff;
  }

  /* FOOTER — vertical editorial layout */
  .site-footer-v2{
    display:grid;
    grid-template-columns:1fr;
    gap:34px;
    padding:48px 24px 38px;
    background:#050605;
  }
  .site-footer-v2 .footer-brand{
    gap:20px;
  }
  .site-footer-v2 .footer-brand img{
    width:138px;
  }
  .footer-column{
    gap:11px;
  }
  .footer-label{
    font-size:9px;
    color:#70aa80;
  }
  .footer-copy{
    font-size:13px;
    line-height:1.65;
  }
  .footer-social{
    width:44px;
    height:44px;
  }
  .footer-copyright{
    order:2;
    margin-top:10px;
    font-size:9px;
    line-height:1.5;
  }

  /* INNER PAGES / CASE STUDY */
  .page-hero,
  .archive-hero{
    padding:142px 24px 58px;
  }
  .page-hero h1,
  .archive-hero h1{
    font-size:clamp(50px,14vw,64px);
    line-height:.88;
  }

  
  
  
  .case-min-about,
  .case-min-video,
  .case-min-gallery,
  .case-min-results{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  .about-min-hero{min-height:100svh;}
  .about-min-hero-inner,
  .about-min-section,
  .about-photo-band-inner,
  .about-steps,
  .about-crew,
  .about-cta-inner{
    width:auto;
    margin-left:24px;
    margin-right:24px;
  }
  .about-min-hero-inner{
    padding:145px 0 58px;
  }
  .about-title{
    font-size:clamp(50px,13vw,62px);
  }
  .about-manifest-copy{
    font-size:15px;
  }
  .about-step-no{font-size:42px;}
  .about-cta{padding:68px 0;}
}

@media(max-width:420px){
  .site-header{padding-left:18px;padding-right:18px;}
  .hero-inner,
  .work,
  .services,
  .manifest-copy,
  .crew-copy,
  .clients,
  .contact,
  .site-footer-v2{
    padding-left:20px;
    padding-right:20px;
  }
  .hero h1{font-size:50px;}
  .project-grid.dynamic-projects .project img{height:215px;}
  .manifest-photo,.crew-photo{min-height:350px;}
  .showreel-box{min-height:560px;padding-left:20px;padding-right:20px;}
  .footer-socials{gap:9px;}
}

/* Better touch behavior */
@media(hover:none) and (pointer:coarse){
  .btn:hover,
  .footer-social:hover,
  .client-logo:hover img{
    transform:none;
  }
}


/* =========================================================
   4.1 — EXACT DESIGNER LOGO
   Artwork comes directly from Rajza_NEW00002.pdf as vector paths.
   No letterforms, spacing or proportions are modified.
   ========================================================= */
.brand img,
.site-footer-v2 .footer-brand img{
  height:auto;
  object-fit:contain;
}

/* =========================================================
   4.1 — CASE STUDY CINEMATIC GALLERY
   ========================================================= */

.case-gallery-cinematic .case-gallery-item{
  position:relative;
  display:block;
  overflow:hidden;
  min-height:320px;
  background:#0c0e0d;
}
.case-gallery-cinematic .case-gallery-item img{
  display:block;
  transition:transform .45s ease,opacity .3s ease;
}
.case-gallery-cinematic .case-gallery-item:hover img{transform:scale(1.035);}
.case-gallery-cinematic .gallery-large{grid-column:span 7;min-height:430px;}
.case-gallery-cinematic .gallery-tall{grid-column:span 5;min-height:430px;}
.case-gallery-cinematic .gallery-wide{grid-column:span 8;min-height:330px;}
.case-gallery-cinematic .gallery-small{grid-column:span 4;min-height:330px;}
.case-gallery-cinematic .gallery-half{grid-column:span 6;min-height:350px;}
.gallery-open{
  position:absolute;right:14px;bottom:14px;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;background:rgba(0,0,0,.56);color:#fff;font-size:22px;
  opacity:0;transform:translateY(6px);transition:.25s ease;
}
.case-gallery-item:hover .gallery-open{opacity:1;transform:none;}
.rajza-lightbox{
  display:none;position:fixed;inset:0;z-index:99999;background:rgba(3,4,4,.97);color:#fff;
  grid-template-rows:auto 1fr auto;
}
.rajza-lightbox.is-open{display:grid;}
.rajza-lightbox-top{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;}
.rajza-lightbox-counter{font-size:11px;letter-spacing:.16em;color:#75a681;}
.rajza-lightbox-close,.rajza-lightbox-nav{
  appearance:none;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.03);color:#fff;
  width:48px;height:48px;border-radius:50%;cursor:pointer;font:inherit;font-size:25px;
}
.rajza-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;padding:0 86px 22px;min-height:0;}
.rajza-lightbox-stage img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;display:block;}
.rajza-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);}
.rajza-lightbox-prev{left:20px;}.rajza-lightbox-next{right:20px;}
.rajza-lightbox-caption{padding:0 24px 20px;color:#b8beb9;font-size:12px;min-height:20px;}
@media(max-width:900px){
  
  .case-gallery-cinematic .gallery-large,.case-gallery-cinematic .gallery-tall,.case-gallery-cinematic .gallery-wide,.case-gallery-cinematic .gallery-small,.case-gallery-cinematic .gallery-half{grid-column:span 1;min-height:270px;}
}
@media(max-width:700px){
  
  .case-gallery-cinematic .case-gallery-item{grid-column:1!important;min-height:250px!important;}
  .gallery-open{opacity:1;transform:none;}
  .rajza-lightbox-top{padding:14px 16px;}
  .rajza-lightbox-stage{padding:0 14px 76px;}
  .rajza-lightbox-stage img{max-height:calc(100vh - 150px);}
  .rajza-lightbox-nav{top:auto;bottom:16px;transform:none;}
  .rajza-lightbox-prev{left:16px;}.rajza-lightbox-next{right:16px;}
  .rajza-lightbox-caption{padding:0 16px 78px;}
}


/* =========================================================
   4.2 — HOMEPAGE SERVICES: 3 OBSZARY
   ========================================================= */
.services .service{
  position:relative;
  min-height:390px;
  display:flex;
  flex-direction:column;
  padding:58px 44px 42px;
}
.services .service h3{
  max-width:360px;
}
.service-meta{
  margin:0 0 18px;
  max-width:360px;
  color:#78a886;
  font-size:10px;
  line-height:1.6;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.service-arrow{
  margin-top:auto;
  padding-top:28px;
  font-size:24px;
  line-height:1;
  color:#fff;
  opacity:.72;
  transition:transform .25s ease, opacity .25s ease;
}
.services a.service:hover .service-arrow{
  transform:translateX(7px);
  opacity:1;
}
@media(max-width:900px){
  .services{grid-template-columns:1fr;}
  
}

/* =========================================================
   4.2 — CENNIK / WSPÓŁPRACA
   ========================================================= */
.pricing-page{
  background:#080a09;
  color:#fff;
}
.pricing-hero{
  padding:180px 6vw 70px;
  min-height:72vh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.pricing-hero h1{
  max-width:1150px;
  margin:14px 0 28px;
  font-size:clamp(64px,8vw,126px);
  
  letter-spacing:-.045em;
}
.pricing-hero>p{
  max-width:690px;
  color:#b7bdb9;
  font-size:17px;
  line-height:1.7;
}
.pricing-tabs{
  display:flex;
  gap:8px;
  margin-top:46px;
}
.pricing-tab{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background:transparent;
  color:#b9bfbb;
  min-width:170px;
  min-height:52px;
  padding:0 24px;
  font:inherit;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  cursor:pointer;
  transition:all .22s ease;
}
.pricing-tab.is-active{
  background:#326647;
  border-color:#326647;
  color:#fff;
}
.pricing-panel{
  padding:100px 6vw;
}
.pricing-panel[hidden]{display:none !important;}
.pricing-section-head{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:70px;
  align-items:end;
  margin-bottom:54px;
}
.pricing-section-head h2{
  margin:14px 0 0;
  max-width:850px;
  font-size:clamp(48px,6vw,86px);
  
  letter-spacing:-.04em;
}
.pricing-section-head>p{
  max-width:520px;
  margin:0;
  color:#b6bcb8;
  font-size:15px;
  line-height:1.75;
}
.pricing-packages{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.pricing-card{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:32px 30px 28px;
  background:#0d100e;
  border:1px solid rgba(255,255,255,.09);
}
.pricing-card.is-featured{
  border-color:#4d8a5f;
  background:linear-gradient(180deg,rgba(50,102,71,.22),#0d100e 36%);
}
.pricing-badge{
  position:absolute;
  top:0;
  right:0;
  padding:10px 12px;
  background:#326647;
  color:#fff;
  font-size:8px;
  font-weight:700;
  letter-spacing:.12em;
}
.pricing-card-no{
  margin-bottom:34px;
  color:#6da17c;
  font-size:10px;
  letter-spacing:.14em;
}
.pricing-card h3{
  margin:0;
  font-size:42px;
  line-height:1;
}
.pricing-price{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:8px;
  margin:24px 0 18px;
}
.pricing-price strong{
  font-size:27px;
  line-height:1;
}
.pricing-price span{
  color:#8e9690;
  font-size:12px;
}
.pricing-card-top>p{
  min-height:72px;
  color:#abb2ad;
  font-size:13px;
  line-height:1.65;
}
.pricing-features{
  list-style:none;
  padding:24px 0 0;
  margin:24px 0 30px;
  border-top:1px solid rgba(255,255,255,.08);
}
.pricing-features li{
  position:relative;
  padding:9px 0 9px 19px;
  color:#d3d7d4;
  font-size:12px;
  line-height:1.45;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.pricing-features li:before{
  content:"";
  position:absolute;
  left:0;
  top:15px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#5f976f;
}
.pricing-card-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  margin-top:auto;
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  transition:background .22s ease,border-color .22s ease;
}
.pricing-card.is-featured .pricing-card-btn,
.pricing-card-btn:hover{
  background:#326647;
  border-color:#326647;
}
.pricing-note{
  margin:26px 0 0;
  color:#7d8580;
  font-size:11px;
  line-height:1.6;
}
.pricing-projects{
  border-top:1px solid rgba(255,255,255,.1);
}
.pricing-project{
  display:grid;
  grid-template-columns:70px minmax(0,1fr) 180px;
  gap:28px;
  align-items:center;
  padding:28px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.pricing-project-no{
  color:#6da17c;
  font-size:10px;
  letter-spacing:.14em;
}
.pricing-project-copy h3{
  margin:0 0 7px;
  font-size:27px;
  line-height:1;
}
.pricing-project-copy p{
  max-width:700px;
  margin:0;
  color:#9fa7a2;
  font-size:13px;
  line-height:1.6;
}
.pricing-project>strong{
  text-align:right;
  font-size:16px;
  white-space:nowrap;
}
.pricing-fineprint{
  padding:28px 6vw 80px;
}
.pricing-fineprint p{
  max-width:950px;
  margin:0;
  color:#737b76;
  font-size:11px;
  line-height:1.75;
}
.pricing-cta{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:80px;
  padding:90px 6vw;
  background:#326647;
  align-items:end;
}
.pricing-cta h2{
  
  margin:15px 0 0;
  
  
  
}
.pricing-cta>div:last-child p{
  margin:0 0 28px;
  max-width:500px;
  color:rgba(255,255,255,.8);
  font-size:14px;
  line-height:1.7;
}
.pricing-cta .btn-light{
  display:inline-flex;
  background:#fff;
  color:#0b0d0c;
}
@media(max-width:1050px){
  .pricing-packages{grid-template-columns:1fr;}
  .pricing-card-top>p{min-height:0;}
  .pricing-section-head,.pricing-cta{grid-template-columns:1fr;gap:28px;}
}
@media(max-width:700px){
  .pricing-hero{
    min-height:auto;
    padding:145px 20px 50px;
  }
  .pricing-hero h1{
    font-size:clamp(50px,14vw,64px);
  }
  .pricing-hero>p{font-size:14px;}
  .pricing-tabs{
    width:100%;
    margin-top:32px;
  }
  .pricing-tab{
    flex:1;
    min-width:0;
    padding:0 10px;
  }
  .pricing-panel{
    padding:68px 20px;
  }
  .pricing-section-head{
    margin-bottom:34px;
  }
  .pricing-section-head h2{
    font-size:clamp(44px,12vw,58px);
  }
  .pricing-card{
    padding:28px 22px 24px;
  }
  .pricing-card h3{font-size:36px;}
  .pricing-project{
    grid-template-columns:34px 1fr;
    gap:14px;
    padding:24px 0;
  }
  .pricing-project>strong{
    grid-column:2;
    text-align:left;
    margin-top:4px;
  }
  .pricing-project-copy h3{
    font-size:22px;
  }
  .pricing-fineprint{
    padding:10px 20px 58px;
  }
  .pricing-cta{
    padding:68px 20px;
  }
  
}


/* =========================================================
   4.3 — WSPÓŁPRACA / TYPOGRAPHY POLISH
   ========================================================= */
.pricing-hero h1,
.pricing-cta h2{
  letter-spacing:0;
}

/* Mobile keeps the same natural tracking */
@media(max-width:700px){
  .pricing-hero h1,
  .pricing-cta h2{
    letter-spacing:0;
  }
}


/* =========================================================
   4.3.1 — HOMEPAGE LARGE HEADINGS: KERNING
   ========================================================= */
.manifest h2,
.crew h2{
  letter-spacing:0;
}


/* =========================================================
   4.3.2 — WSPÓŁPRACA CTA: LONG HEADLINE REFINEMENT
   ========================================================= */
.pricing-cta h2{
  font-weight:500;
  font-size:clamp(42px,5vw,72px);
  line-height:.92;
  letter-spacing:0;
  max-width:920px;
}

@media(max-width:700px){
  .pricing-cta h2{
    font-size:clamp(38px,10vw,50px);
    line-height:.95;
  }
}


/* =========================================================
   4.4 — FAQ / WSPÓŁPRACA
   ========================================================= */
.pricing-faq{
  padding:96px 6vw 108px;
  background:#0b0e0c;
  border-top:1px solid rgba(255,255,255,.08);
}
.pricing-faq-head{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:70px;
  align-items:end;
  margin-bottom:50px;
}
.pricing-faq-head h2{
  margin:14px 0 0;
  max-width:780px;
  font-size:clamp(48px,6vw,82px);
  line-height:.9;
  letter-spacing:0;
}
.pricing-faq-head>p{
  max-width:500px;
  margin:0;
  color:#aeb5b0;
  font-size:14px;
  line-height:1.75;
}
.pricing-faq-list{
  border-top:1px solid rgba(255,255,255,.12);
}
.pricing-faq-item{
  border-bottom:1px solid rgba(255,255,255,.12);
}
.pricing-faq-question{
  width:100%;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 46px;
  gap:18px;
  align-items:center;
  min-height:86px;
  padding:18px 0;
  border:0;
  background:transparent;
  color:#fff;
  text-align:left;
  cursor:pointer;
}
.pricing-faq-no{
  color:#6da17c;
  font-size:10px;
  letter-spacing:.14em;
}
.pricing-faq-label{
  font-size:clamp(19px,1.8vw,28px);
  line-height:1.16;
  font-weight:500;
}
.pricing-faq-toggle{
  justify-self:end;
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  font-size:25px;
  font-weight:300;
  line-height:1;
  transition:transform .22s ease,background .22s ease,border-color .22s ease;
}
.pricing-faq-question.is-open .pricing-faq-toggle{
  transform:rotate(45deg);
  background:#326647;
  border-color:#326647;
}
.pricing-faq-answer{
  padding:0 64px 30px 76px;
}
.pricing-faq-answer>div{
  max-width:840px;
  color:#aeb5b0;
  font-size:14px;
  line-height:1.75;
}
.pricing-faq-answer p{
  margin:0;
}
.pricing-faq-question:hover .pricing-faq-label{
  color:#dce9df;
}

@media(max-width:900px){
  .pricing-faq-head{
    grid-template-columns:1fr;
    gap:24px;
  }
}
@media(max-width:700px){
  .pricing-faq{
    padding:66px 20px 72px;
  }
  .pricing-faq-head{
    margin-bottom:32px;
  }
  .pricing-faq-head h2{
    font-size:clamp(44px,12vw,58px);
  }
  .pricing-faq-question{
    grid-template-columns:30px minmax(0,1fr) 38px;
    gap:12px;
    min-height:76px;
    padding:16px 0;
  }
  .pricing-faq-label{
    font-size:19px;
  }
  .pricing-faq-toggle{
    width:36px;
    height:36px;
    font-size:22px;
  }
  .pricing-faq-answer{
    padding:0 0 24px 42px;
  }
  .pricing-faq-answer>div{
    font-size:13px;
  }
}


/* =========================================================
   4.5 — GLOBAL MICRO TYPOGRAPHY
   ========================================================= */

/* Zielone oznaczenia sekcji: wyżej, większe i z większym oddechem od nagłówka */
.eyebrow.green,
.about-kicker{
  position:relative;
  top:-5px;
  margin-bottom:22px;
  font-size:12px;
  line-height:1.2;
}

/* Większy odstęp między wierszami w długich nagłówkach */
.manifest h2{
  line-height:1.00;
}
.pricing-hero h1{
  line-height:.96;
}
.pricing-section-head h2{
  line-height:.98;
}

/* Fineprint bezpośrednio pod informacją o minimalnym okresie */
.pricing-fineprint-inline{
  padding:8px 0 0;
}
.pricing-fineprint-inline p{
  max-width:980px;
  color:#737b76;
  font-size:11px;
  line-height:1.75;
}
.pricing-note{
  margin-bottom:0;
}

/* =========================================================
   4.5 — O NAS / REDESIGN
   ========================================================= */

.about-v45{
  background:#080a09;
  color:#fff;
}

.about-v45 .about-min-hero{
  min-height:92vh;
  align-items:flex-end;
  background-color:#0b0d0c;
}
.about-v45 .about-min-hero:before{
  background:
    linear-gradient(90deg,rgba(5,7,6,.92) 0%,rgba(5,7,6,.66) 42%,rgba(5,7,6,.15) 78%),
    linear-gradient(180deg,rgba(5,7,6,.04) 0%,rgba(5,7,6,.20) 58%,rgba(5,7,6,.92) 100%);
}

.about-v45 .about-min-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);
  column-gap:80px;
  row-gap:24px;
  align-items:end;
  padding:190px 0 78px;
}
.about-v45 .about-min-hero-inner>.about-kicker{
  grid-column:1/-1;
  margin-bottom:0;
}
.about-v45 .about-title{
  grid-column:1;
  max-width:900px;
  margin:0;
  font-size:clamp(62px,8vw,122px);
  line-height:.95;
  letter-spacing:0;
}
.about-v45 .about-hero-side{
  grid-column:2;
  align-self:end;
  padding-bottom:8px;
}
.about-v45 .about-lead{
  max-width:500px;
  margin:0 0 30px;
  color:#d0d5d1;
  font-size:17px;
  line-height:1.75;
}
.about-v45 .about-tags{
  gap:10px 16px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.14);
  color:#93a099;
  font-size:9px;
}

/* Manifest jako duży, redakcyjny blok */
.about-v45 .about-manifest{
  background:#f1efe9;
  color:#0a0c0b;
}
.about-v45 .about-min-section{
  padding:118px 0;
}
.about-v45 .about-manifest-grid{
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.62fr) minmax(190px,.3fr);
  gap:70px;
  align-items:end;
}
.about-v45 .about-manifest-title h2{
  max-width:860px;
  font-size:clamp(50px,5.7vw,90px);
  line-height:1;
  letter-spacing:0;
}
.about-v45 .about-manifest-copy{
  align-self:end;
  max-width:500px;
  font-size:18px;
  line-height:1.85;
  color:#343a36;
}
.about-v45 .about-manifest-copy p{
  margin:0;
}
.about-v45 .about-manifest-side{
  align-self:end;
  padding-left:22px;
  border-left:1px solid rgba(0,0,0,.14);
  color:#326647;
  font-size:12px;
  line-height:1.6;
  letter-spacing:.1em;
}
.about-v45 .about-manifest-side span{
  display:block;
  margin-bottom:8px;
  color:#737a75;
  font-size:9px;
}

/* Fotografia pełną szerokością */
.about-v45 .about-photo-band{
  padding:0;
  background:#080a09;
}
.about-v45 .about-photo-band-inner{
  width:100%;
  max-width:none;
  position:relative;
  margin:0;
}
.about-v45 .about-photo-band img{
  width:100%;
  height:min(72vh,780px);
  object-fit:cover;
}
.about-v45 .about-photo-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72) 100%);
  pointer-events:none;
}
.about-v45 .about-photo-caption{
  bottom:28px;
  z-index:2;
  color:#fff;
  font-size:10px;
}
.about-v45 .about-photo-caption-left{left:5vw;}
.about-v45 .about-photo-caption-right{left:auto;right:5vw;}

/* Proces na ciemnym tle */
.about-v45 .about-steps-wrap{
  background:#080a09;
  color:#fff;
}
.about-v45 .about-steps{
  padding:105px 0 112px;
}
.about-v45 .about-steps-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
  margin-bottom:34px;
}
.about-v45 .about-steps-head .about-kicker{
  margin-bottom:0;
}
.about-v45 .about-steps-line{
  max-width:390px;
  color:#6f7772;
  font-size:10px;
  line-height:1.6;
  letter-spacing:.13em;
  text-align:right;
}
.about-v45 .about-steps-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:0;
  border-top:1px solid rgba(255,255,255,.13);
}
.about-v45 .about-step{
  min-height:300px;
  padding:30px 30px 28px 0;
  border-right:1px solid rgba(255,255,255,.10);
  border-top:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.about-v45 .about-step:not(:first-child){
  padding-left:30px;
}
.about-v45 .about-step-no{
  color:#6da17c;
  font-size:54px;
  font-weight:500;
}
.about-v45 .about-step h3{
  max-width:250px;
  margin:0 0 12px;
  color:#fff;
  font-size:24px;
  line-height:1.05;
}
.about-v45 .about-step p{
  max-width:250px;
  color:#8e9791;
  font-size:13px;
}

/* Crew: fotografia + tekst jak editorial spread */
.about-v45 .about-crew{
  width:100%;
  max-width:none;
  grid-template-columns:1.12fr .88fr;
  gap:0;
  align-items:stretch;
  background:#f1efe9;
  color:#0b0d0c;
}
.about-v45 .about-crew-photo{
  min-height:650px;
  overflow:hidden;
}
.about-v45 .about-crew-photo img{
  width:100%;
  height:100%;
  min-height:650px;
  object-fit:cover;
}
.about-v45 .about-crew-placeholder{
  background:
    radial-gradient(circle at 70% 25%,rgba(50,102,71,.3),transparent 24%),
    linear-gradient(135deg,#1d2922,#080a09);
}
.about-v45 .about-crew-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:100px 8vw 100px 7vw;
}
.about-v45 .about-crew-copy h2{
  max-width:620px;
  color:#0b0d0c;
  font-size:clamp(50px,5.5vw,84px);
  line-height:.98;
  letter-spacing:0;
}
.about-v45 .about-crew-copy p{
  max-width:500px;
  margin:24px 0 0;
  color:#4b524d;
  font-size:17px;
  line-height:1.8;
}
.about-v45 .about-crew-signature{
  margin-top:46px;
  padding-top:18px;
  border-top:1px solid rgba(0,0,0,.14);
  color:#326647;
  font-size:9px;
  letter-spacing:.16em;
}

/* CTA bardziej zdecydowane */
.about-v45 .about-cta{
  padding:104px 0;
  background:#326647;
}
.about-v45 .about-cta:before{
  display:none;
}
.about-v45 .about-cta-inner{
  text-align:left;
}
.about-v45 .about-cta-inner .about-kicker{
  justify-content:flex-start !important;
  color:#d8e5dc;
}
.about-v45 .about-cta-inner .about-kicker:before{
  background:#d8e5dc;
}
.about-v45 .about-cta-inner h2{
  max-width:1050px;
  margin:8px 0 34px;
  font-size:clamp(54px,6.5vw,96px);
  line-height:.96;
  letter-spacing:0;
}
.about-v45 .about-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  background:#fff;
  color:#0b0d0c;
}

@media(max-width:980px){
  .about-v45 .about-min-hero-inner{
    grid-template-columns:1fr;
    gap:26px;
  }
  .about-v45 .about-title,
  .about-v45 .about-hero-side{
    grid-column:1;
  }
  .about-v45 .about-hero-side{
    max-width:620px;
  }
  .about-v45 .about-manifest-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .about-v45 .about-manifest-side{
    max-width:430px;
  }
  .about-v45 .about-steps-grid{
    grid-template-columns:1fr 1fr;
  }
  .about-v45 .about-step{
    min-height:250px;
    border-top:1px solid rgba(255,255,255,.11);
  }
  .about-v45 .about-step:nth-child(odd){
    padding-left:0;
  }
  .about-v45 .about-crew{
    grid-template-columns:1fr;
  }
  .about-v45 .about-crew-photo,
  .about-v45 .about-crew-photo img{
    min-height:480px;
  }
}
@media(max-width:700px){
  .eyebrow.green,
  .about-kicker{
    top:-3px;
    margin-bottom:18px;
    font-size:11px;
  }
  .manifest h2{
    line-height:1.03;
  }
  .pricing-hero h1,
  .pricing-section-head h2{
    line-height:1.00;
  }

  .about-v45 .about-min-hero{
    min-height:100svh;
  }
  .about-v45 .about-min-hero-inner{
    padding:150px 0 58px;
  }
  .about-v45 .about-title{
    font-size:clamp(50px,13vw,62px);
    line-height:.98;
  }
  .about-v45 .about-lead{
    font-size:14px;
  }
  .about-v45 .about-min-section{
    padding:76px 0;
  }
  .about-v45 .about-manifest-title h2{
    font-size:clamp(44px,11vw,56px);
    line-height:1.02;
  }
  .about-v45 .about-manifest-copy{
    font-size:15px;
  }
  .about-v45 .about-photo-band img{
    height:58vh;
  }
  .about-v45 .about-photo-caption-right{
    display:none;
  }
  .about-v45 .about-steps{
    padding:76px 0;
  }
  .about-v45 .about-steps-head{
    display:block;
  }
  .about-v45 .about-steps-line{
    margin-top:18px;
    text-align:left;
  }
  .about-v45 .about-steps-grid{
    grid-template-columns:1fr;
  }
  .about-v45 .about-step,
  .about-v45 .about-step:not(:first-child){
    min-height:0;
    padding:24px 0;
  }
  .about-v45 .about-step-no{
    margin-bottom:32px;
    font-size:44px;
  }
  .about-v45 .about-crew-photo,
  .about-v45 .about-crew-photo img{
    min-height:360px;
  }
  .about-v45 .about-crew-copy{
    padding:68px 24px;
  }
  .about-v45 .about-crew-copy h2{
    font-size:clamp(44px,11vw,56px);
    line-height:1.02;
  }
  .about-v45 .about-cta{
    padding:72px 0;
  }
  .about-v45 .about-cta-inner h2{
    font-size:clamp(46px,11vw,60px);
    line-height:1;
  }
}


/* =========================================================
   4.6 — O NAS / MINIMAL TWO-PERSON LAYOUT
   ========================================================= */
.about-simple{
  background:#080a09;
  color:#fff;
}
.about-simple-shell{
  width:min(1420px,90vw);
  margin:0 auto;
}
.about-simple-hero{
  padding:190px 0 90px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.about-simple-hero .about-kicker{
  margin-bottom:28px;
}
.about-simple-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.45fr);
  gap:80px;
  align-items:end;
}
.about-simple-hero h1{
  margin:0;
  max-width:980px;
  font-size:clamp(62px,7.8vw,118px);
  line-height:.96;
  letter-spacing:0;
  text-transform:uppercase;
}
.about-simple-hero p{
  margin:0 0 6px;
  max-width:460px;
  color:#aeb5b0;
  font-size:16px;
  line-height:1.75;
}

.about-person{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:720px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.about-person-media{
  min-height:720px;
  overflow:hidden;
  background:#101310;
}
.about-person-media img{
  width:100%;
  height:100%;
  min-height:720px;
  display:block;
  object-fit:cover;
}
.about-person-placeholder{
  width:100%;
  height:100%;
  min-height:720px;
  background:
    radial-gradient(circle at 67% 28%,rgba(50,102,71,.38),transparent 24%),
    linear-gradient(135deg,#1b2620 0%,#0a0c0b 72%);
}
.about-person-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:90px clamp(36px,7vw,110px);
}
.about-person-index{
  margin-bottom:42px;
  color:#6da17c;
  font-size:11px;
  letter-spacing:.16em;
}
.about-person h2{
  margin:0;
  max-width:650px;
  font-size:clamp(48px,5vw,82px);
  line-height:.96;
  letter-spacing:0;
  text-transform:uppercase;
}
.about-person-role{
  margin-top:20px;
  color:#6da17c;
  font-size:11px;
  line-height:1.55;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.about-person-text{
  max-width:590px;
  margin-top:34px;
  color:#b9c0bb;
  font-size:16px;
  line-height:1.85;
}
.about-person-text p{
  margin:0 0 1em;
}
.about-person-text p:last-child{
  margin-bottom:0;
}
.about-person-two{
  background:#f1efe9;
  color:#0b0d0c;
}
.about-person-two .about-person-copy{
  color:#0b0d0c;
}
.about-person-two .about-person-text{
  color:#4a514c;
}

@media(max-width:980px){
  .about-simple-hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .about-simple-hero p{
    max-width:620px;
  }
  .about-person{
    grid-template-columns:1fr;
    min-height:0;
  }
  .about-person-media,
  .about-person-media img,
  .about-person-placeholder{
    min-height:560px;
  }
  .about-person-copy{
    padding:70px 8vw 78px;
  }
  .about-person-two .about-person-media{
    order:1;
  }
  .about-person-two .about-person-copy{
    order:2;
  }
}
@media(max-width:700px){
  .about-simple-hero{
    padding:145px 0 60px;
  }
  .about-simple-hero h1{
    font-size:clamp(48px,13vw,62px);
    line-height:1;
  }
  .about-simple-hero p{
    font-size:14px;
  }
  .about-person-media,
  .about-person-media img,
  .about-person-placeholder{
    min-height:420px;
  }
  .about-person-copy{
    padding:58px 24px 64px;
  }
  .about-person-index{
    margin-bottom:30px;
  }
  .about-person h2{
    font-size:clamp(42px,12vw,54px);
    line-height:1;
  }
  .about-person-text{
    margin-top:26px;
    font-size:14px;
  }
}


/* =========================================================
   4.6.8 — KICKERY / LINE BREAKS / TYPOGRAFIA
   ========================================================= */

/*
 * Wszystkie małe podpisy nad nagłówkami mają teraz jeden rytm:
 * ten sam lewy brzeg, rozmiar i stały odstęp od dużego tytułu.
 */
.section-head .eyebrow,
.manifest-copy .eyebrow,
.showreel-box .eyebrow,
.crew-copy .eyebrow,
.contact > div:first-child > .eyebrow,
.pricing-hero > .eyebrow,
.pricing-section-head .eyebrow,
.pricing-faq-head .eyebrow,
.pricing-cta .eyebrow,
.archive-hero .eyebrow,
.about-simple-hero .about-kicker{
  position:relative;
  top:0;
  left:0;
  display:block;
  align-self:flex-start;
  width:auto;
  margin:0 0 26px;
  padding:0;
  font-size:12px;
  line-height:1.2;
  text-align:left;
}

/* Showreel potrzebuje odrobinę więcej powietrza nad tytułem. */
.showreel-box .eyebrow{
  margin-bottom:30px;
}

/* Kontakt: kicker i tytuł zawsze zaczynają się dokładnie z jednej osi. */
.contact > div:first-child{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.contact > div:first-child > .eyebrow,
.contact > div:first-child > h2{
  margin-left:0;
  padding-left:0;
}

/*
 * Lepsze łamanie dużych tytułów.
 * Dodatkowo PHP wiąże jednoliterowe słowa z następnym wyrazem NBSP.
 */
.section-head h2,
.manifest h2,
.crew h2,
.showreel-box h2,
.contact h2,
.pricing-hero h1,
.pricing-section-head h2,
.pricing-cta h2,
.pricing-faq-head h2,
.about-simple-hero h1,
.about-person h2,
.archive-hero h1{
  text-wrap:balance;
}

/*
 * „TWORZYMY Z MYŚLĄ / O LUDZIACH.”
 * — odrobinę więcej szerokości i minimalnie mniejszy stopień,
 * żeby „O LUDZIACH.” pozostało w jednym wierszu na typowych desktopach.
 */
@media(min-width:901px){
  .manifest-copy{
    padding-left:7vw;
    padding-right:6vw;
  }
  .manifest h2{
    max-width:700px;
    font-size:clamp(52px,5.45vw,84px);
    line-height:1.03;
  }
}

/* Mobile: zachowujemy ten sam system, tylko subtelniej. */
@media(max-width:900px){
  .section-head .eyebrow,
  .manifest-copy .eyebrow,
  .showreel-box .eyebrow,
  .crew-copy .eyebrow,
  .contact > div:first-child > .eyebrow,
  .pricing-hero > .eyebrow,
  .pricing-section-head .eyebrow,
  .pricing-faq-head .eyebrow,
  .pricing-cta .eyebrow,
  .archive-hero .eyebrow,
  .about-simple-hero .about-kicker{
    top:0;
    margin-bottom:20px;
    font-size:11px;
  }

  .showreel-box .eyebrow{
    margin-bottom:24px;
  }
}


/* =========================================================
   4.7 — FINAL POLISH
   ========================================================= */

/* HERO — od razu wiadomo, czym zajmuje się RAJZA */
.hero-sub{
  max-width:760px;
  line-height:1.45;
}

/* Spójniejszy rytm nagłówków sekcji */
.section-head,
.pricing-section-head,
.pricing-faq-head{
  margin-bottom:58px;
}
.section-head .eyebrow,
.manifest-copy .eyebrow,
.showreel-box .eyebrow,
.crew-copy .eyebrow,
.contact > div:first-child > .eyebrow{
  margin-bottom:26px;
}

/* ---------------------------------------------------------
   PROJECT / PORTFOLIO — czytelna klikalność
   --------------------------------------------------------- */
.project-enhanced{
  isolation:isolate;
}
.project-enhanced img{
  transition:transform .65s cubic-bezier(.2,.7,.2,1), filter .45s ease;
}
.project-enhanced:after{
  transition:background .4s ease;
}
.project-enhanced .project-copy{
  transition:transform .38s ease;
}
.project-topline{
  margin-bottom:10px;
  color:#8db69a;
  font-size:9px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.project-meta-line{
  margin-top:14px;
  color:#c6ccc8;
  font-size:9px;
  line-height:1.5;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.project-view{
  display:inline-flex;
  margin-top:18px;
  color:#fff;
  font-size:9px !important;
  line-height:1;
  font-weight:700;
  letter-spacing:.13em !important;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .28s ease, transform .28s ease;
}
@media(hover:hover) and (pointer:fine){
  .project-enhanced:hover img{
    transform:scale(1.045);
  }
  .project-enhanced:hover:after{
    background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.14) 72%);
  }
  .project-enhanced:hover .project-copy{
    transform:translateY(-4px);
  }
  .project-enhanced:hover .project-view{
    opacity:1;
    transform:translateY(0);
  }
}

/* Archive cards use real images as a full cover, just like homepage */
.archive-grid .project-enhanced{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#101311;
}
.archive-grid .project-enhanced img{
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
}
.archive-grid .project-enhanced:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(0deg,rgba(0,0,0,.84),rgba(0,0,0,.10) 70%);
}

/* ---------------------------------------------------------
   WSPÓŁPRACA — rekomendowany CONTENT
   --------------------------------------------------------- */
@media(min-width:1051px){
  .pricing-card.is-featured{
    transform:translateY(-8px);
    border-top:3px solid #5f976f;
    box-shadow:0 26px 70px rgba(0,0,0,.22);
  }
}
.pricing-card.is-featured .pricing-price strong{
  color:#dfeee3;
}

/* ---------------------------------------------------------
   ZAUFALI NAM — optycznie równy zestaw logotypów
   --------------------------------------------------------- */
.client-logo{
  width:170px;
  min-width:170px;
}
.client-logo img{
  width:auto;
  height:auto;
  max-width:150px;
  max-height:38px;
  object-fit:contain;
  filter:grayscale(1) brightness(.72);
  opacity:.78;
}
.client-logo:hover img{
  filter:grayscale(1) brightness(.92);
  opacity:1;
}


/* ---------------------------------------------------------
   MOBILE FINAL POLISH
   --------------------------------------------------------- */
@media(max-width:700px){
  .hero-sub{
    max-width:92%;
    font-size:13px;
    line-height:1.55;
  }

  .section-head,
  .pricing-section-head,
  .pricing-faq-head{
    margin-bottom:38px;
  }

  .project-view{
    opacity:1;
    transform:none;
    margin-top:16px;
  }

  .project-meta-line{
    margin-top:12px;
    font-size:8px;
  }

  

  .pricing-card.is-featured{
    transform:none;
  }

  .client-logo{
    width:125px;
    min-width:125px;
    height:48px;
  }
  .client-logo img{
    max-width:118px;
    max-height:32px;
    filter:grayscale(1) brightness(0) invert(1);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .project-enhanced img,
  .project-enhanced .project-copy,
  .project-view{
    transition:none !important;
  }
}


/* =========================================================
   4.7.1 — MOBILE SERVICES WIDTH FIX
   CONTENT / SOCIAL MEDIA / STRATEGIA KOMUNIKACJI
   ========================================================= */
@media(max-width:900px){
  .services{
    display:block;
    padding:52px 24px 20px;
  }

  .services .service{
    display:grid !important;
    grid-template-columns:28px minmax(0,1fr);
    grid-template-rows:auto;
    column-gap:12px;
    row-gap:0;
    min-height:0;
    padding:30px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.09);
  }

  .services .service:last-child{
    border-bottom:0;
  }

  .services .service .service-no{
    grid-column:1;
    grid-row:1 / span 4;
    align-self:start;
    margin:4px 0 0;
    font-size:9px;
  }

  .services .service h3{
    grid-column:2;
    grid-row:auto;
    width:100%;
    max-width:none;
    margin:0 0 10px;
    font-size:clamp(26px,7.6vw,34px);
    line-height:1.02;
  }

  .services .service .service-meta{
    grid-column:2;
    width:100%;
    max-width:none;
    margin:0 0 14px;
    font-size:9px;
    line-height:1.55;
    letter-spacing:.105em;
  }

  .services .service p{
    grid-column:2;
    width:100%;
    max-width:none;
    margin:0;
    font-size:13px;
    line-height:1.65;
  }

  .services .service .service-arrow{
    grid-column:2;
    width:100%;
    margin:16px 0 0;
    padding:0;
    font-size:20px;
  }
}

@media(max-width:420px){
  .services{
    padding-left:20px;
    padding-right:20px;
  }

  .services .service{
    grid-template-columns:24px minmax(0,1fr);
    column-gap:10px;
    padding:27px 0;
  }

  .services .service h3{
    font-size:27px;
  }

  .services .service p{
    font-size:12.5px;
    line-height:1.65;
  }
}


/* 4.7.3 — admin media feedback */
.rajza-media .rajza-preview{
  min-height:44px;
}
.rajza-media.rajza-media-selected .rajza-preview{
  outline:2px solid #326647;
  outline-offset:2px;
}


/* 4.8 — O nas lead */
.about-simple-hero .about-simple-lead{
  display:block;
  margin:0 0 6px;
  max-width:460px;
  color:#aeb5b0;
  font-size:16px;
  line-height:1.75;
}
@media(max-width:900px){
  .about-simple-hero .about-simple-lead{
    max-width:620px;
    font-size:14px;
  }
}





/* =========================================================
   4.9 — ZAUFALI NAM / FINALNY ROZMIAR LOGOTYPÓW
   ========================================================= */
.clients-track .client-logo{
  width:218px;
  min-width:218px;
  min-height:64px;
}
.clients-track .client-logo img{
  max-width:196px;
  max-height:51px;
}
@media(max-width:900px){
  .clients-track .client-logo{
    width:161px;
    min-width:161px;
    min-height:53px;
  }
  .clients-track .client-logo img{
    max-width:152px;
    max-height:40px;
  }
}


/* =========================================================
   4.9.4 — KONTAKT / PROSTA WIZYTÓWKA RAJZA
   ========================================================= */
.contact-page-new{
  background:#0b0d0c;
  color:#f4f2ed;
  min-height:100vh;
}

.contact-hero-new{
  padding:150px 5vw 84px;
  border-bottom:1px solid rgba(244,242,237,.16);
}

.contact-hero-new .eyebrow{
  margin:0 0 42px;
}

.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);
  gap:70px;
  align-items:end;
}

.contact-hero-grid h1{
  margin:0;
  max-width:1050px;
  font-size:clamp(56px,7vw,112px);
  line-height:.86;
  letter-spacing:-.045em;
}

.contact-hero-grid p{
  margin:0 0 7px;
  max-width:440px;
  color:#b8bdb9;
  font-size:17px;
  line-height:1.7;
}

.contact-directory{
  padding:0 5vw;
}

.contact-directory-row{
  display:grid;
  grid-template-columns:minmax(140px,.28fr) minmax(0,1fr);
  gap:40px;
  align-items:center;
  min-height:168px;
  padding:34px 0;
  border-bottom:1px solid rgba(244,242,237,.16);
}

.contact-directory-label{
  color:#7d857f;
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.contact-directory-value{
  min-width:0;
  font-size:clamp(28px,3.5vw,58px);
  line-height:1;
  letter-spacing:-.035em;
}

.contact-directory-value a{
  color:#f4f2ed;
  text-decoration:none;
  transition:opacity .2s ease,color .2s ease;
}

.contact-directory-value a:hover{
  color:#76a488;
}

.contact-directory-row-email{
  min-height:210px;
}

.contact-email-link{
  display:inline-block;
  overflow-wrap:anywhere;
}

.contact-email-link span{
  color:#326647;
  font-size:.66em;
  vertical-align:.1em;
}

.contact-phones{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
}

.contact-address{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0;
  font-style:normal;
}

.contact-bottom-line{
  display:flex;
  justify-content:flex-end;
  padding:42px 5vw 86px;
}

.contact-bottom-line span{
  color:#7d857f;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

@media(max-width:900px){
  .contact-hero-new{
    padding:118px 24px 58px;
  }

  .contact-hero-new .eyebrow{
    margin-bottom:30px;
  }

  .contact-hero-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .contact-hero-grid h1{
    font-size:clamp(48px,13vw,78px);
  }

  .contact-hero-grid p{
    max-width:620px;
    font-size:15px;
  }

  .contact-directory{
    padding:0 24px;
  }

  .contact-directory-row,
  .contact-directory-row-email{
    grid-template-columns:1fr;
    gap:14px;
    min-height:0;
    padding:34px 0 38px;
  }

  .contact-directory-value{
    font-size:clamp(27px,7vw,42px);
  }

  .contact-bottom-line{
    justify-content:flex-start;
    padding:32px 24px 64px;
  }

  .contact-bottom-line span{
    line-height:1.6;
  }
}

@media(max-width:520px){
  .contact-hero-new{
    padding-top:104px;
  }

  .contact-hero-grid h1{
    font-size:clamp(44px,12.5vw,64px);
  }

  .contact-directory-value{
    font-size:clamp(25px,7.5vw,36px);
  }
}


/* =========================================================
   4.9.7 — GALERIA REALIZACJI / BALANCED GRID
   ========================================================= */
.case-gallery-wrap{
  padding-bottom:112px;
}

.case-gallery-cinematic{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.case-gallery-cinematic .case-gallery-item,
.case-gallery-cinematic .gallery-balanced{
  grid-column:auto;
  min-height:0;
  aspect-ratio:4 / 3;
  background:#0c0e0d;
}

.case-gallery-cinematic .case-gallery-item:nth-child(odd):last-child{
  grid-column:1 / -1;
  aspect-ratio:16 / 9;
}

.case-gallery-cinematic .case-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

@media(max-width:900px){
  .case-gallery-cinematic{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }

  .case-gallery-cinematic .case-gallery-item,
  .case-gallery-cinematic .gallery-balanced{
    grid-column:auto;
    min-height:0 !important;
    aspect-ratio:4 / 3;
  }

  .case-gallery-cinematic .case-gallery-item:nth-child(odd):last-child{
    grid-column:1 / -1;
    aspect-ratio:16 / 9;
  }
}

@media(max-width:700px){
  .case-gallery-wrap{
    padding-left:20px !important;
    padding-right:20px !important;
    
  }

  .case-gallery-head{
    margin-bottom:14px;
  }

  .case-gallery-cinematic{
    grid-template-columns:1fr;
    gap:12px;
  }

  .case-gallery-cinematic .case-gallery-item,
  .case-gallery-cinematic .case-gallery-item:nth-child(odd):last-child,
  .case-gallery-cinematic .gallery-balanced{
    grid-column:1 !important;
    min-height:0 !important;
    aspect-ratio:4 / 3;
  }

  .gallery-open{
    width:32px;
    height:32px;
    right:10px;
    bottom:10px;
  }
}


/* =========================================================
   4.9.7 — PORTFOLIO / MOBILE BALANCE
   ========================================================= */
@media(max-width:700px){
  .archive-hero{
    padding:118px 20px 46px;
  }

  .archive-hero .eyebrow{
    margin-bottom:18px;
  }

  .archive-hero h1{
    max-width:330px;
    margin:0;
    font-size:clamp(46px,13vw,60px);
    line-height:.9;
    letter-spacing:-.04em;
  }

  .archive-grid-wrap{
    padding:0 20px 76px;
  }

  .archive-grid{
    grid-template-columns:1fr;
    gap:16px;
    background:transparent;
  }

  .archive-grid .project-enhanced{
    min-height:0;
    aspect-ratio:4 / 5;
    border:1px solid rgba(255,255,255,.07);
  }

  .archive-grid .project-enhanced .project-copy{
    left:20px;
    right:20px;
    bottom:21px;
  }

  .archive-grid .project-enhanced .project-copy h3{
    max-width:90%;
    margin:0 0 7px;
    padding-right:0;
    font-size:clamp(27px,8vw,34px);
    line-height:.96;
  }

  .archive-grid .project-enhanced .project-copy p{
    max-width:90%;
    margin:0 0 10px;
    font-size:12px;
    line-height:1.5;
  }

  .archive-grid .project-enhanced .project-topline{
    margin-bottom:9px;
  }

  .archive-grid .project-enhanced .project-meta-line{
    margin-top:10px;
    line-height:1.45;
  }

  .archive-grid .project-enhanced .project-view{
    margin-top:15px;
  }

  .archive-grid .project-enhanced:after{
    background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.54) 34%,rgba(0,0,0,.08) 74%);
  }
}

@media(max-width:420px){
  .archive-hero{
    padding-left:18px;
    padding-right:18px;
  }

  .archive-grid-wrap{
    padding-left:18px;
    padding-right:18px;
  }

  .archive-grid .project-enhanced{
    aspect-ratio:3 / 4;
  }

  .archive-grid .project-enhanced .project-copy{
    left:18px;
    right:18px;
    bottom:19px;
  }
}


/* =========================================================
   4.9.8 — FULL SITE AUDIT / TARGETED FIXES
   ========================================================= */

/* Kontakt: brak etykiety nie może zostawiać pustej kolumny. */
.contact-directory-row > .contact-directory-value:only-child{
  grid-column:1 / -1;
}

/* Portfolio: czytelna paginacja po 12 realizacjach. */
.archive-pagination{
  max-width:1500px;
  margin:42px auto 0;
}
.archive-pagination .nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}
.archive-pagination .page-numbers{
  display:inline-flex;
  min-width:42px;
  height:42px;
  padding:0 14px;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  color:#d4d9d5;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-decoration:none;
}
.archive-pagination .page-numbers.current{
  border-color:#326647;
  background:#326647;
  color:#fff;
}
.archive-pagination a.page-numbers:hover{
  border-color:rgba(255,255,255,.35);
}

@media(max-width:700px){
  .archive-pagination{
    margin-top:30px;
  }
  .archive-pagination .nav-links{
    gap:8px;
  }
  .archive-pagination .page-numbers{
    min-width:38px;
    height:38px;
    padding:0 11px;
    font-size:9px;
  }
  .archive-pagination .prev,
  .archive-pagination .next{
    flex:1 1 calc(50% - 4px);
  }
}


/* =========================================================
   4.10.0 — REALIZACJA / PEŁNY MOBILE BALANCE
   ========================================================= */

/* Zabezpieczenie przed wychodzeniem treści poza viewport. */
.single-realizacja,
.single-realizacja *{
  box-sizing:border-box;
}

.single-realizacja .case-min-title,
.single-realizacja .case-min-subtitle,
.single-realizacja .case-min-lead,
.single-realizacja .case-min-about h2,
.single-realizacja .case-about-copy,
.single-realizacja .case-meta-value,
.single-realizacja .case-story,
.single-realizacja .case-results h2,
.single-realizacja .case-stat-label,
.single-realizacja .case-min-cta h2{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}

.single-realizacja .case-story img,
.single-realizacja .case-story video,
.single-realizacja .case-story iframe,
.single-realizacja .case-story figure{
  max-width:100%;
}

.single-realizacja .case-story iframe,
.single-realizacja .case-story video{
  width:100%;
}

.single-realizacja .case-story table{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:700px){

  /* Mobile wraca do filmowego hero z fotografią w tle.
     Zostawiamy natomiast poprawione proporcje, tekst i zabezpieczenia overflow. */
  .case-min-hero{
    min-height:78svh !important;
    display:flex;
    align-items:flex-end;
    background-position:center center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    overflow:hidden;
  }

  .case-min-hero:before{
    display:block;
    background:
      linear-gradient(90deg,rgba(5,7,6,.72) 0%,rgba(5,7,6,.42) 48%,rgba(5,7,6,.10) 82%),
      linear-gradient(180deg,rgba(5,7,6,.05) 0%,rgba(5,7,6,.14) 58%,rgba(5,7,6,.86) 100%);
  }

  .case-min-hero-inner{
    width:100% !important;
    margin:0 !important;
    padding:138px 20px 54px !important;
  }

  .case-min-hero .case-kicker{
    margin-bottom:18px;
  }

  .case-min-title{
    width:100%;
    margin:0 0 14px;
    font-size:clamp(42px,11.8vw,56px) !important;
    line-height:.92 !important;
    letter-spacing:-.03em;
    text-wrap:balance;
  }

  .case-min-subtitle{
    width:100%;
    margin-bottom:16px;
    font-size:clamp(18px,5.5vw,22px);
    line-height:1.2;
  }

  .case-min-lead{
    width:100%;
    margin-bottom:24px;
    font-size:14px;
    line-height:1.65;
  }

  .case-min-actions{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }

  .case-min-actions .btn{
    max-width:100%;
    white-space:normal;
    text-align:center;
  }

  /* Wszystkie główne sekcje korzystają z jednej osi 20 px. */
  .case-min-section,
  .case-video-wrap,
  .case-gallery-wrap,
  .case-results{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .case-min-section{
    padding-top:68px;
    padding-bottom:72px;
  }

  .case-min-about{
    width:100%;
    grid-template-columns:minmax(0,1fr);
    gap:40px;
  }

  .case-min-about > *{
    min-width:0;
  }

  .case-min-about h2{
    font-size:clamp(38px,10.5vw,50px);
    line-height:.96;
    text-wrap:balance;
  }

  .case-about-copy{
    width:100%;
    margin-top:22px;
    font-size:14px;
    line-height:1.75;
  }

  .case-meta{
    width:100%;
    grid-template-columns:1fr;
    gap:24px;
    padding:30px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.13);
  }

  .case-meta-item{
    width:100%;
    min-width:0;
    min-height:0;
  }

  .case-meta-value{
    width:100%;
    font-size:14px;
    line-height:1.55;
  }

  .case-story{
    width:100%;
    max-width:100%;
    margin-top:48px;
    font-size:14px;
    line-height:1.75;
  }

  .case-story h2{
    font-size:clamp(30px,9vw,40px);
    line-height:1;
  }

  .case-story h3{
    font-size:clamp(24px,7vw,31px);
    line-height:1.05;
  }

  .case-video-wrap{
    padding-bottom:70px;
  }

  .case-video-head,
  .case-gallery-head{
    width:100%;
    gap:14px;
    align-items:flex-start;
  }

  .case-video-head .eyebrow,
  .case-gallery-head .eyebrow{
    max-width:45%;
    text-align:right;
    line-height:1.4;
  }

  .case-video-frame{
    width:100%;
  }

  .case-gallery-wrap{
    padding-bottom:74px;
  }

  .case-results{
    padding-bottom:78px;
    grid-template-columns:1fr;
    gap:32px;
  }

  .case-results h2{
    font-size:clamp(38px,10vw,50px);
    line-height:.96;
  }

  .case-results-stats{
    width:100%;
    grid-template-columns:1fr 1fr;
    border-left:0;
  }

  .case-stat{
    min-width:0;
    padding:18px 14px;
  }

  .case-stat-value{
    font-size:27px;
  }

  .case-stat-label{
    font-size:10px;
  }

  .case-min-cta{
    padding:68px 20px;
  }

  .case-min-cta-inner{
    width:100%;
    max-width:100%;
  }

  .case-min-cta h2{
    font-size:clamp(36px,10vw,48px);
    line-height:.96;
    text-wrap:balance;
  }

  .case-min-cta .btn{
    max-width:100%;
    white-space:normal;
  }

  .case-back{
    max-width:100%;
    white-space:normal;
    line-height:1.5;
  }
}

@media(max-width:420px){
  .case-min-hero-inner,
  .case-min-section,
  .case-video-wrap,
  .case-gallery-wrap,
  .case-results,
  .case-min-cta{
    padding-left:18px !important;
    padding-right:18px !important;
  }

  .case-min-title{
    font-size:clamp(38px,11vw,48px) !important;
  }

  .case-results-stats{
    grid-template-columns:1fr;
  }

  .case-stat{
    border-right:0;
  }
}


/* =========================================================
   4.10.3 — REALIZACJE / WIELE FILMÓW
   ========================================================= */
.case-videos-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px 18px;
}

.case-videos-grid.is-single{
  grid-template-columns:1fr;
}

.case-video-item{
  min-width:0;
}

.case-video-number{
  margin:0 0 10px;
  color:#6f9e7d;
  font-size:9px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.case-videos-grid .case-video-frame{
  width:100%;
}

@media(max-width:800px){
  .case-videos-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .case-video-number{
    margin-bottom:9px;
  }
}


/* =========================================================
   4.10.6 — FULL SITE / TECHNICAL + VISUAL HARDENING
   ========================================================= */

/* Mobile menu: stable stacking and no background scroll. */
@media(max-width:900px){
  .site-header{
    border-bottom:0;
  }

  .brand,
  .menu-toggle{
    position:relative;
    z-index:3;
  }

  .nav.open{
    z-index:2 !important;
  }

  body.menu-open{
    overflow:hidden;
  }
}

/* A placeholder showreel URL (#) is visibly present but not interactive. */
.showreel-link.is-disabled{
  cursor:default;
  opacity:.72;
  pointer-events:none;
}

/* Guard editable copy against horizontal overflow. */
.project-copy h3,
.project-copy p,
.project-meta-line,
.footer-copy a,
.footer-copy span,
.pricing-card h3,
.pricing-price,
.pricing-project-copy h3,
.pricing-project-copy p{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}

@media(max-width:700px){
  .pricing-project>strong{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

/* Odd multi-video counts finish with a balanced full-width row. */
@media(min-width:801px){
  .case-videos-grid:not(.is-single) .case-video-item:nth-child(odd):last-child{
    grid-column:1 / -1;
  }
}

/* Keyboard focus stays visible without affecting mouse clicks. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:2px solid #78a887;
  outline-offset:4px;
}

/* Reduced motion: static logos, no clipped duplicate marquee. */
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  .clients-marquee{
    overflow:visible;
    -webkit-mask-image:none;
    mask-image:none;
  }

  .clients-track{
    width:100%;
    flex-wrap:wrap;
    transform:none !important;
    animation:none !important;
    will-change:auto;
  }

  .client-logo.is-duplicate{
    display:none !important;
  }

  .btn,
  .footer-social,
  .client-logo img{
    transition:none !important;
  }
}


/* =========================================================
   4.10.7 — ZAUFALI NAM / BLACK BRAND BAR
   ========================================================= */
.clients{
  background:#000;
  color:#fff;
}

.clients-label{
  color:#326647;
  background:#000;
}

.clients-track .client-logo img,
.client-logo img{
  filter:grayscale(1) brightness(0) invert(1);
  opacity:.82;
}

.clients-track .client-logo:hover img,
.client-logo:hover img{
  filter:grayscale(1) brightness(0) invert(1);
  opacity:1;
}

@media(max-width:700px){
  .clients{
    background:#000;
    color:#fff;
  }

  .clients-label{
    color:#326647;
    background:transparent;
  }
}


/* =========================================================
   4.10.9 — HEADER / REMOVE SEPARATOR LINE
   ========================================================= */
.site-header{border-bottom:0 !important;}


/* =========================================================
   4.10.10 — IMAGE STABILITY / ACCESSIBILITY
   ========================================================= */
/* Responsywne obrazy zachowują dotychczasowy wygląd cover/background. */
.hero-media,
.case-min-hero-media,
.manifest-photo > .rajza-section-media,
.showreel-box > .rajza-section-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-media,
.hero-bg{z-index:0;}
.hero:after{z-index:1;}
.hero-inner,
.scroll-hint{z-index:2;}

.case-min-hero-media{z-index:0;}
.case-min-hero:before{z-index:1;}
.case-min-hero-inner{z-index:2;}

.manifest-photo{
  position:relative;
  overflow:hidden;
}
.manifest-photo > .rajza-section-media{z-index:0;}

.showreel-box > .rajza-section-media{z-index:0;}
.showreel-box:before{z-index:1;}
.showreel-box > :not(.rajza-section-media){position:relative;z-index:2;}

/* Bieżąca sekcja nawigacji jest czytelna, bez zmiany układu headera. */
.nav a.is-active,
.nav a[aria-current="page"]{opacity:1;}

/* Dostępny tylko po wejściu klawiaturą. */
.skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:99999;
  padding:12px 16px;
  background:#fff;
  color:#0b0d0c;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  transform:translateY(-160%);
  transition:transform .18s ease;
}
.skip-link:focus{
  transform:translateY(0);
  outline:2px solid #326647;
  outline-offset:2px;
}
@media(prefers-reduced-motion:reduce){
  .skip-link{transition:none;}
}


/* =========================================================
   4.10.13 — REALIZACJA / TYPOGRAFIA NAGŁÓWKA „O PROJEKCIE”
   Nagłówek pozostaje mocny, ale wyrazy nie są rozcinane
   przez zbyt duży rozmiar i zbyt ciasną interlinię.
   ========================================================= */
.single-realizacja .case-min-about h2{
  font-size:clamp(34px,3.5vw,54px);
  line-height:1.13;
  letter-spacing:-.025em;
  overflow-wrap:break-word;
  word-break:normal;
  text-wrap:balance;
}
@media(max-width:980px){
  .single-realizacja .case-min-about h2{
    font-size:clamp(34px,5vw,50px);
  }
}
@media(max-width:700px){
  .single-realizacja .case-min-about h2{
    font-size:clamp(26px,6.8vw,44px);
    line-height:1.16;
  }
}


/* =========================================================
   4.10.14 — CONTRAST / DARK-SURFACE MICROCOPY
   Keep the brand color #326647 for decorative elements;
   small letters on near-black backgrounds use a legible tint.
   ========================================================= */
.work .eyebrow.green,
.archive-hero .eyebrow.green,
.about-simple .about-kicker,
.clients-label{
  color:#78b58b;
}


/* =========================================================
   4.10.16 — NASZE PODEJŚCIE / KONTRAST NAPISU
   Desktop: oryginalna zieleń na jasnym tle.
   Mobile: ten sam jasny odcień co pozostałe etykiety na czerni.
   ========================================================= */
.manifest-copy .eyebrow.green{
  color:var(--green);
}
@media(max-width:700px){
  .manifest-copy .eyebrow.green{
    color:#78b58b;
  }
}
