@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap";:root{color-scheme:dark;--bg: #02040b;--bg-soft: #060b18;--panel: rgba(6, 10, 22, .82);--panel-strong: rgba(5, 9, 20, .92);--panel-alt: rgba(8, 13, 28, .94);--text: #f8fafc;--muted: #94a3b8;--line: rgba(148, 163, 184, .12);--line-strong: rgba(129, 150, 255, .34);--accent: #22d3ee;--accent-soft: rgba(34, 211, 238, .12);--scene-particle: #7795ff;--scene-particle-soft: rgba(119, 149, 255, .32);--scene-glow: rgba(84, 103, 205, .18);--shadow: 0 24px 70px rgba(1, 2, 7, .42);--shadow-strong: 0 30px 90px rgba(1, 2, 7, .56);--radius-xl: 30px;--radius-lg: 24px;--radius-md: 18px;--max-width: 1180px;--font-display: "Sora", sans-serif;--font-body: "Manrope", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;position:relative;isolation:isolate;overflow-x:hidden;font-family:var(--font-body);color:var(--text);background:radial-gradient(circle at 50% 42%,rgba(18,27,62,.42),transparent 18%),radial-gradient(circle at 50% 50%,rgba(7,10,22,.38),transparent 28%),linear-gradient(180deg,#02040b,#010208 52%,#000)}body:before{content:"";position:fixed;inset:-20vh -18vw auto;height:72vh;z-index:-3;pointer-events:none;background:radial-gradient(circle at 50% 54%,var(--scene-glow),transparent 24%),radial-gradient(circle at 22% 38%,rgba(52,71,153,.08),transparent 20%),radial-gradient(circle at 78% 36%,rgba(52,71,153,.08),transparent 20%);filter:blur(84px);opacity:.72;animation:scenePulse 16s ease-in-out infinite alternate}body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(circle at center,#0000 28%,#0003 74%,#000000a8),linear-gradient(180deg,#00000014,#00000052)}main,section,article,aside,header,footer,nav,div{min-width:0}a{color:inherit}img{display:block;height:auto;max-width:100%}strong,p,a,li,span{overflow-wrap:anywhere}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}#root{min-height:100vh;position:relative}#root:before,#root:after{content:"";position:fixed;top:0;left:0;pointer-events:none}#root:before{z-index:-2;inset:0;background:radial-gradient(circle at 50% 46%,rgba(13,19,39,.18),transparent 26%),radial-gradient(circle at 50% 48%,rgba(8,12,24,.12),transparent 42%);filter:blur(72px);opacity:.8}#root:after{z-index:-1;inset:0;background:linear-gradient(180deg,#01030703,#01030733)}.background-scene{--pointer-x: 50vw;--pointer-y: 46vh;--pointer-strength: .24;--scene-shift-x: 0px;--scene-shift-y: 0px;position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.background-scene:before,.background-scene:after{content:"";position:absolute;inset:0}.background-scene:before{background:radial-gradient(circle at 50% 48%,rgba(114,140,255,.1),transparent 16%),radial-gradient(circle at 50% 48%,rgba(66,88,196,.08),transparent 28%);filter:blur(58px);opacity:.78;animation:scenePulse 18s ease-in-out infinite alternate}.background-scene:after{background:radial-gradient(circle at center,transparent 26%,rgba(0,0,0,.16) 64%,rgba(0,0,0,.54) 100%),linear-gradient(180deg,rgba(255,255,255,.012),transparent 18%),linear-gradient(180deg,#03080d00,#03080d1a 58%,#01030657)}.background-scene--lite:before,.background-scene--lite:after,.background-scene--lite .background-scene__halo,.background-scene--lite .background-scene__core{animation:none}.background-scene--lite:before{filter:blur(34px);opacity:.5}.background-scene--lite .background-scene__halo{opacity:.28}.background-scene--lite .background-scene__core{width:min(22vw,220px);opacity:.34}.background-scene__halo,.background-scene__core,.background-scene__charge,.background-scene__charge-core,.background-scene__charge-ring,.background-scene__particle,.background-scene__particle-core{position:absolute;display:block}.background-scene__halo,.background-scene__core{left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%}.background-scene__halo{translate:calc(var(--scene-shift-x) * .24) calc(var(--scene-shift-y) * .24);mix-blend-mode:screen;filter:blur(32px);opacity:.46}.background-scene__halo--one{width:min(58vw,860px);height:min(34vw,500px);background:radial-gradient(circle at 50% 50%,rgba(129,150,255,.14),transparent 56%);animation:sceneHaloFloat 24s ease-in-out infinite alternate}.background-scene__halo--two{width:min(86vw,1180px);height:min(52vw,700px);background:radial-gradient(circle at 50% 50%,rgba(57,76,165,.12),transparent 60%);opacity:.34;animation:sceneHaloFloatReverse 28s ease-in-out infinite alternate}.background-scene__core{width:min(30vw,420px);aspect-ratio:1;background:radial-gradient(circle at center,rgba(255,255,255,.2) 0,rgba(119,149,255,.22) 12%,rgba(119,149,255,.08) 34%,transparent 72%);translate:calc(var(--scene-shift-x) * .38) calc(var(--scene-shift-y) * .38);filter:blur(18px);opacity:.62;animation:sceneCorePulse 12s ease-in-out infinite alternate}.background-scene__charge,.background-scene__charge-core,.background-scene__charge-ring{left:0;top:0;border-radius:50%;transform:translate(var(--pointer-x),var(--pointer-y)) translate(-50%,-50%)}.background-scene__charge{width:220px;aspect-ratio:1;background:radial-gradient(circle at center,rgba(160,184,255,.16),rgba(119,149,255,.06) 32%,transparent 72%);filter:blur(18px);opacity:calc(.1 + var(--pointer-strength) * .18);mix-blend-mode:screen;animation:sceneChargePulse 4.8s ease-in-out infinite}.background-scene__charge-core{width:44px;aspect-ratio:1;background:radial-gradient(circle at center,rgba(255,255,255,.92),rgba(152,176,255,.82) 28%,rgba(119,149,255,.18) 58%,transparent 78%);box-shadow:0 0 28px #849cff61,0 0 82px #4f67d638;opacity:calc(.18 + var(--pointer-strength) * .34);animation:sceneChargeCore 3.4s ease-in-out infinite}.background-scene__charge-ring{width:92px;aspect-ratio:1;border:1px solid rgba(160,184,255,.32);box-shadow:inset 0 0 22px #a0b8ff14,0 0 34px #7795ff1f;opacity:calc(.14 + var(--pointer-strength) * .24);scale:calc(.86 + var(--pointer-strength) * .24);animation:sceneChargeRing 2.8s ease-in-out infinite}.background-scene__field{position:absolute;inset:-12% -16%;transform-origin:center;translate:calc(var(--scene-shift-x) * -.34) calc(var(--scene-shift-y) * -.34);transform:perspective(1200px) rotateX(16deg) scale(1.06);animation:sceneFieldDrift 24s ease-in-out infinite alternate}.background-scene__particle{top:var(--particle-y);left:var(--particle-x);width:0;height:0;translate:calc(-50% + var(--particle-force-x, 0px)) calc(-50% + var(--particle-force-y, 0px));opacity:var(--particle-force-opacity, .82);filter:brightness(var(--particle-force-brightness, 1));will-change:translate,opacity,filter}.background-scene__particle-core{width:var(--particle-length);height:var(--particle-size);border-radius:999px;background:linear-gradient(90deg,#7795ff00,#7795fff0 24%,#a0b8fff5 56%,#7795ff00);box-shadow:0 0 10px var(--scene-particle-soft);transform:rotate(calc(var(--particle-rotation) + var(--particle-force-tilt, 0deg))) scaleX(var(--particle-force-scale, 1));transform-origin:center;translate:0 0;animation:sceneParticleSlide var(--particle-duration) ease-in-out infinite alternate,sceneParticleTwinkle var(--particle-twinkle) ease-in-out infinite;animation-delay:var(--particle-delay),var(--particle-delay)}.background-scene__particle--vortex{z-index:1}.background-scene__particle--vortex .background-scene__particle-core{filter:saturate(1.12)}.background-scene__particle--dust{z-index:0}.background-scene__particle--dust .background-scene__particle-core{opacity:calc(var(--particle-opacity) * .8);box-shadow:0 0 8px #7795ff2e;filter:blur(.2px)}.app-shell{width:min(calc(100% - clamp(20px,4vw,32px)),var(--max-width));margin:0 auto;padding:max(20px,env(safe-area-inset-top)) max(0px,env(safe-area-inset-right)) max(70px,env(safe-area-inset-bottom)) max(0px,env(safe-area-inset-left));position:relative;z-index:1}.app-shell:before{content:"";position:fixed;top:0;bottom:0;left:50%;width:min(calc(100% - clamp(20px,4vw,32px)),var(--max-width));transform:translate(-50%);z-index:0;pointer-events:none;border-left:1px solid rgba(140,177,203,.08);border-right:1px solid rgba(140,177,203,.08);background-image:linear-gradient(90deg,transparent calc(50% - .5px),rgba(140,177,203,.07) calc(50% - .5px),rgba(140,177,203,.07) calc(50% + .5px),transparent calc(50% + .5px))}.skip-link{position:absolute;left:-999px;top:16px;z-index:80;padding:12px 16px;border-radius:999px;background:var(--text);color:var(--bg);font-weight:700}.skip-link:focus{left:16px}.topbar{position:sticky;top:12px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px;padding:14px 18px;border:1px solid var(--line);border-radius:999px;background:#0f172ad1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 16px 36px #0000002e;animation:topbarDrop .72s cubic-bezier(.22,1,.36,1) both}.topbar__actions{display:flex;align-items:center;gap:18px}.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#67e8f9,var(--accent));color:var(--bg);font-family:var(--font-display);font-weight:800;box-shadow:0 16px 28px #71ddff2e;transition:transform .36s cubic-bezier(.22,1,.36,1),box-shadow .36s ease;animation:brandFloat 5s ease-in-out 1s infinite}.brand:hover .brand-mark{transform:rotate(-7deg) scale(1.08);box-shadow:0 18px 36px #22d3ee4d}.brand-copy{display:grid;gap:3px;white-space:nowrap}.brand-copy strong{font-family:var(--font-display);font-size:.98rem}.brand-copy span{font-size:.84rem;color:var(--muted)}.nav{display:flex;align-items:center;gap:20px}.nav a{position:relative;white-space:nowrap;color:var(--muted);text-decoration:none;font-size:.94rem;transition:color .18s ease,transform .18s ease}.nav a:after{content:"";position:absolute;right:0;bottom:-7px;left:0;height:2px;border-radius:999px;background:var(--accent);box-shadow:0 0 12px #22d3eea6;transform:scaleX(0);transform-origin:center;transition:transform .24s ease}.nav a:hover,.nav a.is-active{color:var(--text);transform:translateY(-2px)}.nav a:hover:after,.nav a.is-active:after{transform:scaleX(1)}.nav--open{animation:menuReveal .32s cubic-bezier(.22,1,.36,1) both}.nav--open a{animation:menuItemIn .36s cubic-bezier(.22,1,.36,1) backwards}.nav--open a:nth-child(2){animation-delay:40ms}.nav--open a:nth-child(3){animation-delay:80ms}.nav--open a:nth-child(4){animation-delay:.12s}.nav--open a:nth-child(5){animation-delay:.16s}.nav--open a:nth-child(6){animation-delay:.2s}.nav--open a:nth-child(7){animation-delay:.24s}.nav-toggle{display:none;width:48px;height:48px;flex:0 0 auto;border:1px solid var(--line);border-radius:14px;background:#ffffff08;color:var(--text);cursor:pointer}.nav-toggle span{display:block;width:18px;height:2px;margin:4px auto;border-radius:999px;background:currentColor;transition:transform .22s ease,opacity .22s ease}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}main{display:grid;gap:28px}.section{display:grid;gap:24px}[data-section]{scroll-margin-top:110px}.surface{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffff06,#ffffff02),var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .36s cubic-bezier(.22,1,.36,1),border-color .3s ease,box-shadow .3s ease}.surface:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at top right,rgba(113,221,255,.05),transparent 24%),linear-gradient(135deg,rgba(255,255,255,.03),transparent 36%,transparent 72%,rgba(113,221,255,.03));opacity:.75;transition:opacity .4s ease,transform .7s ease}.surface:after{content:"";position:absolute;top:-45%;left:-60%;z-index:0;width:42%;height:190%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(103,232,249,.08),transparent);transform:rotate(18deg) translate(-180%);transition:transform .9s cubic-bezier(.22,1,.36,1)}.surface>*{position:relative;z-index:1}.surface:hover{border-color:var(--line-strong);box-shadow:var(--shadow-strong)}.surface:hover:before{opacity:1;transform:scale(1.04)}.surface:hover:after{transform:rotate(18deg) translate(430%)}[data-reveal].is-visible.surface:hover{transform:translateY(-5px)}.button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:700;white-space:nowrap;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.button:before{content:"";position:absolute;top:-60%;left:-45%;width:30%;height:220%;background:#ffffff73;filter:blur(6px);transform:rotate(18deg) translate(-180%);transition:transform .6s ease}.button:hover{transform:translateY(-3px) scale(1.015)}.button:hover:before{transform:rotate(18deg) translate(560%)}.button:active{transform:translateY(0) scale(.98)}.button-primary{color:var(--bg);background:linear-gradient(135deg,#67e8f9,var(--accent));box-shadow:0 14px 26px #22d3ee33}.button-primary:hover{box-shadow:0 18px 38px #22d3ee52}.button-secondary{border-color:#8cb1cb24;background:#ffffff08;color:var(--text)}.button--header{min-height:42px;padding:0 16px}.eyebrow{margin:0;color:var(--accent);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.eyebrow:after{content:"";display:inline-block;width:28px;height:2px;margin:0 0 .25em 10px;border-radius:999px;background:currentColor;box-shadow:0 0 12px #22d3eea6;transform-origin:left;animation:accentLine 2.6s ease-in-out infinite}h1,h2,h3,h4{margin:0;font-family:var(--font-display);line-height:1.08;overflow-wrap:normal;text-wrap:balance}h1{font-size:clamp(2.9rem,7vw,5.2rem);max-width:11ch;text-shadow:0 0 0 rgba(34,211,238,0);animation:headingGlow 5s ease-in-out 1.2s infinite}h2{font-size:clamp(1.85rem,3vw,3rem)}h3{font-size:1.32rem}h4{font-size:1.02rem}p{margin:0;color:var(--muted);line-height:1.75}.lead{font-size:1.05rem;max-width:62ch}.card-index,.project-label{display:inline-flex;margin-bottom:14px;color:var(--accent);font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.section-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:26px;padding:30px 32px}.section-header.is-visible .section-header__intro,.section-header.is-visible .section-header__description{animation:contentRise .7s cubic-bezier(.22,1,.36,1) backwards}.section-header.is-visible .section-header__description{animation-delay:.12s}.section-header__intro{display:grid;gap:12px}.section-header__description{align-self:end}.hero-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:24px}.hero-panel,.profile-card,.skill-card,.process-panel,.contact-card,.contact-panel{padding:30px}.hero-panel{display:grid;gap:22px;align-content:start;min-height:100%;border:0}.hero-panel.is-visible>*{animation:contentRise .72s cubic-bezier(.22,1,.36,1) backwards}.hero-panel.is-visible>:nth-child(2){animation-delay:90ms}.hero-panel.is-visible>:nth-child(3){animation-delay:.18s}.hero-panel.is-visible>:nth-child(4){animation-delay:.27s}.hero-panel.is-visible>:nth-child(5){animation-delay:.36s}.hero-panel.is-visible>h1{animation:contentRise .72s cubic-bezier(.22,1,.36,1) 90ms backwards,headingGlow 5s ease-in-out 1.2s infinite}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.hero-highlights{display:flex;flex-wrap:wrap;gap:12px;padding:0;margin:0;list-style:none}.hero-highlights li,.about-keywords span,.chip{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid rgba(140,177,203,.12);border-radius:999px;background:#ffffff08;color:var(--text);font-size:.9rem;white-space:nowrap;transition:transform .24s ease,border-color .24s ease,background .24s ease,color .24s ease}.hero-highlights li{animation:chipFloat 4.8s ease-in-out infinite}.hero-highlights li:nth-child(2){animation-delay:-1.6s}.hero-highlights li:nth-child(3){animation-delay:-3.2s}.hero-highlights li:hover{transform:translateY(-5px);border-color:#22d3ee5c;background:var(--accent-soft);color:var(--accent)}.hero-aside{display:grid;align-self:stretch}.profile-card{display:grid;gap:18px;background:radial-gradient(circle at top right,rgba(113,221,255,.08),transparent 30%),var(--panel-strong)}.profile-card.is-visible .profile-card__header,.profile-card.is-visible .portrait-shell,.profile-card.is-visible .profile-card__body{animation:contentRise .7s cubic-bezier(.22,1,.36,1) backwards}.profile-card.is-visible .portrait-shell{animation-delay:.12s}.profile-card.is-visible .profile-card__body{animation-delay:.22s}.profile-card__header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.status-badge,.profile-role{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(140,177,203,.12);background:#ffffff08;font-size:.82rem;color:var(--text);white-space:nowrap}.status-badge:before{content:"";width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 #22d3ee80;animation:statusPulse 2.2s ease-out infinite}.profile-role{color:var(--accent)}.portrait-shell{overflow:hidden;border-radius:24px;border:1px solid rgba(140,177,203,.12);background:#ffffff05}.portrait-shell--hero{width:min(100%,360px);margin:0 auto}.portrait-shell img{width:100%;aspect-ratio:4 / 5;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .4s ease;animation:portraitBreathe 8s ease-in-out infinite}.portrait-shell:hover img{animation:none;transform:scale(1.06);filter:contrast(1.04) brightness(1.05)}.profile-card__body{display:grid;gap:10px}.profile-card__body h2{font-size:1.55rem}.contact-card span,.skill-card__header span{display:inline-block;margin-bottom:8px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.about-simple{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(32px,6vw,72px);align-items:center;padding:20px 32px 36px}.about-simple__portrait{position:relative;width:260px;aspect-ratio:1;margin:0;overflow:hidden;border-radius:50%;box-shadow:0 0 #22d3ee00;animation:portraitFloat 6s ease-in-out infinite,portraitHalo 4s ease-in-out infinite}.about-simple__portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .6s cubic-bezier(.22,1,.36,1)}.about-simple__portrait:hover img{transform:scale(1.07)}.about-simple__copy{display:grid;gap:18px;max-width:680px}.about-simple__copy p{font-size:1.05rem}.about-simple.is-visible .about-simple__copy p{animation:contentRise .7s cubic-bezier(.22,1,.36,1) backwards}.about-simple.is-visible .about-simple__copy p:nth-child(2){animation-delay:.14s}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.skill-card{display:grid;gap:18px;border:0}.skills-grid .skill-card:nth-child(2),.project-grid .project-card:nth-child(2),.contact-cards .contact-card:nth-child(2){transition-delay:90ms}.skills-grid .skill-card:nth-child(3),.project-grid .project-card:nth-child(3),.contact-cards .contact-card:nth-child(3){transition-delay:.18s}.skills-grid .skill-card:nth-child(4),.project-grid .project-card:nth-child(4){transition-delay:.27s}.skills-grid .skill-card:nth-child(5),.project-grid .project-card:nth-child(5){transition-delay:.36s}.skill-card:hover h3{color:var(--accent);transform:translate(5px)}.skill-card h3{transition:color .24s ease,transform .24s ease}.skill-card__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.skill-card__header span{margin-bottom:0}.skill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:0;margin:0;list-style:none}.skill-list li{position:relative;padding-left:16px;color:var(--muted);transition:color .22s ease,transform .22s ease}.skill-card.is-visible .skill-list li{animation:skillItemIn .52s cubic-bezier(.22,1,.36,1) backwards}.skill-card.is-visible .skill-list li:nth-child(2){animation-delay:50ms}.skill-card.is-visible .skill-list li:nth-child(3){animation-delay:.1s}.skill-card.is-visible .skill-list li:nth-child(4){animation-delay:.15s}.skill-card.is-visible .skill-list li:nth-child(5){animation-delay:.2s}.skill-card.is-visible .skill-list li:nth-child(6){animation-delay:.25s}.skill-card.is-visible .skill-list li:nth-child(7){animation-delay:.3s}.skill-card.is-visible .skill-list li:nth-child(8){animation-delay:.35s}.skill-list li:hover{color:var(--text);transform:translate(5px)}.skill-list li:before{content:"";position:absolute;top:.72em;left:0;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px #71ddff40;animation:bulletPulse 2.4s ease-in-out infinite}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{position:relative;display:grid;align-content:start;overflow:hidden;min-width:0;border:1px solid var(--line);border-radius:28px;background:var(--panel-strong);box-shadow:0 24px 64px #00000047;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.project-card:hover{transform:translateY(-4px);border-color:#71ddff52;box-shadow:0 30px 80px #00000061}.project-card:hover .project-card__body h3{color:var(--accent);transform:translate(5px)}.project-card:last-child:nth-child(odd){grid-column:1 / -1;width:calc(50% - 12px);justify-self:center}.project-card__media{position:relative;overflow:hidden;aspect-ratio:16 / 9;border-bottom:1px solid var(--line);background:#0c1426}.project-card__media:before{content:"";position:absolute;top:-120%;left:-25%;z-index:2;width:26%;height:340%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(103,232,249,.16),transparent);transform:rotate(18deg);animation:mediaSweep 7s ease-in-out infinite}.project-card__media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 54%,rgba(2,5,8,.7) 100%),radial-gradient(circle at top right,rgba(113,221,255,.12),transparent 36%)}.project-card__media img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.72) contrast(1.08) brightness(.78);transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .3s ease}.project-card:hover .project-card__media img{transform:scale(1.035);filter:saturate(.9) contrast(1.08) brightness(.88)}.project-card__tags{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;display:flex;flex-wrap:wrap;gap:8px}.project-card__tags span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(113,221,255,.34);border-radius:9px;color:#cffafe;background:#0891b2b8;box-shadow:0 8px 24px #0000003d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;transition:transform .22s ease,background .22s ease,border-color .22s ease}.project-card:hover .project-card__tags span{animation:tagBounce .5s cubic-bezier(.22,1,.36,1) both}.project-card:hover .project-card__tags span:nth-child(2){animation-delay:60ms}.project-card:hover .project-card__tags span:nth-child(3){animation-delay:.12s}.project-card:hover .project-card__tags span:nth-child(4){animation-delay:.18s}.project-card__body{display:grid;gap:16px;min-height:280px;padding:30px}.project-card__body h3{font-size:clamp(1.35rem,2.2vw,1.9rem);transition:color .24s ease,transform .24s ease}.project-card__body>p{font-size:.98rem}.project-card__footer{display:grid;gap:20px;margin-top:auto}.project-card__footer>span{color:var(--muted);font-size:.83rem;line-height:1.55}.project-card__links{display:flex;flex-wrap:wrap;gap:22px}.project-card__links a{display:inline-flex;align-items:center;gap:9px;color:var(--muted);text-decoration:none;font-size:.78rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;transition:color .18s ease,transform .18s ease}.project-card__links a:hover{color:var(--accent);transform:translateY(-1px)}.project-card__links svg{width:19px;height:19px;transition:transform .26s ease}.project-card__links a:hover svg{transform:rotate(-8deg) scale(1.12)}.project-art{position:absolute;inset:0;overflow:hidden;background-color:#05090d}.project-art:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(113,221,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(113,221,255,.06) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 94%);mask-image:linear-gradient(to bottom,black,transparent 94%);animation:gridDrift 12s linear infinite}.project-art__code{position:absolute;top:22px;left:22px;color:#b1ebf99e;font-family:monospace;font-size:.65rem;letter-spacing:.12em;animation:codeBlink 3.8s ease-in-out infinite}.project-art--face{background:radial-gradient(circle at 54% 44%,rgba(67,216,194,.2),transparent 24%),linear-gradient(135deg,#07131a,#05090e 62%)}.scan-frame{position:absolute;border:1px solid rgba(113,221,255,.22)}.scan-frame--one{inset:16% 22%;animation:framePulse 3.2s ease-in-out infinite}.scan-frame--two{inset:23% 29%;border-color:#71ddff70;animation:framePulse 3.2s ease-in-out -1.6s infinite}.face-map{position:absolute;top:17%;left:50%;width:42%;height:70%;transform:translate(-50%)}.face-map__head{position:absolute;top:2%;left:50%;width:41%;aspect-ratio:.78;transform:translate(-50%);border:2px solid rgba(173,239,255,.78);border-radius:50% 50% 44% 44%;box-shadow:inset 0 0 28px #71ddff14,0 0 22px #71ddff29}.face-map__body{position:absolute;left:50%;bottom:-8%;width:88%;height:48%;transform:translate(-50%);border:2px solid rgba(173,239,255,.58);border-bottom:0;border-radius:50% 50% 0 0}.face-map__line{position:absolute;top:34%;left:1%;right:1%;height:1px;background:#83e8ff;box-shadow:0 0 16px #58dfff;animation:scanFace 3.4s ease-in-out infinite}.project-art--trends{background:radial-gradient(circle at 50% 48%,rgba(79,132,235,.18),transparent 34%),linear-gradient(135deg,#07101b,#05090e 68%)}.trend-orbit{position:absolute;top:44%;left:50%;border:1px solid rgba(113,221,255,.22);border-radius:50%;transform:translate(-50%,-50%) rotate(-12deg)}.trend-orbit--one{width:54%;height:62%;animation:orbitOne 12s linear infinite}.trend-orbit--two{width:32%;height:72%;transform:translate(-50%,-50%) rotate(52deg);animation:orbitTwo 9s linear infinite reverse}.trend-chart{position:absolute;right:10%;bottom:17%;left:10%;display:grid;grid-template-columns:repeat(6,1fr);gap:4%;align-items:end;height:48%;padding:0 4%;border-bottom:1px solid rgba(113,221,255,.46)}.trend-chart span{height:var(--point);border-radius:7px 7px 0 0;background:linear-gradient(180deg,#9cecff,#25759742);box-shadow:0 0 18px #71ddff24;transform-origin:bottom;animation:barBreathe 3s ease-in-out infinite}.trend-chart span:nth-child(2){animation-delay:-.4s}.trend-chart span:nth-child(3){animation-delay:-.8s}.trend-chart span:nth-child(4){animation-delay:-1.2s}.trend-chart span:nth-child(5){animation-delay:-1.6s}.trend-chart span:nth-child(6){animation-delay:-2s}.project-art--recommendation{background:radial-gradient(circle at 50% 44%,rgba(34,211,238,.16),transparent 28%),linear-gradient(135deg,#10223a,#0c1426 68%)}.project-art--airline{background:radial-gradient(circle at 64% 28%,rgba(34,211,238,.18),transparent 26%),radial-gradient(circle at 20% 76%,rgba(103,232,249,.12),transparent 22%),linear-gradient(135deg,#081625,#0b1220 64%,#07101a)}.project-art--assistant{background:radial-gradient(circle at 28% 26%,rgba(34,211,238,.14),transparent 24%),radial-gradient(circle at 78% 74%,rgba(103,232,249,.1),transparent 24%),linear-gradient(135deg,#07111d,#0b1627 62%,#08111d)}.assistant-panel{position:absolute;inset:15% 11% 17%;display:grid;gap:14px;padding:16px;border:1px solid rgba(113,221,255,.22);border-radius:22px;background:linear-gradient(180deg,#ffffff08,#ffffff03),#070e1bc7;box-shadow:inset 0 0 30px #22d3ee0d,0 0 26px #22d3ee0f}.assistant-panel__header,.assistant-panel__footer{display:flex;flex-wrap:wrap;gap:8px}.assistant-panel__header span,.assistant-panel__footer span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(113,221,255,.18);border-radius:999px;background:#ffffff06}.assistant-panel__header span{color:#bff7ffc7;font-size:.62rem;font-weight:800;letter-spacing:.08em}.assistant-panel__dialogue{display:grid;gap:10px;align-content:center;min-height:108px}.assistant-bubble{display:grid;gap:8px;padding:12px 14px;border:1px solid rgba(113,221,255,.16);border-radius:16px;background:#0a1220db}.assistant-bubble i{display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,#9cecfff5,#22d3ee24)}.assistant-bubble i:nth-child(2){width:78%}.assistant-bubble i:nth-child(3){width:56%}.assistant-bubble--query{width:68%;animation:networkFloat 4.6s ease-in-out infinite}.assistant-bubble--reply{width:82%;justify-self:end;background:#0891b21f;animation:networkFloat 5.4s ease-in-out -1.8s infinite reverse}.assistant-bubble--reply i:nth-child(4){width:42%}.assistant-panel__footer span{flex:1;min-width:44px;min-height:10px;padding:0;border-radius:999px;background:linear-gradient(90deg,#67e8f95c,#67e8f90f)}.airline-dashboard{position:absolute;inset:14% 10% 16%;display:grid;gap:12%}.airline-dashboard__route,.airline-dashboard__panel{position:relative;overflow:hidden;border:1px solid rgba(113,221,255,.24);border-radius:18px;background:linear-gradient(180deg,#ffffff08,#ffffff03),#081220c2;box-shadow:inset 0 0 28px #22d3ee0d}.airline-dashboard__route{min-height:86px}.airline-dashboard__route:before{content:"";position:absolute;inset:12px;border-radius:14px;border:1px solid rgba(113,221,255,.08)}.airline-dashboard__route-line{position:absolute;top:50%;right:13%;left:13%;height:2px;background:repeating-linear-gradient(90deg,rgba(113,221,255,.14) 0 12px,transparent 12px 20px);transform:translateY(-50%)}.airline-dashboard__route-node{position:absolute;top:50%;width:12px;aspect-ratio:1;border-radius:50%;background:#8eeaff;box-shadow:0 0 18px #67e8f96b;transform:translate(-50%,-50%)}.airline-dashboard__route-node--one{left:13%}.airline-dashboard__route-node--two{left:87%}.airline-dashboard__plane{position:absolute;top:50%;left:20%;display:grid;place-items:center;width:52px;height:24px;border:1px solid rgba(103,232,249,.34);border-radius:999px;background:#0891b238;box-shadow:0 0 18px #22d3ee1f,inset 0 0 12px #67e8f914;transform:translateY(-50%);animation:airlineCruise 7s ease-in-out infinite}.airline-dashboard__plane i{position:absolute;display:block;width:18px;height:2px;border-radius:999px;background:#bff7ff;box-shadow:0 0 10px #67e8f938}.airline-dashboard__plane i:first-child{transform:rotate(30deg)}.airline-dashboard__plane i:last-child{transform:rotate(-30deg)}.airline-dashboard__panels{display:grid;grid-template-columns:.84fr 1.16fr;gap:12px}.airline-dashboard__panel{min-height:124px}.airline-dashboard__panel--score{display:grid;align-content:center;gap:8px;padding:16px}.airline-dashboard__panel--score small,.airline-dashboard__legend span{color:#bff7ffc2;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.airline-dashboard__panel--score strong{color:var(--text);font-family:var(--font-display);font-size:clamp(1.25rem,2.4vw,1.85rem);line-height:1;text-shadow:0 0 18px rgba(103,232,249,.14)}.airline-dashboard__panel--score span{color:var(--muted);font-size:.8rem;line-height:1.45}.airline-dashboard__panel--bars{display:grid;gap:12px;padding:16px}.airline-dashboard__bars{display:flex;align-items:flex-end;gap:9%;height:72px;padding:0 2%;border-bottom:1px solid rgba(113,221,255,.2)}.airline-dashboard__bars i{flex:1;height:var(--bar);border-radius:8px 8px 0 0;background:linear-gradient(180deg,#9cecff,#0891b23d);transform-origin:bottom;animation:barBreathe 3.4s ease-in-out infinite}.airline-dashboard__bars i:nth-child(2){animation-delay:-.8s}.airline-dashboard__bars i:nth-child(3){animation-delay:-1.6s}.airline-dashboard__bars i:nth-child(4){animation-delay:-2.4s}.airline-dashboard__legend{display:flex;flex-wrap:wrap;gap:8px}.airline-dashboard__legend span{display:inline-flex;align-items:center;padding:6px 8px;border:1px solid rgba(113,221,255,.18);border-radius:999px;background:#ffffff05}.recommendation-network{position:absolute;inset:14% 10% 16%}.recommendation-beam{position:absolute;left:50%;top:54%;height:1px;transform-origin:left center;background:linear-gradient(90deg,#22d3eec7,#22d3ee1f);box-shadow:0 0 16px #22d3ee2e;animation:beamPulse 2.8s ease-in-out infinite}.recommendation-beam--one{width:28%;transform:rotate(-150deg)}.recommendation-beam--two{width:31%;transform:rotate(-18deg);animation-delay:-.9s}.recommendation-beam--three{width:29%;transform:rotate(126deg);animation-delay:-1.8s}.recommendation-card{position:absolute;display:grid;gap:8px;width:26%;min-width:84px;padding:12px;border:1px solid rgba(34,211,238,.22);border-radius:16px;background:#0f172ad1;box-shadow:inset 0 0 24px #22d3ee0d}.recommendation-card i{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,#67e8f9e0,#22d3ee2e)}.recommendation-card i:nth-child(2){width:82%}.recommendation-card i:nth-child(3){width:64%}.recommendation-card--one{top:4%;left:12%;animation:networkFloat 4.8s ease-in-out infinite}.recommendation-card--two{top:22%;right:4%;animation:networkFloat 5.4s ease-in-out -1.8s infinite reverse}.recommendation-card--three{left:18%;bottom:2%;animation:networkFloat 5.8s ease-in-out -3.4s infinite}.recommendation-hub{position:absolute;left:47%;top:47%;display:grid;gap:7px;width:18%;min-width:68px;padding:12px;border:1px solid rgba(113,221,255,.28);border-radius:18px;background:linear-gradient(160deg,#1b3a47d1,#0a0e12eb);box-shadow:0 0 22px #71ddff1f,inset 0 0 28px #71ddff0f;transform:translate(-50%,-50%);animation:hubPulse 3.2s ease-in-out infinite}.recommendation-hub span{display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,#8eeaff,#62c4dd38)}.recommendation-hub span:nth-child(2){width:76%}.recommendation-hub span:nth-child(3){width:58%}.project-art--hr{background:radial-gradient(circle at 50% 50%,rgba(34,211,238,.14),transparent 32%),linear-gradient(135deg,#10223a,#0c1426 68%)}.hr-dashboard{position:absolute;inset:19% 14% 20%;display:grid;grid-template-columns:.75fr 1.25fr;gap:12%;align-items:center;padding:7%;border:1px solid rgba(34,211,238,.26);background:#0f172aad;box-shadow:inset 0 0 40px #22d3ee0d}.hr-dashboard__ring{aspect-ratio:1;border:12px solid rgba(34,211,238,.16);border-top-color:#67e8f9e6;border-right-color:#22d3ee9e;border-radius:50%;transform:rotate(24deg);animation:ringRotate 9s linear infinite}.hr-dashboard__bars{display:flex;align-items:flex-end;gap:8%;height:80%;border-bottom:1px solid rgba(34,211,238,.24)}.hr-dashboard__bars i{flex:1;height:48%;background:linear-gradient(180deg,#67e8f9,#0891b240);transform-origin:bottom;animation:metricBar 3.6s ease-in-out infinite}.hr-dashboard__bars i:nth-child(2){height:74%;animation-delay:-.7s}.hr-dashboard__bars i:nth-child(3){height:58%;animation-delay:-1.4s}.hr-dashboard__bars i:nth-child(4){height:88%;animation-delay:-2.1s}.hr-dashboard__bars i:nth-child(5){height:68%;animation-delay:-2.8s}.hr-dashboard__metric{position:absolute;top:50%;left:26.5%;transform:translate(-50%,-50%);color:var(--text);font-family:var(--font-display);font-size:clamp(.75rem,1.5vw,1.15rem);font-weight:700;animation:metricPulse 2.8s ease-in-out infinite}.process-panel{display:grid;gap:18px}.resume-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:24px 28px;background:linear-gradient(180deg,#ffffff08,#ffffff04),var(--panel)}.resume-toolbar__copy{display:grid;gap:8px;max-width:44rem}.resume-toolbar__copy span,.resume-option>span,.resume-card>span{display:inline-block;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.resume-toolbar__copy p,.resume-option>p{margin:0;color:var(--muted)}.resume-toolbar .button{flex-shrink:0}.resume-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.resume-option{display:grid;gap:16px;padding:26px 28px;align-content:start;background:linear-gradient(180deg,#ffffff09,#ffffff04),var(--panel);animation:contentRise .56s cubic-bezier(.22,1,.36,1) both}.resume-options .resume-option:nth-child(2){animation-delay:90ms}.resume-options .resume-option:nth-child(3){animation-delay:.18s}.resume-option:hover h3{color:var(--accent);transform:translate(5px)}.resume-option h3{transition:color .24s ease,transform .24s ease}.resume-option__meta{display:grid;gap:6px;padding-top:14px;border-top:1px solid rgba(140,177,203,.12)}.resume-option__meta strong{color:var(--text);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.resume-option__meta p{margin:0;color:var(--muted)}.resume-option .button{width:fit-content;margin-top:auto}.resume-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.resume-card{display:grid;gap:14px;padding:26px 28px;align-content:start;background:linear-gradient(180deg,#ffffff09,#ffffff04),var(--panel)}.resume-grid .resume-card:nth-child(2){transition-delay:90ms}.resume-grid .resume-card:nth-child(3){transition-delay:.18s}.resume-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.resume-list li{position:relative;padding-left:16px;color:var(--muted);transition:color .22s ease,transform .22s ease}.resume-card.is-visible .resume-list li{animation:skillItemIn .52s cubic-bezier(.22,1,.36,1) backwards}.resume-card.is-visible .resume-list li:nth-child(2){animation-delay:50ms}.resume-card.is-visible .resume-list li:nth-child(3){animation-delay:.1s}.resume-card.is-visible .resume-list li:nth-child(4){animation-delay:.15s}.resume-list li:hover{color:var(--text);transform:translate(5px)}.resume-list li:before{content:"";position:absolute;top:.72em;left:0;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px #71ddff40;animation:bulletPulse 2.4s ease-in-out infinite}.process-list{display:grid;gap:18px}.process-step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;transition:transform .24s ease}.process-panel.is-visible .process-step{animation:processStepIn .65s cubic-bezier(.22,1,.36,1) backwards}.process-panel.is-visible .process-step:nth-child(2){animation-delay:.11s}.process-panel.is-visible .process-step:nth-child(3){animation-delay:.22s}.process-panel.is-visible .process-step:nth-child(4){animation-delay:.33s}.process-step:hover{transform:translate(7px)}.process-step:not(:last-child):after{content:"";position:absolute;top:44px;left:19px;width:1px;height:calc(100% + 2px);background:#8cb1cb1f;transform-origin:top;animation:timelinePulse 3s ease-in-out infinite}.process-step__index{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1px solid rgba(140,177,203,.12);background:#ffffff08;color:var(--accent);font-weight:800;letter-spacing:.08em;font-size:.78rem;transition:transform .24s ease,color .24s ease,background .24s ease,box-shadow .24s ease}.process-step:hover .process-step__index{color:var(--bg);background:var(--accent);box-shadow:0 0 24px #22d3ee52;transform:rotate(-8deg) scale(1.08)}.process-step__body{display:grid;gap:8px;padding-bottom:10px}.contact-layout{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:24px}.contact-cards{display:grid;gap:18px}.contact-card{display:grid;gap:8px}.contact-card:hover a,.contact-card:hover strong{color:var(--accent);transform:translate(5px)}.contact-card a,.contact-card strong{color:var(--text);text-decoration:none;font-size:1.12rem;font-weight:700;transition:color .24s ease,transform .24s ease}.contact-panel{display:grid;gap:16px;align-content:center;background:radial-gradient(circle at top right,rgba(34,211,238,.08),transparent 28%),radial-gradient(circle at bottom left,rgba(56,189,248,.07),transparent 24%),var(--panel-strong)}.contact-panel.is-visible>*{animation:contentRise .65s cubic-bezier(.22,1,.36,1) backwards}.contact-panel.is-visible>:nth-child(2){animation-delay:80ms}.contact-panel.is-visible>:nth-child(3){animation-delay:.16s}.contact-panel.is-visible>:nth-child(4){animation-delay:.24s}.contact-actions{display:flex;flex-wrap:wrap;gap:14px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:6px 4px 0;animation:footerRise .8s cubic-bezier(.22,1,.36,1) .4s both}.footer-copy{display:grid;gap:4px}.footer-copy p{color:var(--text);font-weight:700}.footer-copy span{color:var(--muted);font-size:.92rem}.footer-links{display:flex;flex-wrap:wrap;gap:18px}.footer-links a{position:relative;color:var(--muted);text-decoration:none;transition:color .22s ease,transform .22s ease}.footer-links a:after{content:"";position:absolute;right:0;bottom:-4px;left:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.footer-links a:hover{color:var(--accent);transform:translateY(-2px)}.footer-links a:hover:after{transform:scaleX(1)}[data-reveal]{opacity:0;filter:blur(5px);transform:translateY(42px) scale(.985);transition:opacity .72s ease,transform .72s cubic-bezier(.22,1,.36,1),filter .72s ease}[data-reveal].is-visible{opacity:1;filter:blur(0);transform:translateY(0)}@keyframes topbarDrop{0%{opacity:0;transform:translateY(-24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes menuReveal{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes menuItemIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes brandFloat{0%,to{translate:0 0}50%{translate:0 -3px}}@keyframes accentLine{0%,to{opacity:.45;transform:scaleX(.45)}50%{opacity:1;transform:scaleX(1)}}@keyframes headingGlow{0%,to{text-shadow:0 0 0 rgba(34,211,238,0)}50%{text-shadow:0 0 30px rgba(34,211,238,.1)}}@keyframes contentRise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes chipFloat{0%,to{translate:0 0}50%{translate:0 -4px}}@keyframes statusPulse{0%{box-shadow:0 0 #22d3ee7a}70%,to{box-shadow:0 0 0 9px #22d3ee00}}@keyframes portraitBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes portraitFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(-1deg)}}@keyframes portraitHalo{0%,to{box-shadow:0 0 #22d3ee00}50%{box-shadow:0 18px 56px #22d3ee33}}@keyframes skillItemIn{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes bulletPulse{0%,to{opacity:.65;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}@keyframes mediaSweep{0%,58%{opacity:0;transform:rotate(18deg) translate(-240%)}70%{opacity:1}88%,to{opacity:0;transform:rotate(18deg) translate(620%)}}@keyframes tagBounce{0%{transform:translateY(0)}45%{transform:translateY(-7px)}to{transform:translateY(0)}}@keyframes gridDrift{0%{background-position:0 0,0 0}to{background-position:34px 34px,34px 34px}}@keyframes codeBlink{0%,to{opacity:.45}50%{opacity:.95}}@keyframes framePulse{0%,to{opacity:.35;scale:.98}50%{opacity:.9;scale:1.02}}@keyframes orbitOne{0%{transform:translate(-50%,-50%) rotate(-12deg)}to{transform:translate(-50%,-50%) rotate(348deg)}}@keyframes orbitTwo{0%{transform:translate(-50%,-50%) rotate(52deg)}to{transform:translate(-50%,-50%) rotate(412deg)}}@keyframes barBreathe{0%,to{transform:scaleY(.72);opacity:.68}50%{transform:scaleY(1);opacity:1}}@keyframes beamPulse{0%,to{opacity:.28;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.35)}}@keyframes networkFloat{0%,to{translate:0 0}50%{translate:0 -8px}}@keyframes hubPulse{0%,to{transform:translate(-50%,-50%) scale(.96);box-shadow:0 0 16px #22d3ee1a}50%{transform:translate(-50%,-50%) scale(1.05);box-shadow:0 0 34px #22d3ee47}}@keyframes ringRotate{0%{transform:rotate(24deg)}to{transform:rotate(384deg)}}@keyframes airlineCruise{0%,to{left:20%}50%{left:68%}}@keyframes metricBar{0%,to{transform:scaleY(.7);opacity:.65}50%{transform:scaleY(1);opacity:1}}@keyframes metricPulse{0%,to{opacity:.7;transform:translate(-50%,-50%) scale(.96)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}@keyframes processStepIn{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes timelinePulse{0%,to{opacity:.35;transform:scaleY(.82)}50%{opacity:1;transform:scaleY(1)}}@keyframes footerRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes scanFace{0%,to{transform:translateY(-42px);opacity:.45}50%{transform:translateY(42px);opacity:1}}@keyframes scenePulse{0%{opacity:.46;transform:translateZ(0) scale(.96)}50%{opacity:.78;transform:translate3d(0,-1.4vh,0) scale(1.04)}to{opacity:.58;transform:translate3d(0,1vh,0) scale(1.08)}}@keyframes sceneHaloFloat{0%{transform:translate(-50%,-50%) scale(.96)}to{transform:translate(-50%,-50%) rotate(-8deg) scale(1.08)}}@keyframes sceneHaloFloatReverse{0%{transform:translate(-50%,-50%) scale(.94)}to{transform:translate(-50%,-50%) rotate(9deg) scale(1.1)}}@keyframes sceneCorePulse{0%{opacity:.38;transform:translate(-50%,-50%) scale(.82)}50%{opacity:.72;transform:translate(-50%,-50%) scale(1)}to{opacity:.46;transform:translate(-50%,-50%) scale(1.12)}}@keyframes sceneChargePulse{0%,to{opacity:calc(.08 + var(--pointer-strength) * .16);scale:.88}50%{opacity:calc(.14 + var(--pointer-strength) * .24);scale:1.08}}@keyframes sceneChargeCore{0%,to{opacity:calc(.16 + var(--pointer-strength) * .28);scale:.94}50%{opacity:calc(.24 + var(--pointer-strength) * .4);scale:1.08}}@keyframes sceneChargeRing{0%,to{opacity:calc(.1 + var(--pointer-strength) * .18);rotate:0deg}50%{opacity:calc(.2 + var(--pointer-strength) * .28);rotate:24deg}}@keyframes sceneFieldDrift{0%{transform:perspective(1200px) rotateX(16deg) scale(1.03)}50%{transform:perspective(1200px) rotateX(18deg) rotate(-1.5deg) scale(1.08)}to{transform:perspective(1200px) rotateX(14deg) rotate(1.5deg) scale(1.05)}}@keyframes sceneParticleSlide{0%{translate:0 0}to{translate:var(--particle-drift-x) var(--particle-drift-y)}}@keyframes sceneParticleTwinkle{0%,to{opacity:.7}50%{opacity:1}}@media(min-width:1440px){:root{--max-width: 1320px}main{gap:34px}.section{gap:28px}.hero-layout{grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr)}}@media(min-width:1800px){:root{--max-width: 1440px}}@media(max-width:1120px){.hero-layout,.contact-layout,.section-header{grid-template-columns:1fr}.resume-options,.resume-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-card{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:center}.profile-card__header{grid-column:1 / -1}.portrait-shell--hero{width:100%}.about-simple{grid-template-columns:230px minmax(0,1fr)}.about-simple__portrait{width:220px}.skills-grid{grid-template-columns:1fr}.contact-layout{gap:18px}}@media(max-width:900px){.app-shell{width:min(calc(100% - 24px),var(--max-width));padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(56px,env(safe-area-inset-bottom))}.app-shell:before{width:min(calc(100% - 24px),var(--max-width))}.topbar{align-items:center}.topbar__actions{display:contents}.button--header{display:none}.nav-toggle{display:block}.nav{position:absolute;top:calc(100% + 12px);left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px;border:1px solid rgba(140,177,203,.1);border-radius:24px;background:#070c13f2;box-shadow:0 22px 40px #00000042;max-height:calc(100dvh - 96px);overflow-y:auto;overscroll-behavior:contain}.nav--open{display:flex}.nav a{display:flex;align-items:center;min-height:48px;padding:12px 14px;border-radius:16px}.skill-list,.project-grid,.resume-options,.resume-grid{grid-template-columns:1fr}.project-card:last-child:nth-child(odd){grid-column:auto;width:100%}}@media(max-width:900px),(pointer:coarse){body:before,#root:before{filter:blur(42px);opacity:.48}.topbar,.surface,.project-card__tags span{-webkit-backdrop-filter:none;backdrop-filter:none}.surface:before,.project-card__media:before,.project-art:before{animation:none}.topbar{background:#0a101cf5}.surface{background:linear-gradient(180deg,#ffffff05,#ffffff02),#060a16f0}.hero-panel.is-visible>h1,.hero-highlights li,.status-badge:before,.portrait-shell img,.about-simple__portrait,.project-art__code{animation:none}}@media(max-width:680px){html{scroll-padding-top:96px}[data-section]{scroll-margin-top:96px}main{gap:22px}.section{gap:20px}.about-simple{grid-template-columns:1fr;gap:28px;padding:8px clamp(20px,5vw,24px) 28px}.about-simple__portrait{width:min(64vw,210px);justify-self:center}.profile-card{grid-template-columns:1fr}.profile-card__header{grid-column:auto}.resume-toolbar{flex-direction:column;align-items:stretch}.portrait-shell--hero{width:min(100%,320px)}.background-scene__halo--one{width:90vw;height:52vw}.background-scene__halo--two{width:120vw;height:74vw}.background-scene__core{width:min(42vw,240px)}.background-scene__charge{width:160px}.background-scene__charge-core{width:34px}.background-scene__charge-ring{width:74px}.background-scene__field{inset:-18% -30%;transform:perspective(900px) rotateX(18deg) scale(1.12)}.background-scene__particle--dust{display:none}.topbar{top:8px;padding:12px 14px;border-radius:24px}.brand-copy span{display:none}.hero-panel,.profile-card,.skill-card,.resume-toolbar,.resume-option,.resume-card,.process-panel,.contact-card,.contact-panel,.section-header{padding:clamp(20px,5vw,24px)}.surface{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}h1{max-width:8.6ch;font-size:clamp(2.35rem,12vw,4.2rem)}h2{font-size:clamp(1.75rem,8vw,2.5rem)}.profile-card__header{align-items:flex-start}.hero-highlights{gap:8px}.hero-highlights li{padding:9px 12px;font-size:.82rem}.project-card{border-radius:22px}.project-card__media{aspect-ratio:16 / 10}.project-card__body{min-height:0;padding:24px}.project-card__tags{left:16px;right:16px;bottom:14px}.project-card__tags span{min-height:30px;padding:0 10px;font-size:.64rem}.hero-actions,.contact-actions{flex-direction:column;align-items:stretch}.resume-toolbar .button,.resume-option .button{width:100%;justify-content:center}.site-footer{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.app-shell,.app-shell:before{width:min(calc(100% - 16px),var(--max-width))}.app-shell{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(44px,env(safe-area-inset-bottom))}.topbar{gap:8px;padding:10px;border-radius:20px}.brand{gap:10px}.brand-mark{width:42px;height:42px;border-radius:12px}.brand-copy strong{font-size:.9rem}.nav-toggle{width:44px;height:44px;border-radius:12px}.nav{top:calc(100% + 8px);border-radius:20px}main{gap:20px}.section{gap:18px}.hero-panel,.profile-card,.skill-card,.resume-toolbar,.resume-option,.resume-card,.process-panel,.contact-card,.contact-panel,.section-header{padding:20px}.about-simple{gap:22px;padding:4px 20px 24px}.about-simple__portrait{width:min(62vw,180px)}h1{max-width:8.1ch;font-size:clamp(2.15rem,11.5vw,3.2rem);letter-spacing:-.035em}h2{font-size:clamp(1.6rem,8vw,2.15rem)}h3{font-size:1.16rem}p{line-height:1.65}.lead,.about-simple__copy p{font-size:.98rem}.hero-panel,.profile-card,.resume-toolbar,.resume-option,.resume-card{gap:18px}.project-card__media{aspect-ratio:4 / 3}.project-card__body{padding:20px}.project-card__tags{right:12px;bottom:12px;left:12px;gap:6px}.project-card__tags span{min-height:28px;padding:0 9px;font-size:.6rem}.project-card__links{gap:14px}.process-step{gap:12px}.process-step__index{width:38px;height:38px}.process-step:not(:last-child):after{top:42px;left:18px}.contact-card a,.contact-card strong{font-size:1rem}.site-footer{padding-inline:2px}}@media(max-width:360px){.app-shell,.app-shell:before{width:min(calc(100% - 12px),var(--max-width))}.topbar{gap:6px;padding:9px}.brand-mark{width:40px;height:40px}.brand-copy strong{font-size:.84rem}.hero-panel,.profile-card,.skill-card,.resume-toolbar,.resume-option,.resume-card,.process-panel,.contact-card,.contact-panel,.section-header{padding:18px}.about-simple{padding-inline:18px}.about-simple__portrait{width:min(60vw,160px)}h1{font-size:clamp(2rem,11vw,2.6rem)}.eyebrow{letter-spacing:.1em}.hero-highlights li{padding:8px 10px;font-size:.78rem}.project-card__tags span{padding-inline:8px;font-size:.56rem}}@media(max-width:900px)and (max-height:600px)and (orientation:landscape){html{scroll-padding-top:82px}[data-section]{scroll-margin-top:82px}.topbar{top:6px}.nav{max-height:calc(100dvh - 78px)}.background-scene__particle--dust{display:none}}@media(hover:none){[data-reveal].is-visible.surface:hover,.project-card:hover,.button:hover,.hero-highlights li:hover,.process-step:hover{transform:none}.surface:hover{border-color:var(--line);box-shadow:var(--shadow)}.surface:after,.button:before{display:none}.project-card:hover .project-card__media img,.portrait-shell:hover img,.about-simple__portrait:hover img{transform:none}}@media(pointer:coarse){.project-card__links a,.footer-links a,.contact-card a,.brand{display:inline-flex;align-items:center;min-height:44px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}
