@font-face{font-family:Bodoni Moda Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/assets/bodoni-moda-math-wght-italic-Csabf5l-.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Bodoni Moda Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/assets/bodoni-moda-symbols-wght-italic-Dit9nj3y.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Bodoni Moda Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/assets/bodoni-moda-latin-ext-wght-italic-NDCc9UyL.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bodoni Moda Variable;font-style:italic;font-display:swap;font-weight:400 900;src:url(/assets/bodoni-moda-latin-wght-italic-B5SVoS-R.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;src:url(/assets/GeistVF-Z3vNfPbA.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/assets/GeistMonoVF-CgF0sbjX.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--bg: #0a0a0a;--bg1: #0f0f0f;--bg2: #131313;--bg3: #1a1a1a;--bg-tile: #0d0d0d;--bg-tile-hi: #161616;--panel: rgba(19,19,19,.82);--border: rgba(255,255,255,.08);--border-hov: rgba(255,255,255,.18);--text: #f0f0f0;--muted: #a8a8a8;--subtle: #6a6a6a;--red-base: #7A1010;--red-base-2: rgba(122,16,16,.55);--red-base-3: rgba(122,16,16,.2);--red-hot: #D6001C;--red-hot-2: rgba(214,0,28,.45);--red-hot-3: rgba(214,0,28,.18);--red-glow: 0 0 0 5px rgba(214,0,28,.25);--trace: rgba(122,16,16,.45);--trace-hot: rgba(214,0,28,.65);--grid-line: rgba(255,255,255,.035);--mono: "Geist Mono", "SF Mono", ui-monospace, monospace;--sans: "Geist", "SF Pro Display", ui-sans-serif, system-ui, sans-serif;--radius: 14px;--radius-sm: 8px;--radius-tile: 18px;--rim: 1px solid var(--border);--rim-hot: 1px solid var(--red-hot-2);--rim-base: 1px solid var(--red-base-2);--sb-closed: 76px;--sb-open: 248px;--sb-ease: .3s cubic-bezier(.4,0,.2,1);--ease-out: cubic-bezier(.22,1,.36,1);--ease-in-out: cubic-bezier(.65,0,.35,1);--dur-fast: .15s;--dur-base: .28s;--dur-slow: .55s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{min-height:100%;font-family:var(--sans);font-size:17px;color:var(--text);background:var(--bg);overflow-x:hidden;line-height:1.65}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px 256px}#particle-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}.app{position:relative;z-index:1;display:flex;min-height:100vh}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sb-closed);z-index:100;display:flex;flex-direction:column;background:#090909e6;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-right:1px solid var(--border);overflow:hidden;transition:width var(--sb-ease);will-change:width}.sidebar:hover,.sidebar.forceOpen{width:var(--sb-open)}.sbBrand{height:76px;display:flex;align-items:center;border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden}.sbBrandMark{flex-shrink:0;width:var(--sb-closed);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:15px;font-weight:700;letter-spacing:.06em;color:var(--text)}.sbBrandFull{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.14em;color:var(--muted);white-space:nowrap;opacity:0;transform:translate(-8px);transition:opacity var(--sb-ease),transform var(--sb-ease)}.sidebar:hover .sbBrandFull,.sidebar.forceOpen .sbBrandFull{opacity:1;transform:translate(0)}.sbNav{flex:1;display:flex;flex-direction:column;gap:4px;padding:16px 10px;overflow:hidden}.sbLink{display:flex;align-items:center;gap:0;padding:0;height:52px;border-radius:var(--radius-sm);color:var(--muted);white-space:nowrap;overflow:hidden;transition:color .15s ease,background .15s ease}.sbLink:hover{color:var(--text);background:#ffffff0a}.sbLink.active{color:var(--text)}.sbIcon{flex-shrink:0;width:var(--sb-closed);display:flex;align-items:center;justify-content:center}.sbLabel{font-size:15px;font-weight:500;opacity:0;transform:translate(-6px);transition:opacity var(--sb-ease),transform var(--sb-ease);white-space:nowrap}.sidebar:hover .sbLabel,.sidebar.forceOpen .sbLabel{opacity:1;transform:translate(0)}.sbBottom{padding:12px 10px 22px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px;overflow:hidden}.mobileBar{display:none;position:fixed;top:0;left:0;right:0;height:52px;z-index:100;align-items:center;justify-content:space-between;padding:0 16px;background:#090909f0;backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.mobileBarBrand{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.08em}.mobileMenuOverlay{position:fixed;inset:0;z-index:99;background:#070707f7;backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;opacity:0;pointer-events:none;transition:opacity .22s ease}.mobileMenuOverlay.open{opacity:1;pointer-events:all}.mobileMenuLink{font-size:30px;font-weight:800;letter-spacing:-.03em;color:var(--muted);padding:12px 40px;border-radius:14px;transition:color .15s ease,background .15s ease}.mobileMenuLink:hover{color:var(--text);background:#ffffff0a}@media(max-width:768px){.sidebar{display:none}.mobileBar{display:flex}}.main{flex:1;margin-left:var(--sb-closed);padding-left:clamp(16px,2.5vw,32px);padding-right:clamp(16px,2.5vw,32px);padding-bottom:80px;min-width:0}@media(max-width:768px){.main{margin-left:0;padding-top:52px;padding-left:14px;padding-right:14px}}.container{width:100%;margin:0 auto}.hero{min-height:100vh;display:flex;align-items:center;padding:0 0 40px}.heroInner{width:100%;margin:0 auto}.heroEyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:24px;display:flex;align-items:center;gap:12px;opacity:0}.heroEyebrow:before{content:"";width:24px;height:1px;background:var(--subtle)}.heroName{font-size:clamp(4rem,10.5vw,9.5rem);font-weight:900;letter-spacing:-.045em;line-height:.92;color:var(--text);margin-bottom:28px;opacity:0;transform:translateY(28px)}.heroTypewriter{font-family:var(--mono);font-size:clamp(1.1rem,2.4vw,1.6rem);font-weight:400;color:var(--muted);margin-bottom:44px;display:flex;align-items:center;gap:0;min-height:2.2em;opacity:0}.twPrefix{color:var(--subtle);margin-right:.5em}.twWord{color:#c8c8c8a6}.twCursor{display:inline-block;width:2px;height:1.1em;background:var(--muted);margin-left:3px;vertical-align:middle;animation:cursorBlink 1.05s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.heroActions{display:flex;gap:10px;flex-wrap:wrap;opacity:0;transform:translateY(12px)}.btn{display:inline-flex;align-items:center;gap:7px;padding:11px 20px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted);font-size:15px;font-weight:500;transition:all .16s ease;white-space:nowrap}.btn:hover{color:var(--text);border-color:var(--border-hov);background:#ffffff12;transform:translateY(-1px)}.btn.primary{background:#ededed12;border-color:#ededed24;color:var(--text)}.btn.primary:hover{background:#ededed1f;border-color:#ededed3d}.sectionWrap{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,6vw,80px) 0}.sectionLabel{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:32px;display:flex;align-items:center;gap:12px}.sectionLabel:after{content:"";flex:1;height:1px;background:var(--border)}.bentoGrid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.b8{grid-column:span 8}.b4{grid-column:span 4}.b6{grid-column:span 6}.b5{grid-column:span 5}.b7{grid-column:span 7}.b12{grid-column:span 12}@media(max-width:1024px){.b8,.b7,.b5{grid-column:span 12}.b4,.b6{grid-column:span 6}}@media(max-width:580px){.bentoGrid{grid-template-columns:1fr}.b8,.b4,.b6,.b5,.b7,.b12{grid-column:span 1}}.projectCard{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 26px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);overflow:hidden;color:var(--text);min-height:220px;transform-style:preserve-3d;transform:perspective(900px) rotateX(0) rotateY(0) scale(1);transition:border-color .25s ease,box-shadow .25s ease,transform .08s ease;will-change:transform;opacity:0;filter:blur(6px)}.projectCard.in-view{transition:opacity .6s cubic-bezier(.22,1,.36,1),filter .6s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .25s ease,transform .08s ease;opacity:1;filter:blur(0px)}.projectCard:hover{border-color:#ffffff26;box-shadow:0 0 0 1px #ffffff14,0 20px 60px #000000b3,0 0 80px #ffffff08}.projectCard:before{content:"";position:absolute;inset:0;background:radial-gradient(500px circle at var(--cx,50%) var(--cy,40%),rgba(255,255,255,.05) 0%,transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none}.projectCard:hover:before{opacity:1}.cardNum{position:absolute;top:20px;right:22px;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--subtle);letter-spacing:.06em}.cardArrow{position:absolute;top:20px;right:22px;color:var(--subtle);transition:color .15s ease,transform .18s ease}.projectCard:hover .cardArrow{color:var(--muted);transform:translate(3px,-3px)}.cardTags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.cardTag{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.05em;padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff05}.cardTitle{font-size:clamp(18px,2vw,22px);font-weight:700;letter-spacing:-.02em;margin-bottom:6px;line-height:1.2}.cardDesc{font-size:13px;color:var(--muted);line-height:1.55;max-width:52ch}.projectCard.featured .cardTitle{font-size:clamp(22px,2.6vw,28px)}.aboutGrid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.aboutPanel{padding:24px 26px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);opacity:0;filter:blur(6px)}.aboutPanel.in-view{transition:opacity .6s cubic-bezier(.22,1,.36,1),filter .6s cubic-bezier(.22,1,.36,1);opacity:1;filter:blur(0px)}.aboutPanel.aw8{grid-column:span 8}.aboutPanel.aw4{grid-column:span 4}.aboutPanel.aw12{grid-column:span 12}@media(max-width:900px){.aboutPanel.aw8,.aboutPanel.aw4{grid-column:span 12}}.panelLabel{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--subtle);margin-bottom:18px}.timeline{display:flex;flex-direction:column}.tlItem{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.tlItem:last-child{border-bottom:none}.tlDot{flex-shrink:0;margin-top:6px;width:6px;height:6px;border-radius:50%;background:var(--subtle)}.tlRole{font-size:14px;font-weight:600;margin-bottom:2px}.tlMeta{font-family:var(--mono);font-size:11px;color:var(--subtle);margin-bottom:4px}.tlDesc{font-size:13px;color:var(--muted);line-height:1.5}.cvPanel{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;min-height:120px}.cvPanelTitle{font-size:18px;font-weight:700;letter-spacing:-.02em}.cvPanelSub{font-size:13px;color:var(--muted);line-height:1.5}.contactCard{padding:36px 40px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);opacity:0;filter:blur(6px)}.contactCard.in-view{transition:opacity .6s cubic-bezier(.22,1,.36,1),filter .6s cubic-bezier(.22,1,.36,1);opacity:1;filter:blur(0px)}.contactHeading{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-.035em;margin-bottom:6px}.contactSub{font-size:16px;color:var(--muted);margin-bottom:28px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:580px){.formGrid{grid-template-columns:1fr}}.formField{display:flex;flex-direction:column;gap:6px}.formField.full{grid-column:1/-1}.formLabel{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--subtle)}.formInput{padding:12px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:#ffffff08;color:var(--text);font-size:16px;font-family:var(--sans);outline:none;transition:border-color .15s ease,background .15s ease}.formInput::placeholder{color:var(--subtle)}.formInput:focus{border-color:#ffffff2e;background:#ffffff0d}.formTextarea{resize:vertical;min-height:110px}.formActions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.footer{border-top:1px solid var(--border);padding:22px 0}.footerInner{width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.footerBrand{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--subtle)}.footerLinks{display:flex;gap:20px}.footerLink{font-size:12px;color:var(--subtle);transition:color .15s ease}.footerLink:hover{color:var(--muted)}.footerCopy{font-family:var(--mono);font-size:11px;color:var(--subtle)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}.sbSocialDivider{height:1px;background:var(--border);margin:4px 12px;flex-shrink:0}.sbSocials{display:flex;flex-direction:column;gap:4px;padding:8px 10px;overflow:hidden;flex-shrink:0}.sbSocialLink{color:var(--subtle)}.sbSocialLink:hover{color:var(--muted)}.marqueeWrap{margin-top:48px;display:flex;flex-direction:column;gap:10px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%)}.marqueeTrack{overflow:hidden}.marqueeRow{display:flex;gap:6px;width:max-content}.marqueeLeft{animation:scrollLeft 38s linear infinite}.marqueeRight{animation:scrollRight 38s linear infinite}@keyframes scrollLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes scrollRight{0%{transform:translate(-50%)}to{transform:translate(0)}}.marqueeWrap:hover .marqueeLeft,.marqueeWrap:hover .marqueeRight{animation-play-state:paused}.marqueeItem{display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid var(--border);background:#ffffff05;white-space:nowrap;transition:border-color .2s ease,background .2s ease;cursor:default}.marqueeItem:hover{border-color:#ffffff24;background:#ffffff0d}.marqueeIcon{width:16px;height:16px;flex-shrink:0;color:var(--subtle);transition:color .2s ease}.marqueeItem:hover .marqueeIcon{color:var(--brand,var(--muted))}.marqueeLabel{font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--muted)}.projCategoryLabel{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;display:flex;align-items:center;gap:10px}.projCategoryLabel:after{content:"";flex:1;height:1px;background:var(--border)}.projCategoryGrid{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-left:20px;border-left:2px solid var(--border);margin-bottom:8px}@media(max-width:860px){.projCategoryGrid{grid-template-columns:1fr}}.projSectionHead{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.projSectionTitle{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.projSectionSub{font-size:13.5px;color:var(--muted);margin-top:4px}.projOtherWrap{padding-left:20px;border-left:2px solid var(--border)}.projList,.projExtraList{display:flex;flex-direction:column;gap:8px}.projCardLink{display:block;color:inherit;text-decoration:none}.projCard{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);overflow:hidden;transition:border-color .2s ease,background .2s ease;min-height:180px}.projCardLink:hover .projCard,.projCard:not(.projCardNoLink):hover{border-color:#ffffff2e;background:var(--bg3)}.projCardImg{flex-shrink:0;width:260px;min-width:260px;position:relative;background:var(--bg3);border-right:1px solid var(--border);overflow:hidden;align-self:stretch}.projCardImg img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;padding:20px}.projCardImgPlaceholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:22px;font-weight:700;color:var(--subtle);letter-spacing:.08em}@media(max-width:700px){.projCardImg{width:120px;min-width:120px}}@media(max-width:480px){.projCardImg{display:none}}.projCardInfo{flex:1;padding:22px 24px;display:flex;flex-direction:column;gap:8px;min-width:0}.projCardTop{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.projCardTitle{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.2}.projCardContext{font-size:12.5px;color:var(--muted);margin-top:3px;font-family:var(--mono)}.projCardMeta{display:flex;align-items:center;gap:8px;flex-shrink:0}.projCardYear{font-family:var(--mono);font-size:12.5px;color:var(--muted)}.projCardArrow{color:var(--muted);transition:color .15s ease,transform .15s ease}.projCardLink:hover .projCardArrow{color:var(--text);transform:translate(2px,-2px)}.projCardDesc{font-size:15.5px;color:var(--muted);line-height:1.65;flex:1}.projCardTags{display:flex;flex-wrap:wrap;gap:6px}.projTag{font-family:var(--mono);font-size:11.5px;font-weight:500;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff08}.projGithub{font-family:var(--mono);font-size:12.5px;color:var(--subtle);transition:color .15s ease;align-self:flex-start}.projGithub:hover{color:var(--muted)}.projMoreBtn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.06em;color:var(--subtle);padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:transparent;transition:color .15s ease,border-color .15s ease,background .15s ease}.projMoreBtn:hover{color:var(--muted);border-color:#ffffff24;background:#ffffff08}.invList{display:flex;flex-direction:column;gap:6px}.invItem{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg2);overflow:hidden;transition:border-color .2s ease}.invItem.invItemOpen{border-color:#ffffff1f}.invItemHeader{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;gap:12px;background:none;color:var(--text);text-align:left;transition:background .15s ease}.invItemHeader:hover{background:#ffffff08}.invItemLeft{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.invType{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--subtle);white-space:nowrap;flex-shrink:0}.invTitle{font-size:13px;font-weight:600;color:var(--text)}.invOrg{font-size:12px;color:var(--muted)}.invItemRight{display:flex;align-items:center;gap:10px;flex-shrink:0}.invDate{font-family:var(--mono);font-size:11px;color:var(--subtle)}.invChevron{color:var(--subtle)}.invBodyInner{padding:0 18px 16px}.invRole{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px;font-family:var(--mono);letter-spacing:.04em}.invDesc{font-size:13px;color:var(--muted);line-height:1.6}.invLink{font-family:var(--mono);font-size:11px;color:var(--subtle);display:inline-block;margin-top:8px;transition:color .15s ease}.invLink:hover{color:var(--muted)}.expTimeline{position:relative;display:flex;flex-direction:column;gap:0;padding-left:0}.expItem{display:flex;align-items:flex-start;gap:0;padding:0 0 32px;position:relative}.expLeft{flex-shrink:0;width:130px;padding-top:3px;text-align:right;padding-right:20px}.expLogoBox{width:64px;height:64px;margin-left:auto;margin-bottom:10px;border-radius:10px;border:1px solid var(--border);background:var(--bg3);overflow:hidden;position:relative}.expLogoBox img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;padding:8px;display:block}.expPeriodBadge{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--muted);background:var(--bg2);border:1px solid var(--border);padding:2px 10px;border-radius:999px;display:inline-block;margin-bottom:4px}.expLocation{font-family:var(--mono);font-size:10px;color:var(--subtle)}.expDot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--subtle);border:2px solid var(--bg);margin-top:5px;position:relative;z-index:1}.expItem:after{content:"";position:absolute;left:130px;top:14px;bottom:0;width:1px;background:var(--border);transform:translate(-50%)}.expItem:last-child:after{display:none}.expRight{flex:1;padding-left:20px}.expCompany{font-size:16px;font-weight:800;letter-spacing:-.02em;margin-bottom:2px}.expRole{font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:500}.expTypeBadge{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);display:inline-block;margin-bottom:10px}.expDesc{font-size:13px;color:var(--muted);line-height:1.65}@media(max-width:600px){.expLeft{width:90px;font-size:10px}.expItem:after{left:90px}}.eduTimeline{display:flex;flex-direction:column;gap:0}.eduItem{display:flex;gap:0;padding-bottom:28px;position:relative}.eduItem:after{content:"";position:absolute;left:8px;top:18px;bottom:0;width:1px;background:var(--border)}.eduItem:last-child:after{display:none}.eduLine{flex-shrink:0;width:20px;padding-top:4px}.eduDot{width:10px;height:10px;border-radius:50%;background:var(--subtle);border:2px solid var(--bg);position:relative;z-index:1;margin:auto}.eduItemCurrent .eduDot{background:var(--muted)}.eduContent{flex:1;padding-left:16px}.eduPeriod{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-bottom:4px}.eduNow{color:var(--text);font-weight:700}.eduInstitution{font-size:19px;font-weight:800;letter-spacing:-.02em;margin-bottom:2px}.eduLocation{font-size:13.5px;color:var(--muted);margin-bottom:4px;font-family:var(--mono)}.eduDegree{font-size:16px;font-weight:700;color:var(--text);margin-bottom:2px}.eduField{font-size:13.5px;color:var(--muted);margin-bottom:8px}.eduDesc{font-size:15px;color:var(--muted);line-height:1.65;margin-bottom:8px}.eduDiploma{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid var(--border);color:var(--muted);display:inline-block}.certList{display:flex;flex-direction:column;gap:0}.certItem{display:flex;align-items:flex-start;gap:0;padding-bottom:22px;position:relative}.certItem:after{content:"";position:absolute;left:40px;top:18px;bottom:0;width:1px;background:var(--border)}.certItem:last-child:after{display:none}.certLeft{flex-shrink:0;width:48px;padding-top:3px;text-align:right;padding-right:12px}.certDate{font-family:var(--mono);font-size:11px;color:var(--muted)}.certDot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--muted);border:2px solid var(--bg);margin-top:5px;position:relative;z-index:1}.certRight{flex:1;padding-left:16px}.certName{font-size:15px;font-weight:800;letter-spacing:-.02em;margin-bottom:2px}.certIssuer{font-size:12px;color:var(--muted);margin-bottom:4px;font-family:var(--mono)}.certDesc{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:6px}.certLink{font-family:var(--mono);font-size:11px;color:var(--subtle);display:inline-flex;align-items:center;gap:4px;transition:color .15s ease}.certLink:hover{color:var(--muted)}.heroAvailable{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.1em;color:var(--muted)}.heroAvailDot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e2e;flex-shrink:0;animation:pulse 2.4s ease infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #22c55e2e}50%{box-shadow:0 0 0 6px #22c55e0f}}.expTimelineWrap{display:flex;flex-direction:column;gap:0}.expTimelineItem{display:flex;align-items:flex-start;gap:0;position:relative;padding-bottom:32px}.expTimelineItem:last-child{padding-bottom:0}.expTimelineDot{flex-shrink:0;width:12px;height:12px;border-radius:50%;background:var(--bg3);border:2px solid var(--muted);margin-top:22px;position:relative;z-index:2}.expTimelineLine{position:absolute;left:5px;top:34px;bottom:0;width:2px;background:var(--border);z-index:1}.expCompanyCard{flex:1;margin-left:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);overflow:hidden}.expCompanyHeader{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border);background:#ffffff05}.expCompanyLogo{flex-shrink:0;width:44px;height:44px;border-radius:10px;border:1px solid var(--border);background:var(--bg3);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.expCompanyLogo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6px}.expCompanyLogo span{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--subtle)}.expCompanyMeta{flex:1;min-width:0}.expCompanyName{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.2}.expCompanyRange{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-top:3px}.expExpandBtn{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.08em;color:var(--muted);padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:transparent;transition:color .15s ease,border-color .15s ease,background .15s ease}.expExpandBtn:hover{color:var(--text);border-color:#ffffff2e;background:#ffffff0a}.expStints,.expExtraStints{display:flex;flex-direction:column}.expStintRow{display:flex;gap:0;padding:16px 20px;border-bottom:1px solid var(--border)}.expStintRow:last-child{border-bottom:none}.expStintLeft{flex-shrink:0;width:170px;padding-right:20px}.expStintPeriod{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--muted);line-height:1.4;margin-bottom:4px}.expStintType{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--subtle);display:inline-block;text-transform:capitalize}.expStintRight{flex:1;min-width:0}.expStintRole{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--text);margin-bottom:4px}.expStintLocation{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11.5px;color:var(--subtle);margin-bottom:8px}.expStintDesc{font-size:15px;color:var(--muted);line-height:1.65}@media(max-width:600px){.expStintRow{flex-direction:column;gap:8px}.expStintLeft{width:100%;padding-right:0}}.aboutLayoutGrid{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}@media(max-width:900px){.aboutLayoutGrid{grid-template-columns:1fr}}.aboutLeftCol,.aboutRightCol{display:flex;flex-direction:column;gap:16px}.aboutPhotoPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);overflow:hidden;aspect-ratio:1/1;position:relative}.aboutPhoto{width:100%;height:100%;position:relative}.aboutPhoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.aboutPhotoFallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:48px;font-weight:800;color:var(--subtle)}.aboutCvPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:20px}.aboutCvSub{font-size:14px;color:var(--muted);line-height:1.6;margin-top:6px}.aboutBioPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:24px}.aboutBio{font-size:16px;color:var(--muted);line-height:1.75;margin-top:10px}.aboutLangPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:20px 24px}.aboutLangList{display:flex;flex-direction:column;gap:0;margin-top:10px}.aboutLangRow{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}.aboutLangRow:last-child{border-bottom:none}.aboutLangName{font-size:15px;font-weight:600;color:var(--text)}.aboutLangMeta{display:flex;align-items:center;gap:8px}.aboutLangLevel{font-family:var(--mono);font-size:12.5px;font-weight:700;color:var(--text);background:#ffffff0f;border:1px solid var(--border);padding:3px 9px;border-radius:6px}.aboutLangLabel{font-family:var(--mono);font-size:11.5px;color:var(--subtle)}.aboutHobbiesPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);padding:20px 24px}.aboutHobbies{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.aboutHobbyTag{font-size:13.5px;font-weight:500;padding:6px 14px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff08;transition:color .15s ease,border-color .15s ease,background .15s ease}.aboutHobbyTag:hover{color:var(--text);border-color:#ffffff2e;background:#ffffff0d}.certSectionTop{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.certCredlyLink{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--muted);padding:7px 16px;border-radius:999px;border:1px solid var(--border);background:transparent;transition:color .15s ease,border-color .15s ease,background .15s ease;white-space:nowrap}.certCredlyLink:hover{color:var(--text);border-color:#ffffff2e;background:#ffffff0a}.certList{display:flex;flex-direction:column;gap:8px}.certCard{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg2);overflow:hidden;min-height:120px;transition:border-color .2s ease,background .2s ease}.certCard:hover{border-color:#ffffff24;background:var(--bg3)}.certCardInProgress{border-color:#eab30833;background:#eab30805}.certCardInProgress:hover{border-color:#eab3084d}.certCardLogo{flex-shrink:0;width:140px;background:var(--bg3);border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;align-self:stretch}.certCardLogo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;padding:16px;display:block}.certCardLogoFallback{color:var(--subtle);display:flex;align-items:center;justify-content:center;width:100%;height:100%}@media(max-width:540px){.certCardLogo{width:72px}}.certCardInfo{flex:1;padding:18px 22px;display:flex;flex-direction:column;gap:8px;min-width:0}.certCardTop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.certCardTitleWrap{flex:1;min-width:0}.certCardName{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--text);line-height:1.2}.certCardIssuer{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-top:3px}.certCardRight{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.certCardDate{font-family:var(--mono);font-size:12.5px;color:var(--muted)}.certBadgeEarned{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid rgba(34,197,94,.3);color:#4ade80;background:#22c55e0f}.certBadgeProgress{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:999px;border:1px solid rgba(234,179,8,.3);color:#facc15;background:#eab3080f;display:inline-flex;align-items:center;gap:5px}.certProgressDot{width:6px;height:6px;border-radius:50%;background:#facc15;flex-shrink:0;animation:pulse 2s ease infinite}.certCardDesc{font-size:15px;color:var(--muted);line-height:1.65}.certCardActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.certActionBtn{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.06em;color:var(--muted);padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:transparent;transition:color .15s ease,border-color .15s ease,background .15s ease}.certActionBtn:hover,.certActionLink:hover{color:var(--text);border-color:#ffffff2e;background:#ffffff0a}.certModalOverlay{position:fixed;inset:0;z-index:9999;background:#000000d9;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.certModalBox{position:relative;max-width:900px;width:100%;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;animation:scaleIn .25s cubic-bezier(.22,1,.36,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.certModalClose{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#0009;border:1px solid var(--border);color:var(--muted);display:flex;align-items:center;justify-content:center;z-index:1;transition:color .15s ease,background .15s ease}.certModalClose:hover{color:var(--text);background:#ffffff1a}.certModalImg{width:100%;display:block;max-height:80vh;object-fit:contain}.certModalName{padding:12px 16px;font-family:var(--mono);font-size:11px;color:var(--muted);border-top:1px solid var(--border);text-align:center}html[data-motion] body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(to right,var(--grid-line) 1px,transparent 1px) 0 0 / 64px 64px,linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px) 0 0 / 64px 64px,radial-gradient(circle at 50% 35%,rgba(122,16,16,.06),transparent 55%);mix-blend-mode:screen}.appShell{position:relative;z-index:1;display:flex;min-height:100vh}.appMain{flex:1;margin-left:var(--sb-closed);padding:clamp(20px,3vw,36px) clamp(16px,2.5vw,32px) 100px;min-width:0}@media(max-width:880px){.appMain{margin-left:0;padding-top:64px;padding-left:14px;padding-right:14px}}.routeFallback{min-height:60vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sb{position:fixed;inset:0 auto 0 0;width:var(--sb-closed);background:#080808eb;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-right:1px solid var(--border);z-index:100;display:flex;flex-direction:column;overflow:hidden;transition:width var(--sb-ease)}.sb:hover{width:var(--sb-open)}.sb__brand{height:76px;display:flex;align-items:center;border-bottom:1px solid var(--border);flex-shrink:0;position:relative}.sb__mark{flex-shrink:0;width:var(--sb-closed);display:flex;align-items:center;justify-content:center;font:700 17px/1 var(--mono);letter-spacing:.08em;color:var(--text)}.sb__full{font:600 13px/1 var(--mono);letter-spacing:.18em;color:var(--muted);white-space:nowrap;opacity:0;transform:translate(-8px);transition:opacity var(--sb-ease),transform var(--sb-ease)}.sb__rev{position:absolute;right:16px;top:50%;transform:translateY(-50%);font:600 10px/1 var(--mono);color:var(--red-hot);letter-spacing:.08em;opacity:0;transition:opacity var(--sb-ease)}.sb:hover .sb__full,.sb:hover .sb__rev{opacity:1;transform:translate(0)}.sb:hover .sb__rev{transform:translateY(-50%)}.sb__nav{display:flex;flex-direction:column;gap:6px;padding:14px 8px;overflow:hidden;flex-shrink:0;transition:padding var(--sb-ease)}.sb__nav--top{flex-shrink:0}.sb__nav--hash{flex:1 1 0;min-height:0;overflow-y:auto}.sb__link{display:flex;align-items:center;justify-content:flex-start;width:100%;height:52px;padding-left:16px;gap:14px;border-radius:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-decoration:none;background:transparent;border:1px solid transparent;transition:color var(--dur-fast) ease,background var(--dur-fast) ease,border-color var(--dur-fast) ease;cursor:pointer;position:relative}.sb__link:hover{color:var(--text);background:#ffffff0d}.sb__link:focus-visible{outline:2px solid var(--red-hot);outline-offset:2px}.sb__link.is-active{color:var(--text);background:#d6001c1a;border-color:var(--red-hot-2)}.sb__link.is-active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--red-hot);border-radius:0 3px 3px 0}.sb__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.sb__label{font:500 15px/1 var(--sans);opacity:0;width:0;overflow:hidden;pointer-events:none;transform:translate(-6px);transition:opacity var(--sb-ease),transform var(--sb-ease),width var(--sb-ease)}.sb:hover .sb__label{opacity:1;width:auto;transform:translate(0);pointer-events:auto}.sb__div{height:1px;background:var(--border);margin:6px 16px;flex-shrink:0}.sb__more{display:flex;flex-direction:column;gap:6px;padding:0 8px;max-height:0;opacity:0;overflow:hidden;flex-shrink:0;transition:max-height .35s var(--ease-out),opacity .35s ease,padding .35s ease}.sb__more.is-open{max-height:360px;opacity:1;padding:8px}.sb__more .sb__link{animation:sbMoreIn .45s var(--ease-out) backwards}.sb__more.is-open .sb__link:nth-child(1){animation-delay:.05s}.sb__more.is-open .sb__link:nth-child(2){animation-delay:.1s}.sb__more.is-open .sb__link:nth-child(3){animation-delay:.15s}.sb__more.is-open .sb__link:nth-child(4){animation-delay:.2s}.sb__more.is-open .sb__link:nth-child(5){animation-delay:.25s}@keyframes sbMoreIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sb__social{color:var(--subtle)}.sb__social:hover{color:var(--muted)}.sb__noctixal{color:#14e0c8;background:#14e0c814;border-color:#14e0c84d}.sb__noctixal:hover{background:#14e0c824;border-color:#14e0c88c;color:#5af0d6}.sb--more-open .sb__noctixal{color:#14e0c8}.sb--more-open .sb__nav--hash,.sb--more-open .sb__div{display:none}.sb__bottom{padding:8px 8px 14px;flex-shrink:0}.sb__more-toggle .sb__bounce{animation:sbBounce 2.4s var(--ease-in-out) infinite}@keyframes sbBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}html[data-motion=off] .sb__bounce{animation:none}.sb__more-toggle.is-open{color:var(--red-hot)}@media(max-width:880px){.sb{display:none}}.mb{display:none;position:fixed;top:0;left:0;right:0;height:56px;z-index:100;align-items:center;justify-content:space-between;padding:0 16px;background:#080808f0;backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.mb__brand{font:700 14px/1 var(--mono);letter-spacing:.1em}.mb__toggle{color:var(--muted);padding:8px;display:flex}.mb__menu{position:fixed;inset:0;z-index:99;background:#070707f7;backdrop-filter:blur(14px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;opacity:0;pointer-events:none;transition:opacity .22s ease}.mb__menu.is-open{opacity:1;pointer-events:all}.mb__link{font:800 26px/1 var(--sans);letter-spacing:-.03em;color:var(--muted);padding:12px 40px;border-radius:14px;text-decoration:none;background:transparent;border:1px solid transparent}.mb__link:hover{color:var(--text);background:#ffffff0a}@media(max-width:880px){.mb{display:flex}}.bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(10px,1.2vw,16px);grid-auto-flow:dense;grid-auto-rows:minmax(160px,auto)}@media(max-width:1100px){.bento{grid-template-columns:repeat(8,1fr)}}@media(max-width:720px){.bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(120px,auto)}}@media(max-width:480px){.bento{grid-template-columns:repeat(2,1fr)}}.tile--1x1{grid-column:span 3}.tile--2x1{grid-column:span 6}.tile--3x1{grid-column:span 9}.tile--4x1{grid-column:span 12}.tile--1x2{grid-column:span 3;grid-row:span 2}.tile--2x2{grid-column:span 6;grid-row:span 2}.tile--3x2{grid-column:span 9;grid-row:span 2}.tile--2x3{grid-column:span 6;grid-row:span 3}@media(max-width:1100px){.tile--1x1{grid-column:span 2}.tile--2x1,.tile--2x2{grid-column:span 4}.tile--3x1,.tile--3x2{grid-column:span 6}.tile--4x1{grid-column:span 8}.tile--1x2{grid-column:span 2}}@media(max-width:720px){.tile--1x1{grid-column:span 2}.tile--2x1,.tile--2x2,.tile--3x1,.tile--3x2,.tile--4x1{grid-column:span 4}.tile--1x2{grid-column:span 2;grid-row:span 2}.tile--2x3{grid-column:span 4;grid-row:span 3}}@media(max-width:480px){.tile--1x1,.tile--1x2{grid-column:span 1}.tile--2x1,.tile--2x2,.tile--3x1,.tile--3x2,.tile--4x1,.tile--2x3{grid-column:span 2}}.tile{position:relative;background:var(--bg-tile);border-radius:var(--radius-tile);border:var(--rim);overflow:hidden;isolation:isolate;display:flex;flex-direction:column;text-decoration:none;color:inherit;opacity:0;transform:translateY(14px);filter:blur(4px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),filter .5s var(--ease-out),border-color var(--dur-base) ease,background var(--dur-base) ease,box-shadow var(--dur-base) ease}.tile.is-in{opacity:1;transform:translateY(0);filter:blur(0)}.tile:before{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(255,255,255,.025) 1px,transparent 1px) 0 0 / 24px 100%,linear-gradient(to bottom,rgba(255,255,255,.025) 1px,transparent 1px) 0 0 / 100% 24px;pointer-events:none;opacity:.7;z-index:0}.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 60%,rgba(214,0,28,.04) 100%);pointer-events:none;z-index:0;opacity:0;transition:opacity var(--dur-base) ease}.tile:hover:after,.tile:focus-within:after{opacity:1}.tile--interactive{cursor:pointer}.tile--interactive:hover{border-color:var(--red-hot-2);background:var(--bg-tile-hi)}.tile--interactive:focus-within{border-color:var(--red-hot);outline:none}.tile--hot{border-color:var(--red-hot-2)}.tile--hot:after{opacity:.6}.tile--ox{border-color:var(--red-base-2)}.tile--soft{background:var(--bg1)}.tile__corner{position:absolute;width:10px;height:10px;border:1.5px solid var(--red-base-2);pointer-events:none;z-index:2;opacity:.7;transition:border-color var(--dur-base) ease,opacity var(--dur-base) ease}.tile__corner--tl{top:8px;left:8px;border-right:0;border-bottom:0}.tile__corner--tr{top:8px;right:8px;border-left:0;border-bottom:0}.tile__corner--bl{bottom:8px;left:8px;border-right:0;border-top:0}.tile__corner--br{bottom:8px;right:8px;border-left:0;border-top:0}.tile:hover .tile__corner,.tile:focus-within .tile__corner{border-color:var(--red-hot);opacity:1}.tile__meta{position:relative;z-index:2;display:flex;align-items:baseline;gap:10px;padding:14px 18px 8px;border-bottom:1px dashed rgba(255,255,255,.06);font-family:var(--mono)}.tile__id{font:700 10px/1 var(--mono);letter-spacing:.16em;color:var(--red-hot);text-transform:uppercase}.tile__label{font:500 11px/1 var(--mono);letter-spacing:.1em;color:var(--muted);text-transform:uppercase}.tile__sub{font:400 10px/1 var(--mono);color:var(--subtle);margin-left:auto}.tile__body{position:relative;z-index:1;flex:1;min-height:0;padding:16px 18px 18px;display:flex;flex-direction:column}.dot-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red-hot);box-shadow:0 0 0 3px var(--red-hot-3);animation:pulse 2s ease infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 3px var(--red-hot-3)}50%{box-shadow:0 0 0 6px #d6001c0f}}html[data-motion=off] .dot-live{animation:none}.heroTile{min-height:50vh;position:relative}.heroTile .tile__body{padding:clamp(24px,3vw,44px);justify-content:center;position:relative;z-index:2}.hero__shader{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none}html[data-motion=off] .hero__shader{display:none}.hero__avail{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--mono);letter-spacing:.1em;color:var(--muted);margin-bottom:18px}.hero__name{font:900 clamp(3rem,9vw,8rem)/.92 var(--sans);letter-spacing:-.045em;color:var(--text);margin-bottom:22px;font-variation-settings:"wght" 900;transition:font-variation-settings .5s var(--ease-out)}.hero__name span.h-accent{color:var(--red-hot)}.heroTile:hover .hero__name{font-variation-settings:"wght" 800}.hero__typewriter{font:400 clamp(1.1rem,2vw,1.5rem)/1.4 var(--mono);color:var(--muted);display:flex;align-items:center;gap:.4em;margin-bottom:28px;min-height:1.8em}.hero__prefix{color:var(--subtle)}.hero__word{color:var(--text)}.hero__cursor{display:inline-block;width:2px;height:1em;background:var(--red-hot);margin-left:2px;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}html[data-motion=off] .hero__cursor{animation:none}.hero__actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;border:1px solid var(--border);background:#ffffff0a;color:var(--muted);font:500 14px/1 var(--sans);white-space:nowrap;text-decoration:none;cursor:pointer;transition:all var(--dur-fast) ease}.btn:hover{color:var(--text);border-color:var(--border-hov);background:#ffffff14;transform:translateY(-1px)}.btn:focus-visible{outline:2px solid var(--red-hot);outline-offset:2px}.btn--primary{background:var(--red-hot);border-color:var(--red-hot);color:#fff}.btn--primary:hover{background:#f00424;border-color:#f00424;color:#fff}.btn--ghost{background:transparent;border-color:var(--red-base-2);color:var(--text)}.btn--ghost:hover{border-color:var(--red-hot);background:#d6001c14;color:var(--text)}.section{display:flex;flex-direction:column;gap:20px;margin:clamp(48px,6vw,80px) 0 0;scroll-margin-top:80px}.section__head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.section__id{font:700 11px/1 var(--mono);color:var(--red-hot);letter-spacing:.18em}.section__title{font:800 clamp(1.4rem,2.8vw,2.4rem)/1.05 var(--sans);letter-spacing:-.035em;color:var(--text)}.section__sub{font:400 14px/1.4 var(--sans);color:var(--muted);margin-left:auto}.meta-gutter{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;font-family:var(--mono);font-size:10.5px;list-style:none;margin-top:12px}.meta-gutter__row{display:contents}.meta-gutter__k{color:var(--subtle);letter-spacing:.08em;text-transform:uppercase}.meta-gutter__v{color:var(--muted)}.trace{position:relative;display:block;pointer-events:none}.trace__line{position:absolute;background:var(--trace);width:1px;left:50%;transform:translate(-50%);top:0;height:var(--trace-length, 40px)}.trace--hot .trace__line{background:var(--trace-hot)}.trace__dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--red-base);left:50%;transform:translate(-50%)}.trace--hot .trace__dot{background:var(--red-hot)}.trace__dot--start{top:-3px}.trace__dot--end{top:calc(var(--trace-length, 40px) - 3px)}.pills{display:flex;flex-direction:column;gap:6px}.pills__row{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;min-height:44px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font:500 13px/1 var(--mono);letter-spacing:.04em;cursor:pointer;transition:all var(--dur-fast) ease}.pill:hover{color:var(--text);border-color:var(--border-hov)}.pill:focus-visible{outline:2px solid var(--red-hot);outline-offset:2px}.pill.is-active{color:#fff;background:var(--red-hot);border-color:var(--red-hot)}.pill__count{font:600 10px/1 var(--mono);color:currentColor;opacity:.7}.ql-wrap{position:relative}.ql{position:absolute;left:50%;top:100%;transform:translate(-50%,8px);z-index:80;width:min(520px,90vw);max-height:0;background:var(--bg2);border:1px solid var(--red-hot-2);border-radius:var(--radius);overflow:hidden;opacity:0;pointer-events:none;box-shadow:0 30px 80px #0009,0 0 0 1px #d6001c26;transition:opacity var(--dur-base) ease,max-height var(--dur-base) ease,transform var(--dur-base) ease}.ql-wrap.is-open .ql{max-height:540px;opacity:1;pointer-events:all;transform:translate(-50%,14px)}.ql__frame{position:relative;aspect-ratio:16/9;background:var(--bg);border-bottom:1px solid var(--border);overflow:hidden}.ql__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--bg);pointer-events:none;transform:scale(.5);transform-origin:top left;width:200%;height:200%}.ql__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ql__placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 32px/1 var(--mono);color:var(--subtle);letter-spacing:.08em}.ql__badge{position:absolute;top:10px;right:10px;z-index:2;padding:4px 8px;background:#000000d9;border:1px solid var(--red-base-2);border-radius:4px;font:600 9px/1 var(--mono);color:var(--red-hot);letter-spacing:.08em}.ql__meta{padding:14px 16px 16px}.ql__title{font:800 17px/1.2 var(--sans);letter-spacing:-.02em}.ql__ctx{font:400 11px/1 var(--mono);color:var(--muted);margin-top:4px}.ql__desc{font:400 14px/1.55 var(--sans);color:var(--muted);margin-top:8px}.ql__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.ql__tag{font:500 10.5px/1 var(--mono);padding:3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff05}.ql__actions{display:flex;gap:8px;align-items:center;margin-top:14px}.ql__link{font:500 12px/1 var(--mono);color:var(--muted);display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);text-decoration:none;transition:all var(--dur-fast) ease}.ql__link:hover{color:var(--text);border-color:var(--border-hov);background:#ffffff0a}.ql__link--primary{color:#fff;background:var(--red-hot);border-color:var(--red-hot)}.ql__link--primary:hover{background:#f00424}.ql__close{margin-left:auto;padding:7px;border-radius:50%;border:1px solid var(--border);color:var(--muted);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ql__close:hover{color:var(--text);border-color:var(--red-hot-2)}@media(max-width:720px){.ql{position:fixed;inset:auto 16px 16px;width:auto;transform:none;max-height:80vh}.ql-wrap.is-open .ql{transform:none}}.projTile__head{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.projTile__title{font:800 18px/1.2 var(--sans);letter-spacing:-.02em;flex:1}.projTile__year{font:500 11px/1 var(--mono);color:var(--muted);flex-shrink:0}.projTile__ctx{font:400 11px/1 var(--mono);color:var(--subtle);margin-bottom:8px}.projTile__desc{font:400 14px/1.55 var(--sans);color:var(--muted);flex:1;margin-bottom:10px}.projTile__tags{display:flex;flex-wrap:wrap;gap:6px}.projTile__tag{font:500 10.5px/1 var(--mono);padding:3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff05}.projTile__poster{position:relative;aspect-ratio:16/9;background:var(--bg1);border-bottom:1px solid var(--border);overflow:hidden}.projTile__poster>*{position:absolute;inset:0}.projTile__poster img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out),opacity .4s ease}.projTile:hover .projTile__poster img{transform:scale(1.04)}.projTile--flagship{border-color:var(--red-hot-2)}.projTile--flagship .tile__corner{border-color:var(--red-hot)}.flag-badge{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#000000b3;border:1px solid var(--red-hot);border-radius:999px;font:700 9.5px/1 var(--mono);letter-spacing:.1em;color:var(--red-hot);text-transform:uppercase;z-index:3}.starTile{border-color:var(--red-hot-2);background:linear-gradient(135deg,var(--bg-tile) 60%,rgba(214,0,28,.06) 100%)}.starTile .tile__corner{border-color:var(--red-hot);opacity:1}.starTile__star{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--red-hot);border-radius:999px;font:700 10px/1 var(--mono);letter-spacing:.12em;color:#fff;text-transform:uppercase;z-index:3}.featTile{border-color:var(--red-hot-2);background:radial-gradient(120% 80% at 90% 10%,rgba(214,0,28,.1),transparent 60%),var(--bg-tile)}.featTile .tile__corner{border-color:var(--red-hot);opacity:1}.featTile__head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.featTile__kicker{font:700 11px/1 var(--mono);color:var(--red-hot);letter-spacing:.18em;text-transform:uppercase}.featTile__title{font:900 clamp(1.6rem,3.4vw,2.8rem)/1 var(--sans);letter-spacing:-.035em;margin:8px 0 12px}.featTile__desc{font:400 16px/1.55 var(--sans);color:var(--muted);margin-bottom:18px;max-width:60ch}.featTile__poster{position:relative;aspect-ratio:16/9;flex:1;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.featTile__poster iframe,.featTile__poster img{position:absolute;inset:0;width:100%;height:100%;border:0}.featTile__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.cwTile__list{display:flex;flex-direction:column;gap:4px}.cwTile__row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.cwTile__name{font:600 14px/1.2 var(--sans)}.cwTile__progress{width:80px;height:4px;background:var(--bg3);border-radius:2px;overflow:hidden}.cwTile__progress__bar{height:100%;background:var(--red-hot)}.cwTile__pct{font:500 11px/1 var(--mono);color:var(--muted);min-width:32px;text-align:right}.statRow{display:flex;align-items:baseline;gap:12px}.statRow__big{font:900 clamp(2rem,4vw,3.4rem)/1 var(--sans);letter-spacing:-.04em;color:var(--text)}.statRow__unit{font:600 13px/1 var(--mono);color:var(--red-hot);letter-spacing:.08em;text-transform:uppercase}.statRow__sub{font:400 13px/1.4 var(--sans);color:var(--muted);margin-top:6px}.chipGrid{display:flex;flex-wrap:wrap;gap:6px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffff05;font:500 12px/1 var(--mono);color:var(--muted);transition:all var(--dur-fast) ease}.chip:hover{color:var(--text);border-color:var(--red-base-2)}.chip--hot{border-color:var(--red-hot-2);color:var(--text);background:#d6001c14}.langGrid{display:flex;flex-direction:column;gap:8px}.lang{display:grid;grid-template-columns:max-content 1fr auto;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border)}.lang:last-child{border-bottom:0}.lang__name{font:600 14px/1 var(--sans)}.lang__bar{height:6px;background:var(--bg3);border-radius:3px;overflow:hidden}.lang__bar__fill{height:100%;background:linear-gradient(to right,var(--red-base),var(--red-hot))}.lang__level{font:700 11px/1 var(--mono);color:var(--red-hot);letter-spacing:.08em;min-width:28px;text-align:right}.edu{position:relative;display:flex;flex-direction:column;gap:0;padding-left:22px}.edu:before{content:"";position:absolute;left:6px;top:12px;bottom:12px;width:1px;background:var(--red-base-2)}.eduItem{position:relative;padding:14px 0;border-bottom:1px dashed rgba(255,255,255,.04)}.eduItem:last-child{border-bottom:0}.eduItem:before{content:"";position:absolute;left:-19px;top:22px;width:8px;height:8px;border-radius:50%;background:var(--bg-tile);border:2px solid var(--red-base)}.eduItem.is-current:before{background:var(--red-hot);border-color:var(--red-hot);box-shadow:0 0 0 4px var(--red-hot-3)}.eduItem__period{font:500 11px/1 var(--mono);color:var(--muted);margin-bottom:4px}.eduItem__institution{font:800 15px/1.2 var(--sans);letter-spacing:-.02em}.eduItem__degree{font:600 13px/1.4 var(--sans);color:var(--text);margin-top:2px}.eduItem__field{font:400 12px/1.4 var(--sans);color:var(--muted);margin-top:2px}.eduItem__desc{font:400 13px/1.55 var(--sans);color:var(--muted);margin-top:6px}.exp{display:flex;flex-direction:column;gap:12px}.expCard{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-tile);overflow:hidden;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease}.expCard:hover{border-color:var(--red-base-2)}.expCard__head{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border)}.expCard__logo{width:40px;height:40px;border-radius:8px;border:1px solid var(--border);background:var(--bg1);display:flex;align-items:center;justify-content:center;overflow:hidden}.expCard__logo img{max-width:80%;max-height:80%;object-fit:contain}.expCard__name{font:800 16px/1 var(--sans);letter-spacing:-.02em}.expCard__range{font:500 11px/1 var(--mono);color:var(--muted);margin-top:4px}.expCard__roles{display:flex;flex-direction:column}.expRole{padding:12px 18px;border-bottom:1px dashed rgba(255,255,255,.04)}.expRole:last-child{border-bottom:0}.expRole__top{display:flex;align-items:baseline;gap:12px;margin-bottom:4px}.expRole__title{font:600 14px/1.3 var(--sans);flex:1}.expRole__period{font:500 10.5px/1 var(--mono);color:var(--muted)}.expRole__loc{font:400 11px/1 var(--mono);color:var(--subtle);margin-bottom:6px}.expRole__desc{font:400 13px/1.55 var(--sans);color:var(--muted)}.expRole__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.certShelf{display:flex;flex-direction:column;gap:8px}.certRow{display:grid;grid-template-columns:72px 1fr auto auto;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-tile);transition:border-color var(--dur-fast) ease}.certRow:hover{border-color:var(--red-base-2)}.certRow__logo{width:72px;height:72px;border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg1);overflow:hidden;position:relative}.certRow__logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:4px;display:block}.certRow__name{font:700 14px/1.2 var(--sans)}.certRow__issuer{font:400 11px/1 var(--mono);color:var(--muted);margin-top:3px}.certRow__date{font:600 12px/1 var(--mono);color:var(--muted)}.certRow__status{font:700 10px/1 var(--mono);padding:4px 10px;border-radius:999px;letter-spacing:.12em;text-transform:uppercase}.certRow__status--earned{background:#22c55e1a;color:#4ade80;border:1px solid rgba(34,197,94,.3)}.certRow__status--progress{background:var(--red-hot-3);color:var(--red-hot);border:1px solid var(--red-hot-2);display:inline-flex;align-items:center;gap:5px}.contact__heading{font:900 clamp(1.6rem,3vw,2.4rem)/1 var(--sans);letter-spacing:-.035em;margin-bottom:6px}.contact__heading .h-accent{color:var(--red-hot)}.contact__sub{font:400 15px/1.5 var(--sans);color:var(--muted);margin-bottom:18px}.contact__row{display:flex;gap:10px;flex-wrap:wrap}:focus{outline:none}:focus-visible{outline:2px solid var(--red-hot);outline-offset:2px;box-shadow:0 0 0 5px #d6001c2e;border-radius:4px}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html[data-motion=off] .tile{opacity:1;transform:none;filter:none}.bar{height:6px;background:var(--bg3);border-radius:3px;overflow:hidden;position:relative}.bar__fill{height:100%;background:linear-gradient(to right,var(--red-base),var(--red-hot));transition:width var(--dur-slow) var(--ease-out)}.itemList{display:flex;flex-direction:column;gap:8px;margin-top:8px}.item{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.06)}.item:last-child{border-bottom:0}.item__primary{font:600 14px/1.3 var(--sans);flex:1;min-width:0}.item__secondary{font:400 12px/1 var(--mono);color:var(--muted);flex-shrink:0}html[data-cursor=custom] body{cursor:none}.cursor{position:fixed;top:0;left:0;width:20px;height:20px;border:1px solid var(--red-hot);border-radius:50%;pointer-events:none;z-index:999;transform:translate(-50%,-50%);mix-blend-mode:difference;transition:width var(--dur-fast) ease,height var(--dur-fast) ease,background var(--dur-fast) ease}.cursor.is-pointer{width:36px;height:36px;background:var(--red-hot-3)}.cursor.is-text{width:4px;height:22px;border-radius:2px;background:var(--red-hot);border:0}html[data-cursor=native] .cursor{display:none}img,video,iframe,canvas,svg{max-width:100%;max-height:100%}.projTile__poster,.featTile__poster,.ql__frame,.expCard__logo,.certRow__logo,.row__thumb,.aboutPhoto{position:relative;overflow:hidden}.projTile__poster img,.featTile__poster img,.aboutPhoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.expCard__logo img,.certRow__logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6px;display:block}html[data-cursor=custom] body{cursor:auto}.cursor{display:none!important}.heroSlab{height:calc(100vh - 64px);min-height:540px;grid-template-columns:repeat(12,1fr);grid-template-rows:1fr 1fr;grid-auto-flow:dense}.heroSlab>.tile--2x2{grid-column:span 9;grid-row:span 2}.heroSlab>.tile--1x1{grid-column:span 3;grid-row:span 1}@media(max-width:1100px){.heroSlab{height:auto;min-height:0;grid-template-columns:1fr}.heroSlab>.tile--2x2,.heroSlab>.tile--1x1{grid-column:span 1;grid-row:auto;aspect-ratio:4/3;min-height:220px}.heroSlab>.tile--2x2{aspect-ratio:4/3;min-height:60vh}}.statTile .tile__body{justify-content:center;padding:24px 28px}.section--flagship{margin-top:clamp(48px,6vw,80px);display:flex;justify-content:center}.section--flagship>.featTile{width:80%;max-width:80%;min-height:56vh;height:56vh}@media(max-width:1100px){.section--flagship>.featTile{width:100%;max-width:100%;height:auto;min-height:50vh}}.heroTile{min-height:calc(100vh - 64px)}.heroTile .tile__body{padding:0}.hero__inner{position:relative;z-index:2;padding:clamp(28px,5vw,64px);height:100%;display:flex;flex-direction:column;justify-content:center}.hero__name{font:900 clamp(3rem,10vw,9rem)/.95 var(--sans);letter-spacing:-.05em;color:var(--text);margin-bottom:24px}.hero__sub{font:400 clamp(1.05rem,1.5vw,1.35rem)/1.5 var(--sans);color:var(--muted);margin-bottom:36px;max-width:36ch}.hero__actions{display:flex;gap:12px;flex-wrap:wrap}.hero__scroll{position:absolute;bottom:22px;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);text-decoration:none;animation:heroScrollFade 1s ease 1.2s backwards}@keyframes heroScrollFade{0%{opacity:0;transform:translate(-50%,10px)}}.hero__scroll-mouse{width:22px;height:36px;border:1.5px solid var(--red-hot-2);border-radius:999px;position:relative}.hero__scroll-wheel{position:absolute;left:50%;top:6px;width:3px;height:8px;background:var(--red-hot);border-radius:2px;transform:translate(-50%);animation:scrollWheel 1.8s var(--ease-in-out) infinite}@keyframes scrollWheel{0%,20%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,14px);opacity:0}}.hero__scroll-label{font:600 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--subtle)}html[data-motion=off] .hero__scroll-wheel{animation:none}.featTile{min-height:0}.featTile__inner{display:flex;flex-direction:column;height:100%;padding:20px 22px;gap:10px}.featTile__head{display:flex;align-items:baseline;gap:12px}.featTile__kicker{font:700 11px/1 var(--mono);letter-spacing:.18em;color:var(--red-hot);text-transform:uppercase}.featTile__title{font:900 clamp(1.4rem,2vw,1.8rem)/1.05 var(--sans);letter-spacing:-.03em}.featTile__desc{font:400 13.5px/1.55 var(--sans);color:var(--muted);flex-shrink:0}.featTile__poster{position:relative;flex:1;min-height:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.featTile__poster iframe,.featTile__poster img{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}.featTile__poster img{object-fit:cover}.featTile__actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0}.cwTile{display:flex;flex-direction:column;height:100%;padding:4px 4px 0}.cwTile__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}.cwTile__row{display:flex;align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--border)}.cwTile__row:last-child{border-bottom:0}.cwTile__name{font:600 14px/1.3 var(--sans);flex:1}.cwTile__link{font:600 13px/1 var(--mono);color:var(--red-hot);text-decoration:none}.cwTile__link:hover{color:var(--text)}.section--projects{gap:12px}.projects__title{font:900 clamp(3rem,9vw,8rem)/.95 var(--sans);letter-spacing:-.05em;color:var(--text);text-align:center;margin:clamp(20px,4vw,56px) 0 clamp(24px,4vw,48px)}.projects__title .h-accent{color:var(--red-hot)}.projects__sections{display:flex;flex-direction:column;gap:60px}.projects-section{display:flex;flex-direction:column;gap:18px}.projects-section__head{display:flex;align-items:baseline;justify-content:flex-end;gap:12px;padding:0 32px}.projects-section__label{font:800 clamp(1.6rem,2.4vw,2.2rem)/1 var(--sans);letter-spacing:-.025em;color:var(--text)}.projects-section__count{font:600 12px/1 var(--mono);color:var(--muted);padding:5px 11px;border:1px solid var(--border);border-radius:999px}.pc-wrap{display:flex;flex-direction:column;gap:14px}.pc{position:relative;padding:0 56px}.pc__viewport{overflow:hidden;mask-image:linear-gradient(to right,transparent 0,black 8%,black 92%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,black 8%,black 92%,transparent 100%)}.pc__track{display:flex;gap:22px}.pc__slide{flex:0 0 38%;max-width:38%;transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) ease;opacity:.45;transform:scale(.92)}.pc__slide.is-active{opacity:1;transform:scale(1)}@media(max-width:1100px){.pc__slide{flex:0 0 48%;max-width:48%}}@media(max-width:720px){.pc__slide{flex:0 0 80%;max-width:80%}.pc{padding:0 16px}}.pc__card{position:relative;background:var(--bg-tile);border:1px solid var(--border);border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:12px;min-height:320px;overflow:hidden;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.pc__slide.is-active .pc__card{cursor:pointer}.pc__slide.is-active .pc__card:hover{border-color:var(--red-hot-2);background:var(--bg-tile-hi);box-shadow:0 20px 60px #0006}.pc__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.pc__id{font:700 10.5px/1 var(--mono);color:var(--red-hot);letter-spacing:.14em;text-transform:uppercase}.pc__year{font:500 12px/1 var(--mono);color:var(--muted)}.pc__body{display:flex;gap:14px;flex:1;min-height:0}.pc__thumb{width:96px;height:96px;flex-shrink:0;border-radius:12px;border:1px solid var(--border);background:var(--bg);overflow:hidden;position:relative}.pc__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pc__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font:800 26px var(--mono);color:var(--subtle)}.pc__meta{flex:1;min-width:0}.pc__title{font:800 18px/1.2 var(--sans);letter-spacing:-.02em;margin-bottom:4px}.pc__ctx{font:500 11px/1 var(--mono);color:var(--muted);margin-bottom:6px}.pc__desc{font:400 13.5px/1.55 var(--sans);color:var(--muted);margin-bottom:8px}.pc__tags{display:flex;flex-wrap:wrap;gap:5px}.pc__tag{font:500 10.5px/1 var(--mono);padding:3px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff05}.pc__cta{font:600 12px/1 var(--mono);color:var(--red-hot);text-decoration:none;display:inline-flex;align-items:center;gap:6px;align-self:flex-start}.pc__cta:hover{color:var(--text)}.pc__arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#0d0d0deb;border:1px solid var(--red-base-2);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;transition:all var(--dur-fast) ease;backdrop-filter:blur(8px)}.pc__arrow:hover{background:var(--red-hot);border-color:var(--red-hot);color:#fff}.pc__arrow--left{left:6px}.pc__arrow--right{right:6px}.pc__counter{display:flex;justify-content:center;gap:8px;font:700 12px/1 var(--mono);color:var(--muted);letter-spacing:.16em}.pc__counter-now{color:var(--red-hot)}.pc__empty{padding:60px 20px;text-align:center;color:var(--subtle);border:1px dashed var(--border);border-radius:12px}.pc-expand{position:fixed;inset:0;background:#000000e0;backdrop-filter:blur(14px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:pcExpandFade .2s ease}@keyframes pcExpandFade{0%{opacity:0}}.pc-expand__inner{width:min(70vw,1100px);height:min(80vh,700px);background:var(--bg-tile);border:1px solid var(--red-hot-2);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;position:relative}.pc-expand__close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:#000000d9;border:1px solid var(--border);color:var(--muted);font:700 22px/1 var(--sans);cursor:pointer;z-index:4;display:flex;align-items:center;justify-content:center}.pc-expand__close:hover{color:var(--text);border-color:var(--red-hot)}.pc-expand__frame{flex:1;position:relative;background:var(--bg);overflow:hidden}.pc-expand__frame iframe,.pc-expand__frame img{position:absolute;inset:0;width:100%;height:100%;border:0}.pc-expand__frame img{object-fit:cover}.pc-expand__foot{padding:16px 22px;display:flex;align-items:center;gap:16px;border-top:1px solid var(--border);background:var(--bg-tile)}.pc-expand__foot h3{font:800 18px/1.2 var(--sans);letter-spacing:-.02em}.pc-expand__foot p{font:400 13.5px/1.5 var(--sans);color:var(--muted);margin-top:4px}.pc-expand__foot>div{flex:1;min-width:0}.edu2{position:relative;display:flex;flex-direction:column;gap:18px;padding-left:110px}.edu2:before{content:"";position:absolute;left:96px;top:12px;bottom:12px;width:2px;background:var(--red-base-2)}.edu2Row{position:relative;display:flex;align-items:stretch;gap:22px}.edu2Years{position:absolute;left:-110px;top:4px;width:88px;display:flex;flex-direction:column;align-items:center;gap:2px}.edu2Year{font:700 13px/1.1 var(--mono);color:var(--text);letter-spacing:.06em}.edu2Year--end{color:var(--red-hot);font-size:14px}.edu2Year--start{color:var(--muted);font-size:13px}.edu2Year--sep{color:var(--subtle);margin:2px 0}.edu2Dot{position:absolute;left:-20px;top:12px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--red-base);z-index:1}.edu2Row.is-current .edu2Dot{background:var(--red-hot);border-color:var(--red-hot);box-shadow:0 0 0 4px var(--red-hot-3)}.edu2Row.is-current .edu2Year--end{color:var(--red-hot)}.edu2Card{flex:1;background:var(--bg-tile);border:1px solid var(--border);border-radius:14px;padding:18px 22px;transition:border-color var(--dur-fast) ease}.edu2Card:hover{border-color:var(--red-base-2)}.edu2Card__inst{font:800 18px/1.2 var(--sans);letter-spacing:-.02em;color:var(--text)}.edu2Card__degree{font:600 14.5px/1.4 var(--sans);color:var(--text);margin-top:6px}.edu2Card__field{font:400 13px/1.4 var(--sans);color:var(--muted);margin-top:2px}.edu2Card__loc{font:500 11.5px/1 var(--mono);color:var(--subtle);margin-top:8px;display:inline-flex;align-items:center;gap:4px}.edu2Card__desc{font:400 14px/1.6 var(--sans);color:var(--muted);margin-top:10px}.edu2Card__dipl{display:inline-block;font:700 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:5px 10px;border:1px solid var(--border);border-radius:999px;margin-top:12px}@media(max-width:720px){.edu2{padding-left:0}.edu2:before{display:none}.edu2Row{flex-direction:column}.edu2Years{position:static;flex-direction:row;gap:8px;width:auto}.edu2Year--sep,.edu2Dot{display:none}}.psy__focus{font:500 15.5px/1.55 var(--sans);color:var(--text)}.psy__cvBlurb{font:400 14px/1.55 var(--sans);color:var(--muted)}.contact__form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact__field{display:flex;flex-direction:column;gap:6px;grid-column:1 / -1}.contact__label{font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--subtle)}.contact__row{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.connectLinks{display:flex;flex-direction:column;gap:10px}.noctixalPill{color:#14e0c8!important;background:#14e0c814!important;border-color:#14e0c84d!important}.noctixalPill:hover{background:#14e0c829!important;border-color:#14e0c88c!important;color:#5af0d6!important}.projectsPage{display:flex;flex-direction:column;gap:48px;padding-bottom:80px}.projectsPage__head{padding:8px 0}.projectsPage__title{font:900 clamp(3rem,9vw,8rem)/.95 var(--sans);letter-spacing:-.05em;text-align:center;margin:20px 0 0}.projectsPage__title .h-accent{color:var(--red-hot)}.projectsPage .projects-section{gap:18px}.home__footer{margin-top:80px;padding-top:24px;border-top:1px solid var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font:500 11px/1 var(--mono);color:var(--subtle);letter-spacing:.12em}.section-h{display:flex;flex-direction:column;gap:4px;margin:clamp(48px,5vw,80px) auto clamp(24px,3vw,40px);max-width:1200px}.section-h__eyebrow{font:700 12px/1 var(--mono);letter-spacing:.18em;color:var(--red-hot)}.section-h__title{font:900 clamp(2.2rem,5vw,4.2rem)/1 var(--sans);letter-spacing:-.04em}.heroBlock{position:relative;min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vw,56px);overflow:hidden;isolation:isolate}.heroBlock:before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 30%,rgba(214,0,28,.08),transparent 60%),linear-gradient(to right,var(--grid-line) 1px,transparent 1px) 0 0 / 80px 80px,linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px) 0 0 / 80px 80px;z-index:0}.heroBlock__three{position:absolute;inset:0;z-index:1;opacity:.7;pointer-events:none}.heroBlock__inner{position:relative;z-index:2;text-align:left;max-width:1100px;width:100%;--mx: 0;--my: 0}.heroBlock__name{font:900 clamp(3rem,12vw,10rem)/.9 var(--sans);letter-spacing:-.05em;color:var(--text);margin-bottom:22px;display:block}.heroBlock__line{display:block;transition:transform .6s var(--ease-out)}.heroBlock__line--alt{color:var(--text)}html[data-heavy="1"] .heroBlock__name{filter:url(#hero-displace)}html[data-heavy="1"] .heroBlock__inner:hover .heroBlock__line{transform:translate(calc(var(--mx, 0) * -6px),calc(var(--my, 0) * -4px))}.heroBlock__sub{font:400 clamp(1.05rem,1.6vw,1.4rem)/1.5 var(--sans);color:var(--muted);margin-bottom:36px;max-width:40ch}.heroBlock__actions{display:flex;gap:12px;flex-wrap:wrap}.heroBlock__cta{font-weight:700}.heroBlock__scroll{position:absolute;bottom:28px;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--muted);text-decoration:none}.heroBlock__scroll-mouse{width:22px;height:36px;border:1.5px solid var(--red-hot-2);border-radius:999px;position:relative}.heroBlock__scroll-wheel{position:absolute;left:50%;top:6px;width:3px;height:8px;background:var(--red-hot);border-radius:2px;transform:translate(-50%);animation:scrollWheel 1.8s var(--ease-in-out) infinite}.heroBlock__scroll-label{font:600 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--subtle)}html[data-motion=off] .heroBlock__scroll-wheel{animation:none}.noctF{position:relative;min-height:100vh;background:#050505;color:var(--text);overflow:hidden;padding:0;isolation:isolate}.noctF__bgGrid{position:absolute;inset:0;background:radial-gradient(60% 60% at 20% 30%,rgba(214,0,28,.08),transparent 60%),radial-gradient(50% 50% at 90% 80%,rgba(20,224,200,.05),transparent 60%),linear-gradient(to right,rgba(255,255,255,.03) 1px,transparent 1px) 0 0 / 64px 64px,linear-gradient(to bottom,rgba(255,255,255,.03) 1px,transparent 1px) 0 0 / 64px 64px;z-index:0}.noctF__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,3vw,64px);padding:clamp(48px,6vw,96px);min-height:100vh;align-items:center;max-width:1600px;margin:0 auto}@media(max-width:1100px){.noctF__inner{grid-template-columns:1fr;min-height:auto;padding:56px 24px}}.noctF__left{position:relative}.noctF__brand{font:700 12px/1 var(--mono);letter-spacing:.22em;color:var(--red-hot);display:block;margin-bottom:14px;text-transform:uppercase}.noctF__wordmark{display:block;font:900 clamp(4rem,13vw,10rem)/.85 var(--sans);letter-spacing:-.06em;color:var(--text);margin-bottom:14px;font-variation-settings:"wght" 600}.noctF__sub{font:500 14px/1 var(--mono);color:var(--muted);letter-spacing:.12em;margin-bottom:36px;text-transform:uppercase}.noctF__services{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}@media(max-width:700px){.noctF__services{grid-template-columns:1fr}}.noctF__service{display:flex;flex-direction:column;padding:12px 14px;border-left:2px solid var(--red-base-2);background:#ffffff05;transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease}.noctF__service:hover{border-left-color:var(--red-hot);background:#d6001c0a}.noctF__service-label{font:700 14.5px/1.2 var(--sans);letter-spacing:-.01em;color:var(--text)}.noctF__service-note{font:400 12px/1.4 var(--mono);color:var(--muted);margin-top:4px}.noctF__right{position:relative;min-height:60vh;display:flex;flex-direction:column;justify-content:center}.noctF__progress{display:flex;gap:8px;margin-bottom:22px}.noctF__dot{width:28px;height:4px;background:#ffffff26;border-radius:2px;transition:background var(--dur-base) ease,transform var(--dur-base) ease}.noctF__dot.is-active{background:var(--red-hot);transform:scaleX(1.1);transform-origin:left}.noctF__dot.is-done{background:#d6001c80}.noctF__phase{position:absolute;top:80px;left:0;right:0;pointer-events:none}.noctF__phase[aria-hidden=false]{pointer-events:auto}.noctF__eyebrow{font:700 11px/1 var(--mono);letter-spacing:.2em;color:var(--red-hot);margin-bottom:16px;text-transform:uppercase}.noctF__title{font:800 clamp(1.8rem,3.5vw,3rem)/1.05 var(--sans);letter-spacing:-.035em;color:var(--text);margin-bottom:20px;max-width:22ch}.noctF__body{font:400 clamp(1rem,1.3vw,1.15rem)/1.6 var(--sans);color:var(--muted);max-width:50ch}.noctF__cta{position:absolute;bottom:0;left:0;right:0;display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.noctF__primary{background:linear-gradient(135deg,var(--red-hot),#c10018)!important;border-color:var(--red-hot)!important;color:#fff!important;font-weight:700;padding:14px 22px!important;font-size:14px!important}.noctF__primary:hover{box-shadow:0 12px 40px #d6001c73;transform:translateY(-2px)}html[data-motion=off] .noctF__phase{position:relative;opacity:1;pointer-events:auto;top:0;margin-bottom:32px}html[data-motion=off] .noctF__cta{position:relative;margin-top:12px}.pc__slide{transform:skewY(var(--pc-skew, 0deg)) scale(.92)}.pc__slide.is-active{transform:skewY(var(--pc-skew, 0deg)) scale(1)}html[data-motion=off] .pc__slide,html[data-motion=off] .pc__slide.is-active{transform:none!important}.expT-section{position:relative;padding-bottom:80px}.expT__head{max-width:1200px;margin:0 auto 32px;display:flex;flex-direction:column;gap:18px}.expT__eyebrow{font:700 12px/1 var(--mono);letter-spacing:.18em;color:var(--red-hot)}.expT__title{font:900 clamp(2.2rem,5vw,4.2rem)/1 var(--sans);letter-spacing:-.04em}.expT__stats{display:grid;grid-template-columns:repeat(3,max-content);gap:32px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.expT__stat{display:flex;align-items:baseline;gap:8px}.expT__stat-big{font:900 clamp(1.6rem,2.4vw,2.2rem)/1 var(--sans);color:var(--red-hot);letter-spacing:-.04em}.expT__stat-label{font:600 11px/1 var(--mono);color:var(--muted);letter-spacing:.16em;text-transform:uppercase}.expT__wire{position:absolute;left:clamp(20px,4vw,64px);top:240px;bottom:80px;width:2px;z-index:0}.expT__wire-line{position:absolute;inset:0;background:linear-gradient(to bottom,var(--red-hot),var(--red-base-2));transform-origin:top}.expT__list{list-style:none;padding:0;display:flex;flex-direction:column;gap:28px;padding-left:clamp(56px,8vw,110px);position:relative;z-index:1}.expT__item{position:relative}.expT__node{position:absolute;left:calc(clamp(20px,4vw,64px) - clamp(56px,8vw,110px) - 8px);top:24px;width:18px;height:18px;border-radius:50%;background:var(--red-hot);border:3px solid var(--bg);box-shadow:0 0 0 4px var(--red-hot-3)}.expT__card{background:var(--bg-tile);border:1px solid var(--border);border-radius:16px;padding:20px 24px;transition:border-color var(--dur-fast) ease}.expT__card:hover{border-color:var(--red-base-2)}.expT__cardHead{display:flex;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed rgba(255,255,255,.08)}.expT__logo{width:48px;height:48px;border-radius:10px;border:1px solid var(--border);background:var(--bg1);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.expT__logo img{width:100%;height:100%;object-fit:contain;padding:6px}.expT__logo span{font:700 12px/1 var(--mono);color:var(--subtle)}.expT__cardMeta{flex:1;min-width:0}.expT__company{font:900 18px/1.2 var(--sans);letter-spacing:-.02em;color:var(--text)}.expT__range{font:500 12px/1 var(--mono);color:var(--muted);margin-top:4px}.expT__count{font:700 11px/1 var(--mono);padding:6px 12px;border-radius:999px;background:var(--red-hot-3);border:1px solid var(--red-hot-2);color:var(--red-hot);letter-spacing:.08em}.expT__count strong{color:#fff;margin-right:4px}.expT__primary{padding:4px 0 6px}.expT__role{font:700 15px/1.3 var(--sans);color:var(--text)}.expT__loc{font:500 11.5px/1 var(--mono);color:var(--subtle);margin-top:6px;display:inline-flex;align-items:center;gap:4px}.expT__desc{font:400 14px/1.6 var(--sans);color:var(--muted);margin-top:10px}.expT__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.expT__tag{font:500 10.5px/1 var(--mono);padding:3px 9px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:#ffffff08}.expT__expand{margin-top:14px;font:600 12px/1 var(--mono);color:var(--red-hot);display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--red-hot-2);background:transparent;cursor:pointer;transition:all var(--dur-fast) ease}.expT__expand:hover{background:var(--red-hot);color:#fff}.expT__expand .is-flip{transform:rotate(180deg);transition:transform var(--dur-base) ease}.expT__more{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-out)}.expT__more.is-open{max-height:1200px;padding-top:14px}.expT__sub{display:grid;grid-template-columns:120px 1fr auto;gap:12px;padding:8px 0;border-bottom:1px dashed rgba(255,255,255,.06);font:400 13px/1.4 var(--sans);color:var(--muted)}.expT__sub:last-child{border-bottom:0}.expT__subDate{font-family:var(--mono);font-size:11.5px;color:var(--subtle)}.expT__subRole{color:var(--text);font-weight:500}.expT__subLoc{font-family:var(--mono);font-size:11px;color:var(--subtle)}.certWall-section{padding-bottom:80px}.certWall__head{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;max-width:1200px;margin:0 auto 28px}.certWall__eyebrow{font:700 12px/1 var(--mono);letter-spacing:.18em;color:var(--red-hot);grid-column:1}.certWall__title{font:900 clamp(2.2rem,5vw,4.2rem)/1 var(--sans);letter-spacing:-.04em;grid-column:1;grid-row:2}.certWall__counter{grid-column:2;grid-row:1 / span 2;display:flex;align-items:baseline;gap:8px;padding:14px 18px;border:1px solid var(--red-hot-2);background:var(--red-hot-3);border-radius:12px;font-family:var(--mono)}.certWall__counter-now{font-size:36px;font-weight:900;color:var(--red-hot);letter-spacing:-.04em}.certWall__counter-sep{font-size:28px;color:var(--subtle)}.certWall__counter-total{font-size:13px;color:var(--muted);letter-spacing:.06em}.certWall__counter-progress{font-size:11px;color:var(--red-hot);letter-spacing:.06em;margin-left:8px;padding-left:10px;border-left:1px solid var(--red-hot-2)}.certWall__credly{grid-column:1;font:500 13px/1 var(--mono);color:var(--red-hot);text-decoration:none}.certWall__grid{list-style:none;padding:0;display:flex;flex-direction:column;gap:4px;max-width:1200px;margin:0 auto}.certWall__row{padding:0}.certWall__rowInner{display:grid;grid-template-columns:64px 1fr 110px 110px 130px;gap:18px;align-items:center;padding:16px 20px;border:1px solid var(--border);border-radius:12px;background:var(--bg-tile);text-decoration:none;color:var(--text);transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease;font-family:var(--mono)}.certWall__rowInner:hover{border-color:var(--red-base-2);background:var(--bg-tile-hi)}.certWall__row.is-progress .certWall__rowInner{border-color:var(--red-hot-2);background:linear-gradient(90deg,var(--red-hot-3),transparent 60%)}.certWall__col--badge{width:56px;height:56px;border-radius:10px;border:1px solid var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.certWall__col--badge img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:4px}.certWall__col--name{display:flex;flex-direction:column;min-width:0}.certWall__name{font:700 15px/1.2 var(--sans);letter-spacing:-.01em;color:var(--text)}.certWall__issuer{font:500 11.5px/1 var(--mono);color:var(--muted);margin-top:4px;letter-spacing:.04em}.certWall__col--date{font:600 13px/1 var(--mono);color:var(--text);letter-spacing:.06em}.certWall__col--id{font:400 11.5px/1 var(--mono);color:var(--subtle);letter-spacing:.08em;text-transform:uppercase}.certWall__col--status{font:700 10.5px/1 var(--mono);color:#4ade80;letter-spacing:.16em;text-align:right}.certWall__col--status.is-prog{color:var(--red-hot);display:inline-flex;align-items:center;gap:6px;justify-content:flex-end}@media(max-width:760px){.certWall__rowInner{grid-template-columns:48px 1fr;gap:12px;padding:12px 14px}.certWall__col--id,.certWall__col--date{display:none}.certWall__col--status{grid-column:1 / -1;text-align:left;font-size:9.5px}}.certWall__road{position:relative;max-width:1200px;margin:64px auto 0;padding:28px 24px 40px;border:1px dashed var(--red-base-2);border-radius:16px;background:linear-gradient(135deg,var(--bg-tile),transparent)}.certWall__roadHead{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.certWall__roadEyebrow{font:700 11px/1 var(--mono);color:var(--red-hot);letter-spacing:.18em}.certWall__roadSub{font:500 13px/1 var(--mono);color:var(--muted);letter-spacing:.06em}.certWall__roadSvg{width:100%;height:60px;display:block}.certWall__roadLine{fill:none;stroke-dasharray:6 8;stroke-linecap:round}.certWall__roadList{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:-50px}@media(max-width:720px){.certWall__roadList{grid-template-columns:1fr;gap:16px}}.certWall__roadStep{position:relative;text-align:center;padding-top:32px}.certWall__roadDot{position:absolute;left:50%;top:0;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--red-base);transform:translate(-50%)}.certWall__roadStep.is-next .certWall__roadDot{border-color:var(--red-hot);background:var(--red-hot);box-shadow:0 0 0 4px var(--red-hot-3)}.certWall__roadLabel{display:block;font:700 14px/1.2 var(--sans);letter-spacing:-.01em;color:var(--text)}.certWall__roadNote{display:block;font:500 11px/1 var(--mono);color:var(--muted);margin-top:6px;letter-spacing:.08em}.aboutS-section{padding:64px 0 80px}.aboutS__head{max-width:1200px;margin:0 auto 32px}.aboutS__eyebrow{font:700 12px/1 var(--mono);letter-spacing:.18em;color:var(--red-hot);display:block;margin-bottom:6px}.aboutS__title{font:900 clamp(2.2rem,5vw,4.2rem)/1 var(--sans);letter-spacing:-.04em}.aboutS__bio{max-width:1100px;margin:0 auto 32px;font:400 clamp(1.15rem,1.8vw,1.4rem)/1.65 var(--sans);color:var(--text)}.aboutS__keyword{font-weight:600}.aboutS__avail{max-width:1100px;margin:0 auto;display:inline-flex;align-items:center;gap:10px;font:500 14px/1 var(--mono);color:var(--muted);padding:10px 16px;border:1px solid var(--red-hot-2);border-radius:999px;background:var(--red-hot-3)}.sb__noctixal,.sb__noctixal .sb__icon{color:#14e0c8}.section,.heroBlock,.noctF,.expT-section,.certWall-section,.aboutS-section{padding-top:14vh;padding-bottom:14vh;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.heroBlock{min-height:100vh;padding:0}.noctF{padding:0}.heroBlock__name{position:relative;font:900 clamp(3rem,12vw,10rem)/.9 var(--sans);letter-spacing:-.05em;color:var(--text)}.heroBlock__name .heroBlock__line{display:block}.heroBlock__name.is-glitch{animation:heroGlitchShake .38s steps(8,end)}.heroBlock__name.is-glitch:before,.heroBlock__name.is-glitch:after{content:attr(data-text);position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column}.heroBlock__name.is-glitch:before{color:var(--red-hot);clip-path:polygon(0 12%,100% 12%,100% 32%,0 32%);animation:heroGlitchSlice .38s steps(8,end);mix-blend-mode:screen}.heroBlock__name.is-glitch:after{color:#14e0c8;clip-path:polygon(0 60%,100% 60%,100% 80%,0 80%);animation:heroGlitchSliceAlt .38s steps(8,end);mix-blend-mode:screen}@keyframes heroGlitchShake{0%,to{transform:translate(0);filter:none}20%{transform:translate(-2px,1px);filter:contrast(1.15)}40%{transform:translate(2px,-1px)}60%{transform:translate(-1px,2px)}80%{transform:translate(1px,-2px)}}@keyframes heroGlitchSlice{0%,to{transform:translate(0)}25%{transform:translate(-6px,-2px)}50%{transform:translate(4px,1px)}75%{transform:translate(-2px,3px)}}@keyframes heroGlitchSliceAlt{0%,to{transform:translate(0)}25%{transform:translate(5px,2px)}50%{transform:translate(-3px,-1px)}75%{transform:translate(2px,-3px)}}html[data-motion=off] .heroBlock__name.is-glitch{animation:none}html[data-motion=off] .heroBlock__name.is-glitch:before,html[data-motion=off] .heroBlock__name.is-glitch:after{display:none}.noctF__stage{position:relative;min-height:320px}.noctF__phase{position:absolute;inset:0 0 auto;opacity:0;transform:translateY(20px);transition:opacity .35s var(--ease-out),transform .4s var(--ease-out);pointer-events:none}.noctF__phase.is-active{opacity:1;transform:translateY(0);pointer-events:auto}.noctF__wordmark{display:block;font:900 clamp(3rem,10vw,7.5rem)/.9 var(--sans);letter-spacing:-.05em;color:var(--text);margin-bottom:14px;font-variation-settings:normal}.noctF__cta{position:relative;margin-top:32px}html[data-motion=off] .noctF__phase{position:relative;opacity:1;transform:none;pointer-events:auto;margin-bottom:28px}html[data-motion=off] .noctF__stage{min-height:0}.aboutS__cv{display:inline-flex;align-items:center;gap:6px;font:600 14px/1 var(--mono);color:var(--red-hot);text-decoration:none;padding:4px 10px;border:1px solid var(--red-hot-2);border-radius:999px;margin-left:4px;transition:all var(--dur-fast) ease;white-space:nowrap}.aboutS__cv:hover{background:var(--red-hot);color:#fff;border-color:var(--red-hot)}.pc__viewport{--pc-skew: 0deg}.pc__slide{transform:scale(.92);transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) ease}.pc__slide.is-active{transform:scale(1)}.heroBlock{position:relative;overflow:hidden;background:radial-gradient(60% 50% at 50% 30%,rgba(214,0,28,.06),transparent 70%),var(--bg)}.heroBlock:before{content:"";position:absolute;inset:0;background:linear-gradient(to right,var(--grid-line) 1px,transparent 1px) 0 0 / 80px 80px,linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px) 0 0 / 80px 80px;opacity:.4;z-index:0}.heroBlock__spot{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle 360px at var(--spot-x, 50%) var(--spot-y, 50%),rgba(214,0,28,.2) 0%,rgba(214,0,28,.1) 25%,transparent 55%);transition:background 60ms linear;mix-blend-mode:screen}.heroBlock:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle 380px at var(--spot-x, 50%) var(--spot-y, 50%),transparent 0%,transparent 30%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.85) 100%);transition:background 60ms linear}.heroBlock__inner{position:relative;z-index:3}.heroBlock__scroll{z-index:3}html[data-motion=off] .heroBlock:after{display:none}html[data-motion=off] .heroBlock__spot{display:none}@media(hover:none),(pointer:coarse){.heroBlock:after{display:none}.heroBlock__spot{display:none}}.heroBlock:before{background:linear-gradient(to right,var(--grid-line) 1px,transparent 1px) 0 0 / 80px 80px,linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px) 0 0 / 80px 80px;opacity:.5}.heroBlock:after{display:none}.heroBlock__spot{display:none}html[data-motion] body:after{display:none}.heroBlock:before{display:none}.heroBlock{background:var(--bg)}.heroBlock{position:relative;overflow:hidden;background:var(--bg)}.heroBlock__shader{position:absolute;inset:0;z-index:0;pointer-events:none;will-change:clip-path,opacity}.heroBlock__shader canvas{width:100%;height:100%;display:block}.heroBlock__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(80% 60% at 50% 35%,transparent 0%,rgba(0,0,0,.45) 100%),linear-gradient(to bottom,#00000026,#0000008c)}.heroBlock__inner{position:relative;z-index:2}.heroBlock__scroll{z-index:3;bottom:clamp(48px,7vh,88px)}@media(prefers-reduced-motion:reduce){.heroBlock__shader{display:none}}.skillsMarquee{overflow:hidden;padding:28px 0;margin:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg);-webkit-mask-image:linear-gradient(to right,transparent 0,black 8%,black 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,black 8%,black 92%,transparent 100%)}.skillsMarquee__track{display:inline-flex;gap:56px;width:max-content;animation:skillsMarqueeRoll 48s linear infinite}.skillsMarquee__item{font:900 clamp(2.2rem,4vw,3.4rem)/1 var(--sans);letter-spacing:-.035em;color:transparent;-webkit-text-stroke:1px var(--red-base);white-space:nowrap;flex-shrink:0}.skillsMarquee:hover .skillsMarquee__track{animation-play-state:paused}@keyframes skillsMarqueeRoll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.skillsMarquee__track{animation:none}}.certWall__counter-now{font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:no-preference){::view-transition-old(root),::view-transition-new(root){animation-duration:.36s;animation-timing-function:cubic-bezier(.22,1,.36,1)}}.heroBlock__name{position:relative;font:italic 900 clamp(3.6rem,14vw,12rem)/.86 "Bodoni Moda Variable","Bodoni Moda","Didot","Bodoni 72",Georgia,serif;letter-spacing:-.035em;font-variation-settings:"opsz" 96;font-feature-settings:"kern","liga","dlig";color:var(--text);text-rendering:optimizeLegibility;margin-bottom:clamp(22px,3vw,36px);display:block;filter:none!important;-webkit-font-smoothing:antialiased}.heroBlock__name .heroBlock__line{display:block;position:relative;font-style:italic}.heroBlock__name .heroBlock__line:first-child{color:var(--text);transform:translate(-.02em)}.heroBlock__name .heroBlock__line:nth-child(2){color:transparent;-webkit-text-stroke:1.4px var(--text);text-shadow:none;margin-top:-.18em;margin-left:clamp(36px,5.5vw,110px);letter-spacing:-.02em}.heroBlock__name .heroBlock__line:nth-child(2):before{content:attr(data-text);position:absolute;left:.07em;top:.06em;color:transparent;-webkit-text-stroke:1.4px var(--red-base);z-index:-1;pointer-events:none;opacity:.7;mix-blend-mode:screen}.heroBlock__name.is-glitch:before,.heroBlock__name.is-glitch:after{display:none!important}@media(max-width:640px){.heroBlock__name{font-size:clamp(3rem,18vw,6rem);letter-spacing:-.02em}.heroBlock__name .heroBlock__line:nth-child(2){margin-left:8vw;margin-top:-.12em}}
