:root{--red:#E10600;--steel:#8B9099;--white:#F3F4F6;--line:rgba(243,244,246,.12);--f:"Saira","Arial Narrow",Arial,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{background:#000}
body{background:#000;color:var(--white);font-family:var(--f);font-size:1.0625rem;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{width:min(1320px,100% - 3rem);margin-inline:auto}
.disp{font-weight:900;font-style:italic;font-stretch:112%;text-transform:uppercase;letter-spacing:-.02em;line-height:.9}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .06em .08em 0;margin-right:.22em}
.ch{display:inline-block}
body::before{content:"";position:fixed;inset:-50%;z-index:200;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .6s steps(3) infinite}
@keyframes grain{33%{transform:translate(4%,-3%)}66%{transform:translate(-3%,4%)}}
@keyframes spin{to{transform:rotate(360deg)}}

.cur,.cur-dot{position:fixed;left:0;top:0;z-index:300;pointer-events:none;border-radius:50%}
.cur{width:38px;height:38px;border:1.5px solid var(--red);transition:width .25s,height .25s,background .25s}
.cur.big{width:80px;height:80px;background:rgba(225,6,0,.15)}
.cur-dot{width:5px;height:5px;background:#fff}
@media (hover:none){.cur,.cur-dot{display:none}}
.prog{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--red);transform-origin:0 50%;transform:scaleX(0);z-index:60}

nav{position:fixed;inset:0 0 auto;z-index:50;padding:1rem 0;transition:background .3s}
nav.solid{background:rgba(0,0,0,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.logo{font-weight:900;font-style:italic;font-stretch:115%;font-size:1.15rem;text-transform:uppercase;display:flex;align-items:center;gap:.55rem}
.logo i{width:.8rem;height:.8rem;background:var(--red);border-radius:50%;animation:rec 1.2s steps(2) infinite}
@keyframes rec{50%{opacity:.25}}
nav ul{display:flex;gap:2rem;list-style:none;font-weight:600;font-stretch:90%;text-transform:uppercase;font-size:.9rem;letter-spacing:.04em}
nav ul a{opacity:.75}nav ul a:hover{opacity:1;color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.6rem;font-family:var(--f);font-weight:800;font-style:italic;text-transform:uppercase;font-size:.95rem;border:0;cursor:pointer;color:#fff;background:var(--red);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);transition:background .2s,color .2s}
.btn:hover{background:#fff;color:#000}
.btn.ghost{background:rgba(255,255,255,.1)}.btn.ghost:hover{background:#fff}
@media(max-width:800px){nav ul{display:none}}

/* HERO */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;isolation:isolate;background:radial-gradient(80% 60% at 50% 50%,#170202,#000 70%)}
#bg{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.bar{position:absolute;left:0;right:0;height:9vh;background:#000;z-index:5;transition:height 1.2s cubic-bezier(.7,0,.2,1)}
.bar.t{top:0}.bar.b{bottom:0}.hero.open .bar{height:5vh}
.hud{position:absolute;z-index:6;font-weight:600;font-stretch:85%;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,244,246,.7);font-variant-numeric:tabular-nums}
.hud.tl{top:calc(5vh + 4.4rem);left:1.5rem;display:flex;gap:.5rem;align-items:center}
.hud.tl b{width:.6rem;height:.6rem;border-radius:50%;background:var(--red);animation:rec 1s steps(2) infinite}
.hud.tr{top:calc(5vh + 4.4rem);right:1.5rem;text-align:right}
/* film leader countdown */
.leader{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:#0a0a0a;transition:opacity .35s}
.leader svg{width:min(60vmin,460px);height:auto}
.leader .sweep{transform-origin:200px 200px}
.hero.open .leader{opacity:0;pointer-events:none}
.hero-content{position:absolute;inset:auto 0 calc(5vh + 3rem);z-index:6}
.kicker{font-weight:700;font-stretch:90%;text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;color:var(--steel);margin-bottom:1rem}
.hero h1{font-size:clamp(3.2rem,10.5vw,10.5rem)}
.rotator{display:inline-block;position:relative;color:var(--red);overflow:hidden;vertical-align:top;height:.95em;min-width:4ch}
.rotator span{display:block;white-space:nowrap}
.hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-top:1.8rem}
.hero-row p{max-width:44ch;font-size:clamp(1.05rem,1.5vw,1.3rem);color:#D0D3D8}
.cta{display:flex;gap:.8rem;flex-wrap:wrap}
.badge{position:absolute;z-index:6;right:clamp(1rem,5vw,5rem);top:28%;width:clamp(110px,13vw,170px);aspect-ratio:1}
.badge svg{width:100%;height:100%;animation:spin 14s linear infinite}
.badge::after{content:"▶";position:absolute;inset:0;display:grid;place-items:center;color:var(--red);font-size:2rem}
@media(max-width:700px){.badge{display:none}}

.ticker{background:var(--red);overflow:hidden;white-space:nowrap;padding:.9rem 0;transform:skewY(-2deg);margin-top:-1.5rem;position:relative;z-index:10}
.ticker.b{background:#fff;color:#000;transform:skewY(2deg);margin-top:-2.6rem;z-index:9}
.track{display:inline-flex;animation:tick 30s linear infinite}
.ticker.b .track{animation-direction:reverse;animation-duration:36s}
.ticker span{font-weight:900;font-style:italic;font-stretch:115%;text-transform:uppercase;font-size:clamp(1.3rem,3vw,2.2rem);padding:0 1.6rem;display:inline-flex;align-items:center;gap:3.2rem}
.ticker span::after{content:"✦";font-size:.8em}
@keyframes tick{to{transform:translateX(-50%)}}

section{padding:clamp(5rem,11vw,9rem) 0;position:relative}
h2{font-size:clamp(2.5rem,6.5vw,5.6rem)}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}
.head p{max-width:44ch;color:var(--steel)}

/* STATEMENT */
.statement p{font-size:clamp(1.8rem,4.4vw,3.8rem);font-weight:800;font-style:italic;font-stretch:105%;line-height:1.08;letter-spacing:-.015em;max-width:24ch}
.statement .word{color:#2a2a2a;transition:color .2s}
.statement .word.lit{color:#fff}
.statement .word.hl.lit{color:var(--red)}

/* SERVICES */
.hsec{padding:0;overflow:hidden}
.hsec .head{padding-top:clamp(5rem,9vw,7rem)}
.hpanels{display:flex;gap:1.5rem;padding:0 1.5rem clamp(4rem,8vw,6rem);width:max-content}
.panel{width:min(78vw,520px);height:min(68vh,560px);background:#070707;border:1px solid var(--line);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:1.8rem;isolation:isolate;transition:border-color .3s}
.panel:hover{border-color:var(--red)}
.panel .vis{position:absolute;inset:0 0 30%;z-index:-1;display:grid;place-items:center}
.panel .vis svg{width:82%;height:82%;overflow:visible}
.panel::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(transparent 50%,#000 88%)}
.panel h3{font-size:clamp(1.9rem,3.4vw,3rem)}
.panel p{color:#C4C7CD;max-width:42ch;margin-top:.6rem}
.panel .tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.panel .tags i{font-style:normal;font-size:.78rem;font-weight:600;padding:.2rem .6rem;border:1px solid var(--line)}
.panel .num{position:absolute;top:1.3rem;left:1.6rem;font-weight:700;font-stretch:80%;font-size:.8rem;letter-spacing:.12em;color:var(--red);text-transform:uppercase}
@media(max-width:800px){.hpanels{flex-direction:column;width:auto}.panel{width:100%;height:500px}}
.rot{transform-origin:center;transform-box:fill-box;animation:spin 8s linear infinite}.rot.r{animation-direction:reverse;animation-duration:12s}
.blade{transform-origin:200px 150px;animation:iris 4s ease-in-out infinite}@keyframes iris{50%{transform:rotate(28deg)}}
.feed{animation:feed 6s cubic-bezier(.7,0,.2,1) infinite}
@keyframes feed{0%,20%{transform:translateY(0)}30%,50%{transform:translateY(-150px)}60%,80%{transform:translateY(-300px)}90%,100%{transform:translateY(-450px)}}
.heart{transform-box:fill-box;transform-origin:center;animation:heart 2s ease-out infinite;opacity:0}
@keyframes heart{0%{opacity:0;transform:translateY(0) scale(.4)}20%{opacity:1;transform:translateY(-10px) scale(1)}100%{opacity:0;transform:translateY(-90px) scale(.8)}}
.focus{animation:fmove 5s ease-in-out infinite}@keyframes fmove{0%,100%{transform:translate(0,0)}33%{transform:translate(60px,-25px)}66%{transform:translate(-50px,30px)}}
.brk{animation:brk 1.2s ease-in-out infinite;transform-origin:center;transform-box:fill-box}@keyframes brk{50%{transform:scale(.8)}}
.flash{animation:flash 5s infinite}@keyframes flash{0%,92%,100%{opacity:0}94%{opacity:.9}}
.product{transform-box:fill-box;transform-origin:center bottom;animation:prod 5s ease-in-out infinite}@keyframes prod{50%{transform:rotate(-6deg) translateY(-6px)}}
.bez{stroke-dasharray:600;animation:draw 4s ease-in-out infinite}@keyframes draw{0%{stroke-dashoffset:600}50%{stroke-dashoffset:0}100%{stroke-dashoffset:-600}}
.drop{animation:drop 2.4s cubic-bezier(.5,0,.5,1) infinite;opacity:0}
@keyframes drop{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}60%{transform:translate(var(--dx),150px);opacity:1}100%{transform:translate(0,230px);opacity:0}}
.bar3{transform-box:fill-box;transform-origin:bottom;animation:grow3 3s ease-in-out infinite}
@keyframes grow3{0%{transform:scaleY(.2)}50%,80%{transform:scaleY(1)}100%{transform:scaleY(.2)}}
.ln{transform-origin:left center;transform-box:fill-box;animation:grow 3s ease-in-out infinite}@keyframes grow{0%{transform:scaleX(0)}40%,80%{transform:scaleX(1)}100%{transform:scaleX(0)}}
.cart{animation:cart 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes cart{0%,60%,100%{transform:scale(1)}70%{transform:scale(1.25)}}



/* PROCESS timeline */
.tl{border:1px solid var(--line);background:#070707;position:relative;overflow:hidden}
.tl-top{display:flex;justify-content:space-between;padding:.7rem 1rem;border-bottom:1px solid var(--line);font-size:.8rem;font-weight:600;color:var(--steel);font-variant-numeric:tabular-nums;letter-spacing:.06em}
.tl-top b{color:var(--red)}
.ruler{height:26px;border-bottom:1px solid var(--line);margin-left:180px;background:repeating-linear-gradient(90deg,#333 0 1px,transparent 1px 25%) ,repeating-linear-gradient(90deg,#222 0 1px,transparent 1px 5%);background-size:100% 100%,100% 40%;background-repeat:no-repeat,no-repeat;background-position:0 0,0 100%}
.layer{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line);height:64px}
.layer .name{padding:0 1rem;display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:.9rem;border-right:1px solid var(--line)}
.layer .name i{width:10px;height:10px;background:var(--c,#555)}
.layer .lane{position:relative}
.clip{position:absolute;top:12px;bottom:12px;background:var(--c,#333);opacity:.85;display:flex;align-items:center;padding:0 .8rem;font-size:.82rem;font-weight:700;color:#000;white-space:nowrap;overflow:hidden}
.kf{position:absolute;top:50%;width:11px;height:11px;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}
.playhead{position:absolute;top:0;bottom:0;left:180px;width:2px;background:var(--red);z-index:3}
.playhead::before{content:"";position:absolute;top:0;left:-7px;border:8px solid transparent;border-top:10px solid var(--red)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem}
.step{border-top:3px solid #222;padding-top:1rem;transition:border-color .3s}
.step.on{border-color:var(--red)}
.step small{font-weight:800;font-style:italic;color:var(--red);font-size:.95rem}
.step h3{font-weight:900;font-style:italic;text-transform:uppercase;font-size:1.5rem;margin:.2rem 0 .4rem}
.step p{color:var(--steel);font-size:.97rem}
@media(max-width:800px){.layer{grid-template-columns:90px 1fr}.ruler{margin-left:90px}.playhead{left:90px}.layer .name{font-size:.75rem;padding:0 .5rem}.steps{grid-template-columns:1fr 1fr}}

/* INDUSTRIES */
.ind{display:flex;flex-direction:column}
.ind a{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding:1.1rem 0;position:relative;overflow:hidden}
.ind a b{font-size:clamp(2rem,6vw,5rem);color:transparent;-webkit-text-stroke:1.5px #666;transition:color .3s,-webkit-text-stroke-color .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.ind a span{color:var(--steel);max-width:34ch;text-align:right;font-size:.97rem}
.ind a::before{content:"";position:absolute;inset:0;background:var(--red);transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.7,0,.2,1);z-index:-1}
.ind a:hover::before{transform:scaleY(1)}
.ind a:hover b{color:#fff;-webkit-text-stroke-color:#fff;transform:translateX(1rem)}
.ind a:hover span{color:#fff}
@media(max-width:700px){.ind a{flex-direction:column;align-items:flex-start}.ind a span{text-align:left}}

/* WHY */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);margin-top:3rem}
.why div{background:#000;padding:2rem 1.6rem}
.why b{display:block;font-weight:900;font-style:italic;text-transform:uppercase;font-size:1.5rem;line-height:1;margin-bottom:.8rem}
.why b::before{content:"";display:block;width:2rem;height:4px;background:var(--red);margin-bottom:1rem}
.why p{color:var(--steel)}
@media(max-width:800px){.why{grid-template-columns:1fr}}

.about{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:center}
.mono{aspect-ratio:1;display:grid;place-items:center;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);background:#080808}
.mono svg{width:80%;height:80%}
.about p{color:#B9BDC4;max-width:52ch;margin-top:1.3rem}.about p strong{color:#fff}
@media(max-width:800px){.about{grid-template-columns:1fr}}

.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem)}
.big a{display:block;font-weight:900;font-style:italic;font-stretch:105%;font-size:clamp(1.4rem,3.2vw,2.6rem);padding:.3rem 0;overflow-wrap:anywhere;transition:color .2s,transform .2s}
.big a:hover{color:var(--red);transform:translateX(.5rem)}
form.c{display:grid;gap:1.1rem}
label{font-size:.8rem;font-weight:700;font-stretch:85%;text-transform:uppercase;letter-spacing:.08em;color:var(--steel);display:grid;gap:.35rem}
input,textarea,select{font:inherit;font-size:1.05rem;color:#fff;background:#0c0c0c;border:1px solid var(--line);border-left:3px solid #333;padding:.85rem 1rem}
select option{background:#000}textarea{min-height:130px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-left-color:var(--red)}
.note{font-size:.9rem;color:var(--steel);min-height:1.3em}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips label{display:block;cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:.45rem .9rem;border:1px solid var(--line);font-size:.9rem;font-weight:600;text-transform:none;letter-spacing:0;color:#ddd;transition:all .2s}
.chips input:checked+span{background:var(--red);border-color:var(--red);color:#fff}
@media(max-width:800px){.contact{grid-template-columns:1fr}}


.outro{font-size:clamp(4rem,19vw,19rem);white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px #333;overflow:hidden;padding:2rem 0 0;line-height:.8}
.outro span{display:inline-block}
footer{border-top:1px solid var(--line);padding:3.5rem 0 2rem;color:var(--steel);font-size:.92rem}
footer .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}
footer h4{color:#fff;font-weight:800;font-style:italic;text-transform:uppercase;margin-bottom:.6rem}
footer a{display:block;padding:.15rem 0}footer a:hover{color:var(--red)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* HERO PHOTO */
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;opacity:.32;filter:grayscale(.35) contrast(1.1)}
.hero::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.2) 40%,#000 96%)}

/* CLIENTS */
.clients{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 2rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.clients span{font-size:.8rem;font-weight:700;font-stretch:85%;text-transform:uppercase;letter-spacing:.1em;color:var(--steel);flex-basis:100%}
.clients b{font-weight:900;font-style:italic;font-stretch:110%;text-transform:uppercase;font-size:clamp(1.1rem,2.2vw,1.7rem);color:#6b6f76}

/* GALLERY */
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:-1rem 0 2rem}
.filters button{font:inherit;font-size:.9rem;font-weight:700;color:#ddd;background:none;border:1px solid var(--line);padding:.45rem 1rem;cursor:pointer;transition:all .2s}
.filters button:hover{border-color:#fff;color:#fff}
.filters button.on{background:var(--red);border-color:var(--red);color:#fff}
.gallery{columns:3 300px;column-gap:1rem}
.g-item{break-inside:avoid;margin:0 0 1rem;position:relative;overflow:hidden;background:#0b0b0b}
.g-item[hidden]{display:none}
.g-item a{display:block}
.g-item img{display:block;width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.8,.2,1),filter .4s}
.g-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1rem .8rem;font-weight:700;font-size:.9rem;background:linear-gradient(transparent,rgba(0,0,0,.85));transform:translateY(100%);transition:transform .35s}
.g-item:hover img{transform:scale(1.04)}
.g-item:hover figcaption,.g-item a:focus-visible+figcaption{transform:none}
@media(hover:none){.g-item figcaption{transform:none;font-size:.8rem;padding-top:1.8rem}}

/* LIGHTBOX */
.lb{position:fixed;inset:0;z-index:400;background:rgba(0,0,0,.94);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem}
.lb[hidden]{display:none}
.lb figure{margin:0;display:grid;justify-items:center;gap:.8rem;min-width:0}
.lb img{max-width:100%;max-height:84vh;object-fit:contain}
.lb figcaption{color:#ccc;font-weight:600}
.lb button{font:inherit;color:#fff;background:none;border:0;cursor:pointer}
.lb-nav{font-size:3rem;width:3rem;height:4rem;opacity:.7}.lb-nav:hover{opacity:1;color:var(--red)}
.lb-x{position:absolute;top:.8rem;right:1rem;font-size:2.4rem;line-height:1}.lb-x:hover{color:var(--red)}
@media(max-width:700px){.lb{grid-template-columns:1fr;padding:3.5rem .5rem}.lb-nav{position:absolute;bottom:1rem}.lb-nav.prev{left:1rem}.lb-nav.next{right:1rem}}

/* VIDEO */
.yt{position:relative;overflow:hidden;background:#0b0b0b;cursor:pointer;border:1px solid var(--line)}
.yt img,.yt iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.yt img{transition:transform .5s,opacity .3s;opacity:.85}
.yt:hover img{transform:scale(1.03);opacity:1}
.yt button{position:absolute;inset:0;width:100%;height:100%;background:none;border:0;cursor:pointer}
.yt button::before{content:"";position:absolute;left:50%;top:50%;width:74px;height:74px;transform:translate(-50%,-50%);background:var(--red);clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%)}
.yt button::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-35%,-50%);border:13px solid transparent;border-left:20px solid #fff;border-right:0}
.yt.playing{cursor:default}
.yt-main{aspect-ratio:16/9}
.yt-main button::before{width:96px;height:96px}
.yt-label{position:absolute;left:1.2rem;top:1rem;font-weight:800;font-style:italic;text-transform:uppercase;font-size:.9rem;color:#fff;background:var(--red);padding:.2rem .7rem;pointer-events:none}
.shorts{display:grid;grid-template-columns:repeat(8,1fr);gap:.8rem;margin-top:.8rem}
.yt-short{aspect-ratio:9/16}
.yt-short button::before{width:52px;height:52px}.yt-short button::after{border-width:9px;border-left-width:14px}
@media(max-width:1000px){.shorts{grid-template-columns:repeat(4,1fr)}}
@media(max-width:560px){.shorts{grid-template-columns:repeat(2,1fr)}}

/* REVIEWS */
.stars{color:var(--red);letter-spacing:.15em;margin-right:.4rem}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
.reviews blockquote{background:#000;padding:2rem 1.6rem;display:flex;flex-direction:column;justify-content:space-between;gap:1.4rem}
.reviews blockquote::before{content:"”";font-weight:900;font-style:italic;font-size:4rem;line-height:.5;color:var(--red);height:1.4rem}
.reviews p{font-size:1.08rem;color:#D0D3D8}
.reviews cite{font-style:normal;font-weight:800;text-transform:uppercase;font-size:.9rem;letter-spacing:.04em}
.reviews cite::after{content:" · Google";color:var(--steel);font-weight:600;text-transform:none}
@media(max-width:900px){.reviews{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.reviews{grid-template-columns:1fr}}

/* ABOUT PHOTO */
.mono.photo{aspect-ratio:4/5;position:relative}
.mono.photo img{width:100%;height:100%;object-fit:cover}
.mono.photo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 -6px 0 var(--red)}
a.ul{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:.2em}
a.ul:hover{color:var(--red)}

.yt-short img.fb{transform:scale(1.34)}.yt-short:hover img.fb{transform:scale(1.38)}
@media(max-width:480px){.logo{font-size:.95rem;gap:.4rem}nav .btn{padding:.6rem .9rem;font-size:.75rem;white-space:nowrap}}
/* LOGO & CLIENTS */
.logo img{display:block;height:44px;width:auto}
@media(max-width:480px){.logo img{height:34px}}
.clients b.handle{text-transform:none}

/* OFFER extras */
.scrub{animation:scrub 4s linear infinite}@keyframes scrub{to{transform:translateX(310px)}}
.spark{transform-box:fill-box;transform-origin:center;animation:spark 1.8s ease-in-out infinite}@keyframes spark{0%,100%{opacity:.2;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}

/* BLOG */
.blog{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:5rem}
.presets-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;flex-wrap:wrap;margin-bottom:.5rem}
.presets-head h3{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.presets-head p{color:var(--steel);max-width:44ch}
.post{border:1px solid var(--line);padding:1.5rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .3s,transform .3s}
.post:hover{border-color:var(--red);transform:translateY(-4px)}
.post small{color:var(--red);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.post b{font-weight:900;font-style:italic;text-transform:uppercase;font-size:1.25rem;line-height:1.1}
.post span{color:var(--steel);font-size:.95rem;flex:1}
.post em{font-style:normal;font-weight:800;font-size:.9rem}
.post:hover em{color:var(--red)}
.newsletter{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1rem;padding:1.8rem;background:linear-gradient(100deg,rgba(225,6,0,.22),rgba(225,6,0,.04) 60%);border:1px solid rgba(225,6,0,.45)}
.newsletter b{font-weight:900;font-style:italic;text-transform:uppercase;font-size:1.5rem;display:block}
.newsletter span{color:#C4C7CD;display:block;max-width:56ch;margin-top:.3rem}
@media(max-width:900px){.blog{grid-template-columns:1fr}}

/* ===== Poprawki 10.2026 ===== */
/* nav zawsze z tłem (bez przycinania na samej górze) */
nav{background:rgba(0,0,0,.85);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}

/* hero: spokojniejsze tło, zdjęcie zamiast fal */
.hero-photo{opacity:.55;filter:grayscale(.2) contrast(1.08);animation:kenburns 26s ease-in-out infinite alternate;transform-origin:65% 55%}
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero::after{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.35) 55%,rgba(0,0,0,.15)),linear-gradient(180deg,rgba(0,0,0,.5),transparent 35%,#000 97%)}
.hero-content{inset:auto 0 4rem}
.badge{top:22%}

/* nagłówki sekcji: opis pod tytułem, do lewej */
.head{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1rem}
.head p{max-width:56ch}

/* oferta: siatka zamiast przewijania w bok */
.hsec{padding:clamp(5rem,11vw,9rem) 0;overflow:visible}
.hsec .head{padding-top:0}
.hpanels{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;width:min(1320px,100% - 3rem);margin-inline:auto;padding:0}
.panel{width:auto;height:auto;min-height:390px;padding:1.3rem}
.panel .vis{inset:1.5rem 0 46%}
.panel .vis svg{width:70%;height:100%}
.panel::before{background:linear-gradient(transparent 35%,#000 62%)}
.panel h3{font-size:clamp(1.35rem,1.75vw,1.8rem)}
.panel p{font-size:.93rem;line-height:1.45}
.panel .tags{margin-top:.8rem}
.panel .tags i{font-size:.72rem}
.panel .num{top:1rem;left:1.3rem}
@media(max-width:1100px){.hpanels{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hpanels{grid-template-columns:1fr}.panel{min-height:340px}}

/* kontakt bez formularza */
.contact{grid-template-columns:1.15fr .85fr;align-items:end}
.contact .lead{color:var(--steel);margin:1.2rem 0 2rem;max-width:42ch;font-size:1.1rem}
.contact-txt{padding-bottom:clamp(1rem,4vw,4rem)}
.socials{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.socials a{border:1px solid var(--line);padding:.45rem 1rem;font-weight:700;font-size:.9rem;transition:all .2s}
.socials a:hover{background:var(--red);border-color:var(--red)}
.contact-photo{position:relative;isolation:isolate;border-bottom:4px solid var(--red)}
.contact-photo::before{content:"";position:absolute;z-index:-1;left:50%;top:54%;width:82%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(225,6,0,.75),rgba(225,6,0,.12) 62%,transparent 70%)}
.contact-photo::after{content:"";position:absolute;z-index:-1;left:50%;top:54%;width:96%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed rgba(255,255,255,.3);animation:spin 40s linear infinite}
.contact-photo img{display:block;width:100%;height:auto}
@media(max-width:800px){.contact{grid-template-columns:1fr}.contact-photo{max-width:420px;margin-inline:auto}}
.hero h1{font-size:clamp(2.6rem,min(8vw,13.5vh),8.5rem)}
.presets-head{flex-direction:column;align-items:flex-start;gap:.8rem}
.presets-head p{max-width:60ch}

/* oferta na telefonie: przesuwana w bok */
.swipe-hint{display:none}
@media(max-width:600px){
  .swipe-hint{display:block;color:var(--steel);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:-1.5rem auto 1rem}
  .hpanels{display:flex;flex-direction:row;grid-template-columns:none;width:auto;margin:0;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:1.5rem;padding:0 1.5rem 1rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hpanels::-webkit-scrollbar{display:none}
  .panel{flex:0 0 80%;scroll-snap-align:start;min-height:370px}
}

/* jeden, mniejszy odstęp między sekcjami */
main>section:not(:first-child){padding-top:0}
/* zdjęcia bez podpisów (galeria i podgląd) */
.g-item figcaption,.lb figcaption{display:none}

/* kontakt: animowana grafika zamiast zdjęcia */
.contact{align-items:center}
.contact-txt{padding-bottom:0}
.contact-art{max-width:460px;width:100%;margin-inline:auto}
.contact-art svg{display:block;width:100%;height:auto;overflow:visible}
.rot.slow{animation-duration:38s}
.recdot{animation:rec 1s steps(2) infinite}
.scan{animation:scan 3.2s ease-in-out infinite}@keyframes scan{0%,100%{transform:translateY(0)}50%{transform:translateY(92px)}}
@media(max-width:800px){.contact-art{max-width:320px;margin-top:1rem}}
.contact-art .heart{animation-duration:2.6s}
.presets-head h3{font-size:clamp(2.5rem,6.5vw,5.6rem)}
.clients span{font-size:clamp(1.1rem,2.2vw,1.7rem);font-weight:900;font-style:italic;font-stretch:110%;letter-spacing:0;color:#fff;margin-bottom:.3rem}

/* portfolio w przygotowaniu */
.wip{position:relative;border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;padding:clamp(2rem,6vw,5rem) 1.2rem;min-height:clamp(320px,42vw,520px)}
.wip-tiles{position:absolute;inset:0;display:grid;gap:.6rem;padding:.6rem;grid-template-columns:repeat(4,1fr)}
.wip-video .wip-tiles{grid-template-columns:repeat(6,1fr)}
.wip-tiles i{background:linear-gradient(110deg,#0a0a0a 30%,#161616 50%,#0a0a0a 70%);background-size:220% 100%;animation:shimmer 3.2s linear infinite;border:1px solid rgba(255,255,255,.05)}
.wip-tiles i:nth-child(2n){animation-delay:-.8s}.wip-tiles i:nth-child(3n){animation-delay:-1.6s}
@keyframes shimmer{to{background-position:-220% 0}}
.wip-sign{position:relative;max-width:640px;width:100%;background:#000;border:2px solid var(--red);text-align:center;transform:rotate(-1.5deg);box-shadow:0 20px 60px rgba(0,0,0,.8),0 0 60px rgba(225,6,0,.25)}
.wip-sign small{display:block;margin:1.4rem 1rem .6rem;color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem}
.wip-sign small::before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--red);margin-right:.5rem;animation:rec 1s steps(2) infinite}
.wip-sign b{display:block;padding:0 1.5rem;font-weight:900;font-style:italic;font-stretch:108%;text-transform:uppercase;font-size:clamp(1.25rem,2.6vw,2rem);line-height:1.1}
.wip-sign p{margin:.8rem 1rem 1.5rem;color:var(--steel);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem}
.wip-tape{display:block;height:14px;background:repeating-linear-gradient(-45deg,var(--red) 0 14px,#000 14px 28px);background-size:39.6px 100%;animation:tape 1.2s linear infinite}
@keyframes tape{to{background-position:39.6px 0}}
@media(max-width:700px){.wip-tiles,.wip-video .wip-tiles{grid-template-columns:repeat(2,1fr)}}
