:root{--acc:#46b33f;--acc-d:#3a9a34;--acc2:#8be05f;--blue:#2f6bff;--ink:#0b0b0d;--ink2:#141418;--ink3:#1d1d23;--line:#2a2a32;--txt:#f3f3f5;--mut:#a6a6b2;--r:14px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--txt);font:16px/1.65 "Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3,.disp{font-family:"Saira Condensed","Inter",sans-serif;font-weight:800;font-style:italic;letter-spacing:.01em;line-height:1.08;margin:0;text-transform:uppercase}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 12.5px/1 "Inter",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--acc2)}
.eyebrow:before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--acc),var(--acc2))}
.lightbar{height:4px;background:linear-gradient(90deg,var(--acc) 0 22%,#fff 22% 28%,#111 28% 50%,var(--acc) 50% 72%,#fff 72% 78%,#111 78%);background-size:200% 100%;animation:flash 3s linear infinite}
@keyframes flash{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.lightbar{animation:none}*{scroll-behavior:auto!important}}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(11,11,13,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:50px;height:50px;flex:none}
.brand b{display:block;font:italic 800 19px/1.05 "Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
@media (max-width:1100px) and (min-width:901px){.brand b{font-size:16px}}
@media (max-width:480px){.brand b{font-size:14px}.brand img{width:40px;height:40px}.brand{gap:9px;min-width:0}.menu-btn{flex:none}}
@media (max-width:380px){.brand b{font-size:12.5px;letter-spacing:0}.hdr .wrap{padding:0 16px}}
.brand small{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-top:3px}
.nav{display:flex;align-items:center;gap:6px}
.nav a{text-decoration:none;font-size:14.5px;font-weight:500;color:#d4d4dc;padding:9px 13px;border-radius:9px;transition:.15s}
.nav a:hover{color:#fff;background:var(--ink3)}
.nav a[aria-current]{color:#fff;box-shadow:inset 0 -2px 0 var(--acc);border-radius:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:600 15px/1 "Inter",sans-serif;text-decoration:none;padding:14px 22px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:.15s;white-space:nowrap}
.btn-red{background:var(--acc);color:#06140a;box-shadow:0 8px 28px -10px rgba(70,179,63,.8)}
.btn-red:hover{background:var(--acc2);transform:translateY(-1px)}
.btn-ghost{border-color:#3a3a44;color:#fff;background:rgba(255,255,255,.03)}
.btn-ghost:hover{border-color:#fff}
.nav .btn{padding:11px 16px;margin-left:8px;font-size:14px}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:#fff;border-radius:9px;width:44px;height:44px;cursor:pointer}
@media (max-width:900px){
 .menu-btn{display:grid;place-items:center}
 .nav{position:fixed;inset:72px 0 auto 0;flex-direction:column;align-items:stretch;background:var(--ink2);border-bottom:1px solid var(--line);padding:12px 20px 20px;display:none}
 .nav.open{display:flex}.nav a{padding:14px 10px;font-size:16px}.nav a[aria-current]{box-shadow:inset 3px 0 0 var(--acc)}
 .nav .btn{margin:10px 0 0}
}
/* hero */
.hero{position:relative;min-height:min(88vh,820px);display:flex;align-items:center;overflow:hidden;isolation:isolate}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,11,13,.96) 0%,rgba(11,11,13,.82) 38%,rgba(11,11,13,.25) 75%),linear-gradient(0deg,var(--ink) 0%,transparent 30%)}
.hero .wrap{width:100%;padding-top:60px;padding-bottom:90px}
.hero h1{font-size:clamp(42px,6.4vw,84px);max-width:780px;margin:20px 0 22px}
.hero h1 em{font-style:normal;color:transparent;background:linear-gradient(90deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text}
.hero p.lead{font-size:clamp(17px,1.6vw,20px);color:#cfcfd8;max-width:560px;margin:0 0 34px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px}
.hero-meta{display:flex;flex-wrap:wrap;gap:34px;margin-top:56px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);max-width:640px}
.hero-meta div{font-size:13px;color:var(--mut);text-transform:uppercase;letter-spacing:.12em}
.hero-meta b{display:block;font:600 28px/1.1 "Saira Condensed",sans-serif;color:#fff;letter-spacing:0;margin-bottom:4px}
.page-hero{position:relative;padding:110px 0 70px;overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.42}
.page-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--ink),rgba(11,11,13,.55))}
.page-hero h1{font-size:clamp(40px,6vw,72px);margin:16px 0 14px}
.page-hero p{color:#cfcfd8;max-width:620px;font-size:18px;margin:0}
/* sections */
section.s{padding:100px 0}.s-alt{background:var(--ink2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.s-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px;flex-wrap:wrap}
.s-head h2{font-size:clamp(32px,4vw,50px);margin-top:14px}
.s-head p{color:var(--mut);max-width:460px;margin:0}
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.split p{color:#c9c9d3;font-size:17px}
.photo-stack{position:relative;aspect-ratio:1/1}
.photo-stack img{position:absolute;border-radius:var(--r);object-fit:cover;box-shadow:0 30px 60px -20px #000;border:1px solid var(--line)}
.photo-stack img:nth-child(1){inset:0 22% 22% 0;width:78%;height:78%}
.photo-stack img:nth-child(2){right:0;bottom:0;width:52%;height:52%;border:4px solid var(--ink2)}
.badge-float{position:absolute;left:-18px;bottom:8%;background:var(--acc);color:#06140a;padding:16px 20px;border-radius:12px;font:600 15px/1.2 "Saira Condensed",sans-serif;text-transform:uppercase;box-shadow:0 20px 40px -12px rgba(70,179,63,.6)}
.badge-float b{display:block;font-size:34px}
.checks{list-style:none;padding:0;margin:26px 0 34px;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.checks li{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.checks li:before{content:"";flex:none;width:18px;height:18px;margin-top:4px;border-radius:50%;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='white'%3E%3Cpath d='M8 13.6 4.4 10l-1.4 1.4L8 16.4l9-9-1.4-1.4z'/%3E%3C/svg%3E") center/12px no-repeat}
/* cards */
.grid{display:grid;gap:22px}.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--ink3);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.2s;text-decoration:none;display:flex;flex-direction:column}
.card:hover{border-color:#43434e;transform:translateY(-3px)}
.card .ph{aspect-ratio:4/3;overflow:hidden;background:#000}.card .ph img{width:100%;height:100%;object-fit:cover;transition:.5s}
.card:hover .ph img{transform:scale(1.04)}
.card .bd{padding:20px 22px 24px}
.card h3{font-size:21px;margin-bottom:6px}
.card p{margin:0;color:var(--mut);font-size:15px}
.tag{display:inline-block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2);font-weight:600;margin-bottom:8px}
.svc .ph{aspect-ratio:16/10}
.svc .num{font:600 13px "Saira Condensed",sans-serif;color:var(--acc);letter-spacing:.1em}
/* brands */
.brands{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.brands div{background:#fff;border-radius:12px;aspect-ratio:3/2;display:grid;place-items:center;padding:16px}
.brands img{max-height:100%;max-width:100%;object-fit:contain}
/* band */
.band{position:relative;overflow:hidden;isolation:isolate;padding:90px 0}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.band:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(18,64,20,.95),rgba(11,11,13,.85))}
.band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.band h2{font-size:clamp(30px,4vw,48px);max-width:640px}.band p{margin:10px 0 0;color:#d4ecd2;max-width:560px}
.band .btn-red{background:#fff;color:#0b0b0d}
/* projects */
.proj{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center;padding:36px;background:var(--ink3);border:1px solid var(--line);border-radius:18px}
.proj+.proj{margin-top:24px}
.proj h2{font-size:clamp(26px,3vw,36px);margin:6px 0 12px}
.proj p{color:#c9c9d3;font-size:17px;margin:0 0 18px}
.spec{display:flex;flex-wrap:wrap;gap:8px}.spec span{font-size:13px;padding:6px 11px;border-radius:99px;background:#26262e;border:1px solid #33333d;color:#dcdce4}
.vid{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#000;cursor:pointer;border:0;padding:0;width:100%;display:block}
.vid img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:.3s}.vid:hover img{opacity:1;transform:scale(1.03)}
.vid .play{position:absolute;inset:0;display:grid;place-items:center}
.vid .play i{width:70px;height:70px;border-radius:50%;background:var(--acc);display:grid;place-items:center;box-shadow:0 0 0 10px rgba(70,179,63,.25)}
.vid .play i:after{content:"";border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.proj .still{aspect-ratio:4/5;border-radius:14px;overflow:hidden}.proj .still img{width:100%;height:100%;object-fit:cover}
/* team */
.member{display:grid;grid-template-columns:400px 1fr;gap:56px;align-items:center}
.member+.member{margin-top:80px}.member.rev{grid-template-columns:1fr 400px}.member.rev .m-ph{order:2}
.m-ph{aspect-ratio:4/5;border-radius:18px;overflow:hidden;border:1px solid var(--line);position:relative}
.m-ph img{width:100%;height:100%;object-fit:cover}
.m-ph:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--acc),var(--acc2))}
.member h2{font-size:clamp(32px,4vw,46px);margin:10px 0 6px}
.member .role{color:var(--acc2);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:14px;margin-bottom:20px}
.member p{color:#c9c9d3;font-size:17px}
/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px}
.c-item{display:flex;gap:16px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--ink3);text-decoration:none;transition:.15s}
.c-item:hover{border-color:var(--acc)}.c-item+.c-item{margin-top:14px}
.c-item .ic{width:48px;height:48px;border-radius:12px;background:rgba(70,179,63,.14);color:var(--acc);display:grid;place-items:center;flex:none}
.c-item small{display:block;color:var(--mut);font-size:12.5px;text-transform:uppercase;letter-spacing:.12em}.c-item b{font-size:17px}
form.quote{background:var(--ink3);border:1px solid var(--line);border-radius:18px;padding:32px}
form.quote h3{font-size:26px;margin-bottom:6px}form.quote>p{color:var(--mut);margin:0 0 22px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:block;font-size:13px;font-weight:600;color:#cfcfd8;margin-bottom:14px}
input,select,textarea{display:block;width:100%;margin-top:6px;background:var(--ink);border:1px solid #34343e;border-radius:10px;color:#fff;font:15px "Inter",sans-serif;padding:13px 14px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc);border-color:transparent}
textarea{min-height:120px;resize:vertical}
/* footer */
footer{background:#070708;border-top:1px solid var(--line);padding:64px 0 30px;color:var(--mut);font-size:15px}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
footer h4{color:#fff;font:600 15px "Saira Condensed",sans-serif;text-transform:uppercase;letter-spacing:.1em;margin:0 0 16px}
footer ul{list-style:none;padding:0;margin:0}footer li{margin-bottom:9px}footer a{text-decoration:none}footer a:hover{color:#fff}
.f-logo{width:150px;margin-bottom:18px}
.socials{display:flex;gap:10px;margin-top:18px}.socials a{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;color:#fff}.socials a:hover{border-color:var(--acc);background:var(--acc)}
.f-bot{margin-top:50px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13.5px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.in{opacity:1;transform:none}
@media (max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}.split,.contact-grid{grid-template-columns:1fr;gap:50px}.f-grid{grid-template-columns:1fr 1fr}
 .member,.member.rev{grid-template-columns:1fr;gap:30px}.member.rev .m-ph{order:0}.m-ph{max-width:460px}}
@media (max-width:700px){section.s{padding:70px 0}.g4,.g3,.g2,.checks,.fr{grid-template-columns:1fr}.proj{grid-template-columns:1fr;padding:20px;gap:24px}.vid,.proj .still{max-width:340px;margin:0 auto}
 .brands{grid-template-columns:repeat(3,1fr)}.f-grid{grid-template-columns:1fr}.hero-meta{gap:22px}.brand b{font-size:15px}.badge-float{left:10px}
 .hero:after{background:linear-gradient(0deg,rgba(11,11,13,.98) 25%,rgba(11,11,13,.6))}}

.hero .wrap{display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:center}
.hero-logo{position:relative;justify-self:end;width:400px;aspect-ratio:1}
.hero-logo:before{content:"";position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle,rgba(70,179,63,.45),transparent 65%);filter:blur(10px);animation:pulse 4s ease-in-out infinite}
.hero-logo img{position:relative;width:100%;height:100%;filter:drop-shadow(0 25px 50px rgba(0,0,0,.8))}
@keyframes pulse{50%{opacity:.55;transform:scale(.94)}}
body{background:var(--ink) radial-gradient(1200px 600px at 85% -10%,rgba(70,179,63,.10),transparent 60%) no-repeat}
@media (max-width:1000px){.hero .wrap{grid-template-columns:1fr}.hero-logo{order:-1;justify-self:start;width:170px}}
@media (max-width:700px){.hero-logo{width:130px}.hero h1{font-size:40px}}

.rh-band{background:radial-gradient(800px 400px at 90% 50%,rgba(47,107,255,.12),transparent 70%),radial-gradient(700px 400px at 0% 100%,rgba(227,38,43,.10),transparent 70%),var(--ink);border-top:1px solid var(--line)}
.rh-logo{display:block;width:100%;max-width:420px;height:auto;margin:16px 0 8px}
.rh-frame{border-radius:14px;overflow:hidden;border:1px solid #33333d;box-shadow:0 40px 80px -30px #000,0 0 0 8px rgba(255,255,255,.03);background:#fff}
.rh-frame img{width:100%}
.rh-ph{aspect-ratio:16/10;background:#fff}.rh-ph img{object-position:top left}
@media (max-width:1100px) and (min-width:901px){.nav a{padding:9px 9px;font-size:14px}}
.split>*,.grid>*{min-width:0}
.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.rb{display:flex;gap:20px;align-items:start;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:8px}.rb::-webkit-scrollbar{display:none}.rb-feat{flex:0 0 calc(25% - 15px);scroll-snap-align:start}
.rb-feat .vid{aspect-ratio:9/16}.rb-cap{padding:16px 4px 0}.rb-cap h3{margin:6px 0}.rb-cap p{margin:0;color:var(--mut)}
@media (max-width:1000px){.rb{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -24px;padding:0 24px 8px;scroll-padding:0 24px;scrollbar-width:none}.rb::-webkit-scrollbar{display:none}.rb-feat{flex:0 0 74%;scroll-snap-align:start}}
.brands>*{min-width:0}@media (max-width:700px){.brands{grid-template-columns:repeat(3,minmax(0,1fr))}}
.page-hero.rh-hero>img{opacity:.12;filter:blur(2px)}
@media (max-width:1000px) and (min-width:701px){.rb-feat{flex-basis:38%!important}}
.rb-nav{display:flex;gap:10px;margin-top:16px}.rb-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--ink3);color:var(--txt);font-size:18px;cursor:pointer}.rb-nav button:hover{border-color:var(--acc);color:var(--acc2)}
.views{display:flex;gap:8px;margin-top:12px}.views button{font:600 12px/1 inherit;padding:7px 12px;border-radius:99px;border:1px solid var(--line);background:transparent;color:var(--mut);cursor:pointer}.views button.on{background:var(--acc);border-color:var(--acc);color:#fff}
.vid-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vid-pair .vid{max-width:none}
@media (max-width:700px){.vid-pair{max-width:340px;margin:0 auto;width:100%}}
.proj:has(.vid-pair){grid-template-columns:460px 1fr}@media (max-width:900px){.proj:has(.vid-pair){grid-template-columns:1fr}}
