*{box-sizing:border-box}
:root{--bg:#08080a;--fg:#f2f0ed;--muted:#8b8790;--line:rgba(255,255,255,.10);--soft:rgba(255,255,255,.055);--accent:#b7ff71}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}
body.no-scroll{overflow:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 12%,rgba(150,75,255,.14),transparent 28%),radial-gradient(circle at 8% 74%,rgba(80,65,255,.09),transparent 24%);z-index:-3}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.grain{position:fixed;inset:0;opacity:.035;pointer-events:none;z-index:80;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.cursor-glow{position:fixed;width:380px;height:380px;border-radius:50%;pointer-events:none;z-index:-1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(166,93,255,.09),transparent 65%);filter:blur(18px);transition:left .16s ease-out,top .16s ease-out}
.scroll-progress{position:fixed;left:0;top:0;width:100%;height:2px;background:rgba(255,255,255,.8);transform:scaleX(0);transform-origin:left;z-index:100}
.site-header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60;background:rgba(8,8,10,.70);backdrop-filter:blur(22px)}
.brand{display:flex;gap:11px;align-items:center;font:500 13px "DM Mono",monospace;letter-spacing:.15em}
.brand-mark{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(255,255,255,.35);font-weight:500;transition:.3s ease}
.brand:hover .brand-mark{background:#fff;color:#08080a;transform:rotate(90deg)}
.site-nav{display:flex;gap:27px;font:10px "DM Mono",monospace;letter-spacing:.10em;color:#817d85}
.site-nav a{position:relative;padding:8px 0;transition:color .25s}
.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:#fff;transition:right .3s ease}
.site-nav a:hover,.site-nav a.active{color:#fff}.site-nav a:hover:after,.site-nav a.active:after{right:0}
.header-cta{font:10px "DM Mono",monospace;letter-spacing:.08em;border:1px solid rgba(255,255,255,.20);padding:11px 14px;transition:background .25s,color .25s,border-color .25s}
.header-cta:hover{background:#fff;color:#08080a;border-color:#fff}
.menu-toggle{display:none;background:none;border:0;padding:10px}
.menu-toggle span{display:block;width:24px;height:1px;background:#fff;margin:6px 0;transition:.25s}
.section{padding:9vw 8vw;max-width:1500px;margin:auto}
.hero{min-height:calc(100vh - 78px);display:flex;flex-direction:column;justify-content:center;padding-top:7vw;padding-bottom:7vw}
.hero-kicker,.eyebrow,.service-index{font:10px "DM Mono",monospace;letter-spacing:.14em;color:#8d8a91}
.status-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent);margin-right:9px}
.hero-title-wrap,.portfolio-title-wrap{position:relative}
.hero-side-note{position:absolute;right:0;top:50%;transform:rotate(90deg) translateX(50%);transform-origin:right center;font:9px "DM Mono",monospace;letter-spacing:.15em;color:#4f4b53}
.hero h1{font-size:clamp(82px,16vw,230px);line-height:.78;letter-spacing:-.09em;margin:55px 0 75px;font-weight:800}
.hero h1 em,.portfolio-hero h1 em,.contact h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.72)}
.hero-bottom{display:grid;grid-template-columns:1.1fr .25fr 1fr;align-items:end;gap:30px}
.hero-copy{font-size:15px;line-height:1.7;color:#aaa7ad;max-width:480px;margin:0}.hero-copy em{color:#eee;font-style:normal}
.circle-link{width:68px;height:68px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:grid;place-items:center;font-size:22px;transition:.35s cubic-bezier(.2,.8,.2,1)}
.circle-link:hover{background:#fff;color:#08080a;transform:rotate(-35deg) scale(1.05)}
.hero-meta{justify-self:end;display:flex;gap:18px;font:9px "DM Mono",monospace;color:#5f5b63}
.intro,.services,.skills,.contact,.portfolio-how{border-top:1px solid var(--line)}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;margin-top:60px}
.intro h2,.services h2{font-size:clamp(50px,7vw,105px);line-height:.92;letter-spacing:-.065em;margin:0}
.intro h2 span,.services h2 span{color:#77717f}
.scan-line{height:1px;width:100%;margin-top:70px;background:linear-gradient(90deg,rgba(255,255,255,.35),transparent);position:relative;overflow:hidden}.scan-line:after{content:"";position:absolute;top:0;left:-25%;width:25%;height:1px;background:#fff;animation:scan 4s infinite ease-in-out}
@keyframes scan{0%{left:-25%}60%,100%{left:110%}}
.large-copy{font-size:21px;line-height:1.55;color:#dedbe0;margin:0 0 25px}.muted{color:#77737a;line-height:1.75;margin:0}
.mini-stats{display:flex;gap:50px;margin-top:50px;border-top:1px solid var(--line);padding-top:22px}.mini-stats div{display:flex;flex-direction:column;gap:7px}.mini-stats strong{font-size:27px}.mini-stats span,.project-info p,.project-note,.live-stats,.price-label,.robux,.contact-row span,footer,code{font:9px "DM Mono",monospace;letter-spacing:.08em;color:#76727a}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.text-link{font:9px "DM Mono",monospace;color:#aaa7ad;transition:.25s}.text-link:hover{color:#fff;letter-spacing:.13em}
.project-list{display:grid;grid-template-columns:1.35fr .9fr;gap:5vw 2.5vw}
.project-card{display:block}.project-card:nth-child(2){margin-top:12vw}.project-card:nth-child(4){margin-top:-4vw}
.project-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:#151419;border:1px solid rgba(255,255,255,.08)}.project-image.portrait{aspect-ratio:16/11}
.project-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.86);transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .8s,scale .8s}.project-card:hover img{transform:scale(1.055);filter:saturate(1.14)}
.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 45%,rgba(0,0,0,.28));pointer-events:none}
.project-index{position:absolute;top:16px;left:16px;background:rgba(5,5,7,.72);backdrop-filter:blur(10px);padding:7px 9px;font:9px "DM Mono",monospace;z-index:2}
.open-chip,.dev-chip{position:absolute;right:16px;top:16px;background:#f1efec;color:#0a090b;padding:8px 10px;font:9px "DM Mono",monospace;z-index:2}.dev-chip{background:rgba(5,5,7,.72);color:#fff;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(10px)}
.project-info{padding:18px 2px 0;display:flex;justify-content:space-between;gap:20px;align-items:start}.project-info h3{font-size:22px;margin:0 0 7px;letter-spacing:-.035em}.project-info p{margin:0}
.live-stats{display:flex;gap:17px;align-items:center;white-space:nowrap}.live-stats span{display:flex;align-items:center;gap:6px}.live-stats b{font-weight:500;color:#ddd}.live-stats i{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 7px var(--accent)}
.project-note{padding-top:7px}
.services-grid{display:grid;grid-template-columns:1fr .7fr;gap:10vw;margin-top:60px;align-items:center}.service-copy .service-index{margin:0 0 25px}.service-intro{max-width:500px;color:#8b878f;line-height:1.8;margin-top:35px}.service-intro strong{color:#eee}
.price-card{border:1px solid rgba(255,255,255,.16);padding:38px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.01));position:relative;overflow:hidden}.price-card:before{content:"";position:absolute;inset:-50%;background:conic-gradient(from 180deg,transparent 0 70%,rgba(255,255,255,.08),transparent 75%);animation:rotateCard 8s linear infinite;pointer-events:none}@keyframes rotateCard{to{transform:rotate(360deg)}}
.price-card>*{position:relative}.price{font-size:80px;font-weight:700;letter-spacing:-.07em;margin-top:12px}.price span{font-size:25px;color:#8d8890}.robux{margin-top:-7px}.price-line{height:1px;background:var(--line);margin:30px 0}.price-card ul{list-style:none;padding:0;margin:0 0 32px;display:grid;gap:14px;color:#b9b5bc;font-size:13px}.price-card li:before{content:"+";margin-right:10px;color:#fff}.button{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(255,255,255,.25);padding:14px;font:9px "DM Mono",monospace;transition:.3s}.button:hover{background:#fff;color:#08080a}
.skills{padding-bottom:11vw}.skill-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.skill-grid div{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:230px;transition:background .35s,transform .35s}.skill-grid div:hover{background:rgba(255,255,255,.035);transform:translateY(-5px)}.skill-grid span{font:9px "DM Mono",monospace;color:#77727a}.skill-grid h3{font-size:22px;margin:50px 0 12px}.skill-grid p{font-size:13px;color:#77737a;line-height:1.6;margin:0}
.contact{min-height:80vh;display:flex;flex-direction:column;justify-content:center}.contact-wrap{display:grid;grid-template-columns:1fr .7fr;gap:10vw;margin-top:60px;align-items:end}.contact h2{font-size:clamp(65px,9vw,140px);line-height:.85;letter-spacing:-.08em;margin:18px 0 0}.contact-actions{border-top:1px solid rgba(255,255,255,.14)}.contact-row{width:100%;background:none;border:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:21px 0;cursor:pointer;text-align:left}.contact-row strong{font-size:13px;transition:transform .3s}.contact-row:hover strong{transform:translateX(7px)}.contact-row small{font-size:13px}
footer{display:flex;justify-content:space-between;padding:24px 8vw;border-top:1px solid rgba(255,255,255,.08);color:#555159}
.portfolio-hero{min-height:72vh;display:flex;flex-direction:column;justify-content:center}.portfolio-hero h1{font-size:clamp(80px,14vw,190px);line-height:.8;letter-spacing:-.09em;margin:60px 0 55px}.portfolio-hero>p{max-width:570px;color:#8e8a91;line-height:1.7}.portfolio-title-wrap{width:100%}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6vw 2.5vw}
.vfx-card{min-width:0;opacity:0;transform:translateY(25px);animation:cardIn .7s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--delay,0ms)}@keyframes cardIn{to{opacity:1;transform:none}}
.vfx-open{width:100%;padding:0;background:none;border:0;text-align:left;cursor:pointer}.media-wrap{position:relative;aspect-ratio:16/10;background:#121116;border:1px solid rgba(255,255,255,.08);overflow:hidden}.media-wrap video{width:100%;height:100%;object-fit:cover;display:block;background:#08080a;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s}.vfx-open:hover .media-wrap video{transform:scale(1.035);filter:saturate(1.15)}.media-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.20),transparent 45%,rgba(0,0,0,.45));pointer-events:none}.vfx-number{position:absolute;top:14px;left:14px;background:rgba(0,0,0,.6);padding:7px 9px;font:9px "DM Mono",monospace}.vfx-tag{position:absolute;right:14px;top:14px;background:#fff;color:#0a090b;padding:7px 9px;font:9px "DM Mono",monospace}.play-pill{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.88);opacity:0;background:#fff;color:#09090b;padding:12px 15px;font:9px "DM Mono",monospace;transition:.35s}.vfx-open:hover .play-pill{opacity:1;transform:translate(-50%,-50%) scale(1)}
.vfx-info{padding:17px 1px;display:flex;justify-content:space-between;gap:25px}.vfx-info h3{font-size:24px;margin:0 0 7px;letter-spacing:-.03em}.vfx-info p{margin:0;color:#85818a;line-height:1.65;font-size:13px;max-width:620px}.vfx-arrow{font-size:25px;color:#777;transition:.3s}.vfx-open:hover .vfx-arrow{color:#fff;transform:translate(4px,-4px)}
.portfolio-how{margin-top:0}.add-work{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:50px}.add-work div{border:1px solid var(--line);padding:30px;display:flex;gap:20px;min-height:140px}.add-work strong{font:10px "DM Mono",monospace}.add-work span{color:#8b878e;line-height:1.6;font-size:13px}code{color:#c6c1ca}.empty-portfolio{grid-column:1/-1;padding:100px 20px;text-align:center;border:1px dashed rgba(255,255,255,.12);color:#716d75}.empty-portfolio strong{display:block;color:#ddd;font-size:22px;margin-bottom:10px}
.lightbox{position:fixed;inset:0;background:rgba(3,3,5,.88);backdrop-filter:blur(22px);z-index:90;display:grid;place-items:center;padding:5vw;opacity:0;visibility:hidden;transition:.3s}.lightbox.open{opacity:1;visibility:visible}.lightbox-inner{width:min(1200px,100%);max-height:90vh;overflow:auto}.lightbox-media{background:#000;border:1px solid rgba(255,255,255,.14)}.lightbox-media video{display:block;width:100%;max-height:72vh}.lightbox-caption{padding:18px 2px}.lightbox-caption span{font:9px "DM Mono",monospace;color:#8e8a91;letter-spacing:.1em}.lightbox-caption h2{font-size:clamp(28px,4vw,52px);margin:8px 0}.lightbox-caption p{color:#88848c;max-width:700px;line-height:1.6;margin:0}.lightbox-close{position:fixed;top:24px;right:28px;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.4);border-radius:50%;font-size:28px;line-height:1;cursor:pointer;z-index:2;transition:.25s}.lightbox-close:hover{background:#fff;color:#000}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
@media(max-width:850px){
  .site-header{padding:0 20px}.site-nav{position:fixed;left:0;right:0;top:78px;background:rgba(8,8,10,.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);padding:20px;display:grid;gap:3px;transform:translateY(-140%);transition:.35s;z-index:55}.menu-open .site-nav{transform:translateY(0)}.site-nav a{padding:14px 4px}.menu-toggle{display:block;position:absolute;right:80px}.menu-open .menu-toggle span:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.header-cta{padding:9px}.section{padding:20vw 6vw}.hero{min-height:85vh}.hero h1{margin:45px 0 55px;font-size:22vw}.hero-side-note{display:none}.hero-bottom,.intro-grid,.services-grid,.contact-wrap{grid-template-columns:1fr}.circle-link{display:none}.hero-meta{justify-self:start;margin-top:20px;flex-wrap:wrap}.project-list{grid-template-columns:1fr;gap:55px}.project-card:nth-child(2),.project-card:nth-child(4){margin-top:0}.project-info{display:block}.live-stats{margin-top:13px}.skill-grid{grid-template-columns:1fr 1fr}.skill-grid div{min-height:200px}.portfolio-grid{grid-template-columns:1fr}.add-work{grid-template-columns:1fr}.portfolio-hero h1{font-size:20vw}.contact h2{font-size:18vw}footer{padding:22px 6vw;gap:15px;flex-wrap:wrap}.lightbox{padding:18px}.lightbox-media video{max-height:55vh}
}
@media(max-width:520px){.skill-grid{grid-template-columns:1fr}.price{font-size:65px}.mini-stats{gap:25px;flex-wrap:wrap}.project-info h3{font-size:19px}.hero-meta{font-size:8px}.vfx-info h3{font-size:20px}}

.vfx-poster{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);}
.vfx-card:hover .vfx-poster{transform:scale(1.025);}
