@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght,SOFT@0,9..144,300..700,0..100;1,9..144,300..700,0..100&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg:#070b14;--bg-2:#0a101d;--surface:#ffffff09;--surface-solid:#0e1626;--surface-2:#ffffff0f;--border:#94b2ff1f;--border-strong:#94b2ff40;--ink:#eef3fb;--text:#c6cfdd;--muted:#8a94a8;--accent:#2f7dff;--accent-2:#00d4ff;--accent-soft:#2f7dff1f;--glow:#2f7dff59;--serif:"Fraunces", "Georgia", "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--radius:20px;--max-width:1200px;--shadow-sm:0 2px 10px #00000059;--shadow-md:0 14px 38px -14px #0000008c;--shadow-lg:0 34px 70px -24px #000000b3;font-family:var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:clip}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;line-height:1.65;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(900px 600px at 85% -10%,#2f7dff21,#0000 60%),radial-gradient(700px 500px at -10% 40%,#00d4ff12,#0000 60%),radial-gradient(800px 600px at 60% 110%,#2f7dff14,#0000 60%);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(#94b2ff0d 1px,#0000 1px);background-size:34px 34px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 30%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 30%,#0000 75%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{border:3px solid var(--bg);background:linear-gradient(#2f7dff8c,#00d4ff66);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, var(--accent), var(--accent-2))}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}main{z-index:2;position:relative}.container{max-width:var(--max-width);margin:0 auto;padding:0 28px}.section{padding:140px 0}.section-head{margin-bottom:72px}.section-meta{align-items:center;gap:16px;margin-bottom:22px;display:flex}.section-index{font-family:var(--mono);color:var(--accent-2);letter-spacing:1px;font-size:13px}.eyebrow{font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-size:12.5px;font-weight:500;display:inline-block}.section-rule{background:linear-gradient(90deg, var(--border-strong), transparent);transform-origin:0;height:1px;transition:transform 1.4s var(--ease-out) .2s;flex:1;transform:scaleX(0)}.section-meta.is-visible .section-rule{transform:scaleX(1)}.section-title{font-family:var(--serif);font-variation-settings:"SOFT" 50, "opsz" 144;color:var(--ink);letter-spacing:-.03em;font-size:clamp(40px,7vw,92px);font-weight:400;line-height:1}.split{display:inline}.split-word{white-space:nowrap;display:inline-block}.split-mask{vertical-align:top;margin:-.08em -.04em -.12em;padding:.08em .04em .12em;display:inline-block;overflow:hidden}.split-inner{transform-origin:0 100%;transition:transform 1.1s var(--ease-out);will-change:transform;display:inline-block;transform:translateY(110%)rotate(4deg)}.split.is-in .split-inner{transform:none}.btn{font-family:var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:13px 26px;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .25s,background .2s,color .2s;display:inline-flex}.btn-lg{padding:16px 32px;font-size:16px}.btn-primary{background:linear-gradient(120deg, var(--accent), var(--accent-2));color:#fff;box-shadow:0 10px 28px -8px var(--glow), inset 0 1px 0 #ffffff40;position:relative;overflow:hidden}.btn-primary:hover{box-shadow:0 18px 38px -8px var(--glow), inset 0 1px 0 #ffffff40;transform:translateY(-2px)}.btn-primary:after{content:"";background:linear-gradient(105deg,#0000,#ffffff59,#0000);width:50%;height:100%;transition:left .6s;position:absolute;top:0;left:-80%;transform:skew(-20deg)}.btn-primary:hover:after{left:130%}.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--border);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.nav{z-index:50;border-bottom:1px solid #0000;transition:background .3s,box-shadow .3s,border-color .3s;position:sticky;top:0}.nav.scrolled{-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);border-bottom-color:var(--border);background:#070b14b8}.nav-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;padding:18px 28px;display:flex}.nav-logo{font-family:var(--serif);color:var(--ink);letter-spacing:-.3px;align-items:center;font-size:21px;font-weight:600;display:inline-flex}.nav-logo-icon{border-radius:11px;width:40px;height:40px;transition:transform .2s,box-shadow .2s}.nav-logo:hover .nav-logo-icon{box-shadow:0 8px 20px -6px var(--glow);transform:translateY(-2px)}.nav-links{align-items:center;gap:30px;display:flex}.nav-links a{color:var(--text);font-size:15px;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--accent)}.nav-contact{background:linear-gradient(120deg, var(--accent), var(--accent-2));box-shadow:0 6px 18px -6px var(--glow);border-radius:999px;padding:9px 20px;font-weight:600;transition:transform .2s,box-shadow .2s;color:#fff!important}.nav-contact:hover{box-shadow:0 10px 26px -6px var(--glow);transform:translateY(-2px)}.nav-toggle{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;width:42px;height:42px;display:none;position:relative}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{content:"";background:var(--ink);border-radius:2px;width:18px;height:2px;transition:transform .25s,opacity .2s;position:absolute;left:50%;transform:translate(-50%)}.nav-toggle span{top:50%;transform:translate(-50%,-50%)}.nav-toggle span:before{top:-6px}.nav-toggle span:after{top:6px}.nav-toggle span.x{background:0 0}.nav-toggle span.x:before{top:0;transform:translate(-50%)rotate(45deg)}.nav-toggle span.x:after{top:0;transform:translate(-50%)rotate(-45deg)}.timeline{max-width:760px;margin:0 auto;padding-left:36px;position:relative}.timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline-item{padding-bottom:30px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--surface);border:3px solid var(--accent);width:16px;height:16px;box-shadow:0 0 0 4px var(--bg);border-radius:50%;position:absolute;top:6px;left:-36px}.timeline-item.education .timeline-dot{border-color:var(--accent-2)}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px 28px;transition:transform .2s,box-shadow .2s,border-color .2s}.timeline-card:hover{border-color:var(--border-strong);box-shadow:0 14px 40px -16px var(--glow);transform:translate(4px)}.timeline-topline{align-items:center;gap:12px;margin-bottom:10px;display:flex}.badge{letter-spacing:.3px;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.badge.work{background:var(--accent-soft);color:#6ea8ff}.badge.education{color:var(--accent-2);background:#00d4ff1a}.timeline-date{color:var(--muted);font-size:14px;font-weight:500}.timeline-card h3{font-family:var(--serif);color:var(--ink);margin-bottom:2px;font-size:21px;font-weight:600}.timeline-place{color:#6ea8ff;font-size:15px;font-weight:500}.timeline-head{align-items:center;gap:16px;display:flex}.timeline-logo{border-radius:50%;flex-shrink:0;width:56px;height:56px;box-shadow:0 6px 18px -8px #0009}.timeline-logo.wordmark{object-fit:cover;background:#fff;border-radius:12px;width:132px;height:56px}@media (width<=560px){.timeline-head{flex-direction:column;align-items:flex-start;gap:12px}}.timeline-head-text{min-width:0}.timeline-accredited{border:1px solid var(--border);color:var(--ink);letter-spacing:.2px;background:#6ea8ff14;border-radius:8px;align-items:center;gap:6px;margin-top:14px;padding:4px 11px 4px 8px;font-size:12.5px;font-weight:600;display:inline-flex}.timeline-accredited svg{color:#6ea8ff;flex-shrink:0}.timeline-card p{color:var(--muted);margin-top:12px;font-size:15.5px}.detail-page{min-height:100vh}.detail-nav{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:24px 28px;display:flex}.icon-flip{transform:scaleX(-1)}.detail-main{max-width:880px;margin:0 auto;padding:20px 28px 100px}.detail-hero{border-bottom:1px solid var(--border);margin-bottom:50px;padding:30px 0 50px}.detail-hero h1{font-family:var(--serif);color:var(--ink);letter-spacing:-.5px;margin:16px 0 18px;font-size:clamp(30px,5vw,46px);font-weight:600;line-height:1.15}.detail-summary{color:var(--muted);max-width:680px;margin-bottom:24px;font-size:17.5px;line-height:1.75}.detail-hero .pills{margin-bottom:30px}.detail-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:56px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:16px;padding:22px 20px}.stat-value{font-family:var(--serif);background:linear-gradient(120deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-size:24px;font-weight:600;display:block}.stat-label{color:var(--muted);font-size:13px}.detail-section{margin-bottom:52px}.detail-section h2{font-family:var(--serif);color:var(--ink);margin-bottom:18px;font-size:25px;font-weight:600}.detail-section>p{color:var(--text);max-width:700px;font-size:16.5px;line-height:1.75}.detail-feature-list{flex-direction:column;gap:14px;list-style:none;display:flex}.detail-feature-list li{color:var(--text);padding-left:26px;font-size:16px;line-height:1.65;position:relative}.detail-feature-list li:before{content:"";background:linear-gradient(120deg, var(--accent), var(--accent-2));width:8px;height:8px;box-shadow:0 0 8px var(--glow);border-radius:50%;position:absolute;top:9px;left:0}.detail-gallery{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.detail-gallery-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.detail-gallery-item img{border-bottom:1px solid var(--border);width:100%;display:block}.detail-gallery-item figcaption{color:var(--muted);padding:16px 20px;font-size:14px;line-height:1.6}.detail-stack-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;display:grid}.stack-group h3{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:14px;font-weight:600}.detail-footer-cta{border-top:1px solid var(--border);justify-content:center;padding-top:20px;display:flex}.btn-back{white-space:nowrap;padding:10px 20px;font-size:14px}@media (width<=560px){.detail-nav{flex-direction:column;align-items:flex-start}}@media (width<=760px){.nav-toggle{display:block}.nav-links{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;border-radius:18px;flex-direction:column;align-items:stretch;gap:6px;padding:16px;transition:all .25s;position:absolute;top:100%;left:16px;right:16px;transform:translateY(-14px)}.nav-links.open{opacity:1;pointer-events:auto;transform:translateY(8px)}.nav-links a{border-radius:12px;padding:10px 14px}.nav-links a:hover{background:var(--surface-2)}.nav-contact{text-align:center}.section{padding:72px 0}}.scroll-progress{z-index:100;pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.scroll-progress-bar{transform-origin:0;background:linear-gradient(90deg, var(--accent), var(--accent-2));will-change:transform;height:100%;transform:scaleX(0)}.nav-links a{position:relative}.nav-links a.active{color:var(--accent)}.nav-links a.active:not(.nav-contact):after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:2px;height:2px;position:absolute;bottom:-6px;left:0;right:0}.typewriter{align-items:baseline;display:inline-flex}.type-caret{background:var(--accent);border-radius:2px;width:3px;height:1.05em;margin-left:5px;animation:1s step-end infinite caret-blink;display:inline-block;transform:translateY(3px)}@keyframes caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.particle-stage{z-index:0;pointer-events:none;position:fixed;inset:0}.particle-stage canvas{display:block}.hero{align-items:center;min-height:100svh;padding:120px 0 110px;display:flex;position:relative}.hero-inner{max-width:var(--max-width);width:100%;margin:0 auto;padding:0 28px}.hero-text{max-width:640px}.hero-hello{font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);align-items:center;gap:14px;margin-bottom:18px;font-size:14px;display:flex}.hero-hello-line{background:var(--accent-2);width:36px;height:1px}.hero-name{font-family:var(--serif);font-variation-settings:"SOFT" 30, "opsz" 144;letter-spacing:-.045em;color:var(--ink);margin-bottom:30px;font-size:clamp(64px,11vw,156px);font-weight:400;line-height:.92}.hero-name>.split{display:block}.hero-name-accent{color:#6ea8ff;padding-left:.5em;font-style:italic;font-weight:300}.hero-title{background:linear-gradient(120deg, var(--accent), var(--accent-2));color:#0000;-webkit-background-clip:text;background-clip:text;min-height:1.6em;margin-bottom:14px;font-size:clamp(18px,2.2vw,22px);font-weight:600;display:block}.hero-tagline{color:var(--muted);max-width:460px;font-size:18px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:14px;margin:38px 0 28px;display:flex}.hero-socials{gap:12px;display:flex}.hero-socials a{width:48px;height:48px;color:var(--text);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .2s, background .25s, border-color .25s, transform .35s var(--ease-out);border-radius:50%;place-items:center;display:grid}.hero-socials a:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.hero-fade{opacity:0;transition:opacity 1s var(--ease-out), transform 1s var(--ease-out);transition-delay:var(--d,0s);transform:translateY(18px)}.hero.is-ready .hero-fade{opacity:1;transform:none}.hero-hud{right:max(28px, calc((100vw - var(--max-width)) / 2 + 28px));font-family:var(--mono);color:var(--text);text-align:right;pointer-events:none;flex-direction:column;gap:4px;font-size:12px;display:flex;position:absolute;bottom:110px}.hud-tag{color:var(--accent-2);letter-spacing:1px}.hud-muted{color:var(--muted)}.hero.is-ready .hero-hud{opacity:.85}.scroll-cue{font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--muted);flex-direction:column;align-items:center;gap:10px;font-size:11px;display:flex;position:absolute;bottom:34px;left:50%;translate:-50%}.scroll-cue-line{background:linear-gradient(var(--accent-2), transparent);transform-origin:top;width:1px;height:46px;animation:cue 2.2s var(--ease-out) infinite}@keyframes cue{0%{opacity:1;transform:scaleY(0)}60%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.skills-list{border-top:1px solid var(--border)}.skill-row{border-bottom:1px solid var(--border);isolation:isolate;grid-template-columns:70px minmax(220px,.9fr) 1.4fr;align-items:baseline;gap:24px;padding:34px 8px;display:grid;position:relative}.skill-row:before{content:"";z-index:-1;transform-origin:0;transition:transform .7s var(--ease-out);background:linear-gradient(90deg,#2f7dff1a,#00d4ff08 60%,#0000);position:absolute;inset:0;transform:scaleX(0)}.skill-row:hover:before{transform:scaleX(1)}.skill-index{font-family:var(--mono);color:var(--muted);font-size:13px;transition:color .3s}.skill-cat{font-family:var(--serif);font-variation-settings:"SOFT" 50, "opsz" 72;letter-spacing:-.02em;color:var(--ink);transition:transform .6s var(--ease-out), color .3s;font-size:clamp(24px,2.8vw,36px);font-weight:400;line-height:1.15}.skill-row:hover .skill-cat{color:#fff;transform:translate(12px)}.skill-row:hover .skill-index{color:var(--accent-2)}.skill-items{color:var(--muted);font-size:16px;line-height:1.9;transition:color .3s}.skill-row:hover .skill-items{color:var(--text)}.skill-sep{color:#6ea8ff73;margin:0 10px}.pills{flex-wrap:wrap;gap:9px;display:flex}.pill{background:var(--surface-2);color:var(--text);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:500}.pill-accent{background:var(--accent-soft);color:#6ea8ff;border:1px solid #2f7dff33}.projects-stack{position:relative}.project-panel{top:calc(96px + var(--i) * 16px);height:min(620px,100svh - 140px);margin-bottom:9vh;position:sticky}.project-panel:last-child{margin-bottom:0}.panel-inner{border:1px solid var(--border);transform-origin:top;cursor:pointer;background:radial-gradient(600px 300px at 0 0,#2f7dff1f,#0000 70%),linear-gradient(160deg,#0e1626 0%,#0a101d 100%);border-radius:28px;grid-template-columns:.95fr 1.05fr;gap:48px;height:100%;padding:48px;transition:border-color .3s;display:grid;overflow:hidden;box-shadow:0 -20px 60px -30px #000c,0 40px 80px -40px #000000b3}.panel-inner:hover{border-color:var(--border-strong)}.panel-inner:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.panel-text{flex-direction:column;min-height:0;display:flex}.panel-top{align-items:center;gap:14px;margin-bottom:28px;display:flex}.panel-index{font-family:var(--mono);color:var(--accent-2);font-size:13px}.panel-status{font-family:var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:5px 12px;font-size:11.5px}.panel-title{font-family:var(--serif);font-variation-settings:"SOFT" 50, "opsz" 96;letter-spacing:-.025em;color:var(--ink);margin-bottom:18px;font-size:clamp(30px,3.4vw,46px);font-weight:400;line-height:1.05}.panel-desc{color:var(--muted);-webkit-line-clamp:5;-webkit-box-orient:vertical;margin-bottom:24px;font-size:16px;line-height:1.7;display:-webkit-box;overflow:hidden}.panel-actions{justify-content:space-between;align-items:center;margin-top:auto;padding-top:24px;display:flex}.panel-cta{color:#6ea8ff;align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.panel-cta svg{transition:transform .4s var(--ease-out)}.panel-inner:hover .panel-cta{color:var(--accent-2)}.panel-inner:hover .panel-cta svg{transform:translate(6px)}.panel-gh{width:42px;height:42px;color:var(--text);border:1px solid var(--border);border-radius:50%;place-items:center;transition:all .25s;display:grid}.panel-gh:hover{color:#fff;background:var(--accent);border-color:var(--accent)}.panel-media{border:1px solid var(--border);background:#070b14;border-radius:18px;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 60px -30px #2f7dff59}.panel-chrome{border-bottom:1px solid var(--border);font-family:var(--mono);color:var(--muted);background:#ffffff06;align-items:center;gap:7px;padding:12px 16px;font-size:11.5px;display:flex}.panel-chrome i{background:#94b2ff33;border-radius:50%;width:9px;height:9px}.panel-chrome span{margin-left:10px}.panel-img-wrap{flex:1;position:relative;overflow:hidden}.panel-img-zoom{position:absolute;inset:0}.panel-img-wrap img{object-fit:cover;width:100%;height:116%;transition:scale 1.2s var(--ease-out);position:absolute;inset:-8% 0}.panel-inner:hover .panel-img-wrap img{scale:1.05}.panel-media-type{background:radial-gradient(circle at 70% 30%,#00d4ff2e,#0000 55%),radial-gradient(circle at 20% 80%,#2f7dff40,#0000 60%),#070b14;justify-content:flex-end;padding:36px}.panel-media-type:before{content:"";background-image:radial-gradient(#94b2ff2e 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 70% 30%,#000,#0000 70%);mask-image:radial-gradient(circle at 70% 30%,#000,#0000 70%)}.panel-type-big{font-family:var(--serif);letter-spacing:-.03em;color:var(--ink);font-size:clamp(44px,5vw,76px);font-style:italic;font-weight:300;line-height:1;position:relative}.panel-type-small{font-family:var(--mono);color:var(--muted);margin-top:14px;font-size:12px;position:relative}.timeline-fill{background:linear-gradient(var(--accent), var(--accent-2));width:2px;box-shadow:0 0 12px var(--accent-2);transform-origin:top;z-index:1;position:absolute;top:8px;bottom:8px;left:7px;transform:scaleY(0)}.timeline-dot{z-index:2;transition:background .4s, box-shadow .4s, transform .5s var(--ease-out)}.timeline-item.is-active .timeline-dot{background:var(--accent-2);box-shadow:0 0 0 4px var(--bg), 0 0 18px var(--accent-2);transform:scale(1.15)}.timeline-card{background:#0a101db8}.contact-section{align-items:center;min-height:100svh;padding:140px 28px;display:flex;position:relative}.contact-inner{max-width:var(--max-width);text-align:center;width:100%;margin:0 auto}.contact-meta{justify-content:center}.contact-title{font-family:var(--serif);font-variation-settings:"SOFT" 40, "opsz" 144;letter-spacing:-.045em;color:var(--ink);margin-bottom:30px;font-size:clamp(48px,9vw,132px);font-weight:400;line-height:.98}.contact-title>.split{display:block}.contact-title-accent{color:#6ea8ff;font-style:italic;font-weight:300}.contact-text{color:var(--muted);max-width:520px;margin:0 auto 46px;font-size:18px}.contact-actions{justify-content:center;margin-bottom:48px;display:flex}.contact-email{border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ink);transition:border-color .3s, box-shadow .4s, background .3s, transform .4s var(--ease-out);background:#0a101d99;border-radius:999px;align-items:center;gap:22px;padding:14px 14px 14px 34px;font-size:clamp(16px,2.2vw,22px);font-weight:500;display:inline-flex}.contact-email:hover{border-color:var(--accent-2);box-shadow:0 0 0 1px #00d4ff40, 0 20px 60px -20px var(--glow)}.contact-email-icon{color:#fff;background:linear-gradient(120deg, var(--accent), var(--accent-2));width:52px;height:52px;transition:transform .5s var(--ease-out);border-radius:50%;place-items:center;display:grid}.contact-email:hover .contact-email-icon{transform:rotate(-45deg)}.contact-email.is-copied .contact-email-text{color:var(--accent-2)}.contact-foot{flex-direction:column;align-items:center;gap:22px;display:flex}.contact-local{font-family:var(--mono);color:var(--muted);align-items:center;gap:8px;font-size:12.5px;display:inline-flex}.status-dot{background:var(--accent-2);width:7px;height:7px;box-shadow:0 0 10px var(--accent-2);border-radius:50%;animation:2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.footer{z-index:2;max-width:var(--max-width);border-top:1px solid var(--border);font-family:var(--mono);color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:32px 28px;font-size:12.5px;display:flex;position:relative}.footer-top{transition:color .2s}.footer-top:hover{color:var(--accent-2)}.marquee{z-index:2;border-top:1px solid var(--border);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070b148c;padding:28px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-track{will-change:transform;gap:52px;width:max-content;display:flex}.marquee-item{font-family:var(--serif);color:var(--muted);white-space:nowrap;align-items:center;gap:52px;font-size:26px;font-style:italic;font-weight:300;display:inline-flex}.marquee-dot{background:linear-gradient(120deg, var(--accent), var(--accent-2));width:6px;height:6px;box-shadow:0 0 8px var(--glow);border-radius:50%;flex:none}.cursor-dot,.cursor-ring{z-index:200;pointer-events:none;opacity:0;transition:opacity .3s;position:fixed;top:0;left:0}html.cursor-visible .cursor-dot,html.cursor-visible .cursor-ring{opacity:1}html.has-cursor,html.has-cursor *{cursor:none!important}.cursor-dot{background:var(--accent-2);border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px}.cursor-ring{width:38px;height:38px;margin:-19px 0 0 -19px}.cursor-ring:before{content:"";transition:transform .45s var(--ease-out), background .3s, border-color .3s;border:1px solid #6ea8ff8c;border-radius:50%;position:absolute;inset:0}.cursor-ring.is-hover:before{border-color:var(--accent-2);background:#00d4ff0f;transform:scale(1.6)}.cursor-ring.has-label:before{background:#2f7dffeb;border-color:#0000;transform:scale(2.4)}.cursor-ring.is-down:before{transform:scale(.8)}.cursor-label{font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;color:#fff;opacity:0;place-items:center;font-size:10.5px;font-weight:500;transition:opacity .2s;display:grid;position:absolute;inset:0}.cursor-ring.has-label .cursor-label{opacity:1}.grain{z-index:150;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:1s steps(4,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-1%,3%)}to{transform:translate(3%,-1%)}}.preloader{z-index:300;background:var(--bg);clip-path:inset(0);align-items:flex-end;transition:clip-path 1s cubic-bezier(.76,0,.24,1);display:flex;position:fixed;inset:0}.preloader.is-leaving{clip-path:inset(0 0 100%)}.preloader-inner{justify-content:space-between;align-items:flex-end;width:100%;padding:0 28px 40px;display:flex}.preloader-name{font-family:var(--serif);letter-spacing:-.03em;color:var(--ink);font-size:clamp(28px,4vw,48px);font-weight:400}.preloader-count{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:clamp(48px,9vw,120px);line-height:.85}.preloader-bar{background:linear-gradient(90deg, var(--accent), var(--accent-2));transform-origin:0;height:2px;position:absolute;bottom:0;left:0;right:0}@media (width<=900px){.section{padding:100px 0}.section-head{margin-bottom:48px}.hero{align-items:flex-end;padding:110px 0 120px}.hero-name-accent{padding-left:0}.hero-hud{display:none}.skill-row{grid-template-columns:40px 1fr;gap:6px 14px;padding:26px 4px}.skill-items{grid-column:2;font-size:15px}.project-panel{height:auto;margin-bottom:28px;position:relative;top:auto}.panel-inner{grid-template-columns:1fr;gap:28px;padding:26px}.panel-media{flex:none;order:-1;height:240px}.panel-media-type{height:200px}.footer{text-align:center;flex-direction:column}.footer-mid{display:none}}@media (prefers-reduced-motion:reduce){.split-inner,.hero-fade{transition:none;opacity:1!important;transform:none!important}.section-rule{transition:none;transform:none}.grain,.scroll-cue-line,.status-dot,.type-caret{animation:none}.project-panel{position:relative;top:auto}}
