/* PRABIN DIGITAL LAB — premium interaction layer */
:root{--glow:rgba(139,183,154,.18);--accent-strong:#b9e4c5}
html{scroll-padding-top:90px}
body{cursor:default;background-image:radial-gradient(circle at 70% 10%,rgba(139,183,154,.055),transparent 28%),radial-gradient(circle at 10% 80%,rgba(255,255,255,.025),transparent 25%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9997;background:linear-gradient(transparent 0 50%,rgba(255,255,255,.012) 50% 50.2%,transparent 50.2%);background-size:100% 8px;opacity:.12}
.site-header{transition:background .5s var(--ease),transform .5s var(--ease),box-shadow .5s var(--ease)}
.site-header.scrolled{box-shadow:0 15px 60px rgba(0,0,0,.12)}
.brand-mark{position:relative;overflow:hidden;transition:transform .45s var(--ease),background .3s}.brand:hover .brand-mark{transform:rotate(-7deg);background:var(--accent);color:var(--bg)}
.desktop-nav a{position:relative;padding:8px 0}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:1px;height:1px;background:var(--accent);transition:right .45s var(--ease)}.desktop-nav a:hover:after,.desktop-nav a.active:after{right:0}
.hero{isolation:isolate;background:#070908}.hero:before{background:linear-gradient(90deg,rgba(7,9,8,.96),rgba(7,9,8,.5) 48%,rgba(7,9,8,.08));}.hero:after{height:45%}
.hero-grid{min-height:calc(100svh - 80px)}
.hero-copy h1{font-size:clamp(78px,12vw,178px);text-wrap:balance}.hero-copy h1 em{display:inline-block;transform:translateX:.12em}.hero-copy .kicker{position:relative;display:inline-flex;align-items:center;gap:10px}.hero-copy .kicker:before{content:"";width:28px;height:1px;background:var(--accent)}
.hero-intro{font-size:clamp(15px,1.2vw,18px);line-height:1.7}.hero-role span{transition:color .3s}.hero-role span:hover{color:var(--accent-strong)}
.hero-actions .button,.hero-actions .text-link{transition:transform .55s var(--ease),box-shadow .55s var(--ease),background .3s,border-color .3s}.hero-actions .button:hover{box-shadow:0 18px 45px var(--glow)}
.portrait-frame{transform:translateZ(0);box-shadow:0 40px 120px rgba(0,0,0,.3)}.portrait-frame img{transition:transform 1.2s var(--ease),filter 1s}.hero-visual:hover .portrait-frame img{transform:scale(1.035)}.portrait-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.12) 48%,transparent 62%);transform:translateX(-120%);z-index:3;pointer-events:none}.hero-visual:hover .portrait-frame:before{animation:sheen 1.3s var(--ease)}
.hero-note{box-shadow:0 25px 70px rgba(0,0,0,.25);transition:transform .5s var(--ease),border-color .3s}.hero-visual:hover .hero-note{transform:translateY(-8px) rotate(-1deg);border-color:var(--accent)}
.scroll-cue{transition:color .3s,transform .5s var(--ease)}.scroll-cue:hover{color:var(--accent);transform:translateY(-5px)}
.section{overflow:hidden}.section:before{content:attr(id);position:absolute;right:-.03em;top:-.16em;font:700 clamp(110px,24vw,420px)/1 var(--sans);letter-spacing:-.1em;color:currentColor;opacity:.018;pointer-events:none}
.section-intro{position:relative}.section-intro h2{max-width:10ch}.section-intro h2 em{position:relative}.section-intro h2 em:after{content:"";display:block;width:1.4em;height:2px;background:var(--accent);margin-top:.18em;opacity:.65}
.about-layout,.capability-grid,.field-record,.archive-grid,.contact-layout{position:relative;z-index:1}
.manifesto,.fact-stack,.capability,.archive-item,.contact-list>a,.contact-list>button{transition:background .45s var(--ease),transform .45s var(--ease),border-color .35s}.manifesto:hover{background:color-mix(in srgb,var(--surface) 92%,var(--accent))}.fact-stack>div:hover{background:color-mix(in srgb,var(--surface2) 80%,var(--accent));transform:translateX(5px)}
.signal{position:relative;overflow:hidden}.signal:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-90px;height:170px;border-radius:50%;border:1px solid rgba(8,16,11,.22);box-shadow:0 -20px 0 -19px rgba(8,16,11,.16),0 -40px 0 -39px rgba(8,16,11,.12)}.signal-grid>div{transition:transform .6s var(--ease)}.signal-grid>div:hover{transform:translateY(-8px)}
.capability{background:color-mix(in srgb,var(--bg) 94%,white 6%)}.skill>i{position:relative;overflow:hidden}.skill em{box-shadow:0 0 18px var(--glow)}
.project-showcase{background:#0a0d0b;color:var(--ink);border-block:1px solid var(--line);position:relative;overflow:hidden}.project-showcase:after{content:"PX";position:absolute;right:-.03em;top:-.25em;font:800 30vw/1 var(--sans);letter-spacing:-.12em;color:var(--accent);opacity:.025;pointer-events:none}.project-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1px;background:var(--line);position:relative;z-index:1}.project-main,.project-side{background:var(--bg);padding:clamp(28px,5vw,70px)}.project-main{min-height:650px;display:flex;flex-direction:column;justify-content:space-between}.project-number{font:600 10px var(--mono);color:var(--accent);letter-spacing:.15em}.project-title{font-size:clamp(65px,10vw,150px);line-height:.78;letter-spacing:-.09em;margin:50px 0 20px}.project-title em{font-family:var(--serif);font-weight:400}.project-description{max-width:52ch;color:var(--muted);font-size:16px}.project-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.project-tags span{border:1px solid var(--line2);padding:8px 10px;font:600 9px var(--mono);color:var(--muted)}.project-visual{height:220px;margin-top:35px;border:1px solid var(--line);position:relative;overflow:hidden;background:radial-gradient(circle at 70% 30%,rgba(139,183,154,.18),transparent 30%),linear-gradient(135deg,#101712,#070908)}.project-visual:before{content:"LIVE FIRE PREDICTION / NEPAL";position:absolute;left:18px;top:18px;font:600 9px var(--mono);color:var(--accent)}.project-visual:after{content:"01  02  03";position:absolute;right:18px;bottom:18px;font:600 9px var(--mono);color:var(--muted)}.radar{position:absolute;inset:20% 35%;border:1px solid rgba(139,183,154,.5);border-radius:50%;box-shadow:0 0 0 30px rgba(139,183,154,.035),0 0 0 60px rgba(139,183,154,.025)}.radar:after{content:"";position:absolute;width:50%;height:1px;left:50%;top:50%;transform-origin:left;background:linear-gradient(90deg,var(--accent),transparent);animation:sweep 3.5s linear infinite}.project-side{display:grid;align-content:start}.project-stat{padding:24px 0;border-bottom:1px solid var(--line)}.project-stat span{display:block;font:600 9px var(--mono);color:var(--accent);margin-bottom:8px}.project-stat strong{font-size:clamp(24px,3vw,40px);letter-spacing:-.05em}.project-side .button{margin-top:35px}
.archive-item{min-height:360px}.archive-item:hover{transform:translateY(-6px);z-index:2}.archive-item:before{content:"";position:absolute;inset:0;border:1px solid transparent;pointer-events:none;transition:border-color .35s}.archive-item:hover:before{border-color:var(--accent)}
.gallery-item{transition:transform .6s var(--ease),border-color .35s}.gallery-item:hover{transform:translateY(-5px);border-color:var(--accent)}
.gateway{position:relative;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.12)}.gateway:after{content:"PLAY";position:absolute;right:-.05em;bottom:-.32em;font:800 22vw/1 var(--sans);letter-spacing:-.1em;opacity:.055;pointer-events:none}.gateway>*{position:relative;z-index:1}
.contact-list>a:hover,.contact-list>button:hover{padding-left:12px;border-color:var(--accent)}.contact-form input,.contact-form textarea{transition:border-color .3s,box-shadow .3s}.contact-form input:focus,.contact-form textarea:focus{box-shadow:0 4px 0 -3px var(--accent)}
.footer{position:relative}.footer-top a:last-child{transition:transform .4s var(--ease)}.footer-top a:last-child:hover{transform:translateY(-4px)}
.button,.text-link,.desktop-nav a,.gallery-item,.archive-item,.game{will-change:transform}
[data-magnetic]{transition:transform .35s var(--ease)}
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:10000;border-radius:50%;transform:translate(-50%,-50%);opacity:0}.cursor-dot{width:5px;height:5px;background:var(--accent)}.cursor-ring{width:34px;height:34px;border:1px solid rgba(139,183,154,.65);transition:width .25s,height .25s,border-color .25s,opacity .25s}.cursor-ring.is-hover{width:56px;height:56px;border-color:var(--accent)}
.reveal{transform:translate3d(0,50px,0) scale(.985);filter:blur(4px);transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease)}.reveal.is-visible{filter:none}.reveal-delay-2{transition-delay:.2s}
@keyframes sheen{to{transform:translateX(120%)}}@keyframes sweep{to{transform:rotate(360deg);transform-origin:left}}@keyframes pulse{50%{opacity:.45;transform:scale(1.08)}}
@media(max-width:900px){.project-grid{grid-template-columns:1fr}.project-main{min-height:560px}.cursor-dot,.cursor-ring{display:none}}
@media(max-width:560px){.hero-copy h1{font-size:clamp(68px,19vw,110px)}.project-title{font-size:clamp(58px,18vw,100px)}.project-main{min-height:520px}.project-visual{height:180px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.cursor-dot,.cursor-ring{display:none}}

/* Cursor disabled by design */
.cursor-dot,.cursor-ring{display:none!important;pointer-events:none!important}


