@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Inter:wght@400;700&family=Montserrat:wght@200;700&display=swap');
:root{--bg:#0e0e0e;--text:#d9d9d9;--white:#fff;--accent:#ffff00;--ui:#20262b;--line:#666;--blue:#71849a;--max:1450px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 30% 10%,#151515 0,#0e0e0e 45%,#0b0b0b 100%);color:var(--text);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img,video{max-width:100%}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;color:#000;padding:10px;z-index:9999}
.header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;position:relative;z-index:20;background:rgba(14,14,14,.9);backdrop-filter:blur(8px)}.nav{display:flex;gap:36px;align-items:center}.nav a{font-weight:700;font-size:28px;line-height:1;padding:8px 0;color:var(--text)}.nav a.active{border-bottom:2px solid var(--text)}.lang{position:absolute;right:28px;top:50%;transform:translateY(-50%);display:flex;gap:5px;font-size:16px}.lang a.active{background:#777;border-radius:5px;padding:2px 4px}.hamb{display:none}
.hero{min-height:calc(100vh - 78px);position:relative;display:grid;place-items:center;text-align:center;overflow:hidden}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.72));z-index:1}.hero-content{position:relative;z-index:2;padding:50px 20px}.hero h1{font:700 clamp(80px,12vw,190px)/.82 'Bebas Neue',sans-serif;margin:0;letter-spacing:1px;white-space:pre-line;color:var(--text)}.hero-role{font:400 26px/1.4 Montserrat,sans-serif;margin:38px 0 10px}.hero-desc{font:200 20px/1.4 Montserrat,sans-serif;margin:0 0 32px}.buttons{display:flex;gap:80px;justify-content:center}.btn{border:0;border-radius:17px;background:var(--blue);color:var(--text);font:700 19px Montserrat;padding:15px 24px;cursor:pointer;transition:filter .25s,transform .25s}.btn:hover{filter:brightness(1.15);transform:translateY(-2px)}.scroll-cue{position:absolute;z-index:2;bottom:24px;left:50%;transform:translateX(-50%);font-size:0;width:75px;height:28px;animation:bob 2s ease-in-out infinite}.scroll-cue:after{content:"";position:absolute;left:10px;right:10px;top:2px;height:20px;background:#d9d9d9;clip-path:polygon(0 0,50% 100%,100% 0);opacity:.45}@keyframes bob{50%{transform:translate(-50%,6px)}}
.section{max-width:var(--max);margin:0 auto;padding:70px 5vw}.showreel{position:relative;aspect-ratio:16/9;background:#151515;border-radius:4px;overflow:hidden}.showreel img{width:100%;height:100%;object-fit:cover}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:rgba(217,217,217,.35);border:0;display:grid;place-items:center;cursor:pointer;transition:transform .3s,background .3s}.play:after{content:"";width:0;height:0;border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:23px solid rgba(0,0,0,.7);margin-left:5px}.play:hover{transform:translate(-50%,-50%) scale(1.08);background:rgba(217,217,217,.5)}
.filters{display:flex;justify-content:center;gap:38px;align-items:center;flex-wrap:wrap;margin:28px auto 12px}.filters button{background:none;border:0;color:var(--text);font:400 20px Inter;padding:9px 12px;border-radius:30px;cursor:pointer}.filters button.active{background:#4a4a4a}.filter-line{height:1px;background:#777;max-width:800px;margin:0 auto 30px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:linear-gradient(#171a1c,#151515);border-radius:22px;overflow:hidden;cursor:pointer;transition:transform .35s,filter .35s}.card:hover{transform:translateY(-4px);filter:brightness(1.06)}.thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#20262b}.thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.card:hover .thumb img{transform:scale(1.035)}.card-body{padding:20px 14px 16px;min-height:102px;position:relative}.card h2{font:700 30px/.95 'Bebas Neue';margin:0 0 12px;color:#fff}.card p{font:200 14px/1.5 Montserrat;margin:0 0 20px;color:var(--text)}.tags{position:absolute;right:14px;bottom:12px;font:700 9px Inter;color:#bbb}.video-project .play{width:62px;height:62px}.video-project .play:after{border-top-width:11px;border-bottom-width:11px;border-left-width:17px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;min-height:calc(100vh - 78px)}.portrait{width:min(480px,80%);aspect-ratio:1;border-radius:50%;object-fit:cover;justify-self:center;background:#20262b}.about h1{font:700 clamp(60px,6vw,100px)/.82 'Bebas Neue';white-space:pre-line;margin:0 0 34px}.about p{font:200 20px/1.35 Montserrat;white-space:pre-line;margin:0 0 24px}
.contact{min-height:calc(100vh - 78px);display:grid;grid-template-columns:1fr minmax(420px,520px);gap:60px;align-items:end;padding:80px 5vw 45px}.contact-email{font:700 23px Inter;margin-bottom:5px}.contact-card{background:var(--ui);border-radius:8px;padding:32px 46px 14px}.contact-card h1{font:700 34px Montserrat;color:var(--accent);margin:0 0 28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 28px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.field.full{grid-column:1/-1}.field label{font:700 12px Montserrat}.field input,.field textarea,.field select{background:transparent;border:1px solid #aaa;border-radius:12px;color:var(--text);padding:9px 12px;outline:none}.field textarea{min-height:180px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.08)}.submit{width:100%;background:#808080;color:var(--accent);border:0;border-radius:10px;padding:12px;font:700 16px Montserrat;cursor:pointer}.form-note{text-align:center;font:200 10px Montserrat;margin:14px 0 0}.flash{padding:12px 15px;border-radius:10px;margin-bottom:16px;background:#263b2b}.flash.error{background:#4b2626}.project-detail{max-width:1100px;margin:0 auto;padding:60px 5vw}.project-detail h1{font:700 clamp(50px,7vw,100px)/.85 'Bebas Neue';margin:0 0 20px}.project-meta{font:200 14px Montserrat;margin-bottom:30px}.project-video{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:18px;background:#000}.project-copy{font:200 18px/1.6 Montserrat;white-space:pre-line;margin-top:28px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:100;display:none;align-items:center;justify-content:center;padding:30px}.modal.open{display:flex}.modal-inner{position:relative;width:min(1200px,96vw)}.modal-close{position:absolute;right:-4px;top:-42px;border:0;background:none;color:#fff;font-size:32px;cursor:pointer}.modal video,.modal iframe{width:100%;aspect-ratio:16/9;border:0;background:#000;border-radius:10px}
.admin-install{display:grid;place-items:center;min-height:100vh}.install-card{width:min(520px,94vw);background:#20262b;padding:35px;border-radius:18px}.install-card h1{font:700 50px Bebas Neue}.install-card h2{font:700 18px Inter}.install-card label{display:block;margin:12px 0;font:700 13px Inter}.install-card input{width:100%;margin-top:6px;padding:10px;border-radius:8px;border:1px solid #777;background:#111;color:#fff}.install-card button{margin-top:20px;width:100%;padding:12px;border:0;border-radius:10px;background:#808080;color:#ffff00;font-weight:700}.error{color:#ffb2b2}.success{color:#b8ffbf}
@media(max-width:900px){.nav{gap:18px}.nav a{font-size:20px}.grid{grid-template-columns:repeat(2,1fr)}.about{gap:40px}.contact{grid-template-columns:1fr;align-items:start}.contact-email{order:2}.contact-card{order:1;max-width:600px;width:100%;justify-self:center}.buttons{gap:20px}.hero h1{font-size:clamp(75px,15vw,140px)}}
@media(max-width:640px){.header{height:68px}.nav{display:none}.hamb{display:block;position:absolute;left:18px;background:none;border:0;color:#d9d9d9;font-size:26px}.header.menu-open .nav{display:flex;position:absolute;top:68px;left:0;right:0;background:#0e0e0e;border-bottom:1px solid #666;flex-direction:column;gap:0;padding:14px 20px}.header.menu-open .nav a{font-size:22px;width:100%;padding:14px 0}.lang{right:14px;font-size:13px}.hero{min-height:calc(100vh - 68px)}.hero-role{font-size:16px;margin-top:28px}.hero-desc{font-size:14px}.buttons{flex-direction:column;align-items:center}.btn{width:170px}.grid{grid-template-columns:1fr}.section{padding:45px 20px}.filters{gap:6px}.filters button{font-size:15px}.about{grid-template-columns:1fr;min-height:auto;padding:60px 20px}.portrait{width:min(300px,80vw)}.about h1{font-size:65px}.about p{font-size:16px}.contact{padding:50px 20px 30px}.contact-card{padding:25px 18px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-email{font-size:17px}.project-detail{padding:45px 20px}.project-detail h1{font-size:62px}.modal{padding:15px}.modal-close{right:0}.hero-media{content:none}.showreel{border-radius:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}
