/* Kaustubh's animated portfolio */
:root{--bg:#080a10;--panel:#10131d;--panel2:#141824;--text:#f2f2f7;--muted:#9296a7;--line:rgba(255,255,255,.12);--purple:#a78bfa;--mint:#7cebd0;--blue:#6d8dff;--mono:"DM Mono",monospace;--sans:"Manrope",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:var(--purple);color:#080a10}
.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.055;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}
.nav{height:82px;max-width:1240px;margin:auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07);position:relative;z-index:30}
.brand{font-size:25px;font-weight:800;letter-spacing:-2px}.brand span{color:var(--purple)}
.nav-links{display:flex;gap:35px;font-size:12px;color:#c5c7d2}.nav-links a,.nav-cta,.footer a{transition:color .2s}.nav-links a:hover,.nav-cta:hover,.footer a:hover{color:var(--mint)}
.nav-cta{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:1px}.nav-cta span{color:var(--purple);font-size:16px;margin-left:8px}
.menu-toggle{display:none;background:none;color:white;border:0;font-size:22px}
.section-wrap{max-width:1240px;margin:0 auto;padding-left:34px;padding-right:34px}
.hero{min-height:690px;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;padding-top:45px;padding-bottom:90px}
.hero-copy{position:relative;z-index:2;padding:35px 0}
.eyebrow,.section-kicker,.project-type,.art-label,.hero-meta,.visual-top,.game-caption,.game-score,.recycle-caption,.scan-tag,.stack-note,.timeline-date{font-family:var(--mono);font-size:10px;letter-spacing:1.6px}
.eyebrow{color:#b7bac8;display:flex;align-items:center;gap:10px}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--mint);display:inline-block;box-shadow:0 0 12px #7cebd077}
h1{font-size:clamp(54px,7vw,96px);letter-spacing:-.075em;line-height:.99;margin:36px 0 25px;font-weight:700}
.gradient-text{background:linear-gradient(110deg,#c0a5ff 0%,#8d9fff 50%,#7cebd0 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-description{max-width:455px;font-size:16px;line-height:1.9;color:#a8acbc}
.hero-actions,.contact-actions,.project-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;align-items:center;gap:18px;padding:13px 18px;border:1px solid var(--line);border-radius:5px;font-size:11px;font-weight:700;transition:transform .25s,border-color .25s,background .25s}
.button:hover{transform:translateY(-3px);border-color:#a78bfa88}
.button span{font-size:16px}
.button-primary{background:var(--purple);border-color:var(--purple);color:#101018}
.button-primary:hover{background:#c0a8ff;color:#080a10}
.button-ghost{background:rgba(255,255,255,.015)}
.hero-meta{display:flex;gap:25px;margin-top:55px;color:#64697a;font-size:9px}
.hero-art{height:525px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
.art-grid{position:absolute;inset:10% 0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse,black,transparent 70%);z-index:-2}
.orbit{position:absolute;border:1px solid rgba(167,139,250,.24);border-radius:50%;transform:rotate(-24deg)}
.orbit-one{width:430px;height:190px;animation:orbit 17s linear infinite}.orbit-two{width:370px;height:280px;transform:rotate(57deg);border-color:rgba(124,235,208,.16);animation:orbit 23s linear infinite reverse}
.planet{position:absolute;border-radius:50%;filter:blur(.2px);box-shadow:0 0 35px currentColor}.planet-a{width:14px;height:14px;background:var(--mint);color:var(--mint);top:18%;right:17%}.planet-b{width:8px;height:8px;background:var(--purple);color:var(--purple);bottom:23%;left:13%}
.spark{position:absolute;color:var(--purple);font-size:25px;animation:float 5s ease-in-out infinite}.spark-a{right:14%;top:31%}.spark-b{left:16%;top:23%;color:var(--mint);animation-delay:-2s}
.avatar{position:relative;width:230px;height:340px;display:flex;flex-direction:column;align-items:center;animation:avatarFloat 5s ease-in-out infinite;filter:drop-shadow(0 20px 45px #0008)}
.avatar-shadow{position:absolute;width:230px;height:40px;bottom:45px;background:#0009;filter:blur(20px);border-radius:50%}
.avatar-cap{position:absolute;top:11px;z-index:3;width:147px;height:55px;border-radius:70% 70% 20% 20%;background:linear-gradient(145deg,#f4f2ed,#969ca8 58%,#444955);border-bottom:7px solid #5d6270;transform:rotate(-5deg);box-shadow:inset 0 5px 9px #fff9}
.avatar-cap:before{content:"";position:absolute;width:165px;height:15px;bottom:-10px;left:-10px;border-radius:50%;background:linear-gradient(#c4c8d0,#686e7c);box-shadow:0 5px 8px #0008}.avatar-cap span{position:absolute;inset:12px 30px auto;height:4px;background:#ffffff99;border-radius:100%}
.avatar-head{position:absolute;top:52px;width:155px;height:170px;border-radius:43% 43% 48% 48%;background:linear-gradient(115deg,#f1bd98 0%,#d89b79 45%,#98604e 100%);z-index:2;box-shadow:inset -12px -8px 20px #623b3b55,inset 8px 0 14px #ffe2c488}
.ear{position:absolute;top:70px;width:23px;height:42px;background:#c9886b;border-radius:50%;z-index:-1}.ear-left{left:-13px}.ear-right{right:-13px}
.brow{position:absolute;top:57px;width:39px;height:8px;border-top:5px solid #45322f;border-radius:50%}.brow-left{left:23px;transform:rotate(-5deg)}.brow-right{right:23px;transform:rotate(5deg)}
.eye{position:absolute;top:72px;width:31px;height:18px;border-radius:50%;background:#fff5e8;box-shadow:inset 0 -3px 2px #bd8d75;overflow:hidden}.eye-left{left:23px}.eye-right{right:23px}.eye i{position:absolute;width:12px;height:15px;background:#342d31;border-radius:50%;top:2px;left:9px}.eye i:after{content:"";position:absolute;top:2px;left:3px;width:4px;height:4px;background:white;border-radius:50%}
.nose{position:absolute;top:82px;left:69px;width:20px;height:36px;border-right:3px solid #a76551;border-bottom:3px solid #a76551;border-radius:0 0 13px 0;transform:rotate(8deg)}
.cheek{position:absolute;top:105px;width:24px;height:11px;border-radius:50%;background:#d76f6d55;filter:blur(3px)}.cheek-left{left:15px}.cheek-right{right:15px}
.mouth{position:absolute;top:132px;left:52px;width:52px;height:16px;border-bottom:4px solid #603e3c;border-radius:0 0 50% 50%}.mouth:after{content:"";position:absolute;width:30px;height:3px;background:#f6d7c9;top:2px;left:10px}
.neck{position:absolute;top:207px;width:58px;height:53px;background:linear-gradient(90deg,#a86b55,#d89b79,#a86b55);z-index:1}
.avatar-body{position:absolute;top:241px;width:220px;height:130px;border-radius:70px 70px 20px 20px;background:linear-gradient(115deg,#303542,#11151f 58%,#252a36);border:1px solid #444a58;overflow:hidden}.avatar-body:before{content:"";position:absolute;width:100px;height:90px;top:-35px;left:60px;background:#f2f2f4;clip-path:polygon(0 0,100% 0,50% 100%);opacity:.8}.avatar-body span{position:absolute;top:48px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:4px;color:#b2a0fa}.shirt-seam{position:absolute;top:0;left:50%;height:100%;border-left:1px solid #ffffff14}
.art-label{position:absolute;color:#f0f1f7;line-height:1.8}.art-label span{color:var(--purple);font-size:9px}.label-left{left:0;top:40%}.label-right{right:0;top:44%;text-align:right}
.floating-chip{position:absolute;z-index:4;background:#141824e8;border:1px solid #ffffff1c;padding:11px 14px;border-radius:6px;font-family:var(--mono);font-size:9px;color:#bfc3d3;box-shadow:0 10px 30px #0004;backdrop-filter:blur(10px)}.floating-chip b{color:var(--mint);margin-left:15px}.chip-top{top:13%;left:13%;animation:float 6s ease-in-out infinite}.chip-bottom{bottom:14%;right:7%;display:flex;gap:8px;align-items:center;animation:float 6s ease-in-out -2s infinite}
.scroll-cue{position:absolute;bottom:24px;left:34px;display:flex;align-items:center;gap:12px;font:9px var(--mono);letter-spacing:1.5px;color:#696e7d}.scroll-cue span{height:30px;width:1px;background:linear-gradient(var(--purple),transparent)}
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;background:#0b0e16}.marquee-track{display:flex;align-items:center;gap:32px;width:max-content;animation:marquee 28s linear infinite;font:10px var(--mono);letter-spacing:2px;color:#b8bdcc}.marquee-track b{color:var(--mint);font-size:17px}
.section-pad{padding-top:120px;padding-bottom:120px}.section-kicker{color:#858b9e;display:flex;gap:12px;align-items:center}.section-kicker span{color:var(--mint)}
.about{display:grid;grid-template-columns:.65fr 1.35fr;gap:40px}.about h2,.section-heading h2,.stack h2,.journey h2{font-size:clamp(36px,5vw,62px);line-height:1.15;letter-spacing:-.06em;margin:0;font-weight:600}.muted{color:#777d8e}.about-bottom{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:end;margin-top:40px}.about-bottom p,.stack-intro{color:var(--muted);font-size:14px;line-height:1.9;max-width:560px;margin:0}.text-link{display:inline-flex;gap:15px;align-items:center;font-size:11px;font-weight:700;white-space:nowrap}.text-link span{color:var(--mint);font-size:17px}
.what{border-top:1px solid var(--line)}.what-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:45px}.service-card{min-height:310px;border:1px solid var(--line);background:linear-gradient(145deg,#121622,#0d1018);padding:25px;position:relative;overflow:hidden;transition:transform .3s,border-color .3s}.service-card:hover{transform:translateY(-6px);border-color:#a78bfa66}.service-feature{background:radial-gradient(ellipse at 90% 0%,#4e3d7b40,transparent 55%),#10131d}.card-number{font:10px var(--mono);color:#74798a}.service-icon{margin-top:30px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #a78bfa66;border-radius:12px;color:var(--purple);font-size:22px}.icon-code{color:var(--mint);border-color:#7cebd066}.icon-eye{color:#8ca4ff;border-color:#8ca4ff66}.service-card h3{font-size:19px;letter-spacing:-.5px;margin:25px 0 10px}.service-card p{font-size:12px;line-height:1.8;color:var(--muted);max-width:320px}.card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.card-tags span{font:8px var(--mono);color:#a5a9b8;border:1px solid var(--line);padding:6px 7px;border-radius:3px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-heading h2{margin-top:18px}.section-heading>p{font-size:12px;color:var(--muted);max-width:250px;line-height:1.8}
.project{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding:30px 0 75px;border-top:1px solid var(--line)}.project:nth-of-type(odd){grid-template-columns:.95fr 1.05fr}.project:nth-of-type(odd) .project-visual{order:2}.project-visual{height:350px;border:1px solid #ffffff14;border-radius:8px;position:relative;overflow:hidden;background:#101521}.project-info{padding:15px 0}.project-type{color:var(--mint);font-size:9px}.project-info h3{font-size:clamp(28px,3vw,40px);letter-spacing:-.06em;margin:17px 0}.project-info p{font-size:13px;line-height:1.9;color:var(--muted);max-width:440px}.project-links{margin-top:25px}.wordle-visual{background:radial-gradient(ellipse at 60% 50%,#33305b,#10131f 70%);padding:20px}.visual-top{display:flex;justify-content:space-between;color:#858ba0;font-size:8px}.visual-top span:last-child{color:var(--mint)}.word-grid{position:absolute;top:75px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,42px);gap:5px}.tile{height:42px;display:grid;place-items:center;font-weight:800;font-size:18px;border-radius:3px;color:white}.tile.green{background:#538d62}.tile.yellow{background:#b59d4a}.tile.dark{background:#353949}.solver-card{position:absolute;bottom:27px;right:24px;background:#1a2030e8;border:1px solid #ffffff1c;padding:15px 20px;display:flex;flex-direction:column;gap:7px;min-width:155px;box-shadow:0 12px 40px #0005}.solver-card span,.solver-card small{font:8px var(--mono);color:#8e95a9;letter-spacing:1px}.solver-card strong{font-size:24px;letter-spacing:4px;color:var(--mint)}.visual-glow{position:absolute;width:140px;height:140px;background:#8c74ff33;filter:blur(50px);left:15%;bottom:0}
.game-visual{background:radial-gradient(circle at 50% 45%,#333046,#12141d 70%);display:flex;align-items:center;justify-content:center}.game-caption{position:absolute;top:22px;left:22px;color:#a6a9ba}.game-board{display:grid;grid-template-columns:repeat(4,48px);gap:7px;padding:10px;background:#2b2b37;border-radius:8px;transform:rotate(-5deg);box-shadow:0 20px 60px #0006}.game-board span{width:48px;height:48px;border-radius:4px;display:grid;place-items:center;background:#484655;color:#ddd;font-weight:800;font-size:17px}.game-board span:nth-child(3n){background:#373746}.game-board span:nth-child(6),.game-board span:nth-child(10){background:#c1a6fa;color:#15121d}.game-board span:nth-child(11){background:#9a82e8;color:#15121d}.game-board span:nth-child(15),.game-board span:nth-child(16){background:#7cebd0;color:#111722}.game-score{position:absolute;bottom:20px;left:22px;color:#8d91a3;font-size:8px}.game-score b{color:var(--purple);margin-left:12px;font-weight:400}
.recycle-visual{background:radial-gradient(ellipse at 50% 50%,#17483f,#10151d 72%)}.recycle-ring{position:absolute;border:1px solid #7cebd04a;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-25deg)}.ring-one{width:245px;height:160px}.ring-two{width:190px;height:250px;transform:translate(-50%,-50%) rotate(45deg)}.bottle{position:absolute;width:45px;height:125px;left:45%;top:27%;border:1px solid #a6f4db99;border-radius:9px 9px 12px 12px;background:linear-gradient(90deg,#2e9b8166,#b2ffe822,#14775e66);transform:rotate(-17deg);box-shadow:0 0 35px #65e4bf26}.bottle:before{content:"";position:absolute;width:19px;height:20px;top:-19px;left:12px;border:1px solid #a6f4db99;border-bottom:0;border-radius:4px 4px 0 0;background:#28846c}.bottle span{position:absolute;top:50px;left:4px;right:4px;height:28px;border:1px solid #a6f4db55;border-radius:3px}.bottle-two{left:57%;top:37%;transform:rotate(22deg) scale(.75);opacity:.75}.scan-line{position:absolute;top:50%;left:12%;right:12%;height:1px;background:var(--mint);box-shadow:0 0 12px var(--mint);animation:scan 3s ease-in-out infinite}.scan-tag{position:absolute;top:22px;right:20px;padding:9px 10px;background:#101e1be0;border:1px solid #7cebd055;color:#b4f8e5;font-size:8px}.scan-tag b{color:var(--mint);margin-left:9px}.recycle-caption{position:absolute;bottom:20px;left:22px;color:#91bdb2;font-size:8px}
.stack{border-top:1px solid var(--line);text-align:center}.stack .section-kicker{justify-content:center}.stack h2{margin-top:25px}.stack-intro{margin:18px auto 0}.stack-cloud{max-width:850px;min-height:280px;margin:45px auto 0;display:flex;align-items:center;justify-content:center;align-content:center;flex-wrap:wrap;gap:13px;perspective:600px}.tech{display:inline-flex;align-items:center;justify-content:center;padding:15px 19px;border:1px solid #ffffff1c;background:linear-gradient(135deg,#171b28,#10131d);border-radius:8px;color:#cfd2df;font-size:12px;font-weight:600;box-shadow:0 12px 35px #0003;animation:techFloat 5s ease-in-out infinite;transition:transform .25s,border-color .25s,color .25s}.tech:hover{transform:translateY(-8px) rotate(0)!important;border-color:#7cebd088;color:var(--mint)}.tech-python{color:#c5b3ff;transform:rotate(-5deg);animation-delay:-1s}.tech-pytorch{transform:translateY(15px) rotate(3deg);animation-delay:-2s}.tech-git{transform:rotate(5deg);animation-delay:-3s}.tech-html{transform:translateY(-10px) rotate(2deg);animation-delay:-.5s}.tech-js{transform:rotate(-3deg);animation-delay:-2.5s}.tech-cv{transform:translateY(8px) rotate(4deg);animation-delay:-1.5s}.tech-c{transform:rotate(4deg);animation-delay:-3.5s}.tech-rl{color:var(--mint);transform:translateY(-8px) rotate(-2deg);animation-delay:-2.2s}.tech-linux{transform:rotate(3deg);animation-delay:-.8s}.tech-github{transform:translateY(10px) rotate(-4deg);animation-delay:-3s}.tech-numpy{transform:rotate(3deg);animation-delay:-1.8s}.tech-algo{color:#a7b7ff;transform:translateY(-7px) rotate(-3deg);animation-delay:-2.8s}.stack-note{color:#626879;font-size:9px;margin-top:30px;letter-spacing:1px}
.journey{border-top:1px solid var(--line)}.journey-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:45px}.timeline{border-left:1px solid #ffffff24;padding-left:27px}.timeline-item{position:relative;display:grid;grid-template-columns:75px 1fr;gap:15px;padding:0 0 35px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--purple);left:-32px;top:4px;box-shadow:0 0 15px #a78bfa66}.timeline-date{font-size:9px;color:var(--mint);padding-top:2px}.timeline-item h3{font-size:14px;margin:0 0 8px}.timeline-item p{font-size:11px;color:var(--muted);line-height:1.8;margin:0}
.contact{margin:20px auto 70px;max-width:1172px;min-height:430px;border:1px solid #ffffff19;border-radius:10px;padding-top:70px;padding-bottom:70px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 0%,#3c356b45,transparent 45%),#0e111a}.contact .section-kicker,.contact h2,.contact>p,.contact-actions{position:relative;z-index:2}.contact h2{font-size:clamp(45px,7vw,78px);line-height:1.04;letter-spacing:-.07em;margin:30px 0 15px}.contact>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:460px}.contact-orb{position:absolute;border-radius:50%;filter:blur(1px);border:1px solid #a78bfa44}.orb-one{width:260px;height:260px;right:10%;top:20%;background:radial-gradient(circle at 30% 25%,#c2b1ff66,#7c68d411 55%,transparent 70%);box-shadow:inset -25px -25px 60px #05060a88,0 0 80px #8d78ff1c;animation:float 7s ease-in-out infinite}.orb-two{width:70px;height:70px;right:28%;top:22%;background:radial-gradient(circle at 30% 25%,#a2f6e5,#388c83 70%);border:0;box-shadow:inset -10px -10px 20px #0005;animation:float 5s ease-in-out -2s infinite}.footer{height:90px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:#777d8d}.footer p,.footer>a:last-child{font:9px var(--mono);letter-spacing:1px}.footer>a:last-child{font-size:8px}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}
@keyframes orbit{to{transform:rotate(336deg)}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes avatarFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes techFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes scan{0%,100%{transform:translateY(-65px);opacity:.4}50%{transform:translateY(65px);opacity:1}}

/* Glowing orb hero artwork, replacing the CSS avatar */
.orb-glow{position:absolute;width:310px;height:310px;display:grid;place-items:center;isolation:isolate;animation:orbBob 6s ease-in-out infinite}
.orb-halo{position:absolute;inset:-60px;border-radius:50%;background:radial-gradient(circle,rgba(143,109,255,.25),rgba(97,70,214,.10) 42%,transparent 72%);filter:blur(13px);animation:haloPulse 5s ease-in-out infinite}
.orb-core{position:absolute;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle at 31% 25%,#f1eaff 0%,#b6a2ff 8%,#8061f2 25%,#4730a6 49%,#17132f 72%,#080a10 100%);box-shadow:inset -23px -25px 44px rgba(3,4,12,.82),inset 10px 8px 24px rgba(255,255,255,.22),0 0 35px rgba(143,109,255,.45),0 0 95px rgba(111,78,255,.32);animation:orbShine 8s ease-in-out infinite}
.orb-highlight{position:absolute;top:56px;left:81px;width:66px;height:25px;border-radius:50%;background:rgba(255,255,255,.34);filter:blur(13px);transform:rotate(-32deg)}
.orb-ring{position:absolute;border:1px solid rgba(180,157,255,.55);border-radius:50%;width:340px;height:125px;transform:rotate(-25deg);box-shadow:0 0 16px rgba(145,113,255,.10)}
.orb-ring-one{animation:orbRing 14s linear infinite}
.orb-ring-two{width:290px;height:365px;transform:rotate(42deg);border-color:rgba(120,235,211,.24);animation:orbRing 19s linear infinite reverse}
.orb-satellite{position:absolute;width:18px;height:18px;right:26px;top:65px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#d6fff5,#64d9c2 45%,#226f68 100%);box-shadow:0 0 24px rgba(100,217,194,.55);animation:orbSatellite 7s ease-in-out infinite}
@keyframes orbBob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@keyframes haloPulse{0%,100%{opacity:.7;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}
@keyframes orbShine{0%,100%{filter:hue-rotate(0deg)}50%{filter:hue-rotate(9deg)}}
@keyframes orbRing{to{rotate:335deg}}
@keyframes orbSatellite{0%,100%{translate:0 0}50%{translate:12px -9px}}
@media(max-width:600px){.orb-glow{transform:scale(.88)}}

@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:70px;padding-bottom:100px}.hero-copy{padding-bottom:10px}.hero-art{height:480px;max-width:650px;width:100%;margin:0 auto}.scroll-cue{bottom:30px}.about{grid-template-columns:1fr;gap:30px}.what-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:span 2}.project,.project:nth-of-type(odd){grid-template-columns:1fr;gap:25px}.project:nth-of-type(odd) .project-visual{order:0}.project-visual{height:330px}.journey-layout{gap:35px}.contact{margin-left:20px;margin-right:20px}}
@media(max-width:600px){.nav{height:70px;padding:0 20px}.nav-links{display:none;position:absolute;top:69px;left:0;right:0;padding:22px;background:#0c0f17;border-bottom:1px solid var(--line);flex-direction:column;gap:20px}.nav-links.open{display:flex}.nav-cta{margin-left:auto;margin-right:20px;font-size:9px}.menu-toggle{display:block}.section-wrap{padding-left:21px;padding-right:21px}.hero{padding-top:55px}.hero h1{font-size:clamp(52px,14vw,76px);margin-top:28px}.hero-description{font-size:14px}.hero-meta{flex-direction:column;gap:9px;margin-top:35px}.hero-art{height:390px;transform:scale(.88);transform-origin:center}.orbit-one{width:340px}.orbit-two{width:300px}.label-left{left:-2px}.label-right{right:-2px}.chip-top{left:2%}.chip-bottom{right:0}.section-pad{padding-top:80px;padding-bottom:80px}.about h2,.section-heading h2,.stack h2,.journey h2{font-size:38px}.about-bottom{grid-template-columns:1fr;gap:22px}.what-grid{grid-template-columns:1fr}.service-card:last-child{grid-column:auto}.service-card{min-height:280px}.section-heading{align-items:start;flex-direction:column;gap:15px}.project{padding-bottom:55px}.project-visual{height:285px}.word-grid{grid-template-columns:repeat(5,35px);gap:4px;top:65px}.tile{height:35px;font-size:15px}.solver-card{bottom:18px;right:15px}.game-board{grid-template-columns:repeat(4,40px);gap:5px}.game-board span{width:40px;height:40px;font-size:14px}.stack-cloud{gap:9px;min-height:240px}.tech{font-size:10px;padding:12px 13px}.journey-layout{grid-template-columns:1fr;gap:40px}.timeline-item{grid-template-columns:65px 1fr;gap:10px}.contact{padding-top:50px;padding-bottom:50px;margin:0 12px 45px}.contact h2{font-size:52px}.orb-one{right:-100px;top:35%}.orb-two{right:22%;top:20%}.footer{padding-top:22px;padding-bottom:22px;height:auto;gap:15px;flex-wrap:wrap}.footer p{order:3;width:100%;margin:0}.footer>a:last-child{margin-left:auto}.scroll-cue{left:21px}.button{padding:12px 14px}.marquee-track{gap:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* Direct contact details */
.contact-details{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:30px;color:var(--muted,#a8a5b8);font-size:.95rem}
.contact-details p{margin:0;display:flex;flex-wrap:wrap;gap:9px}
.contact-details p span{color:var(--muted,#a8a5b8)}
.contact-details a{color:var(--text,#f7f5ff);text-decoration:none;border-bottom:1px solid rgba(167,139,250,.45);transition:color .2s ease}
.contact-details a:hover{color:#b9a4ff}
