:root{--bg:#080b0a;--panel:#0d1210;--line:rgba(198,227,204,.12);--muted:#87928b;--white:#eff4f0;--green:#bbff6a;--mono:ui-monospace,'SFMono-Regular',Consolas,monospace;--sans:system-ui,-apple-system,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--sans);overflow-x:hidden}.matrix{position:fixed;inset:0;width:100%;height:100%;opacity:.14;pointer-events:none;z-index:0}.page-shell{max-width:1440px;padding:0 7.2%;margin:auto;position:relative;z-index:3}.topbar{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.08em}.brand{display:flex;align-items:center;gap:12px;color:var(--white);text-decoration:none}.brand-mark{font-family:var(--sans);font-size:18px;font-weight:800;letter-spacing:-.055em}.orb-core span{color:var(--green)}.brand-name{font-size:10px;letter-spacing:.15em}.system-status{display:flex;align-items:center;gap:9px;color:#a3ada6}.status-dot,.tag-pulse{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 10px var(--green);animation:pulse 2s infinite}.main-nav{display:flex;align-items:center;gap:28px}.main-nav a{color:#aab5ac;text-decoration:none;font:9px var(--mono);letter-spacing:.1em;transition:color .2s}.main-nav a:hover{color:var(--green)}.main-nav a span{color:var(--green);font-size:13px;margin-left:3px}.hero{min-height:690px;height:calc(100vh - 86px);max-height:860px;position:relative;display:grid;grid-template-columns:1.04fr .96fr;align-items:center}.hero-copy{position:relative;z-index:1;margin-top:-15px;animation:rise .8s both}.eyebrow,.section-kicker{font:10px var(--mono);letter-spacing:.14em;color:#9ca89f}.eyebrow-line{display:inline-block;width:23px;height:1px;background:var(--green);vertical-align:middle;margin:0 9px 3px 0}.eyebrow-sep{color:#4b5a50;margin:0 7px}h1{font-size:clamp(58px,7vw,100px);line-height:.99;letter-spacing:-.075em;margin:28px 0 23px;font-weight:700}.outline-text{color:transparent;-webkit-text-stroke:1px rgba(235,244,237,.63)}.green-text{color:var(--green)}.intro{max-width:420px;color:#9da8a0;font-size:14px;line-height:1.85;margin:0 0 23px}.intro strong{color:var(--white);font-weight:600}.typed-line{font:12px var(--mono);color:#c1cbc3}.prompt{color:var(--green);margin-right:9px}.caret{width:7px;height:14px;display:inline-block;background:var(--green);vertical-align:-3px;margin-left:4px;animation:blink 1s steps(2) infinite}.hero-actions{display:flex;gap:11px;margin-top:32px}.button{height:48px;padding:0 19px;display:inline-flex;align-items:center;gap:23px;text-decoration:none;font:11px var(--mono);transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--green);color:#10170b}.button-primary:hover{background:#d3ffa2}.button-primary span{font-size:16px}.button-quiet{border:1px solid var(--line);color:var(--white)}.button-quiet:hover{background:rgba(255,255,255,.05)}.button-quiet span{color:var(--green);font-size:16px}.visual-stage{height:540px;position:relative;display:flex;align-items:center;justify-content:center;perspective:900px;animation:fade .9s .2s both}.stage-label{position:absolute;left:7%;right:7%;display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:.11em;color:#6f7e73}.label-top{top:50px}.label-bottom{bottom:50px}.orb-wrap{width:270px;height:270px;position:relative;z-index:2;transform-style:preserve-3d;transition:transform .2s ease-out;animation:float 5s ease-in-out infinite}.orb{height:100%;width:100%;border-radius:50%;position:relative;overflow:hidden;background:radial-gradient(circle at 32% 25%,rgba(206,255,150,.96) 0,rgba(151,239,98,.7) 7%,rgba(34,116,63,.8) 27%,rgba(7,33,23,.98) 64%,#07130e 75%);box-shadow:inset -25px -15px 45px #020805,inset 15px 12px 40px rgba(191,255,122,.35),0 0 80px rgba(124,255,91,.18),0 0 170px rgba(47,200,107,.1);transform:rotateX(-15deg) rotateY(-20deg)}.orb:before,.orb:after{content:"";position:absolute;inset:-10%;border-radius:50%;border:1px solid rgba(195,255,154,.38);transform:scaleY(.23) rotate(-23deg)}.orb:after{transform:scaleY(.42) rotate(44deg);border-color:rgba(122,246,148,.22)}.orb-grid{position:absolute;inset:-45%;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 19px,rgba(178,255,147,.27) 20px,transparent 21px),repeating-linear-gradient(90deg,transparent 0 19px,rgba(178,255,147,.22) 20px,transparent 21px);transform:rotate(-24deg);mask-image:radial-gradient(ellipse,black 20%,transparent 64%);animation:gridturn 28s linear infinite}.orb-shine{position:absolute;width:90px;height:140%;top:-20%;left:12%;transform:rotate(32deg);background:linear-gradient(90deg,transparent,rgba(190,255,133,.12),transparent);filter:blur(9px)}.orb-core{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(20px,2.4vw,30px);font-weight:800;letter-spacing:-.06em;color:rgba(232,255,210,.8);text-shadow:0 0 35px rgba(168,255,118,.55);transform:translateZ(30px)}.orbit{position:absolute;z-index:1;width:390px;height:145px;border:1px solid rgba(166,255,139,.28);border-radius:50%;transform:rotate(-27deg);box-shadow:0 0 13px rgba(100,255,120,.06);animation:orbit 13s linear infinite}.orbit-two{width:435px;height:202px;transform:rotate(53deg);border-color:rgba(76,218,153,.2);animation-duration:17s;animation-direction:reverse}.orbit-three{width:330px;height:455px;transform:rotate(68deg);border-color:rgba(173,255,146,.13);animation-duration:24s}.orb-node{position:absolute;width:7px;height:7px;border-radius:50%;background:#d1ff98;box-shadow:0 0 14px 4px rgba(184,255,108,.5);z-index:3}.node-one{top:22%;left:34%}.node-two{right:13%;top:49%;width:4px;height:4px}.node-three{bottom:22%;left:25%;width:4px;height:4px}.float-tag{position:absolute;z-index:4;padding:12px 14px;border:1px solid rgba(188,255,190,.14);background:rgba(9,17,13,.82);backdrop-filter:blur(12px);font:8px/1.65 var(--mono);letter-spacing:.08em;color:#a5b5a7;box-shadow:0 8px 25px rgba(0,0,0,.2)}.float-tag b{color:var(--green);font-weight:400;margin-left:8px}.tag-one{top:23%;right:0;transform:rotate(3deg)}.tag-icon{color:var(--green);font-size:13px;margin-right:5px}.tag-two{bottom:21%;left:0;transform:rotate(-4deg)}.tag-pulse{display:inline-block;margin-right:6px;width:5px;height:5px}.crosshair{position:absolute;font:16px var(--mono);color:#577260}.crosshair-one{top:18%;left:14%}.crosshair-two{bottom:19%;right:14%}.scroll-hint{position:absolute;bottom:30px;left:0;display:flex;align-items:center;gap:12px;font:8px var(--mono);letter-spacing:.12em;color:#748077}.scroll-line{height:28px;width:1px;background:linear-gradient(var(--green),transparent)}.hero-index{position:absolute;bottom:34px;right:0;font:10px var(--mono);color:#dce5de}.hero-index span{color:#627066}.connect{padding:100px 0 110px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:31px}.section-kicker{color:var(--green)}h2{font-size:clamp(37px,5vw,58px);line-height:1;letter-spacing:-.065em;margin:18px 0 0}h2 span{color:#77847a;font-weight:500}.section-heading>p{font-size:12px;line-height:1.8;color:#7d8980;margin:0 0 3px}.social-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.social-card{min-height:190px;padding:18px 19px;position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--white);background:linear-gradient(145deg,rgba(20,29,23,.78),rgba(11,15,13,.6));border:1px solid var(--line);transition:transform .25s,border-color .25s,background .25s;overflow:hidden}.social-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 100% 100%,rgba(177,255,104,.09),transparent 55%);opacity:0;transition:opacity .3s}.social-card:hover{transform:translateY(-5px);border-color:rgba(188,255,106,.45);background:#101812}.social-card:hover:before{opacity:1}.social-number{font:8px var(--mono);letter-spacing:.1em;color:#7f8e82}.social-icon{font-size:21px;color:var(--green);margin-top:19px;height:27px}.x-icon{font-size:19px}.social-name{font-size:15px;font-weight:600;margin-top:5px}.social-handle{font:9px var(--mono);color:#808d83;margin-top:4px}.social-arrow{position:absolute;right:18px;bottom:17px;color:var(--green);font-size:16px;transition:transform .2s}.social-card:hover .social-arrow{transform:translate(3px,-3px)}footer{height:76px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font:8px var(--mono);letter-spacing:.09em;color:#78837b}.footer-brand .brand-mark{font-size:16px;color:var(--white)}.footer-nav{display:flex;gap:18px}.footer-nav a{color:#9ca89f;text-decoration:none}.footer-nav a:hover{color:var(--green)}.footer-heart{color:var(--green);margin-left:5px}.back-top{color:#cbd5ce;text-decoration:none}.back-top:hover{color:var(--green)}@keyframes pulse{50%{opacity:.45;box-shadow:0 0 3px var(--green)}}@keyframes blink{50%{opacity:0}}@keyframes gridturn{to{transform:rotate(336deg)}}@keyframes orbit{to{rotate:360deg}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}
@media(max-width:900px){.page-shell{padding:0 5%}.hero{grid-template-columns:1fr 1fr;min-height:640px}.visual-stage{transform:scale(.86);margin:0 -30px}.social-card{min-height:175px}.tag-one{right:-10px}}@media(max-width:650px){.page-shell{padding:0 22px}.topbar{height:70px}.system-status{font-size:8px}.brand-name{font-size:9px}.main-nav{gap:15px}.main-nav a{font-size:8px}.hero{height:auto;min-height:0;padding:82px 0 72px;display:flex;flex-direction:column;align-items:stretch}.hero-copy{margin:0}.eyebrow{font-size:8px}h1{font-size:clamp(56px,15vw,82px);margin:22px 0}.intro{font-size:13px;max-width:370px}.visual-stage{height:390px;transform:none;margin:24px 0 0}.orb-wrap{width:205px;height:205px}.orbit{width:300px;height:112px}.orbit-two{width:320px;height:156px}.orbit-three{height:350px;width:260px}.stage-label{left:3%;right:3%}.label-top{top:27px}.label-bottom{bottom:25px}.float-tag{font-size:7px;padding:9px 10px}.tag-one{right:0;top:19%}.tag-two{left:0;bottom:16%}.scroll-hint{bottom:23px;left:2px}.hero-index{bottom:27px}.connect{padding:66px 0 72px}.section-heading{align-items:start;gap:18px;flex-direction:column;margin-bottom:24px}h2{font-size:46px}.section-heading>p br{display:none}.social-grid{grid-template-columns:repeat(2,1fr);gap:8px}.social-card{min-height:165px;padding:14px}.social-number{font-size:7px}.social-icon{margin-top:15px}.social-name{font-size:14px}.social-handle{font-size:8px}footer{height:auto;min-height:82px;gap:12px;flex-wrap:wrap;padding:17px 0;font-size:7px}.footer-nav{gap:12px}.footer-brand{order:0}.back-top{margin-left:auto}}@media(max-width:390px){.system-status{display:none}.main-nav{gap:11px}.hero-actions{gap:7px}.button{padding:0 13px;gap:12px;font-size:10px}.social-grid{grid-template-columns:1fr}.social-card{min-height:145px}.social-icon{margin-top:10px}footer{justify-content:space-between}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

.contact-email{display:inline-block;margin-top:8px;color:var(--green);text-decoration:none}.contact-email:hover{text-decoration:underline}
.brand-logo{display:block;width:122px;height:auto;overflow:visible}.footer-brand .brand-logo{width:105px}

.portfolio{padding:92px 0 100px;border-top:1px solid var(--line)}
.project-card{display:grid;grid-template-columns:1.12fr .88fr;min-height:330px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(140deg,rgba(17,25,20,.88),rgba(10,14,12,.94));box-shadow:0 22px 60px rgba(0,0,0,.22)}
.project-preview{position:relative;display:flex;min-height:330px;flex-direction:column;overflow:hidden;padding:24px 27px;background:radial-gradient(ellipse at 78% 42%,rgba(92,155,80,.17),transparent 38%),linear-gradient(145deg,#101a14,#0c110e);color:var(--white);text-decoration:none}
.project-preview:after{position:absolute;inset:0;background-image:linear-gradient(rgba(181,255,151,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(181,255,151,.055) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent 0%,black 100%);content:"";pointer-events:none}
.preview-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(198,227,204,.12);padding-bottom:13px;font:8px var(--mono);letter-spacing:.1em}
.preview-logo{font:700 14px var(--sans);letter-spacing:-.06em}.preview-logo span{color:var(--green)}
.preview-live{display:flex;align-items:center;gap:7px;color:#87978a}.preview-live i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green)}
.preview-content{position:relative;z-index:2;display:flex;width:62%;flex-direction:column;align-items:flex-start;margin:auto 0}
.preview-kicker{color:var(--green);font:8px var(--mono);letter-spacing:.11em}
.preview-content strong{margin-top:13px;font-size:clamp(22px,3vw,37px);line-height:1.08;letter-spacing:-.065em}
.preview-input{display:flex;width:min(100%,290px);align-items:center;justify-content:space-between;margin-top:17px;padding:11px 13px;border:1px solid rgba(198,227,204,.16);background:rgba(5,10,7,.68);color:#76837a;font:9px var(--mono)}
.preview-input b{color:var(--green);font-size:14px;font-weight:400}
.preview-platforms{display:flex;gap:7px;margin-top:10px}.preview-platforms i{padding:5px 7px;border:1px solid rgba(198,227,204,.1);color:#7d8d81;font:7px var(--mono);font-style:normal}
.preview-orb{position:absolute;right:7%;top:31%;display:grid;width:125px;height:125px;place-items:center;border:1px solid rgba(207,255,161,.55);border-radius:50%;background:radial-gradient(circle at 30% 25%,#e2ffb1 0,rgba(146,222,100,.88) 9%,rgba(31,91,54,.92) 35%,#07130d 73%);box-shadow:inset -13px -12px 23px #020704,inset 8px 8px 21px rgba(203,255,157,.3),0 0 45px rgba(124,255,91,.12);color:#eaffcc;font-size:29px;font-weight:800;letter-spacing:-.1em;text-shadow:0 0 18px rgba(196,255,147,.65);animation:portfolio-float 5s ease-in-out infinite}
.project-details{display:flex;flex-direction:column;justify-content:center;padding:34px 36px}
.project-meta{display:flex;flex-wrap:wrap;gap:10px 20px;color:#849087;font:8px var(--mono);letter-spacing:.1em}
.project-details h3{margin:22px 0 8px;font-size:32px;letter-spacing:-.07em}
.project-details>p{max-width:390px;margin:0;color:#9ba69d;font-size:12px;line-height:1.85}
.project-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:23px}
.project-links a{color:#e8f1e9;font:9px var(--mono);text-decoration:none;transition:color .2s}
.project-links a span{color:var(--green);margin-left:5px;font-size:14px}
.project-links a:hover{color:var(--green)}
@keyframes portfolio-float{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-9px) rotate(3deg)}}
@media(max-width:800px){.portfolio{padding:68px 0}.project-card{grid-template-columns:1fr}.project-preview{min-height:290px}.project-details{padding:27px}}
@media(max-width:650px){.portfolio{padding:65px 0}.project-preview{min-height:260px;padding:19px}.preview-orb{right:5%;width:94px;height:94px;font-size:23px}.preview-content{width:72%}.project-details{padding:23px}.project-details h3{font-size:27px}.project-links{gap:14px}}
@media(prefers-reduced-motion:reduce){.preview-orb{animation:none}}

.project-card + .project-card{margin-top:24px}
.project-card-bot{grid-template-columns:1fr;min-height:0}
.project-card-bot .project-details>p{max-width:72ch}
.project-features{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:17px 0 0}
.project-features li{padding:6px 8px;border:1px solid var(--line);color:#a6b6aa;font:8px var(--mono);line-height:1.5}
.project-links a:focus-visible{outline:2px solid var(--green);outline-offset:5px}
