:root {
  --bg:#0a0a0a;
  --fg:#f7f6f2;
  --muted:#9c9c97;
  --line:rgba(255,255,255,.13);
  --panel:#141414;
  --red:#e61f26;
  --soft:#efede8;
  --header-bg:rgba(8,8,8,.58);
  --shadow:0 28px 80px rgba(0,0,0,.24);
}
html[data-theme="light"] {
  --bg:#f3f1ec;
  --fg:#121212;
  --muted:#6d6c67;
  --line:rgba(0,0,0,.13);
  --panel:#fff;
  --header-bg:rgba(20,20,20,.82);
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--bg);color:var(--fg);font-family:"Manrope",Arial,sans-serif;overflow-x:hidden;transition:background-color .45s ease,color .45s ease}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--red);color:#fff}
.shell{width:min(1600px,calc(100% - 40px));margin-inline:auto}
.section{padding:clamp(96px,10vw,170px) 0}
.section-index{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:700}
.section-index.light{color:rgba(255,255,255,.65)}
.noise::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.08;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}

/* Cursor */
.cursor-dot,.cursor-badge{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);border-radius:50%}
.cursor-dot{width:18px;height:18px;background:#fff;mix-blend-mode:difference;transition:width .2s ease,height .2s ease,opacity .2s ease}
.cursor-badge{width:0;height:0;background:#fff;color:#111;display:grid;place-items:center;opacity:0;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.22);transition:width .24s cubic-bezier(.16,1,.3,1),height .24s cubic-bezier(.16,1,.3,1),opacity .2s ease}
.cursor-badge span{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.cursor-badge.active{width:82px;height:82px;opacity:1}
.cursor-dot.hidden{opacity:0}
body,a,button,input,textarea{cursor:none}
@media (hover:none),(pointer:coarse){body,a,button,input,textarea{cursor:auto}.cursor-dot,.cursor-badge{display:none!important}}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:100;padding:18px 0;transition:transform .35s ease}
.nav-pill{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:11px 13px 11px 14px;border:1px solid rgba(255,255,255,.12);background:var(--header-bg);backdrop-filter:blur(18px);border-radius:999px;color:#fff;box-shadow:0 10px 38px rgba(0,0,0,.12)}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{width:112px;height:42px;background:#fff;border-radius:999px;display:grid;place-items:center;padding:6px 9px;overflow:hidden}
.brand-logo img{width:100%;height:100%;object-fit:contain}
.brand-sub{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);white-space:nowrap}
.desktop-nav{display:flex;gap:28px;align-items:center;font-size:13px;color:rgba(255,255,255,.82)}
.desktop-nav a{position:relative;padding:7px 0}
.desktop-nav a::after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1px;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
.desktop-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-actions{display:flex;align-items:center;gap:8px}
.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);display:grid;place-items:center;padding:0}
.icon-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.moon-icon{display:none}
html[data-theme="light"] .sun-icon{display:none}
html[data-theme="light"] .moon-icon{display:block}
.liquid-btn{position:relative;overflow:hidden;background:#fff;color:#111;border-radius:999px;padding:12px 20px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:800;isolation:isolate}
.liquid-btn::before{content:"";position:absolute;left:-25%;bottom:-170%;width:150%;aspect-ratio:1;background:var(--red);border-radius:45%;z-index:-1;transition:bottom .5s cubic-bezier(.16,1,.3,1),transform .5s ease}
.liquid-btn:hover{color:#fff}.liquid-btn:hover::before{bottom:-48%;transform:rotate(12deg)}
.menu-btn{display:none;position:relative}.menu-btn span{position:absolute;width:16px;height:1.5px;background:#fff;transition:.3s ease}.menu-btn span:first-child{transform:translateY(-3px)}.menu-btn span:last-child{transform:translateY(3px)}.menu-btn.active span:first-child{transform:rotate(45deg)}.menu-btn.active span:last-child{transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:90;background:#080808;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:110px 24px 36px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.35s ease}
.mobile-menu.open{opacity:1;visibility:visible;transform:none}
.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(255,255,255,.12);padding:18px 0;font-size:clamp(34px,9vw,58px);letter-spacing:-.05em}.mobile-menu nav span{font-size:10px;color:rgba(255,255,255,.4);letter-spacing:.18em}.mobile-menu-meta{margin-top:auto;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45)}

/* Hero */
.hero{position:relative;min-height:100svh;padding:140px 0 32px;overflow:hidden;background:radial-gradient(circle at 12% 13%,rgba(230,31,38,.34),transparent 27%),radial-gradient(circle at 79% 17%,rgba(112,79,255,.23),transparent 29%),radial-gradient(circle at 64% 88%,rgba(255,130,70,.17),transparent 28%),var(--bg)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(to right,var(--line) 1px,transparent 1px),linear-gradient(to bottom,var(--line) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(circle at center,#000 12%,transparent 76%);opacity:.42}
.hero-orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.orb-one{width:360px;height:360px;right:-90px;top:15%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.22),rgba(115,83,255,.14) 35%,transparent 70%);animation:floatA 9s ease-in-out infinite}.orb-two{width:270px;height:270px;left:-80px;bottom:10%;background:radial-gradient(circle at 60% 40%,rgba(230,31,38,.22),transparent 67%);animation:floatB 8s ease-in-out infinite}
@keyframes floatA{50%{transform:translate(-26px,22px) rotate(8deg)}}@keyframes floatB{50%{transform:translate(24px,-18px)}}
.hero-inner{position:relative;z-index:2;min-height:calc(100svh - 172px);display:flex;flex-direction:column;justify-content:space-between}
.hero-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--muted);display:flex;align-items:center;gap:10px}.hero-kicker i{width:7px;height:7px;background:var(--red);border-radius:50%;box-shadow:0 0 0 6px rgba(230,31,38,.1)}
.hero-title{margin:42px 0 24px;max-width:1320px;font-size:clamp(64px,10.1vw,166px);line-height:.88;letter-spacing:-.075em;font-weight:650;text-wrap:balance}.hero-title em{font-style:normal;color:#f2383f}.hero-line{display:block;overflow:hidden}.hero-line>span{display:block;transform:translateY(110%);animation:heroIn .95s cubic-bezier(.16,1,.3,1) forwards}.hero-line:nth-child(2)>span{animation-delay:.1s}.hero-line:nth-child(3)>span{animation-delay:.2s}@keyframes heroIn{to{transform:none}}
.hero-bottom{display:grid;grid-template-columns:1fr auto;gap:42px;align-items:end;padding-top:34px}.hero-bottom p{max-width:740px;margin:0;color:var(--muted);font-size:clamp(17px,1.5vw,24px);line-height:1.65}.scroll-cue{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.scroll-cue b{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--fg);font-size:18px;transition:.35s ease}.scroll-cue:hover b{transform:rotate(45deg);background:var(--fg);color:var(--bg)}
.showreel{position:absolute;right:8.5%;top:20%;z-index:3;width:clamp(210px,22vw,340px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.035);backdrop-filter:blur(12px);display:grid;place-items:center;animation:showreelFloat 7s ease-in-out infinite;transform-style:preserve-3d}.showreel-art{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(circle at 31% 26%,#ff4a50,transparent 25%),radial-gradient(circle at 72% 74%,#765cff,transparent 33%),#121212;display:flex;align-items:center;justify-content:center;gap:8px;color:rgba(255,255,255,.36);font-weight:800;font-size:clamp(15px,2vw,26px);letter-spacing:.04em}.showreel-core{position:relative;z-index:2;width:96px;height:96px;background:#fff;color:#111;border-radius:50%;display:grid;place-items:center;font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:800;box-shadow:0 18px 45px rgba(0,0,0,.28)}@keyframes showreelFloat{50%{transform:translateY(-18px) rotate(6deg)}}

/* Marquee */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.marquee-track{width:max-content;display:flex;gap:36px;animation:marquee 28s linear infinite;color:var(--muted);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.marquee-track span{display:flex;gap:36px;align-items:center}.marquee-track i{font-style:normal;color:var(--red)}@keyframes marquee{to{transform:translateX(-50%)}}

/* About */
.section-top{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:clamp(54px,7vw,96px)}.section-top>p{justify-self:end;max-width:560px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.about-layout{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(50px,8vw,120px);align-items:start}.about-mini{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:18px}.about-statement h2{margin:0;max-width:790px;font-size:clamp(52px,6.5vw,105px);line-height:.96;letter-spacing:-.067em;font-weight:600}.about-statement h2 em{font-style:normal;color:var(--red)}.about-copy{padding-top:40px;max-width:650px}.about-copy p{margin:0 0 22px;color:var(--muted);font-size:clamp(17px,1.4vw,22px);line-height:1.72}.about-copy .about-lead{color:var(--fg);font-size:clamp(23px,2vw,33px);line-height:1.42;letter-spacing:-.03em}.about-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.about-tags span{border:1px solid var(--line);border-radius:999px;padding:10px 13px;font-size:11px;color:var(--muted)}.about-band{margin-top:clamp(70px,9vw,130px);border:1px solid var(--line);border-radius:28px;padding:clamp(26px,4vw,48px);display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 60%);overflow:hidden}.about-band-year{font-size:clamp(40px,5vw,78px);letter-spacing:-.06em;display:flex;align-items:center;gap:18px}.about-band-year span{color:var(--red);font-size:.7em}.about-band strong{display:block;font-size:clamp(23px,2.3vw,36px);letter-spacing:-.03em}.about-band p{color:var(--muted);font-size:15px;line-height:1.7;margin:12px 0 0;max-width:680px}

/* Services */
.services{border-top:1px solid var(--line);position:relative}.services-heading,.work-heading{display:grid;grid-template-columns:1fr .6fr;gap:40px;align-items:end;margin-bottom:54px}.services-heading h2,.work-heading h2{margin:16px 0 0;font-size:clamp(66px,8vw,132px);line-height:.88;letter-spacing:-.07em;font-weight:600}.services-heading>p,.work-heading>p{max-width:460px;justify-self:end;margin:0;color:var(--muted);font-size:14px;line-height:1.75}.service-list{border-bottom:1px solid var(--line)}.service-row{display:grid;grid-template-columns:65px 1.15fr .8fr 42px;gap:24px;align-items:center;border-top:1px solid var(--line);padding:27px 8px;position:relative;transition:background-color .35s ease,padding .35s ease}.service-row:hover{background:rgba(255,255,255,.025);padding-left:18px;padding-right:18px}.service-num{font-size:11px;color:var(--muted)}.service-row h3{font-size:clamp(28px,3.1vw,52px);letter-spacing:-.045em;line-height:1.06;margin:0;font-weight:550;transition:transform .35s ease}.service-row:hover h3{transform:translateX(8px)}.service-row p{justify-self:end;max-width:510px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}.service-arrow{font-size:24px;transition:transform .35s ease}.service-row:hover .service-arrow{transform:rotate(45deg)}.service-preview{position:fixed;z-index:50;left:0;top:0;width:360px;height:250px;border-radius:26px;overflow:hidden;background:#151515 center/cover no-repeat;box-shadow:0 30px 80px rgba(0,0,0,.34);pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.8) rotate(-5deg);transition:opacity .18s ease,transform .22s cubic-bezier(.16,1,.3,1)}.service-preview.visible{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}.service-preview-overlay{position:absolute;inset:0;background:linear-gradient(135deg,var(--preview-accent,rgba(230,31,38,.45)),transparent 70%);mix-blend-mode:screen}.service-preview>span{position:absolute;left:18px;bottom:16px;color:#fff;font-size:9px;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px 10px #000}

/* Work */
.work{background:var(--soft);color:#101010}.work .section-index{color:rgba(0,0,0,.48)}.work-heading>p{color:rgba(0,0,0,.55)}.work-grid{display:grid;grid-template-columns:7fr 5fr;gap:18px}.work-card{position:relative;overflow:hidden;border-radius:28px;background:#111;min-height:480px;transform-style:preserve-3d;box-shadow:var(--shadow)}.work-card.work-wide{grid-column:1/-1;min-height:430px}.work-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1),filter .4s ease}.work-card:hover img{transform:scale(1.045)}.work-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82),transparent 65%)}.work-copy{position:absolute;inset:auto 0 0;padding:34px;color:#fff;transform:translateZ(34px)}.work-copy>span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.58)}.work-copy h3{margin:7px 0 0;font-size:clamp(31px,4vw,66px);line-height:1;letter-spacing:-.055em;font-weight:600}.work-card::after{content:"";position:absolute;inset:-110% -40%;background:linear-gradient(110deg,transparent 44%,rgba(255,255,255,.15) 50%,transparent 56%);transform:translateX(-55%);transition:transform .8s cubic-bezier(.16,1,.3,1);pointer-events:none}.work-card:hover::after{transform:translateX(55%)}

/* Stats */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.stat strong{display:block;font-size:clamp(75px,9vw,145px);line-height:.82;letter-spacing:-.08em;font-weight:500}.stat strong.fullstack{font-size:clamp(62px,7vw,110px)}.stat p{margin:24px 0 0;color:var(--muted);font-size:10px;letter-spacing:.17em;text-transform:uppercase;line-height:1.6}

/* Contact */
.contact{position:relative;overflow:hidden;background:#df2026;color:#fff}.contact-inner{position:relative;z-index:2}.contact h2{margin:18px 0 0;max-width:1350px;font-size:clamp(65px,9vw,150px);line-height:.86;letter-spacing:-.075em;font-weight:650}.contact h2 span{color:rgba(255,255,255,.88)}.contact-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(55px,8vw,120px);border-top:1px solid rgba(255,255,255,.25);padding-top:46px;margin-top:70px}.contact-form label{display:block;position:relative}.contact-form label>span{position:absolute;left:-9999px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;padding:18px 0;outline:none;font-size:clamp(18px,1.5vw,24px)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.5)}.contact-form input:focus,.contact-form textarea:focus{border-color:#fff}.contact-form textarea{min-height:135px;resize:vertical}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.form-actions{display:flex;align-items:center;gap:18px;margin-top:26px;flex-wrap:wrap}.submit-btn{border:0;background:#fff;color:#111;border-radius:999px;padding:15px 21px;display:inline-flex;align-items:center;gap:18px;font-weight:800}.submit-btn b{font-size:18px;transition:transform .3s ease}.submit-btn:hover b{transform:rotate(45deg)}.submit-btn:disabled{opacity:.62}.form-status{font-size:12px;line-height:1.5;color:rgba(255,255,255,.8);min-height:18px}.form-status.success{color:#fff}.form-status.error{color:#ffe1e1}.contact-details{padding-left:30px;display:grid;align-content:start;gap:36px}.contact-details>div>span,.contact-pair span{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:9px}.contact-details p{font-size:clamp(21px,2vw,31px);line-height:1.35;margin:0;max-width:660px}.contact-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-details a{font-size:clamp(18px,1.6vw,25px)}.email-link{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:8px}.contact-ring{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%}.ring-one{width:440px;height:440px;right:-110px;top:-110px;animation:ringScale 8s ease-in-out infinite}.ring-two{width:360px;height:360px;left:18%;bottom:-150px;animation:ringFloat 7s ease-in-out infinite}@keyframes ringScale{50%{transform:scale(1.14) rotate(18deg)}}@keyframes ringFloat{50%{transform:translateY(-22px)}}

/* Footer */
.site-footer{background:#050505;color:#fff;padding:24px 0}.footer-inner{border-top:1px solid rgba(255,255,255,.11);padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.42);font-size:9px;letter-spacing:.17em;text-transform:uppercase}.footer-inner nav{display:flex;gap:20px}.footer-inner a:hover{color:#fff}

/* Reveals */
.reveal,.reveal-up{opacity:0;transform:translateY(34px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}.reveal.visible,.reveal-up.visible{opacity:1;transform:none}

@media(max-width:1100px){
  .desktop-nav{display:none}.menu-btn{display:grid}.brand-sub{display:none}
  .showreel{right:5%;top:18%;width:240px}
  .hero-title{font-size:clamp(60px,10.5vw,116px)}
  .about-layout{grid-template-columns:1fr;gap:50px}.about-copy{padding-top:0}.about-copy{max-width:800px}
  .services-heading,.work-heading{grid-template-columns:1fr}.services-heading>p,.work-heading>p{justify-self:start}
  .service-row{grid-template-columns:48px 1fr 42px}.service-row p{grid-column:2/3;justify-self:start;max-width:650px}.service-arrow{grid-row:1/3;grid-column:3;align-self:center}
  .contact-grid{grid-template-columns:1fr}.contact-details{padding-left:0}
}
@media(max-width:760px){
  .shell{width:min(100% - 28px,1600px)}.section{padding:86px 0}.site-header{padding:12px 0}.nav-pill{padding:8px 9px}.brand-logo{width:98px;height:38px}.nav-cta{display:none}
  .hero{padding-top:118px;min-height:920px}.hero-inner{min-height:760px}.hero-title{font-size:clamp(55px,16.2vw,94px);margin-top:30px}.showreel{width:180px;right:-30px;top:31%}.showreel-core{width:75px;height:75px;font-size:8px}.hero-bottom{grid-template-columns:1fr;gap:28px}.scroll-cue{justify-content:space-between}.hero-bottom p{font-size:17px;max-width:88%}
  .section-top{grid-template-columns:1fr;gap:16px}.section-top>p{justify-self:start}.about-statement h2{font-size:clamp(47px,14vw,75px)}.about-band{grid-template-columns:1fr;gap:24px}
  .services-heading h2,.work-heading h2{font-size:clamp(60px,18vw,95px)}.service-row{grid-template-columns:38px 1fr 32px;padding:24px 0;gap:12px}.service-row:hover{padding-left:0;padding-right:0}.service-row h3{font-size:clamp(28px,8vw,42px)}.service-row p{font-size:12px}.service-preview{display:none}
  .work-grid{grid-template-columns:1fr}.work-card,.work-card.work-wide{grid-column:auto;min-height:420px}.work-copy{padding:24px}.stats-grid{grid-template-columns:1fr;gap:55px}.stat strong{font-size:clamp(82px,26vw,130px)}
  .contact h2{font-size:clamp(59px,17vw,95px)}.contact-grid{margin-top:50px;padding-top:34px}.contact-pair{grid-template-columns:1fr}.contact-details{gap:28px}.contact-details p{font-size:22px}.footer-inner{flex-direction:column}.footer-inner nav{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
