/* GRAIL STUDIO COMMERCIAL — wspólny arkusz stylów */
:root{
  --bg:#121009;
  --bg-alt:#1a160e;
  --surface:#221c11;
  --surface-2:#2a2214;
  --line:#3a331f;
  --gold:#b9924f;
  --gold-bright:#dcb877;
  --ivory:#ece4d4;
  --ivory-dim:#a89e88;
  --muted:#6f6650;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ivory);
  font-family:'Inter', sans-serif;
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  padding-top:18px; padding-bottom:18px;
}
::selection{ background:var(--gold); color:#14120c; }
a{ color:inherit; text-decoration:none; }
.mono{ font-family:'JetBrains Mono', monospace; letter-spacing:0.08em; }
.display{ font-family:'Bodoni Moda', serif; font-optical-sizing:auto; }

/* ===== Kursor "viewfinder" ===== */
.vf-cursor{
  position:fixed; top:0; left:0; width:34px; height:34px;
  pointer-events:none; z-index:400;
  transform:translate(-50%,-50%);
  transition:width 0.25s, height 0.25s, opacity 0.2s;
  opacity:0;
}
.vf-cursor.on{ opacity:1; }
.vf-cursor span{ position:absolute; width:9px; height:9px; }
.vf-cursor .vc-tl{ top:0; left:0; border-top:1.5px solid var(--gold-bright); border-left:1.5px solid var(--gold-bright); }
.vf-cursor .vc-tr{ top:0; right:0; border-top:1.5px solid var(--gold-bright); border-right:1.5px solid var(--gold-bright); }
.vf-cursor .vc-bl{ bottom:0; left:0; border-bottom:1.5px solid var(--gold-bright); border-left:1.5px solid var(--gold-bright); }
.vf-cursor .vc-br{ bottom:0; right:0; border-bottom:1.5px solid var(--gold-bright); border-right:1.5px solid var(--gold-bright); }
.vf-cursor.big{ width:64px; height:64px; }
.vf-cursor .vc-label{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  font-family:'JetBrains Mono', monospace; font-size:9px; letter-spacing:0.08em;
  color:var(--gold-bright); white-space:nowrap; opacity:0; transition:opacity 0.2s;
}
.vf-cursor.big .vc-label{ opacity:1; }
@media (hover:none){ .vf-cursor{ display:none; } }

/* ===== Ziarno ===== */
.grain{
  pointer-events:none; position:fixed; inset:0; z-index:200;
  opacity:0.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ===== Letterbox ===== */
.letterbox{
  position:fixed; left:0; right:0; height:18px; background:#0a0905; z-index:150;
  display:flex; align-items:center; overflow:hidden;
}
.letterbox.top{ top:0; border-bottom:1px solid var(--line); }
.letterbox.bottom{ bottom:0; border-top:1px solid var(--line); }
.ticker{ white-space:nowrap; font-size:10px; color:var(--muted); animation:scrollTicker 34s linear infinite; padding-left:100%; }
@keyframes scrollTicker{ from{transform:translateX(0);} to{transform:translateX(-100%);} }

/* ===== Ramka z narożnikami ===== */
.frame{ position:relative; border:1px solid var(--line); }
.frame::before, .frame::after, .frame .fc-br, .frame .fc-bl{
  content:''; position:absolute; width:14px; height:14px; z-index:2;
}
.frame::before{ top:-1px; left:-1px; border-top:2px solid var(--gold); border-left:2px solid var(--gold); }
.frame::after{ top:-1px; right:-1px; border-top:2px solid var(--gold); border-right:2px solid var(--gold); }
.frame .fc-bl{ bottom:-1px; left:-1px; border-bottom:2px solid var(--gold); border-left:2px solid var(--gold); }
.frame .fc-br{ bottom:-1px; right:-1px; border-bottom:2px solid var(--gold); border-right:2px solid var(--gold); }

/* ===== Nagłówek ===== */
header{
  position:fixed; top:18px; left:0; right:0; z-index:120;
  padding:22px 5vw; display:flex; align-items:center; justify-content:space-between;
  transition:background 0.3s, padding 0.3s;
}
header.scrolled{
  background:rgba(18,16,9,0.92); backdrop-filter:blur(6px);
  padding:14px 5vw; border-bottom:1px solid var(--line);
}
.logo{ font-family:'Bodoni Moda', serif; font-size:20px; font-weight:600; letter-spacing:0.02em; }
.logo span{ color:var(--gold); }
nav ul{ list-style:none; display:flex; gap:30px; }
nav a{
  font-size:12px; text-transform:uppercase; letter-spacing:0.12em;
  color:var(--ivory-dim); transition:color 0.2s; position:relative;
}
nav a:hover{ color:var(--gold-bright); }
nav a.active{ color:var(--gold-bright); }
nav a.active::after{ content:''; position:absolute; left:0; right:0; bottom:-8px; height:1px; background:var(--gold); }
.nav-cta{
  font-family:'JetBrains Mono', monospace; font-size:11px;
  border:1px solid var(--gold); color:var(--gold-bright);
  padding:9px 18px; letter-spacing:0.08em; transition:background 0.2s, color 0.2s;
}
.nav-cta:hover{ background:var(--gold); color:#14120c; }

/* Burger + menu mobilne */
.burger{
  display:none; background:none; border:1px solid var(--line);
  width:42px; height:42px; cursor:pointer; position:relative; z-index:130;
}
.burger span{
  display:block; width:18px; height:1.5px; background:var(--ivory);
  margin:4px auto; transition:transform 0.25s, opacity 0.25s;
}
.burger.open span:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }
.mobile-menu{
  position:fixed; inset:18px 0; background:rgba(10,9,5,0.97); z-index:125;
  display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px;
  opacity:0; pointer-events:none; transition:opacity 0.3s;
}
.mobile-menu.open{ opacity:1; pointer-events:auto; }
.mobile-menu a{
  font-family:'Bodoni Moda', serif; font-size:1.7rem; padding:10px 20px;
  color:var(--ivory); transition:color 0.2s;
}
.mobile-menu a:hover, .mobile-menu a.active{ color:var(--gold-bright); }
.mobile-menu .mm-cta{
  margin-top:22px; font-family:'JetBrains Mono', monospace; font-size:12px;
  border:1px solid var(--gold); color:var(--gold-bright); padding:13px 26px; letter-spacing:0.08em;
}

/* ===== Typografia sekcji ===== */
.eyebrow{
  display:flex; align-items:center; gap:12px;
  font-family:'JetBrains Mono', monospace; font-size:12px; color:var(--gold);
  letter-spacing:0.1em; margin-bottom:22px;
}
.eyebrow::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 8px var(--gold); }

section{ padding:110px 5vw; position:relative; }
.section-head{ margin-bottom:48px; max-width:640px; }
.section-head h2{ font-size:clamp(1.7rem, 3vw, 2.3rem); font-weight:500; margin-bottom:10px; }
.section-head p{ color:var(--ivory-dim); font-size:0.95rem; }

/* ===== HERO podstron ===== */
.sub-hero{
  min-height:86vh; min-height:86svh;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding-bottom:70px; position:relative;
  overflow:hidden;
  background:linear-gradient(160deg, #1a160d 0%, #100d08 60%, #0b0904 100%);
}
.hero-video{ position:absolute; inset:0; z-index:0; }
.hero-video video{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:brightness(0.85) saturate(0.9);
}
.hero-video::after, .hero-photo::after{
  content:'';
  position:absolute; inset:0;
  background:
    linear-gradient(to top, rgba(10,9,5,0.92) 0%, rgba(10,9,5,0.55) 40%, rgba(10,9,5,0.25) 100%),
    linear-gradient(100deg, rgba(10,9,5,0.75) 0%, transparent 60%);
}
.hero-photo{
  position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
  filter:brightness(0.85) saturate(0.9);
}
.hero-overlay-ui{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.hero-overlay-ui .rec{
  position:absolute; top:130px; left:5vw;
  display:flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--gold-bright);
}
.rec-dot{ width:8px; height:8px; border-radius:50%; background:#c0402f; animation:blink 1.6s infinite; }
@keyframes blink{ 0%,100%{opacity:1;} 50%{opacity:0.25;} }
.hero-overlay-ui .tc-readout{
  position:absolute; top:130px; right:5vw;
  font-family:'JetBrains Mono', monospace; font-size:12px; color:rgba(236,228,212,0.7);
}
.hero-overlay-ui .cam-info{
  position:absolute; top:130px; left:5vw;
  font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--gold-bright);
}
.hero-overlay-ui .exif{
  position:absolute; top:130px; right:5vw;
  font-family:'JetBrains Mono', monospace; font-size:11px; color:rgba(236,228,212,0.7);
}
.sub-hero-content{ max-width:640px; position:relative; z-index:2; }
.breadcrumb{ font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--muted); margin-bottom:18px; letter-spacing:0.06em; }
.breadcrumb a{ color:var(--ivory-dim); transition:color 0.2s; }
.breadcrumb a:hover{ color:var(--gold-bright); }
.sub-hero h1{ font-size:clamp(2.2rem, 5vw, 3.6rem); font-weight:600; line-height:1.05; letter-spacing:-0.01em; margin-bottom:22px; }
.sub-hero h1 em{ font-style:italic; color:var(--gold-bright); }
.sub-hero p.lede{ font-size:1.02rem; color:var(--ivory-dim); max-width:480px; margin-bottom:32px; }

.cta-row{ display:flex; gap:16px; flex-wrap:wrap; }
.btn{
  font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:0.08em;
  padding:15px 28px; display:inline-block; transition:all 0.2s; border:1px solid transparent;
  will-change:transform; position:relative; cursor:pointer;
}
.btn-primary{ background:var(--gold); color:#14120c; }
.btn-primary:hover{ background:var(--gold-bright); }
.btn-ghost{ border-color:var(--line); color:var(--ivory); }
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold-bright); }

/* ===== Pasek logotypów (Zaufali nam) ===== */
.logo-strip{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:var(--bg-alt); overflow:hidden; padding:26px 0;
}
.logo-strip-inner{ display:flex; width:max-content; animation:logoScroll 30s linear infinite; }
.logo-strip:hover .logo-strip-inner{ animation-play-state:paused; }
@keyframes logoScroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.logo-item{
  font-family:'Bodoni Moda', serif; font-size:1.15rem; color:var(--muted);
  padding:0 44px; white-space:nowrap; display:flex; align-items:center; gap:44px;
  transition:color 0.3s;
}
.logo-item::after{ content:'·'; color:var(--line); }
.logo-item:hover{ color:var(--ivory-dim); }
.logo-item img{ height:34px; width:auto; filter:grayscale(1) brightness(1.6); opacity:0.6; }

/* ===== Portfolio (1 duży + siatka mniejszych) ===== */
.portfolio-featured{ display:flex; flex-direction:column; gap:2px; background:var(--line); }
.p-card-main{ background:var(--bg); aspect-ratio:2.35/1; position:relative; overflow:hidden; cursor:pointer; }
.p-card-main .thumb{ position:absolute; inset:0; background:linear-gradient(135deg, var(--c1), var(--c2)); background-size:cover; background-position:center; transition:transform 0.7s cubic-bezier(.2,.8,.2,1); }
.p-card-main:hover .thumb{ transform:scale(1.04); }
.p-card-main .tag{
  position:absolute; top:18px; left:18px; font-family:'JetBrains Mono', monospace; font-size:11px;
  letter-spacing:0.1em; color:var(--ivory); background:rgba(10,9,5,0.55); padding:5px 10px;
  border:1px solid rgba(236,228,212,0.2); z-index:2;
}
.p-card-main .play-badge{
  position:absolute; top:18px; right:18px;
  display:flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.08em;
  color:var(--gold-bright); background:rgba(10,9,5,0.55); padding:5px 10px;
  border:1px solid rgba(236,228,212,0.2); z-index:2;
}
.p-card-main .play-badge::before{ content:'▶'; font-size:9px; }
.p-card-main .title{
  position:absolute; bottom:0; left:0; right:0; padding:28px;
  background:linear-gradient(to top, rgba(10,9,5,0.88), transparent);
}
.p-card-main .title .eyebrow-mini{
  font-family:'JetBrains Mono', monospace; font-size:10px; color:var(--gold-bright);
  letter-spacing:0.1em; margin-bottom:8px;
}
.p-card-main .title h3{ font-family:'Bodoni Moda', serif; font-size:1.6rem; font-weight:500; }

.portfolio-sub{ display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; }
.p-card-sm{ background:var(--bg); aspect-ratio:16/10; position:relative; overflow:hidden; cursor:pointer; }
.p-card-sm .thumb{ position:absolute; inset:0; background:linear-gradient(135deg, var(--c1), var(--c2)); background-size:cover; background-position:center; transition:transform 0.6s cubic-bezier(.2,.8,.2,1); }
.p-card-sm:hover .thumb{ transform:scale(1.06); }
.p-card-sm .tag{
  position:absolute; top:12px; left:12px; font-family:'JetBrains Mono', monospace; font-size:9px;
  letter-spacing:0.08em; color:var(--ivory); background:rgba(10,9,5,0.55); padding:4px 8px;
  border:1px solid rgba(236,228,212,0.2); z-index:2;
}
.p-card-sm .title{
  position:absolute; bottom:0; left:0; right:0; padding:14px;
  background:linear-gradient(to top, rgba(10,9,5,0.85), transparent);
  font-family:'Bodoni Moda', serif; font-size:0.92rem;
}

/* ===== Rolki — siatka pionowych kadrów ===== */
.reels-grid{ display:grid; grid-template-columns:repeat(5, 1fr); gap:2px; background:var(--line); }
.reel{
  background:linear-gradient(160deg, var(--c1), var(--c2)); background-size:cover; background-position:center;
  aspect-ratio:9/16; position:relative; overflow:hidden; cursor:pointer;
}
.reel::after{ content:''; position:absolute; inset:0; background:rgba(10,9,5,0); transition:background 0.3s; }
.reel:hover::after{ background:rgba(10,9,5,0.25); }
.reel .tag{
  position:absolute; top:10px; left:10px; font-family:'JetBrains Mono', monospace; font-size:9px;
  letter-spacing:0.08em; color:var(--ivory); background:rgba(10,9,5,0.55); padding:3px 7px;
  border:1px solid rgba(236,228,212,0.2); z-index:2;
}

/* ===== Opinie ===== */
.reviews-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; background:var(--line); }
.review-card{ background:var(--bg); padding:32px 28px; display:flex; flex-direction:column; gap:14px; }
.review-card .stars{ color:var(--gold-bright); font-size:13px; letter-spacing:3px; }
.review-card p{ color:var(--ivory-dim); font-size:0.92rem; flex-grow:1; }
.review-card .who{ font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--muted); letter-spacing:0.06em; }
.reviews-foot{
  margin-top:36px; display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  font-size:0.92rem; color:var(--ivory-dim);
}
.reviews-foot .score{ font-family:'Bodoni Moda', serif; font-size:2rem; color:var(--ivory); }
.reviews-foot .stars{ color:var(--gold-bright); letter-spacing:3px; }

/* ===== Blok O nas ===== */
.about-block{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:center; }
.about-photo{
  aspect-ratio:4/5;
  background:linear-gradient(150deg, #34291a, #14100a); background-size:cover; background-position:center;
  position:relative;
}
.about-copy h2{ font-size:clamp(1.7rem, 3vw, 2.3rem); font-weight:500; margin-bottom:18px; }
.about-copy p{ color:var(--ivory-dim); font-size:0.95rem; margin-bottom:14px; }
.about-stats{ display:flex; gap:44px; margin:32px 0; flex-wrap:wrap; }
.about-stats .stat .num{ font-family:'Bodoni Moda', serif; font-size:2.4rem; color:var(--gold-bright); line-height:1.1; }
.about-stats .stat .lbl{ font-family:'JetBrains Mono', monospace; font-size:10px; color:var(--muted); letter-spacing:0.1em; text-transform:uppercase; }

/* ===== Proces (kroki poziomo) ===== */
.steps-row{
  display:grid; grid-template-columns:repeat(3, 1fr);
  gap:1px; background:var(--line); border:1px solid var(--line);
}
.steps-row.cols-5{ grid-template-columns:repeat(5, 1fr); }
.step-cell{ background:var(--bg); padding:36px 30px; position:relative; }
.step-cell .step-num{
  font-family:'JetBrains Mono', monospace; font-size:11px;
  color:var(--gold); letter-spacing:0.1em; margin-bottom:16px;
  display:flex; align-items:center; gap:10px;
}
.step-cell .step-num::after{ content:''; flex-grow:1; height:1px; background:var(--line); }
.step-cell h3{ font-family:'Bodoni Moda', serif; font-size:1.25rem; font-weight:500; margin-bottom:10px; }
.step-cell p{ color:var(--ivory-dim); font-size:0.9rem; }
.step-cell ul{ list-style:none; margin-top:16px; }
.step-cell li{
  color:var(--ivory-dim); font-size:0.85rem;
  padding:7px 0 7px 18px; position:relative;
  border-top:1px solid var(--line);
}
.step-cell li::before{
  content:'—'; position:absolute; left:0;
  color:var(--gold); font-family:'JetBrains Mono', monospace; font-size:12px;
}
.step-cell li strong{ color:var(--ivory); font-weight:500; }
.step-cell .arrow{
  position:absolute; top:50%; right:-12px; transform:translateY(-50%);
  font-family:'JetBrains Mono', monospace; color:var(--gold);
  font-size:14px; z-index:3;
}
.step-cell:last-child .arrow{ display:none; }

/* ===== Proces pionowy (etapy) ===== */
.process-list{ max-width:820px; }
.process-item{
  display:grid; grid-template-columns:120px 1fr; gap:28px;
  padding:28px 0; border-bottom:1px solid var(--line); align-items:start;
}
.process-item:first-child{ border-top:1px solid var(--line); }
.process-item .step-tc{ font-size:11px; color:var(--gold); letter-spacing:0.1em; padding-top:6px; }
.process-item .name{ font-size:1.25rem; font-weight:500; margin-bottom:6px; }
.process-item .desc{ color:var(--ivory-dim); font-size:0.92rem; max-width:600px; }

/* ===== Rząd typów (kompaktowe komórki) ===== */
.types-row{
  display:grid; grid-template-columns:repeat(4, 1fr);
  gap:1px; background:var(--line); border:1px solid var(--line);
}
.type-cell{ background:var(--bg); padding:28px 24px; }
.type-cell h3{ font-family:'Bodoni Moda', serif; font-size:1.05rem; font-weight:500; margin-bottom:8px; }
.type-cell p{ color:var(--ivory-dim); font-size:0.85rem; }

/* ===== Karty sesji / usług ===== */
.sessions-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; background:var(--line); }
.session-card{ background:var(--bg); display:flex; flex-direction:column; }
.session-card .s-visual{
  aspect-ratio:4/3;
  background:linear-gradient(135deg, var(--c1), var(--c2)); background-size:cover; background-position:center;
  position:relative; overflow:hidden; transition:opacity 0.3s;
}
.session-card:hover .s-visual{ opacity:0.85; }
.session-card .s-visual .s-tag{
  position:absolute; top:14px; left:14px;
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.1em;
  color:var(--ivory); background:rgba(10,9,5,0.55); padding:4px 9px;
  border:1px solid rgba(236,228,212,0.2);
}
.session-card .s-body{ padding:28px 26px 34px; }
.session-card h3{ font-family:'Bodoni Moda', serif; font-size:1.35rem; font-weight:500; margin-bottom:10px; }
.session-card p{ color:var(--ivory-dim); font-size:0.92rem; }

/* ===== Galeria zdjęć ===== */
.photo-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:220px;
  gap:2px; background:var(--line);
}
.ph{
  background:linear-gradient(135deg, var(--c1), var(--c2)); background-size:cover; background-position:center;
  position:relative; overflow:hidden; cursor:pointer;
}
.ph::after{ content:''; position:absolute; inset:0; background:rgba(10,9,5,0); transition:background 0.3s; }
.ph:hover::after{ background:rgba(10,9,5,0.25); }
.ph.wide{ grid-column:span 2; }
.ph.tall{ grid-row:span 2; }

/* ===== Lista "co zawiera" ===== */
.includes-list{ max-width:720px; }
.includes-item{
  display:flex; gap:18px; align-items:flex-start;
  padding:18px 0; border-bottom:1px solid var(--line);
}
.includes-item:first-child{ border-top:1px solid var(--line); }
.includes-item .mark{ color:var(--gold); font-family:'JetBrains Mono', monospace; font-size:13px; padding-top:2px; }
.includes-item .txt strong{ font-weight:500; color:var(--ivory); }
.includes-item .txt{ color:var(--ivory-dim); font-size:0.92rem; }

/* ===== Pakiety / cenniki ===== */
.pkg{ border:1px solid var(--line); background:var(--bg); margin-bottom:2px; padding:44px 40px; position:relative; }
.pkg.featured{ border-color:var(--gold); }
.pkg .pkg-badge{
  position:absolute; top:-1px; right:24px;
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.1em;
  background:var(--gold); color:#14120c; padding:6px 12px;
}
.pkg .pkg-name{ font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--gold); letter-spacing:0.14em; margin-bottom:10px; }
.pkg h3{ font-family:'Bodoni Moda', serif; font-size:1.6rem; font-weight:500; margin-bottom:26px; }
.pkg-cols{ display:grid; grid-template-columns:1.2fr 0.8fr; gap:44px; align-items:start; }
.pkg-feats{ list-style:none; }
.pkg-feats li{
  color:var(--ivory-dim); font-size:0.9rem;
  padding:10px 0 10px 20px; position:relative; border-top:1px solid var(--line);
}
.pkg-feats li::before{ content:'—'; position:absolute; left:0; color:var(--gold); font-family:'JetBrains Mono', monospace; font-size:12px; }
.pkg-feats li strong{ color:var(--ivory); font-weight:500; }
.price-table{ width:100%; border-collapse:collapse; font-size:0.9rem; }
.price-table th{
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--muted); text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); font-weight:500;
}
.price-table td{ padding:12px; border-bottom:1px solid var(--line); color:var(--ivory-dim); }
.price-table td:first-child{ color:var(--ivory); }
.price-table .pln{ font-family:'JetBrains Mono', monospace; color:var(--gold-bright); }

/* Tabela porównawcza */
.compare-wrap{ overflow-x:auto; }
.compare{ width:100%; border-collapse:collapse; font-size:0.88rem; min-width:640px; }
.compare th{
  font-family:'JetBrains Mono', monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--gold); text-align:left; padding:14px 16px; border-bottom:1px solid var(--gold); font-weight:500;
}
.compare td{ padding:13px 16px; border-bottom:1px solid var(--line); color:var(--ivory-dim); vertical-align:top; }
.compare td:first-child{ color:var(--ivory); font-weight:500; }
.compare .check{ color:var(--gold-bright); }

/* ===== FAQ ===== */
.faq-list{ max-width:760px; }
details{ border-bottom:1px solid var(--line); padding:22px 0; }
details:first-child{ border-top:1px solid var(--line); }
summary{
  cursor:pointer; list-style:none; display:flex; justify-content:space-between;
  align-items:center; font-family:'Bodoni Moda', serif; font-size:1.1rem; gap:20px;
}
summary::-webkit-details-marker{ display:none; }
summary::after{
  content:'+'; font-family:'JetBrains Mono', monospace; font-size:18px;
  color:var(--gold); transition:transform 0.25s; flex-shrink:0;
}
details[open] summary::after{ transform:rotate(45deg); }
details p{ color:var(--ivory-dim); margin-top:14px; max-width:600px; font-size:0.9rem; }

/* ===== Kontakt ===== */
.contact-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:start; }
.contact-info .ci-row{ padding:20px 0; border-bottom:1px solid var(--line); }
.contact-info .ci-row:first-child{ border-top:1px solid var(--line); }
.contact-info .ci-lbl{ font-family:'JetBrains Mono', monospace; font-size:10px; color:var(--muted); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:6px; }
.contact-info .ci-val{ font-family:'Bodoni Moda', serif; font-size:1.25rem; }
.contact-info .ci-val a:hover{ color:var(--gold-bright); }
.contact-form{ display:flex; flex-direction:column; gap:22px; }
.field label{
  display:block; font-family:'JetBrains Mono', monospace; font-size:10px;
  color:var(--muted); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:8px;
}
.field input, .field select, .field textarea{
  width:100%; background:var(--bg-alt); border:1px solid var(--line);
  color:var(--ivory); font-family:'Inter', sans-serif; font-size:0.95rem;
  padding:14px 16px; outline:none; transition:border-color 0.2s;
}
.field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--gold); }
.field textarea{ min-height:140px; resize:vertical; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }

/* ===== CTA banner + stopka ===== */
.cta-banner{
  display:flex; justify-content:space-between; align-items:center;
  gap:30px; flex-wrap:wrap;
  padding:56px 5vw; background:var(--surface); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.cta-banner h2{ font-size:clamp(1.5rem,2.6vw,2rem); max-width:520px; }

footer{
  padding:40px 5vw; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px;
  font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--muted);
}
footer a:hover{ color:var(--gold-bright); }

/* ===== Reveal ===== */
[data-reveal]{ opacity:0; transform:translateY(20px); transition:opacity 0.6s ease, transform 0.6s ease; }
[data-reveal].in{ opacity:1; transform:translateY(0); }
[data-reveal="blur"]{
  opacity:0; transform:translateY(16px) scale(1.015); filter:blur(12px);
  transition:opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
}
[data-reveal="blur"].in{ opacity:1; transform:translateY(0) scale(1); filter:blur(0); }

/* ===== RWD ===== */
@media (max-width:900px){
  nav ul, .nav-cta{ display:none; }
  .burger{ display:block; }
  section{ padding:80px 6vw; }
  .hero-overlay-ui .rec, .hero-overlay-ui .tc-readout,
  .hero-overlay-ui .cam-info, .hero-overlay-ui .exif{ top:100px; }
  .portfolio-sub{ grid-template-columns:1fr 1fr; }
  .reels-grid{ grid-template-columns:repeat(3, 1fr); }
  .reviews-grid{ grid-template-columns:1fr; }
  .about-block{ grid-template-columns:1fr; gap:40px; }
  .steps-row, .steps-row.cols-5{ grid-template-columns:1fr; }
  .step-cell .arrow{ display:none; }
  .types-row{ grid-template-columns:1fr 1fr; }
  .sessions-grid{ grid-template-columns:1fr; }
  .photo-grid{ grid-template-columns:1fr 1fr; grid-auto-rows:180px; }
  .pkg{ padding:32px 24px; }
  .pkg-cols{ grid-template-columns:1fr; gap:28px; }
  .contact-grid{ grid-template-columns:1fr; gap:44px; }
  .process-item{ grid-template-columns:1fr; gap:8px; }
}
@media (max-width:560px){
  .portfolio-sub{ grid-template-columns:1fr; }
  .reels-grid{ grid-template-columns:repeat(2, 1fr); }
  .types-row{ grid-template-columns:1fr; }
  .photo-grid{ grid-template-columns:1fr; }
  .ph.wide{ grid-column:span 1; }
  .ph.tall{ grid-row:span 1; }
  .form-row{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; } }

/* ===================== WARSTWA PREMIUM ===================== */

/* Pasek przewijania */
::-webkit-scrollbar{ width:10px; }
::-webkit-scrollbar-track{ background:#0a0905; }
::-webkit-scrollbar-thumb{ background:var(--line); border-radius:0; }
::-webkit-scrollbar-thumb:hover{ background:var(--gold); }

/* Preloader — kinowe wejście */
.preloader{
  position:fixed; inset:0; z-index:500; background:#0a0905;
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:18px;
  transition:opacity 0.6s ease, visibility 0.6s;
}
.preloader.done{ opacity:0; visibility:hidden; }
.preloader .pl-logo{
  font-family:'Bodoni Moda', serif; font-size:clamp(1.6rem, 4vw, 2.6rem); font-weight:600;
  color:var(--ivory); letter-spacing:0.04em;
  opacity:0; animation:plFade 0.9s ease 0.1s forwards;
}
.preloader .pl-logo span{ color:var(--gold); }
.preloader .pl-bar{
  width:min(240px, 50vw); height:1px; background:var(--line); overflow:hidden; position:relative;
}
.preloader .pl-bar::after{
  content:''; position:absolute; left:0; top:0; bottom:0; width:100%;
  background:linear-gradient(90deg, var(--gold), var(--gold-bright));
  transform:translateX(-100%); animation:plLoad 1s cubic-bezier(.65,0,.35,1) 0.2s forwards;
}
.preloader .pl-tc{
  font-family:'JetBrains Mono', monospace; font-size:10px; color:var(--muted); letter-spacing:0.18em;
  opacity:0; animation:plFade 0.9s ease 0.3s forwards;
}
@keyframes plFade{ to{opacity:1;} }
@keyframes plLoad{ to{transform:translateX(0);} }

/* Animowane wejście nagłówków hero — słowa wjeżdżają z dołu */
.split-ready .w{
  display:inline-block; overflow:hidden; vertical-align:bottom;
}
.split-ready .w > span{
  display:inline-block; transform:translateY(110%);
  animation:wordUp 0.9s cubic-bezier(.2,.8,.2,1) forwards;
}
@keyframes wordUp{ to{transform:translateY(0);} }

/* Złota poświata w hero */
.sub-hero::before, .home-hero::before{
  content:''; position:absolute; z-index:1; pointer-events:none;
  width:70vw; height:70vw; max-width:900px; max-height:900px;
  left:50%; top:60%; transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(185,146,79,0.13) 0%, transparent 60%);
  filter:blur(10px);
}
.sub-hero::before{ left:22%; top:70%; }

/* Marquee — wielki kinowy napis między sekcjami */
.marquee-band{
  overflow:hidden; padding:34px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:var(--bg); position:relative;
}
.marquee-inner{ display:flex; width:max-content; animation:marqueeScroll 26s linear infinite; }
.marquee-band:hover .marquee-inner{ animation-play-state:paused; }
@keyframes marqueeScroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.marquee-chunk{
  font-family:'Bodoni Moda', serif; font-weight:600; white-space:nowrap;
  font-size:clamp(3rem, 8vw, 6.4rem); line-height:1; padding-right:60px;
  color:transparent; -webkit-text-stroke:1px var(--gold);
  display:flex; align-items:center; gap:60px;
}
.marquee-chunk em{ font-style:italic; color:var(--gold-bright); -webkit-text-stroke:0; }
.marquee-chunk .dot{ width:10px; height:10px; border-radius:50%; background:var(--gold); flex-shrink:0; box-shadow:0 0 14px var(--gold); }

/* Hover — złote narożniki kadru na kartach portfolio/rolek */
.p-card-main, .p-card-sm, .reel, .ph, .session-card .s-visual{ isolation:isolate; }
.p-card-main::before, .p-card-sm::before, .reel::before{
  content:''; position:absolute; inset:10px; z-index:3; pointer-events:none;
  opacity:0; transition:opacity 0.3s;
  background:
    linear-gradient(var(--gold-bright), var(--gold-bright)) top left / 16px 1.5px,
    linear-gradient(var(--gold-bright), var(--gold-bright)) top left / 1.5px 16px,
    linear-gradient(var(--gold-bright), var(--gold-bright)) top right / 16px 1.5px,
    linear-gradient(var(--gold-bright), var(--gold-bright)) top right / 1.5px 16px,
    linear-gradient(var(--gold-bright), var(--gold-bright)) bottom left / 16px 1.5px,
    linear-gradient(var(--gold-bright), var(--gold-bright)) bottom left / 1.5px 16px,
    linear-gradient(var(--gold-bright), var(--gold-bright)) bottom right / 16px 1.5px,
    linear-gradient(var(--gold-bright), var(--gold-bright)) bottom right / 1.5px 16px;
  background-repeat:no-repeat;
}
.p-card-main:hover::before, .p-card-sm:hover::before, .reel:hover::before{ opacity:1; }

/* Połysk przesuwający się po złotych przyciskach */
.btn-primary{ overflow:hidden; }
.btn-primary::after{
  content:''; position:absolute; top:0; bottom:0; width:40%; left:-60%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,0.35), transparent);
  transform:skewX(-20deg); transition:left 0.55s ease;
}
.btn-primary:hover::after{ left:130%; }

/* Delikatny parallax miniatur (sterowany JS przez --py) */
.p-card-main .thumb, .p-card-sm .thumb{ transform:translateY(var(--py, 0)) scale(1.08); }
.p-card-main:hover .thumb{ transform:translateY(var(--py, 0)) scale(1.12); }
.p-card-sm:hover .thumb{ transform:translateY(var(--py, 0)) scale(1.13); }

/* Liczby statystyk — złoty gradient */
.about-stats .stat .num{
  background:linear-gradient(120deg, var(--gold) 0%, var(--gold-bright) 55%, #f0deb2 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
@media (prefers-reduced-motion: reduce){
  .preloader{ display:none; }
  .split-ready .w > span{ animation:none; transform:none; }
}

/* ===================== ART DIRECTION v1.1 — warstwa autorska ===================== */

/* Wielka edytorska typografia sekcji + duch-numer w tle */
.section-head{ position:relative; max-width:760px; }
.section-head h2{ font-size:clamp(2rem, 3.8vw, 3.1rem); line-height:1.08; }
.section-head[data-num]::before{
  content:attr(data-num);
  position:absolute; right:-6vw; top:-0.55em; z-index:-1;
  font-family:'Bodoni Moda', serif; font-weight:700; font-style:italic;
  font-size:clamp(6rem, 14vw, 11rem); line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(185,146,79,0.22);
  pointer-events:none; user-select:none;
}
@media (max-width:900px){ .section-head[data-num]::before{ right:0; font-size:5.4rem; } }

/* Pionowa szyna boczna (rotowany napis) */
.side-rail{
  position:fixed; right:22px; top:50%; transform:translateY(-50%) rotate(180deg);
  writing-mode:vertical-rl; z-index:110;
  font-family:'JetBrains Mono', monospace; font-size:9px; letter-spacing:0.28em;
  color:var(--muted); pointer-events:none;
}
.side-rail::after{
  content:''; display:block; width:1px; height:54px; margin:18px auto 0;
  background:linear-gradient(to bottom, var(--gold), transparent);
}
@media (max-width:900px){ .side-rail{ display:none; } }

/* Hero — plansza filmowa (clapper strip) */
.slate-strip{
  position:absolute; left:5vw; right:5vw; bottom:26px; z-index:2;
  display:flex; gap:0; border:1px solid var(--line);
  background:rgba(10,9,5,0.6); backdrop-filter:blur(4px);
}
.slate-cell{
  flex:1; padding:10px 16px; border-right:1px solid var(--line);
  font-family:'JetBrains Mono', monospace; font-size:9px; letter-spacing:0.14em; color:var(--muted);
}
.slate-cell:last-child{ border-right:none; }
.slate-cell b{ display:block; font-weight:500; font-size:12px; color:var(--gold-bright); margin-top:3px; letter-spacing:0.08em; }
@media (max-width:900px){ .slate-strip{ display:none; } }

/* Hero home — asymetryczny, lewostronny, mieszana typografia */
.home-hero.editorial{ align-items:flex-start; text-align:left; justify-content:flex-end; padding-bottom:120px; }
.home-hero.editorial .home-hero-content{ max-width:1100px; }
.home-hero.editorial h1{
  font-size:clamp(3.2rem, 9.5vw, 8rem); line-height:0.98; margin-bottom:30px;
}
.home-hero.editorial h1 .outline{
  color:transparent; -webkit-text-stroke:1.5px var(--ivory);
}
.home-hero.editorial h1 em{ position:relative; }
.home-hero.editorial h1 em::after{
  content:''; position:absolute; left:0; right:0; bottom:0.04em; height:0.06em;
  background:linear-gradient(90deg, var(--gold), transparent);
}
.home-hero.editorial p.lede{ margin:56px 0 38px; }
.home-hero.editorial .cta-row{ justify-content:flex-start; }
.hero-meta{
  font-family:'JetBrains Mono', monospace; font-size:10px; color:var(--muted);
  letter-spacing:0.2em; margin-bottom:20px; display:flex; align-items:center; gap:14px;
}
.hero-meta::before{ content:''; width:44px; height:1px; background:var(--gold); }

/* Indeks usług — wielkie edytorskie wiersze zamiast kafelków */
.index-list{ border-top:1px solid var(--line); }
.index-row{
  display:grid; grid-template-columns:90px 1fr auto; gap:30px; align-items:center;
  padding:38px 0; border-bottom:1px solid var(--line); position:relative;
  transition:padding 0.35s cubic-bezier(.2,.8,.2,1);
}
.index-row:hover{ padding-left:22px; }
.index-row .ir-num{
  grid-column:1; grid-row:1;
  font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--gold); letter-spacing:0.14em;
}
.index-row .ir-title{
  grid-column:2; grid-row:1;
  font-family:'Bodoni Moda', serif; font-weight:500;
  font-size:clamp(2rem, 5vw, 3.8rem); line-height:1.05;
  transition:color 0.3s, font-style 0.3s;
}
.index-row:hover .ir-title{ color:var(--gold-bright); font-style:italic; }
.index-row .ir-desc{
  grid-column:2; grid-row:2; color:var(--ivory-dim); font-size:0.9rem; max-width:540px;
  margin-top:6px;
}
.index-row .ir-arrow{
  grid-column:3; grid-row:1 / span 2; align-self:center;
  font-family:'JetBrains Mono', monospace; font-size:20px; color:var(--muted);
  transition:color 0.3s, transform 0.35s cubic-bezier(.2,.8,.2,1);
}
.index-row:hover .ir-arrow{ color:var(--gold-bright); transform:translateX(10px); }
.index-row::after{
  content:''; position:absolute; left:0; bottom:-1px; height:1px; width:0;
  background:var(--gold); transition:width 0.5s cubic-bezier(.2,.8,.2,1);
}
.index-row:hover::after{ width:100%; }
@media (max-width:900px){
  .index-row{ grid-template-columns:54px 1fr auto; gap:16px; padding:28px 0; }
  .index-row:hover{ padding-left:0; }
}

/* Portfolio — przesunięcia edytorskie */
.stagger-up{ transform:translateY(-46px); }
@media (max-width:900px){ .stagger-up{ transform:none; } }

/* O nas — nakładka wielkiego napisu za zdjęciem */
.about-block{ position:relative; }
.about-ghost{
  position:absolute; left:-2vw; top:-0.4em; z-index:0;
  font-family:'Bodoni Moda', serif; font-weight:700; font-style:italic;
  font-size:clamp(5rem, 13vw, 10rem); line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(185,146,79,0.18);
  pointer-events:none; user-select:none; white-space:nowrap;
}
.about-photo{ z-index:1; }
.about-copy{ z-index:1; position:relative; }

/* Wielki cytat w opiniach */
.reviews-grid{ position:relative; }
.review-card{ padding:40px 34px; }
.review-card p{ font-family:'Bodoni Moda', serif; font-size:1.05rem; font-style:italic; line-height:1.5; }
.review-card::before{
  content:'„'; font-family:'Bodoni Moda', serif; font-size:3.4rem; line-height:0.6;
  color:var(--gold); display:block; margin-bottom:2px;
}

/* ===================== v1.2 — GEN WŁASNY: playhead + detale ===================== */

/* Dolny letterbox jako oś czasu filmu (playhead) */
.letterbox.playhead{
  justify-content:space-between; padding:0 14px; overflow:visible;
}
.letterbox.playhead .ph-fill{
  position:absolute; left:0; top:0; bottom:0; width:0;
  background:linear-gradient(90deg, rgba(185,146,79,0.35), var(--gold));
  transition:width 0.08s linear;
}
.letterbox.playhead .ph-head{
  position:absolute; top:-3px; bottom:-3px; width:2px; background:var(--gold-bright);
  box-shadow:0 0 8px var(--gold-bright); left:0; transition:left 0.08s linear;
}
.letterbox.playhead .ph-lbl, .letterbox.playhead .ph-tc{
  position:relative; z-index:2;
  font-family:'JetBrains Mono', monospace; font-size:9px; letter-spacing:0.14em; color:var(--ivory-dim);
}
.letterbox.playhead .ph-tc{ color:var(--gold-bright); }

/* Rolki — ikona play + platforma (mechanika jak w referencji, własny styl) */
.reel .play-ic{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(0.92);
  width:46px; height:46px; border-radius:50%;
  border:1px solid rgba(236,228,212,0.5); background:rgba(10,9,5,0.45);
  display:flex; align-items:center; justify-content:center;
  transition:transform 0.3s, border-color 0.3s, background 0.3s; z-index:2;
}
.reel .play-ic::after{
  content:''; display:block; margin-left:3px;
  border-left:11px solid var(--ivory); border-top:7px solid transparent; border-bottom:7px solid transparent;
  transition:border-left-color 0.3s;
}
.reel:hover .play-ic{ transform:translate(-50%,-50%) scale(1.05); border-color:var(--gold-bright); background:rgba(10,9,5,0.7); }
.reel:hover .play-ic::after{ border-left-color:var(--gold-bright); }
.reel .platform{
  position:absolute; bottom:10px; left:10px; z-index:2;
  font-family:'JetBrains Mono', monospace; font-size:8px; letter-spacing:0.12em;
  color:var(--ivory-dim); background:rgba(10,9,5,0.55); padding:3px 7px;
  border:1px solid rgba(236,228,212,0.15);
}

/* Liczniki statystyk */
.about-stats .stat .num{ min-width:2.2ch; display:inline-block; }

/* Marquee w wariancie podstron — mniejszy */
.marquee-band.slim{ padding:22px 0; }
.marquee-band.slim .marquee-chunk{ font-size:clamp(2rem, 5vw, 3.6rem); }

/* Mobile — dopieszczenie edytorskich elementów */
@media (max-width:900px){
  .home-hero.editorial{ padding-bottom:90px; }
  .home-hero.editorial h1{ font-size:clamp(2.7rem, 13vw, 4.2rem); }
  .index-row .ir-title{ font-size:clamp(1.6rem, 8vw, 2.4rem); }
  .marquee-chunk{ font-size:clamp(2.2rem, 10vw, 3.4rem); gap:34px; padding-right:34px; }
  .marquee-chunk .dot{ width:7px; height:7px; }
  .about-ghost{ display:none; }
  .section-head[data-num]::before{ opacity:0.6; }
  .slate-strip{ display:none; }
  .reviews-foot{ gap:14px; }
}

/* Mobile: nakładka REC/EXIF w hero koliduje z treścią — chowamy */
@media (max-width:900px){ .hero-overlay-ui{ display:none; } }

/* Kontur w H1 także na podstronach */
.sub-hero h1 .outline{ color:transparent; -webkit-text-stroke:1.5px var(--ivory); }

/* ===================== V2 — NOWE DNA TYPOGRAFICZNE ===================== */

/* H1: masywny kondensowany uppercase; serif italic tylko jako akcent */
.sub-hero h1, .home-hero h1{
  font-family:'Anton', 'Arial Narrow', sans-serif;
  font-weight:400; text-transform:uppercase;
  letter-spacing:0.01em; line-height:0.96;
  font-size:clamp(3rem, 8.6vw, 7.2rem);
}
.home-hero.editorial h1{ font-size:clamp(3.4rem, 11vw, 9.5rem); }
.sub-hero h1 em, .home-hero h1 em{
  font-family:'Bodoni Moda', serif; font-style:italic; font-weight:500;
  text-transform:none; letter-spacing:0; font-size:0.92em;
}
.sub-hero h1 .outline, .home-hero.editorial h1 .outline{
  -webkit-text-stroke:2px var(--ivory); color:transparent;
}
/* Sekcje H2 też w nowym głosie */
.section-head h2{
  font-family:'Anton', sans-serif; font-weight:400; text-transform:uppercase;
  letter-spacing:0.015em; line-height:1.02;
  font-size:clamp(1.9rem, 3.6vw, 3rem);
}
.section-head h2 em{ font-family:'Bodoni Moda', serif; font-style:italic; text-transform:none; color:var(--gold-bright); }
.cta-banner h2{ font-family:'Anton', sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:0.02em; }
.index-row .ir-title{ font-family:'Anton', sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:0.02em; }
.marquee-chunk{ font-family:'Anton', sans-serif; font-weight:400; text-transform:uppercase; -webkit-text-stroke:1px var(--gold); }
.marquee-chunk em{ font-family:'Bodoni Moda', serif; text-transform:none; }
.section-head[data-num]::before{ font-family:'Anton', sans-serif; font-style:normal; -webkit-text-stroke:1px rgba(185,146,79,0.16); }
.about-ghost{ font-family:'Anton', sans-serif; font-style:normal; text-transform:uppercase; }

/* Linie siatki edytorskiej przez całą stronę */
.grid-rules{
  position:fixed; inset:18px 0; z-index:1; pointer-events:none;
  display:flex; justify-content:space-between; padding:0 5vw;
}
.grid-rules span{ width:1px; background:rgba(236,228,212,0.045); }
@media (max-width:900px){ .grid-rules span:nth-child(n+3){ display:none; } }

/* Marquee w tle hero */
.hero-bg-marquee{
  position:absolute; left:0; right:0; top:16%; z-index:0; overflow:hidden;
  pointer-events:none; opacity:0.5;
}
.hero-bg-marquee .hbm-track{
  display:flex; width:max-content; animation:marqueeScroll 40s linear infinite;
}
.hero-bg-marquee .hbm-chunk{
  font-family:'Anton', sans-serif; text-transform:uppercase; white-space:nowrap;
  font-size:clamp(6rem, 17vw, 15rem); line-height:1; padding-right:70px;
  color:transparent; -webkit-text-stroke:1px rgba(185,146,79,0.14);
}

/* MEGA CTA nad stopką */
.mega-cta{
  display:block; padding:110px 5vw 100px; text-align:center;
  border-top:1px solid var(--line); position:relative; overflow:hidden;
}
.mega-cta .mc-eyebrow{
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.2em;
  color:var(--gold); margin-bottom:26px; display:block;
}
.mega-cta .mc-word{
  font-family:'Anton', sans-serif; text-transform:uppercase; line-height:0.95;
  font-size:clamp(3.4rem, 12vw, 11rem); display:block;
  color:transparent; -webkit-text-stroke:1.5px var(--ivory);
  transition:color 0.45s cubic-bezier(.2,.8,.2,1), -webkit-text-stroke-color 0.45s;
}
.mega-cta:hover .mc-word{ color:var(--gold-bright); -webkit-text-stroke-color:var(--gold-bright); }
.mega-cta .mc-sub{
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.14em;
  color:var(--muted); margin-top:26px; display:block; transition:color 0.3s;
}
.mega-cta:hover .mc-sub{ color:var(--ivory-dim); }

/* Pakiety: stackowanie na scrollu */
.pkg-stack .pkg{ position:sticky; top:96px; margin-bottom:26px; box-shadow:0 -18px 40px rgba(0,0,0,0.5); }
.pkg-stack .pkg:nth-child(2){ top:112px; }
.pkg-stack .pkg:nth-child(3){ top:128px; }
@media (max-width:900px){ .pkg-stack .pkg{ position:static; box-shadow:none; } }

/* Preloader: licznik % */
.preloader .pl-pct{
  position:absolute; right:6vw; bottom:5vh;
  font-family:'Anton', sans-serif; font-size:clamp(3rem, 8vw, 6rem);
  color:transparent; -webkit-text-stroke:1px var(--gold);
}

/* Podstrony: H1 w ryzach przy długich tytułach */
.sub-hero h1{ font-size:clamp(2.8rem, 6.4vw, 6rem); max-width:1100px; }

/* Logo ze znakiem graficznym (wizjer + play) */
.logo{ display:flex; align-items:center; gap:11px; }
.logo-mark{ width:24px; height:24px; flex-shrink:0; transition:transform 0.35s cubic-bezier(.2,.8,.2,1); }
.logo:hover .logo-mark{ transform:rotate(90deg); }
.logo-txt span{ color:var(--gold); }

/* Fix: kontenery animacji słów obcinały diakrytyki i ogonki (Ś, ą, j) */
.split-ready .w{
  padding:0.16em 0.05em 0.14em;
  margin:-0.16em -0.05em -0.14em;
}
.sub-hero h1, .home-hero h1{ line-height:1.02; }

/* ===================== POLISH PASS ===================== */

/* Menu mobilne w głosie marki */
.mobile-menu a{
  font-family:'Anton', sans-serif; font-weight:400; text-transform:uppercase;
  font-size:2.1rem; letter-spacing:0.03em;
}
.mobile-menu a.active{ color:transparent; -webkit-text-stroke:1.5px var(--gold-bright); }

/* Karty opinii — cudzysłów jako subtelny ornament w tle */
.review-card{ position:relative; }
.review-card::before{
  content:'„'; position:absolute; top:6px; right:20px; margin:0;
  font-size:5rem; color:rgba(185,146,79,0.18);
}
.review-card .stars{ margin-top:4px; }

/* Kotwice nie chowają się pod headerem */
section[id]{ scroll-margin-top:96px; }

/* Focus dostępności w kolorze marki */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--gold); outline-offset:3px;
}

/* Strona 404 */
.err-wrap{
  min-height:92vh; min-height:92svh; display:flex; flex-direction:column;
  justify-content:center; align-items:center; text-align:center; gap:20px; padding:0 5vw;
}
.err-wrap .err-code{
  font-family:'Anton', sans-serif; font-size:clamp(6rem, 22vw, 16rem); line-height:1;
  color:transparent; -webkit-text-stroke:2px var(--gold);
}
.err-wrap p{ color:var(--ivory-dim); max-width:420px; }

/* ===================== TAŚMA FILMOWA + 3D ===================== */

/* Perforacja taśmy filmowej wokół realizacji */
.filmstrip{ position:relative; padding:44px 0; }
.filmstrip::before, .filmstrip::after{
  content:''; position:absolute; left:0; right:0; height:22px;
  background:repeating-linear-gradient(90deg,
    transparent 0 14px,
    rgba(236,228,212,0.16) 14px 26px,
    transparent 26px 40px);
  -webkit-mask:repeating-linear-gradient(90deg, transparent 0 14px, #000 14px 26px, transparent 26px 40px);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.filmstrip::before{ top:0; }
.filmstrip::after{ bottom:0; }
.filmstrip .fs-label{
  position:absolute; top:-8px; right:0;
  font-family:'JetBrains Mono', monospace; font-size:9px; letter-spacing:0.2em;
  color:var(--muted); background:var(--bg); padding:0 10px; z-index:2;
}

/* Rolki i karty — subtelny 3D tilt na hover */
.reel, .p-card-sm{ transition:transform 0.45s cubic-bezier(.2,.8,.2,1); transform-style:preserve-3d; }
.reel:hover{ transform:perspective(700px) rotateX(2.5deg) rotateY(-2deg) translateY(-4px); }
.p-card-sm:hover{ transform:perspective(900px) rotateX(1.6deg) translateY(-3px); }
@media (hover:none){ .reel:hover, .p-card-sm:hover{ transform:none; } }

/* ===================== PODSTRONY — WARSTWA WOW ===================== */

/* Marquee w tle hero podstron */
.hero-bg-marquee.sub{ top:10%; opacity:0.4; }
.hero-bg-marquee.sub .hbm-chunk{ font-size:clamp(5rem, 14vw, 11rem); }

/* Slate na podstronach */
.sub-hero .slate-strip{ bottom:20px; }

/* Pakiety — tytuły w głosie marki + wielkie ceny */
.pkg h3{
  font-family:'Anton', sans-serif; font-weight:400; text-transform:uppercase;
  letter-spacing:0.02em; font-size:1.5rem;
}
.pkg{ overflow:hidden; }
.pkg .pkg-ghost{
  position:absolute; right:18px; bottom:-18px; z-index:0; pointer-events:none;
  font-family:'Anton', sans-serif; font-size:7rem; line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(185,146,79,0.14);
}
.price-table .pln{ font-size:1.05rem; }

/* Kroki i etapy — wielkie konturowe numery */
.process-item{ grid-template-columns:150px 1fr; align-items:center; }
.process-item .step-tc{
  font-family:'Anton', sans-serif; font-size:3.2rem; line-height:1; letter-spacing:0;
  color:transparent; -webkit-text-stroke:1px var(--gold); padding-top:0;
}
.step-cell .step-num{
  font-family:'Anton', sans-serif; font-size:2.4rem; letter-spacing:0;
  color:transparent; -webkit-text-stroke:1px var(--gold);
}
.step-cell .step-num::after{ margin-left:14px; }

/* FAQ — większy głos */
summary{ font-size:1.3rem; }
details p{ font-size:0.95rem; }

/* Komórki typów — reakcja na hover */
.type-cell{ border-left:2px solid transparent; transition:border-color 0.3s, background 0.3s, transform 0.3s; }
.type-cell:hover{ border-left-color:var(--gold); background:var(--bg-alt); transform:translateY(-3px); }
.session-card{ transition:transform 0.4s cubic-bezier(.2,.8,.2,1); }
.session-card:hover{ transform:translateY(-5px); }

/* Kontakt — mocniejsze wartości */
.contact-info .ci-val{ font-family:'Anton', sans-serif; text-transform:uppercase; font-size:1.5rem; letter-spacing:0.02em; }
.contact-info .ci-val a:hover{ color:var(--gold-bright); }
.contact-form button{ width:100%; padding:20px; font-size:13px; }

@media (max-width:900px){
  .process-item{ grid-template-columns:1fr; }
  .process-item .step-tc{ font-size:2.2rem; }
}

/* Hero podstron: zapas nad slate-strip, żeby CTA nie nachodziło */
.sub-hero{ padding-bottom:150px; }
@media (max-width:900px){ .sub-hero{ padding-bottom:70px; } }

/* Preloader: znak graficzny obok logotypu */
.preloader .pl-logo{ display:flex; align-items:center; gap:14px; }
.preloader .pl-mark{ width:0.9em; height:0.9em; animation:plSpin 1.2s cubic-bezier(.2,.8,.2,1) 0.15s both; }
@keyframes plSpin{ from{ transform:rotate(-90deg); opacity:0; } to{ transform:rotate(0); opacity:1; } }

/* ============================================================
   V4 — REDESIGN wg uwag klienta: minimalizm, grafit, akcent REC
   ============================================================ */

:root{
  --bg:#0f0f11;
  --bg-alt:#131316;
  --surface:#17171a;
  --surface-2:#1c1c20;
  --line:#26262b;
  --gold:#ff4632;          /* akcent: czerwień REC */
  --gold-bright:#ff6a55;
  --ivory:#f1f0ed;
  --ivory-dim:#9a9a9e;
  --muted:#63636a;
}
::selection{ background:var(--gold); color:#0f0f11; }
.btn-primary{ color:#0f0f11; }
.nav-cta:hover{ color:#0f0f11; }

/* Zero gradientów — jednolite powierzchnie */
.sub-hero, .home-hero{ background:var(--bg); }
.sub-hero::before, .home-hero::before{ display:none; }
.hero-video::after, .hero-photo::after{ background:rgba(10,10,12,0.55); }
.home-hero .hero-video::after{ background:rgba(10,10,12,0.5); }
.p-card-main .thumb, .p-card-sm .thumb, .reel, .ph, .session-card .s-visual{
  background-color:var(--surface-2); background-image:none;
}
.ph[style*="background-image"], .thumb[style*="background-image"], .s-visual[style*="background-image"]{
  background-image:inherit;
}
.about-photo{ background:var(--surface-2); }
.about-stats .stat .num{ background:none; -webkit-background-clip:initial; background-clip:initial; color:var(--gold); }
.preloader .pl-bar::after{ background:var(--gold); }
.letterbox.playhead .ph-fill{ background:var(--gold); opacity:0.85; }
.btn-primary::after{ display:none; }

/* Minimalizm: chowamy ornamenty */
.side-rail, .grid-rules, .hero-bg-marquee, .marquee-band,
.slate-strip, .filmstrip::before, .filmstrip::after, .fs-label,
.section-head[data-num]::before, .about-ghost, .pkg-ghost,
.hero-overlay-ui{ display:none !important; }
.filmstrip{ padding:0; }

/* Oznaczenia na kartach realizacji — usunięte (uwaga 5) */
.p-card-main .tag, .p-card-sm .tag, .play-badge, .reel .tag, .reel .platform,
.session-card .s-visual .s-tag{ display:none !important; }

/* Przestrzeń negatywna */
section{ padding:130px 5vw; }
.section-head{ margin-bottom:56px; }

/* HERO — wideo pełnoekranowe, treść mała i wyśrodkowana (uwagi 1-2) */
.home-hero.editorial{
  align-items:center; justify-content:center; text-align:center; padding-bottom:0;
}
.home-hero.editorial .home-hero-content{ max-width:720px; }
.home-hero.editorial h1{ font-size:clamp(2.2rem, 4.6vw, 3.8rem); margin-bottom:20px; }
.home-hero.editorial h1 em::after{ display:none; }
.home-hero.editorial p.lede{ margin:16px auto 30px; font-size:0.98rem; max-width:520px; }
.home-hero.editorial .cta-row{ justify-content:center; }
.home-hero.editorial .hero-meta{ justify-content:center; }
.home-hero.editorial .hero-meta::before{ display:none; }
.btn{ padding:13px 24px; font-size:11px; }

/* HERO podstron — też wyśrodkowane i spokojniejsze */
.sub-hero{ justify-content:center; align-items:center; text-align:center; padding-bottom:0; }
.sub-hero-content{ max-width:780px; margin:0 auto; }
.sub-hero h1{ font-size:clamp(2.2rem, 4.4vw, 3.8rem); max-width:none; }
.sub-hero p.lede{ margin-left:auto; margin-right:auto; }
.sub-hero .cta-row{ justify-content:center; }
.sub-hero .eyebrow{ justify-content:center; }
.sub-hero .eyebrow::before{ display:none; }
.sub-hero .breadcrumb{ display:none; }

/* Rolki — kontener węższy, kafle wideo, autoplay (uwagi 6-7) */
.reels-grid{
  grid-template-columns:repeat(6, 1fr); gap:10px; background:transparent;
  max-width:1240px; margin:0 auto;
}
.reel{ border:1px solid var(--line); }
.reel video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.reel .play-ic{ display:none; }
@media (max-width:900px){ .reels-grid{ grid-template-columns:repeat(3, 1fr); gap:8px; } }
@media (max-width:560px){ .reels-grid{ grid-template-columns:repeat(2, 1fr); } }

/* Panel wyśrodkowany + harmonijki (uwagi z social media) */
.center-panel{ max-width:820px; margin:0 auto; }
.center-panel .section-head{ text-align:center; margin-left:auto; margin-right:auto; }
.center-panel .eyebrow{ justify-content:center; }
.center-panel .eyebrow::before{ display:none; }
.acc{ border:1px solid var(--line); background:var(--surface); margin-bottom:10px; padding:0 28px; }
.acc summary{ padding:22px 0; font-family:'Inter', sans-serif; font-weight:600; font-size:1rem; letter-spacing:0.02em; }
.acc[open] summary{ border-bottom:1px solid var(--line); }
.acc p{ padding:16px 0 22px; margin:0; max-width:none; }
.acc .pkg-cols{ padding:22px 0 28px; }
.pkg-acc{ border:1px solid var(--line); background:var(--surface); margin-bottom:12px; padding:0 30px; }
.pkg-acc summary{
  padding:26px 0; display:flex; align-items:center; gap:18px;
  font-family:'Anton', sans-serif; font-size:1.15rem; letter-spacing:0.03em; text-transform:uppercase;
}
.pkg-acc summary .p-num{ color:var(--gold); font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.14em; }
.pkg-acc summary .p-badge{
  font-family:'JetBrains Mono', monospace; font-size:9px; letter-spacing:0.1em;
  background:var(--gold); color:#0f0f11; padding:4px 9px;
}
.pkg-acc[open] summary{ border-bottom:1px solid var(--line); }
.pkg-acc .pkg-inner{ padding:26px 0 30px; }
.pkg-video{
  margin-top:22px; aspect-ratio:16/9; background:var(--surface-2);
  border:1px solid var(--line); position:relative; overflow:hidden;
}
.pkg-video video{ width:100%; height:100%; object-fit:cover; }

/* Pakiety: koniec sticky-stack (zastąpione harmonijką) */
.pkg-stack .pkg{ position:static; box-shadow:none; }

/* Marquee-chunk / mega-cta w nowym akcencie dziedziczą z var — OK */
@media (max-width:900px){
  section{ padding:90px 6vw; }
}

/* ============================================================
   V5 — NOWY CHARAKTER: bez filmowej ramy, widoczne wideo,
   przełamania jasnymi sekcjami
   ============================================================ */

/* Koniec z gadżetami z v1 — strona ma wyglądać inaczej */
.letterbox, .vf-cursor, .grain, .preloader{ display:none !important; }
body{ padding-top:0; padding-bottom:0; cursor:auto; }
header{ top:0; }
.mobile-menu{ inset:0; }

/* Wideo w hero ma być WIDOCZNE */
.hero-video video{ filter:none; }
.home-hero .hero-video::after{ background:rgba(10,10,12,0.28); }
.hero-video::after, .hero-photo::after{ background:rgba(10,10,12,0.38); }

/* Jasne sekcje przełamujące czerń */
.section-light{ background:#eceae5; color:#161618; }
.section-light .section-head h2{ color:#161618; }
.section-light .section-head p, .section-light p{ color:#5a5a5e; }
.section-light .eyebrow{ color:var(--gold); }
.section-light .review-card{ background:#f4f2ee; border:1px solid #dcd9d2; }
.section-light .review-card p{ color:#3c3c40; }
.section-light .review-card .who{ color:#8a8a8e; }
.section-light .reviews-grid{ background:transparent; gap:12px; }
.section-light .reviews-foot{ color:#5a5a5e; }
.section-light .reviews-foot .score{ color:#161618; }
.section-light .btn-ghost{ border-color:#c9c6bf; color:#161618; }
.section-light .btn-ghost:hover{ border-color:var(--gold); color:var(--gold); }
.section-light .p-card-main, .section-light .p-card-sm{ background:#dedbd4; }
.section-light .portfolio-featured{ background:#dcd9d2; }
.section-light .faq-list details{ border-color:#d5d2cb; }
.section-light summary{ color:#161618; }
.section-light details p{ color:#5a5a5e; }
.section-light .about-copy p{ color:#5a5a5e; }
.section-light .about-stats .stat .lbl{ color:#8a8a8e; }
.section-light .process-item{ border-color:#d5d2cb; }
.section-light .process-item .name{ color:#161618; }
.section-light .process-item .desc{ color:#5a5a5e; }
.section-light .types-row, .section-light .steps-row{ background:#dcd9d2; border-color:#dcd9d2; }
.section-light .type-cell, .section-light .step-cell{ background:#f2f0ec; }
.section-light .type-cell h3, .section-light .step-cell h3{ color:#161618; }
.section-light .step-cell li{ border-color:#ddd9d2; }
.section-light .step-cell li strong{ color:#161618; }
.section-light .includes-item{ border-color:#d5d2cb; }
.section-light .sessions-grid{ background:#dcd9d2; }
.section-light .session-card{ background:#f2f0ec; }
.section-light .session-card h3{ color:#161618; }
.section-light .photo-grid{ background:#dcd9d2; }
.section-light .ph{ background-color:#c9c6bf; }
.section-light .acc, .section-light .pkg-acc{ background:#f4f2ee; border-color:#dcd9d2; }
.section-light .acc summary, .section-light .pkg-acc summary{ color:#161618; }
.section-light .price-table th{ color:#8a8a8e; }
.section-light .price-table td{ color:#5a5a5e; border-color:#ddd9d2; }
.section-light .price-table td:first-child{ color:#161618; }
.section-light .pkg-feats li{ color:#5a5a5e; border-color:#ddd9d2; }
.section-light .pkg-feats li strong{ color:#161618; }
.section-light .compare th{ color:var(--gold); border-color:var(--gold); }
.section-light .compare td{ color:#5a5a5e; border-color:#ddd9d2; }
.section-light .compare td:first-child{ color:#161618; }
.section-light .pkg-video{ background:#dedbd4; border-color:#d5d2cb; }

/* ============================================================
   V5.1 — KIERUNEK NOVO: elegancka, lekka typografia, oddech
   ============================================================ */

.sub-hero h1, .home-hero h1, .home-hero.editorial h1,
.section-head h2, .cta-banner h2, .about-copy h2,
.mega-cta .mc-word, .err-code{
  font-family:'Manrope', 'Inter', sans-serif;
  font-weight:200; text-transform:none; letter-spacing:-0.015em;
}
.home-hero.editorial h1{ font-size:clamp(2.4rem, 4.6vw, 4rem); line-height:1.12; }
.sub-hero h1{ font-size:clamp(2.1rem, 4vw, 3.4rem); line-height:1.14; }
.section-head h2{ font-size:clamp(1.8rem, 2.9vw, 2.5rem); line-height:1.18; }
.sub-hero h1 em, .home-hero h1 em{
  font-family:inherit; font-style:normal; font-weight:300; color:var(--gold);
  font-size:1em;
}
.sub-hero h1 .outline, .home-hero.editorial h1 .outline{
  -webkit-text-stroke:0; color:inherit;
}
.split-ready .w > span{ animation-duration:1.1s; }

/* Etykiety — cienkie, szeroko spacjowane, bez kropki */
.eyebrow{
  font-family:'Manrope', sans-serif; font-weight:600; font-size:10px;
  letter-spacing:0.34em; text-transform:uppercase;
}
.eyebrow::before{ display:none; }

/* Karty i listy — spokojniejszy głos */
.p-card-main .title h3, .p-card-sm .title, .process-item .name,
.session-card h3, .type-cell h3, .step-cell h3, .review-card p,
.contact-info .ci-val, .pkg-acc summary, .acc summary, summary{
  font-family:'Manrope', sans-serif; font-weight:300; text-transform:none; letter-spacing:0;
}
.pkg-acc summary{ font-size:1.05rem; font-weight:400; }
summary{ font-size:1.1rem; }
.review-card p{ font-style:normal; font-size:0.95rem; }
.review-card::before{ display:none; }
.contact-info .ci-val{ font-size:1.15rem; }
.process-item .step-tc, .step-cell .step-num{
  font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.2em;
  -webkit-text-stroke:0; color:var(--gold);
}
.mega-cta .mc-word{
  -webkit-text-stroke:0; color:var(--ivory);
  font-size:clamp(2.6rem, 7vw, 6rem); font-weight:200;
}
.mega-cta:hover .mc-word{ color:var(--gold); -webkit-text-stroke:0; }
.index-row .ir-title{ font-family:'Manrope', sans-serif; font-weight:200; text-transform:none; }

/* Nawigacja — Novo-like: drobna, szeroka */
nav a{ font-size:11px; letter-spacing:0.22em; }
.logo-txt{ font-weight:500; }

/* Więcej oddechu */
section{ padding:150px 5vw; }
.section-head{ margin-bottom:64px; }
@media (max-width:900px){ section{ padding:100px 6vw; } }

/* ============================================================
   V6 — HERO I TYPOGRAFIA JAK NOVO (wzorzec klienta)
   ============================================================ */

body{ font-family:'Roboto', 'Inter', sans-serif; font-weight:300; }
.sub-hero h1, .home-hero h1, .home-hero.editorial h1,
.section-head h2, .about-copy h2, .mega-cta .mc-word, .err-code,
.p-card-main .title h3, .p-card-sm .title, .process-item .name,
.session-card h3, .type-cell h3, .step-cell h3{
  font-family:'Montserrat', sans-serif;
}

/* HERO-SLIDER à la Novo */
.hero-slider{
  position:relative; height:100vh; height:100svh; overflow:hidden; background:var(--bg);
}
.hs-slide{
  position:absolute; inset:0; opacity:0; transition:opacity 1.1s ease; z-index:1;
}
.hs-slide.active{ opacity:1; z-index:2; }
.hs-slide .hs-bg{ position:absolute; inset:0; background-size:cover; background-position:center; background-color:var(--surface-2); }
.hs-slide .hs-bg video{ width:100%; height:100%; object-fit:cover; }
.hs-slide .hs-bg::after{ content:''; position:absolute; inset:0; background:rgba(10,10,12,0.34); }
.hs-content{
  position:absolute; left:6vw; bottom:12vh; z-index:3; max-width:720px;
}
.hs-sub{
  display:flex; align-items:center; gap:14px;
  font-family:'Montserrat', sans-serif; font-weight:500; font-size:11px;
  letter-spacing:0.3em; text-transform:uppercase; color:var(--gold); margin-bottom:18px;
}
.hs-sub::before{ content:''; width:36px; height:1px; background:var(--gold); }
.hs-content h1, .hs-content .hs-h{
  font-family:'Montserrat', sans-serif; font-weight:200;
  font-size:clamp(2.4rem, 5vw, 4.6rem); line-height:1.1; color:var(--ivory);
  letter-spacing:-0.01em; margin-bottom:30px;
}
.hs-content .hs-h em{ font-style:normal; font-weight:400; color:var(--gold); }

/* przycisk w stylu Novo — tekst + linia */
.button-style2{
  display:inline-flex; align-items:center; gap:12px;
  font-family:'Montserrat', sans-serif; font-weight:500; font-size:11px;
  letter-spacing:0.3em; text-transform:uppercase; color:var(--ivory);
  padding-bottom:8px; border-bottom:1px solid rgba(241,240,237,0.35);
  transition:color 0.3s, border-color 0.3s;
}
.button-style2:hover{ color:var(--gold); border-color:var(--gold); }

/* nawigacja slidera — prawy dół */
.hs-nav{
  position:absolute; right:6vw; bottom:12vh; z-index:4;
  display:flex; align-items:center; gap:26px;
}
.hs-arrow{
  background:none; border:none; cursor:pointer; color:var(--ivory);
  font-size:20px; opacity:0.65; transition:opacity 0.3s, color 0.3s; padding:6px;
}
.hs-arrow:hover{ opacity:1; color:var(--gold); }
.hs-dots{ display:flex; gap:10px; }
.hs-dot{
  width:8px; height:8px; border-radius:50%; background:rgba(241,240,237,0.35);
  cursor:pointer; transition:background 0.3s, transform 0.3s;
}
.hs-dot.active{ background:var(--gold); transform:scale(1.25); }
.hs-count{
  font-family:'Montserrat', sans-serif; font-weight:300; font-size:12px;
  letter-spacing:0.18em; color:var(--ivory-dim);
}
.hs-count b{ font-weight:500; color:var(--ivory); }

/* wielkie tło-słowo à la Novo */
.bg-word{
  position:absolute; right:2vw; bottom:-0.14em; z-index:0; pointer-events:none; user-select:none;
  font-family:'Montserrat', sans-serif; font-weight:700; line-height:1;
  font-size:clamp(5rem, 15vw, 13rem); letter-spacing:-0.02em;
  color:rgba(241,240,237,0.035); text-transform:uppercase; white-space:nowrap;
}
.section-light .bg-word{ color:rgba(22,22,24,0.045); }
section{ overflow:hidden; }

/* Hero podstron — dolny-lewy jak w Novo */
.sub-hero{ justify-content:flex-end; align-items:flex-start; text-align:left; padding-bottom:12vh; }
.sub-hero-content{ margin:0; max-width:720px; }
.sub-hero .eyebrow{ justify-content:flex-start; }
.sub-hero .cta-row{ justify-content:flex-start; }
.sub-hero p.lede{ margin-left:0; }
.sub-hero h1{ font-weight:200; }

@media (max-width:900px){
  .hs-content{ left:6vw; right:6vw; bottom:16vh; }
  .hs-nav{ right:6vw; bottom:7vh; }
  .bg-word{ font-size:4.6rem; }
}

/* ============================================================
   V7 — SPRZEDAŻOWY POLISH: lightbox, lazy, czytelność
   ============================================================ */

/* Lightbox realizacji */
.lightbox{
  position:fixed; inset:0; z-index:600; background:rgba(8,8,10,0.92);
  display:flex; align-items:center; justify-content:center; padding:4vw;
  opacity:0; pointer-events:none; transition:opacity 0.3s;
}
.lightbox.open{ opacity:1; pointer-events:auto; }
.lightbox video{ max-width:min(1200px, 92vw); max-height:82vh; background:#000; box-shadow:0 30px 80px rgba(0,0,0,0.6); }
.lightbox .lb-close{
  position:absolute; top:24px; right:28px; background:none; border:none; cursor:pointer;
  color:var(--ivory); font-size:30px; line-height:1; opacity:0.7; transition:opacity 0.2s, color 0.2s;
}
.lightbox .lb-close:hover{ opacity:1; color:var(--gold); }
.p-card-main[data-video], .p-card-sm[data-video]{ cursor:pointer; }

/* Czytelniejsza nawigacja */
nav a{ color:#c9c9cc; }
.mobile-menu a{ color:#e8e8ea; }

/* Status wysyłki formularza */
.form-status{
  font-size:0.9rem; padding:14px 18px; border:1px solid var(--line); display:none;
}
.form-status.ok{ display:block; border-color:#3f7d4f; color:#7fc98f; }
.form-status.err{ display:block; border-color:var(--gold); color:var(--gold-bright); }

/* ===== Akcent v2: signal red (lampka REC) ===== */
:root{
  --gold:#ff2318;
  --gold-bright:#ff5a4a;
}

/* Fix: menu mobilne przykrywało burgera (header z=120 < menu z=125) */
.mobile-menu{ z-index:115; padding-top:80px; }
header{ z-index:120; }
.mobile-menu{ background:#0b0b0d; }
