@charset "UTF-8";
:root{--paper:#f4f5ef;--ink:#192720;--muted:#59665e;--line:#d9ded4;--green:#315e45;--lime:#d3fa85;--mono:Consolas,"SFMono-Regular",monospace;--ease:cubic-bezier(.2,.75,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}::selection{background:var(--lime);color:var(--ink)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--green);outline-offset:6px}p,h1,h2,h3{margin:0}svg{width:100%;height:100%}.container,.hero-inner,.nav-inner,.footer-inner{max-width:1280px;width:calc(100% - 112px);margin-inline:auto}.skip-link{position:fixed;top:12px;left:16px;z-index:100;background:var(--lime);padding:14px;transform:translateY(-180%)}.skip-link:focus{transform:none}.scroll-progress{height:3px;background:var(--green);position:fixed;top:0;left:0;width:100%;transform:scaleX(0);transform-origin:left;z-index:30}.bg-glow,.bg-grid{display:none}
.nav{position:sticky;top:0;z-index:20;background:rgba(244,245,239,.93);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.nav-inner{height:88px;display:flex;align-items:center;gap:32px}.nav-logo{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:750;letter-spacing:-1px}.nav-logo-prompt{background:var(--ink);color:var(--lime);width:38px;height:38px;display:grid;place-items:center;border-radius:11px;font:700 17px var(--mono)}.nav-links{display:flex;gap:35px;margin-left:auto;font-size:14px;font-weight:550}.nav-links a{position:relative;padding:12px 0}.nav-links a:after{content:"";position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav-links a:hover:after,.nav-links a[aria-current]:after{transform:scaleX(1)}.lang-toggle{font:12px var(--mono);border:1px solid var(--line);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;transition:background .2s}.lang-toggle:hover{background:var(--lime)}
.hero{padding:76px 0 70px;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:auto auto auto;column-gap:64px;align-items:center}.hero-copy{grid-column:1;grid-row:1}.badge{display:inline-flex;align-items:center;gap:8px;font:11px var(--mono);text-transform:uppercase;letter-spacing:2px;padding:9px 13px;border:1px solid #c5cebe;border-radius:30px;margin-bottom:32px}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #315e450d}.hero-greeting{font-size:20px;color:var(--muted);margin-bottom:14px}.hero-name{font-size:clamp(64px,7.2vw,106px);font-weight:650;line-height:.99;letter-spacing:-.075em;max-width:570px}.dot{color:var(--green)}.hero-role{font-size:clamp(22px,2.4vw,32px);letter-spacing:-1px;margin-top:24px;color:var(--green)}
.hero-art{grid-column:2;grid-row:1/4;position:relative;aspect-ratio:1/1.1;background:#192b25;border-radius:180px 180px 28px 28px;overflow:hidden;isolation:isolate;box-shadow:0 25px 55px -35px #192b2580}.hero-art:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,#b5eb7326,transparent 65%);pointer-events:none}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#b6d2b510 1px,transparent 1px),linear-gradient(90deg,#b6d2b510 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(transparent,#000 40%,#000)}.orbit{position:absolute;border:1px solid #91b58b36;border-radius:50%;left:50%;top:49%;width:76%;aspect-ratio:1;transform:translate(-50%,-50%) rotate(-25deg)}.orbit-one:after{content:"";width:9px;height:9px;background:var(--lime);border-radius:50%;position:absolute;top:14%;left:14%;box-shadow:0 0 18px #d3fa8566}.orbit-one{animation:orbit 32s linear infinite}.orbit-two{width:93%;height:45%;transform:translate(-50%,-50%) rotate(-37deg);border-color:#91b58b50}.core{position:absolute;width:40%;aspect-ratio:1;left:30%;top:29%;display:grid;place-items:center;border:1px solid #d3fa8559;border-radius:32px;transform:rotate(-8deg);background:linear-gradient(145deg,#52794a,#293f32);box-shadow:0 0 90px #b0ec5220,inset 0 1px 0 #e6ffc036;animation:float 7s ease-in-out infinite}.core svg{width:70%;height:70%;stroke:var(--lime);stroke-width:1.5}.satellite{position:absolute;width:66px;height:66px;border:1px solid #7d98795c;border-radius:18px;background:#233b30;box-shadow:0 12px 25px #0002;display:grid;place-items:center;animation:float 6s ease-in-out infinite}.satellite svg{width:36px;height:36px;fill:none;stroke:#d0e4be;stroke-width:1.3}.satellite-one{left:14%;top:21%;transform:rotate(-10deg)}.satellite-two{right:8%;top:48%;animation-delay:-2s;transform:rotate(9deg)}.satellite-three{left:24%;bottom:14%;animation-delay:-4s;transform:rotate(-5deg)}.art-cross{position:absolute;color:#8da486;font:24px var(--mono)}.cross-one{right:23%;top:15%}.cross-two{left:11%;bottom:28%}
.terminal{grid-column:1;grid-row:2;margin-top:32px;border:1px solid var(--line);border-radius:12px;overflow:hidden;font:11px/1.9 var(--mono);background:#eaeee4}.terminal-bar{display:flex;align-items:center;gap:5px;padding:10px 14px;border-bottom:1px solid var(--line)}.terminal-dot{height:6px;width:6px;border-radius:50%;background:#b7c2af}.terminal-title{margin-left:8px;font-size:10px;color:var(--muted)}.terminal-body{padding:14px 16px}.term-prompt{color:var(--green);margin-right:8px}.term-output{color:var(--muted);margin-top:4px}.caret{display:inline-block;width:6px;height:12px;vertical-align:middle;background:var(--green);margin-left:3px;animation:blink 1.2s steps(2) 5}.hero-actions{grid-column:1;grid-row:3;display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;gap:23px;align-items:center;justify-content:center;min-height:50px;border-radius:7px;padding:12px 20px;font-size:13px;font-weight:600;transition:background .25s,transform .25s,box-shadow .25s}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--green);transform:translateY(-3px);box-shadow:0 8px 16px #19272020}.btn-ghost{border:1px solid #bac5b7}.btn-ghost:hover{background:#e5eadd;transform:translateY(-3px)}.btn-arrow{transition:transform .25s}.btn:hover .btn-arrow{transform:translateX(4px)}
.about{padding:82px 0;border-top:1px solid var(--line)}.about .container{display:grid;grid-template-columns:1fr 1.3fr;column-gap:90px}.kicker{display:block;color:var(--green);font:11px var(--mono);letter-spacing:1px;margin-bottom:18px}.section-title{font-size:clamp(32px,4vw,52px);font-weight:550;line-height:1.1;letter-spacing:-2px}.about-text{font-size:18px;line-height:1.85;color:var(--muted)}.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:62px}.stat{padding:4px 40px;border-left:1px solid #cbd3c4}.stat:first-child{padding-left:0;border:0}.stat-value{display:block;font-size:clamp(40px,5vw,66px);font-weight:500;letter-spacing:-3px;line-height:1.2}.stat-label{display:block;font:11px var(--mono);color:var(--muted);margin-top:12px}
.skills{padding:82px 0 96px;background:#e9ede3;border-block:1px solid var(--line)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px;counter-reset:card}.card{position:relative;overflow:hidden;padding:30px;min-height:315px;background:var(--paper);border:1px solid #d3dacb;border-radius:13px;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;counter-increment:card}.card:before{content:"0" counter(card);display:block;font:12px var(--mono);color:var(--green);margin-bottom:44px}.card:after{content:"↗";position:absolute;top:24px;right:25px;color:#84927e;font-size:24px;transition:transform .3s}.card-tag{font:9px var(--mono);letter-spacing:.6px;color:var(--green)}.card-title{font-size:23px;font-weight:550;line-height:1.25;letter-spacing:-.7px;margin:16px 0}.card-text{font-size:14px;line-height:1.8;color:var(--muted)}.card-line{position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}@media(hover:hover){.card:hover{transform:translateY(-7px);border-color:#97af88;box-shadow:0 15px 30px #273d2510}.card:hover:after{transform:translate(3px,-3px)}.card:hover .card-line{transform:scaleX(1)}}
.contact{padding:90px 0}.contact .container{position:relative;overflow:hidden;background:var(--ink);color:var(--paper);border-radius:18px;padding:58px 64px}.contact .container:after{content:"";position:absolute;right:-70px;top:-130px;width:420px;height:420px;border:1px solid #d3fa8520;border-radius:50%;box-shadow:0 0 0 60px #d3fa8505,0 0 0 120px #d3fa8504;pointer-events:none}.contact .kicker{color:var(--lime)}.contact .section-title{font-size:clamp(32px,4vw,50px)}.contact-text{color:#bdc8bf;font-size:15px;line-height:1.8;margin-top:22px;position:relative;z-index:1}.contact-email{position:relative;z-index:1;display:inline-flex;gap:16px;align-items:center;margin:28px 0 20px;font-size:clamp(27px,4.3vw,57px);letter-spacing:-1.8px;border-bottom:1px solid #d3fa8560;padding-bottom:10px;transition:color .3s,gap .3s}.contact-email:hover{color:var(--lime);gap:25px}.email-prefix{color:var(--lime);font-family:var(--mono);font-size:.65em}.contact-note{font:11px/1.6 var(--mono);color:#b4c1b7}.contact a:focus-visible{outline-color:var(--lime)}.footer{border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;gap:20px;padding-block:26px;color:var(--muted);font:10px/1.7 var(--mono)}
.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--delay,0ms)}.reveal-ready.visible{opacity:1;transform:none}@keyframes orbit{to{transform:translate(-50%,-50%) rotate(335deg)}}@keyframes float{50%{translate:0 -12px}}@keyframes blink{50%{opacity:0}}
@media(min-width:1000px){.hero-copy{animation:enter .9s var(--ease) both}.hero-art{animation:enter 1.2s var(--ease) both}@keyframes enter{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}}
@media(max-width:1050px){.container,.hero-inner,.nav-inner,.footer-inner{width:calc(100% - 64px)}.hero-inner{gap:0 32px}.hero-name{font-size:76px}.hero-art{aspect-ratio:1/1.35}.term-comment{font-size:10px}.about .container{column-gap:40px}.card{padding:24px}.card-title{font-size:21px}.nav-links{gap:22px}}
@media(max-width:760px){html{scroll-padding-top:130px}.container,.hero-inner,.nav-inner,.footer-inner{width:calc(100% - 40px)}.nav-inner{height:auto;min-height:76px;flex-wrap:wrap;gap:0 20px;padding-top:16px}.nav-logo{font-size:20px}.lang-toggle{margin-left:auto;width:36px;height:36px}.nav-links{order:3;width:100%;justify-content:space-between;margin:10px 0 0;gap:12px;font-size:12px}.nav-links a{padding-block:12px}.hero{padding:38px 0 46px}.hero-inner{grid-template-columns:1fr;gap:0}.hero-copy{grid-column:1;grid-row:1}.badge{margin-bottom:25px}.hero-greeting{font-size:17px}.hero-name{font-size:clamp(62px,12vw,90px);max-width:560px}.hero-role{font-size:25px;margin-top:18px}.hero-art{grid-column:1;grid-row:4;aspect-ratio:1.35;margin-top:36px;max-height:420px;border-radius:110px 110px 18px 18px}.core{width:29%;left:35.5%;top:26%;border-radius:24px}.orbit{width:64%}.orbit-two{width:86%;height:57%}.satellite{width:52px;height:52px;border-radius:13px}.satellite svg{width:29px;height:29px}.satellite-one{left:18%;top:19%}.satellite-two{right:16%;top:47%}.satellite-three{left:27%;bottom:10%}.terminal{margin-top:26px}.term-comment{font-size:11px}.hero-actions{margin-top:20px}.about,.skills{padding:50px 0}.about .container{grid-template-columns:1fr;gap:25px}.about-text{font-size:16px}.section-title{letter-spacing:-1.4px}.stats{margin-top:12px}.stat{padding:0 18px}.stat-value{font-size:42px;letter-spacing:-2px}.stat-label{font-size:9px;line-height:1.6}.cards{grid-template-columns:1fr;margin-top:28px;gap:14px}.card{min-height:0;padding:28px}.card:before{margin-bottom:28px}.card-title{font-size:25px;max-width:400px}.card-text{max-width:490px}.contact{padding:44px 0}.contact .container{padding:36px 24px}.contact-text{font-size:14px}.contact-email{letter-spacing:-1px;gap:9px}.contact-email:hover{gap:13px}.contact-note{font-size:10px}.footer-inner{flex-wrap:wrap;gap:6px;padding-block:20px}.footer-built{margin-left:auto}}
@media(max-width:360px){.container,.hero-inner,.nav-inner,.footer-inner{width:calc(100% - 32px)}.hero-name{font-size:59px}.btn{width:100%}.term-comment{font-size:10px}.terminal-body{padding:12px}.stat{padding:0 12px}.stat-value{font-size:36px}.contact .container{padding:30px 18px}.contact-email{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}

/* Pointer feedback remains decorative; every link works with keyboard and touch. */
.hero-art:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle 180px at var(--pointer-x,50%) var(--pointer-y,50%),#d3fa852c,transparent);opacity:0;transition:opacity .35s}
.hero-art.pointer-active:before{opacity:1}
.core{transition:transform .35s var(--ease)}
.hero-art.pointer-active .core{transform:perspective(600px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-8deg) scale(1.05)}
.card.pointer-active{background:radial-gradient(circle 210px at var(--pointer-x,50%) var(--pointer-y,50%),#d3fa855e,transparent),var(--paper);transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px)}
.footer-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-block:-10px;color:var(--green);text-decoration:underline;text-underline-offset:5px}
.footer-link span{transition:transform .25s}.footer-link:hover span{transform:translate(3px,-3px)}
@media(prefers-reduced-motion:reduce){.card.pointer-active,.hero-art.pointer-active .core{transform:none}.hero-art:before{display:none}}
