:root{--font-display:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--radius:3px;--nav-h:64px}html[data-theme=dark]{--bg:#0b0e11;--bg-panel:#12161c;--bg-panel-2:#171c23;--border:#232933;--border-strong:#2e3540;--text:#e8eaed;--text-muted:#8b93a1;--text-dim:#6b7280;--amber:#f5a623;--amber-dim:#8a6423;--teal:#3ddc97;--red:#e5484d;--violet:#a78bfa;--pink:#f472b6;--blue:#60a5fa;--grad-1:#f5a623;--grad-2:#f472b6;--grad-3:#a78bfa;--on-grad:#0b0e11;--glow:#f5a6232e;--glass-bg:#171c238c;--glass-border:#ffffff14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=light]{--bg:#f5f4f0;--bg-panel:#fff;--bg-panel-2:#fbfaf7;--border:#dedcd5;--border-strong:#c7c4ba;--text:#14171c;--text-muted:#565f6b;--text-dim:#6b7280;--amber:#b8720c;--amber-dim:#d9a75c;--teal:#158a5f;--red:#b7333a;--violet:#7c3aed;--pink:#db2777;--blue:#2563eb;--grad-1:#c2660a;--grad-2:#b0217a;--grad-3:#5b21b6;--on-grad:#fff;--glow:#b8720c1f;--glass-bg:#fff9;--glass-border:#14171c0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;max-width:100%;overflow-x:hidden}html::-webkit-scrollbar{display:none}body::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;max-width:100%;margin:0;line-height:1.6;transition:background .3s,color .3s;overflow-x:hidden}a{color:inherit}::selection{background:var(--amber);color:#0b0e11}.mono{font-family:var(--font-mono)}.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,56px);position:relative}a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:3px}section{border-bottom:1px solid var(--border);padding:110px 0;position:relative;overflow:clip}section:last-of-type{border-bottom:none}.section-head{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:44px;display:flex}.section-title{font-family:var(--font-display);margin:0;font-size:clamp(1.5rem,2.6vw,1.9rem);font-weight:600}.section-index{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:.78rem}.btn{border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-panel);cursor:pointer;align-items:center;gap:8px;padding:11px 18px;font-size:.88rem;font-weight:500;text-decoration:none;transition:border-color .18s,transform .18s,background .18s;display:inline-flex}.btn:hover{border-color:var(--amber);transform:translateY(-1px)}.btn.primary{background:linear-gradient(120deg, var(--grad-1), var(--grad-2));color:var(--on-grad);border-color:#0000}.btn.primary:hover{filter:brightness(1.1)saturate(1.15);transform:translateY(-2px)}.btn svg{flex-shrink:0;width:15px;height:15px}.tilt-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px)saturate(1.2);color:inherit;border-radius:10px;text-decoration:none;transition:border-color .3s,box-shadow .3s,transform .3s;display:block;position:relative}.tilt-card:hover{border-color:color-mix(in srgb, var(--amber) 45%, var(--glass-border));transform:translateY(-2px);box-shadow:0 14px 32px -20px #0000004d}.tilt-card-glow{border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(200px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--amber) 10%, transparent), transparent 72%);z-index:0;transition:opacity .3s;position:absolute;inset:0}.tilt-card:hover .tilt-card-glow{opacity:1}.tilt-card-content{z-index:1;height:100%;position:relative}@media (width<=640px){section{padding:80px 0}}.blob-host{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.blob{filter:blur(90px);opacity:.32;will-change:transform;border-radius:50%;position:absolute}html[data-theme=light] .blob{opacity:.22}@media (prefers-reduced-motion:reduce){.blob{transform:none!important}}.preloader{z-index:999;background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preloader-half{background:var(--bg);width:50%;position:absolute;top:0;bottom:0}.preloader-half.left{left:0}.preloader-half.right{right:0}.preloader-content{z-index:2;text-align:left;width:min(420px,84vw);position:relative}.boot-mark{color:var(--text-dim);letter-spacing:.08em;margin-bottom:10px;font-size:.72rem}.boot-percent{font-family:var(--font-display);color:var(--grad-1);letter-spacing:-.02em;margin-bottom:22px;font-size:clamp(3.4rem,11vw,5.6rem);font-weight:700;line-height:1}.boot-percent-sign{margin-left:4px;font-size:.4em}@supports (-webkit-text-stroke:1px black) or (text-stroke:1px black){.boot-percent{color:#0000;-webkit-text-stroke:1.5px var(--grad-1);text-stroke:1.5px var(--grad-1)}.boot-percent-sign{-webkit-text-stroke:1px var(--grad-2);text-stroke:1px var(--grad-2)}}.boot-lines{min-height:168px;color:var(--text-muted);font-size:.78rem;line-height:1.9}.boot-line .prompt-char{color:var(--amber);margin-right:6px}.boot-line.active{align-items:center;display:flex}.boot-cursor{background:var(--amber);width:7px;height:13px;margin-left:6px;animation:.9s step-end infinite boot-blink;display:inline-block}@keyframes boot-blink{50%{opacity:0}}.boot-progress-track{background:var(--border);border-radius:999px;width:100%;height:5px;margin-top:26px;position:relative;overflow:hidden}.boot-progress-fill{background:linear-gradient(90deg, var(--grad-1), var(--grad-2), var(--grad-3));height:100%;box-shadow:0 0 12px 0 color-mix(in srgb, var(--grad-2) 55%, transparent);background-size:200% 100%;border-radius:999px;animation:2.4s linear infinite boot-gradient-shift;position:relative;overflow:hidden}.boot-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);animation:1.4s linear infinite boot-shimmer;position:absolute;inset:0}@keyframes boot-gradient-shift{0%{background-position:0%}to{background-position:200%}}@keyframes boot-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.boot-progress-fill,.boot-progress-fill:after{animation:none}}.nav{height:var(--nav-h);z-index:100;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:space-between;align-items:center;gap:24px;min-width:0;max-width:1180px;height:100%;margin:0 auto;padding:0 clamp(20px,4vw,56px);display:flex}.nav-mark{font-family:var(--font-display);flex-shrink:0;font-size:1rem;font-weight:700;text-decoration:none}.dot-accent{color:var(--amber)}.nav-links{flex:1;justify-content:center;align-items:center;gap:30px;display:flex}.nav-link{color:var(--text-muted);font-size:.8rem;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.nav-link-inner{height:1.15em;display:block;position:relative}.nav-link-text{transition:transform .4s cubic-bezier(.76,0,.24,1);display:block}.nav-link-text.down{color:var(--amber);position:absolute;top:100%;left:0}.nav-link:hover .nav-link-text.up,.nav-link:hover .nav-link-text.down{transform:translateY(-100%)}.nav-right{flex-shrink:0;align-items:center;gap:18px;display:flex}.nav-status{color:var(--text-muted);white-space:nowrap;align-items:center;gap:8px;min-width:0;font-size:.75rem;display:flex;overflow:hidden}.pulse-dot{background:var(--teal);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2.4s ease-in-out infinite nav-pulse}@keyframes nav-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--teal) 55%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--teal) 0%, transparent)}}.theme-switch{background:var(--bg-panel-2);border:1px solid var(--border-strong);cursor:pointer;border-radius:999px;flex-shrink:0;width:42px;height:22px;padding:0;position:relative}.theme-switch .knob{background:var(--amber);border-radius:50%;width:16px;height:16px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px}html[data-theme=light] .theme-switch .knob{transform:translate(20px)}.menu-toggle{border:1px solid var(--border-strong);width:34px;height:34px;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.menu-icon{width:16px;height:12px;display:inline-block;position:relative}.menu-icon-bar{background:currentColor;width:100%;height:1.5px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s,top .3s;position:absolute;left:0}.menu-icon-bar:first-child{top:0}.menu-icon-bar:nth-child(2){top:50%;transform:translateY(-50%)}.menu-icon-bar:nth-child(3){top:100%;transform:translateY(-100%)}.menu-icon.is-open .menu-icon-bar:first-child{top:50%;transform:translateY(-50%)rotate(45deg)}.menu-icon.is-open .menu-icon-bar:nth-child(2){opacity:0}.menu-icon.is-open .menu-icon-bar:nth-child(3){top:50%;transform:translateY(-50%)rotate(-45deg)}@media (width<=1000px){.nav-links{display:none}.menu-toggle{display:inline-flex}}@media (width<=640px){.nav-status span:last-child{display:none}}.mobile-menu{inset:0;top:var(--nav-h);z-index:90;background:#12161c;flex-direction:column;justify-content:space-between;padding:36px clamp(20px,6vw,56px) 48px;display:flex;position:fixed;overflow:hidden auto}html[data-theme=light] .mobile-menu{background:#fff}.mobile-menu-links{flex-direction:column;gap:4px;display:flex}.mobile-menu-link{border-bottom:1px solid var(--border);color:var(--text);font-family:var(--font-display);align-items:baseline;gap:16px;padding:16px 4px;font-size:clamp(1.4rem,6vw,2rem);font-weight:600;text-decoration:none;display:flex}.mobile-menu-index{font-family:var(--font-mono);color:var(--amber);font-size:.75rem;font-weight:400}.mobile-menu-contact{flex-direction:column;gap:10px;margin-top:32px;display:flex}.mobile-menu-contact a{color:var(--text-muted);width:fit-content;font-size:.85rem;text-decoration:none}.mobile-menu-contact a:hover{color:var(--amber)}@media (width>=1001px){.mobile-menu{display:none}}html.custom-cursor-active,html.custom-cursor-active *{cursor:none!important}.custom-cursor{border:1.5px solid var(--amber);pointer-events:none;z-index:9999;mix-blend-mode:difference;border-radius:50%;width:24px;height:24px;margin-top:-12px;margin-left:-12px;transition:width .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1),background .25s,border-color .25s;position:fixed;top:0;left:0}.custom-cursor.is-hover{background:color-mix(in srgb, var(--amber) 16%, transparent);width:54px;height:54px;margin-top:-27px;margin-left:-27px}.site-background{z-index:-1;pointer-events:none;background:var(--bg);position:fixed;inset:0;overflow:hidden}.aurora{filter:blur(120px);opacity:.22;will-change:transform;border-radius:50%;width:60vw;max-width:800px;height:60vw;max-height:800px;position:absolute}html[data-theme=light] .aurora{opacity:.14}.aurora-1{background:radial-gradient(circle, var(--grad-1), transparent 70%);animation:38s ease-in-out infinite alternate aurora-float-1;top:-10%;left:-10%}.aurora-2{background:radial-gradient(circle, var(--grad-2), transparent 70%);animation:46s ease-in-out infinite alternate aurora-float-2;top:30%;right:-15%}.aurora-3{background:radial-gradient(circle, var(--grad-3), transparent 70%);animation:52s ease-in-out infinite alternate aurora-float-3;bottom:-15%;left:20%}@keyframes aurora-float-1{0%{transform:translate(0)scale(1)}to{transform:translate(8vw,10vh)scale(1.15)}}@keyframes aurora-float-2{0%{transform:translate(0)scale(1)}to{transform:translate(-10vw,8vh)scale(1.1)}}@keyframes aurora-float-3{0%{transform:translate(0)scale(1)}to{transform:translate(6vw,-8vh)scale(1.2)}}.binary-rain{width:100%;height:100%;position:absolute;inset:0}.site-background-grain{opacity:.4;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E");position:absolute;inset:-20%}html[data-theme=light] .site-background-grain{opacity:.15}@media (prefers-reduced-motion:reduce){.aurora{animation:none}}@media (width<=640px){.binary-rain{opacity:.6}}.ticker-band{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(1.2);border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);width:100%;padding:16px 0;overflow:hidden}.ticker-track{white-space:nowrap;width:max-content;animation:34s linear infinite ticker-scroll;display:inline-flex}.ticker-item{letter-spacing:.06em;color:var(--text-muted);align-items:center;padding:0 28px;font-size:.82rem;display:inline-flex}.ticker-item .ticker-dot{color:var(--amber);margin-left:28px;font-size:.5rem}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}.scroll-tracker{z-index:40;pointer-events:none;height:100svh;position:fixed;top:0;right:22px}.tracker-track{background:var(--border);width:2px;position:absolute;top:130px;bottom:110px;left:50%;transform:translate(-50%)}.tracker-tick{pointer-events:auto;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;left:50%;transform:translate(-50%,-50%)}.tracker-tick:after{content:"";background:var(--border-strong);border-radius:50%;width:6px;height:6px;transition:background .25s,box-shadow .25s,transform .25s}.tracker-tick:hover:after{background:var(--amber-dim);transform:scale(1.3)}.tracker-tick.active:after{background:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb, var(--amber) 20%, transparent);transform:scale(1.15)}.tracker-tick.active:hover:after{transform:scale(1.35)}.tracker-follower{width:26px;height:26px;color:var(--amber);filter:drop-shadow(0 0 8px var(--glow));animation:1.8s ease-in-out infinite tracker-bob;position:absolute;left:50%;transform:translate(-50%,-50%)}.tracker-follower svg{width:100%;height:100%;transition:transform .35s cubic-bezier(.4,0,.2,1)}.tracker-follower.dir-up svg{transform:rotate(180deg)}@keyframes tracker-bob{0%,to{margin-top:0}50%{margin-top:4px}}@media (width<=640px){.scroll-tracker{right:12px}.tracker-follower{width:20px;height:20px}}@media (width<=420px){.tracker-track{top:100px;bottom:90px}}@media (prefers-reduced-motion:reduce){.tracker-follower{animation:none}}.hero{min-height:100svh;padding-top:var(--nav-h);border-bottom:1px solid var(--border);align-items:center;display:flex;position:relative}.hero-canvas{opacity:.55;pointer-events:none;position:absolute;inset:0}html[data-theme=light] .hero-canvas{opacity:.35}.hero-content{z-index:2;width:100%;position:relative}.hero-kicker{color:var(--text-dim);align-items:baseline;gap:2px;margin-bottom:18px;font-size:.8rem;display:flex}.hero-kicker .cursor{background:var(--amber);vertical-align:text-bottom;width:7px;height:1em;margin-left:4px;animation:1.1s step-end infinite hero-blink;display:inline-block}@keyframes hero-blink{50%{opacity:0}}.hero-name{font-family:var(--font-display);letter-spacing:-.02em;background:linear-gradient(115deg, var(--grad-1) 0%, var(--grad-2) 48%, var(--grad-3) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 22px;font-size:clamp(3.2rem,9vw,7.4rem);font-weight:700;line-height:.98}.hero-role{color:var(--text-muted);max-width:620px;margin:0 0 42px;font-size:clamp(1.05rem,2vw,1.3rem);font-weight:400}.stat-row{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:640px;margin-bottom:40px;display:grid}.stat{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(1.2);padding:18px 16px}.stat-num{color:var(--amber);font-size:clamp(1.4rem,3vw,1.9rem);font-weight:500;line-height:1}.stat-label{color:var(--text-muted);margin-top:8px;font-size:.78rem;line-height:1.35}.hero-links{flex-wrap:wrap;gap:14px;display:flex}.scroll-cue{color:var(--text-dim);align-items:center;gap:8px;font-size:.72rem;display:flex;position:absolute;bottom:28px;left:28px}.scroll-cue .line{background:linear-gradient(var(--text-dim), transparent);width:1px;height:22px;animation:1.8s ease-in-out infinite dropline}@keyframes dropline{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}@media (width<=640px){.stat-row{grid-template-columns:1fr}}.parallax-number-host{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.parallax-number{color:var(--border-strong);opacity:.5;-webkit-user-select:none;user-select:none;font-size:clamp(6rem,15vw,12rem);font-weight:700;line-height:1;position:absolute;top:-.06em;right:clamp(20px,4vw,56px)}html[data-theme=light] .parallax-number{opacity:.6}.summary-text{color:var(--text-muted);max-width:640px;font-size:1.08rem}.yaml-block{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);margin-top:36px;padding:20px 22px;font-size:.83rem;line-height:1.85;overflow-x:auto}.yaml-block .yaml-comment{color:var(--text-dim);margin-bottom:4px}.yaml-block .k{color:var(--teal)}.yaml-block .v{color:var(--text-muted)}.terminal-panel{border:1px solid var(--border-strong);box-shadow:0 0 0 1px var(--border), 0 20px 60px -20px var(--glow);background:#0a0d10;border-radius:6px;overflow:hidden}html[data-theme=light] .terminal-panel{background:#14171c}.terminal-chrome{background:#12161c;border-bottom:1px solid #232933;align-items:center;gap:7px;padding:11px 14px;display:flex}.terminal-chrome .dot{border-radius:50%;width:10px;height:10px}.terminal-chrome .dot.red{background:#e5484d}.terminal-chrome .dot.amber{background:#f5a623}.terminal-chrome .dot.teal{background:#3ddc97}.terminal-title{color:#8b93a1;margin-left:10px;font-size:.74rem}.terminal-body{color:#c7cdd6;min-height:320px;max-height:380px;padding:18px 18px 22px;font-size:.82rem;line-height:1.85;overflow-y:auto}.terminal-body::-webkit-scrollbar{width:6px}.terminal-body::-webkit-scrollbar-thumb{background:#2e3540;border-radius:3px}.t-line{white-space:pre-wrap;word-break:break-word}.t-cmd{color:#e8eaed}.t-prompt{color:#f5a623;margin-right:6px}.t-out{color:#8b93a1;padding-left:18px}.t-out.head{color:#5b6472}.t-out.ok{color:#8b93a1}.t-out.dim{color:#5b6472}.t-out.amber{color:#f5a623}.t-out.teal{color:#3ddc97}.t-cursor{vertical-align:middle;background:#f5a623;width:7px;height:13px;margin-left:3px;animation:.9s step-end infinite t-blink;display:inline-block}@keyframes t-blink{50%{opacity:0}}.terminal-intro{color:var(--text-muted);max-width:560px;margin:0 0 32px}.pipeline{grid-template-columns:34px minmax(0,1fr);column-gap:26px;min-width:0;display:grid;position:relative}.pipeline-rail{grid-column:1;position:relative}.rail-bg,.rail-fg{width:2px;position:absolute;top:4px;bottom:4px;left:15px}.rail-bg{background:var(--border)}.rail-fg{background:var(--amber);transform-origin:top}.stages{flex-direction:column;grid-column:2;gap:0;min-width:0;display:flex}.stage-wrap{position:relative}.stage-slot{margin-bottom:34px;position:relative}.stage-wrap:last-child .stage-slot{margin-bottom:0}.stage{padding:30px 30px 34px}.stage-index{color:var(--text-dim);font-size:.72rem;position:absolute;top:26px;right:28px}.stage-node{background:var(--bg);border:2px solid var(--border-strong);z-index:2;border-radius:50%;width:15px;height:15px;transition:border-color .3s,background .3s;position:absolute;top:34px;left:-43px}.stage-slot.is-current .stage-node{border-color:var(--teal);background:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb, var(--teal) 18%, transparent)}.stage-slot.is-current .stage{border-color:color-mix(in srgb, var(--teal) 45%, var(--glass-border));box-shadow:0 0 0 1px color-mix(in srgb, var(--teal) 20%, transparent), 0 14px 32px -20px #0000004d}.stage-eyebrow{color:var(--text-dim);margin-bottom:6px;font-size:.74rem}.stage-eyebrow .live{color:var(--teal)}.stage-title{font-family:var(--font-display);margin:0 0 3px;font-size:1.2rem;font-weight:600}.stage-org{color:var(--text-muted);margin:0 0 18px;font-size:.94rem}.stage-org .place{color:var(--text-dim)}.stage ul{margin:0;padding:0;list-style:none}.stage li{color:var(--text-muted);max-width:560px;margin-bottom:10px;padding-left:18px;font-size:.95rem;position:relative}.stage li:before{content:"";background:var(--border-strong);width:6px;height:1px;position:absolute;top:.62em;left:0}.stage li strong{color:var(--text);font-weight:600}@media (width<=640px){.pipeline{grid-template-columns:24px minmax(0,1fr);column-gap:14px}.rail-bg,.rail-fg{left:11px}.stage-node{left:-33px}.stage{padding:22px 18px 26px}}#skills{padding-left:0;padding-right:0}#skills .wrap{margin-bottom:40px}.skills-intro{color:var(--text-muted);max-width:480px;margin:0}.skills-intro-mobile{display:none}.marquee-row{width:100%;padding:10px 0;overflow:hidden}.marquee-track{gap:20px;width:max-content;animation-name:marquee-left;animation-timing-function:linear;animation-iteration-count:infinite;display:inline-flex}.marquee-track.dir-right{animation-name:marquee-right}.marquee-row:hover .marquee-track{animation-play-state:paused}@keyframes marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.skill-card{perspective:1200px;flex-shrink:0;width:250px;height:158px}.skill-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.16,1,.3,1);position:relative}.skill-card:hover .skill-card-inner{transform:rotateY(180deg)}.skill-card-face{backface-visibility:hidden;border:1px solid var(--glass-border);background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(1.2);border-radius:8px;flex-direction:column;padding:20px;transition:border-color .3s,box-shadow .3s;display:flex;position:absolute;inset:0;overflow:hidden}.skill-card-face.front{justify-content:space-between}.skill-card:hover .skill-card-face.front{border-color:var(--amber-dim);box-shadow:0 10px 24px -18px #00000059}.skill-card-face.back{justify-content:flex-start;gap:12px;transform:rotateY(180deg)}.skill-card-spotlight{pointer-events:none;background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 12%, transparent), transparent 72%);z-index:0;position:absolute;inset:0}.skill-card-badge{background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);z-index:1;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.skill-card-badge-dot{background:var(--accent);border-radius:50%;width:9px;height:9px}.skill-card-name{z-index:1;font-size:1.02rem;font-weight:600;position:relative}.skill-card-name.small{font-size:.88rem}.skill-card-count{color:var(--text-dim);z-index:1;align-items:center;gap:10px;font-size:.72rem;display:flex;position:relative}.flip-hint{color:var(--text-dim);opacity:.85;align-items:center;gap:4px;display:inline-flex}.flip-hint svg{width:11px;height:11px}.skill-card .tag-list{z-index:1;flex-wrap:wrap;align-content:flex-start;gap:6px;display:flex;position:relative;overflow:hidden}.skill-card .tag{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border);background:var(--bg-panel-2);border-radius:4px;padding:3px 8px;font-size:.68rem}@media (width<=640px){.skill-card{width:210px;height:148px}}.skills-mobile{display:none}.skill-tile-grid{grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;display:grid}.skill-tile{border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;min-width:0;padding:18px}.skill-tile-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.skill-tile-badge{background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.skill-tile-dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.skill-tile-name{font-size:.95rem;font-weight:600}.skill-tile .tag-list{flex-wrap:wrap;gap:6px;display:flex}.skill-tile .tag{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border);background:var(--bg-panel-2);border-radius:4px;padding:4px 9px;font-size:.72rem}@media (width<=860px){.skills-desktop{display:none}.skills-mobile{display:block}.skills-intro-desktop{display:none}.skills-intro-mobile{display:inline}}@media (width>=560px) and (width<=860px){.skill-tile-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.cert-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.cert{flex-direction:column;height:100%;min-height:128px;padding:22px;display:flex}.cert-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cert-badge-icon{width:22px;height:22px;color:var(--amber);flex-shrink:0}.cert-ext-icon{width:14px;height:14px;color:var(--text-dim);flex-shrink:0;transition:color .25s,transform .25s}.tilt-card:hover .cert-ext-icon{color:var(--amber);transform:translate(1px,-1px)}.cert-name{margin-bottom:4px;font-size:.95rem;font-weight:600}.cert-issuer{color:var(--text-dim);margin-top:auto;padding-top:8px;font-size:.8rem}.edu-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:32px;padding-top:28px;display:flex}.edu-degree{font-weight:600}.edu-meta{color:var(--text-dim);font-size:.88rem}#contact{align-items:center;min-height:72vh;padding-bottom:64px;display:flex}#contact .wrap{width:100%}.contact-prompt{color:var(--text-dim);margin-bottom:24px;font-size:.85rem}.contact-title{font-family:var(--font-display);letter-spacing:-.01em;max-width:900px;margin:0 0 44px;font-size:clamp(2.2rem,6vw,4.4rem);font-weight:600;line-height:1.05}.contact-links{flex-wrap:wrap;gap:14px;margin-bottom:72px;display:flex}footer{font-family:var(--font-mono);color:var(--text-dim);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:24px;font-size:.74rem;display:flex}
