:root{--bg:#fff;--bg-2:#f7f7f8;--text:#6b6375;--text-h:#08060d;--border:#e5e4e7;--border-strong:#d5d4d8;--accent:#5f894a;--accent-soft:#5f894a14;--accent-line:#5f894a66;--sans:system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--wrap:1240px;--pad:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#08090c;--bg-2:#0e0f14;--text:#8b8792;--text-h:#f4f3f6;--border:#1e1f26;--border-strong:#2b2c35;--accent:#8fbf76;--accent-soft:#8fbf761a;--accent-line:#8fbf7673}}@media (width<=900px){:root{--pad:22px;font-size:16px}}*,:before,:after{box-sizing:border-box;border-radius:0}html{scroll-behavior:smooth}body{background:var(--bg);margin:0;overflow-x:hidden}h1,h2,h3{color:var(--text-h);letter-spacing:-.02em;margin:0;font-weight:500}p{margin:0}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#fff}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.wrap{width:100%;max-width:var(--wrap);padding-inline:var(--pad);margin:0 auto}.mono{font-family:var(--mono);letter-spacing:.02em;font-size:.8rem}.section{border-top:1px solid var(--border);padding-block:clamp(80px,12vh,150px);position:relative}.section-head{align-items:center;gap:22px;margin-bottom:clamp(48px,7vh,84px);display:flex}.section-index{font-family:var(--mono);color:var(--accent);letter-spacing:.05em;font-size:.85rem}.section-rule{background:var(--border);flex:1;height:1px}.section-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.22em;color:var(--text-h);font-size:.78rem}.scroll-progress{background:var(--accent);transform-origin:0;z-index:100;height:2px;position:fixed;top:0;left:0;right:0}.nav{z-index:90;padding:16px var(--pad);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:24px;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{align-items:center;gap:12px;display:flex}.nav-mark{border:1px solid var(--border-strong);width:30px;height:30px;font-family:var(--mono);letter-spacing:.04em;color:var(--text-h);place-items:center;font-size:.75rem;display:grid}.nav-name{color:var(--text-h);font-size:.95rem;font-weight:500}.nav-links{gap:30px;display:flex}.nav-links a{font-family:var(--mono);color:var(--text);padding-bottom:3px;font-size:.8rem;transition:color .25s;position:relative}.nav-links a:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .28s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.nav-links a:hover{color:var(--text-h)}.nav-links a:hover:after{transform:scaleX(1)}.nav-cta{font-family:var(--mono);color:var(--text-h);border:1px solid var(--border-strong);padding:8px 16px;font-size:.78rem;transition:border-color .25s,background .25s}.nav-cta:hover{border-color:var(--accent);background:var(--accent-soft)}@media (width<=720px){.nav-links,.nav-name{display:none}}.hero{flex-direction:column;justify-content:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-grid{background-image:linear-gradient(to right, var(--border) 1px, transparent 1px), linear-gradient(to bottom, var(--border) 1px, transparent 1px);opacity:.55;pointer-events:none;background-size:clamp(60px,8vw,120px) clamp(60px,8vw,120px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 30% 40%,#000 0%,#0000 75%);mask-image:radial-gradient(70% 60% at 30% 40%,#000 0%,#0000 75%)}.hero-inner{z-index:1;position:relative}.hero-title{letter-spacing:-.04em;color:var(--text-h);font-size:clamp(3.2rem,11vw,8.5rem);line-height:.94}.hero-role{color:var(--accent);letter-spacing:-.01em;margin-top:24px;font-size:clamp(1.2rem,2.6vw,2rem);font-weight:600}.hero-tagline{max-width:44ch;color:var(--text);margin-top:24px;font-size:clamp(1rem,1.6vw,1.2rem)}.hero-meta{color:var(--text);flex-wrap:wrap;align-items:center;gap:16px;margin-top:44px;display:flex}.hero-dot{background:var(--border-strong);width:4px;height:4px}.hero-scroll{color:var(--text);text-transform:uppercase;letter-spacing:.2em;z-index:1;flex-direction:column;align-items:center;gap:12px;font-size:.7rem;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.hero-scroll-line{background:var(--accent);transform-origin:top;width:1px;height:40px}.about-grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:clamp(32px,6vw,90px);display:grid}.about-lead h2{letter-spacing:-.01em;color:var(--text-h);max-width:46ch;font-size:clamp(1.15rem,1.9vw,1.6rem);font-weight:400;line-height:1.45}.about-side{border-top:1px solid var(--border);flex-direction:column;display:flex}.stat{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:20px 0;display:flex}.stat-value{color:var(--text-h);letter-spacing:-.03em;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1}.stat-label{color:var(--text);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.focus-grid{border:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,7vw,90px);display:grid}.focus-card{border-right:1px solid var(--border);padding:clamp(24px,3vw,40px)}.focus-grid>.focus-card:last-child{border-right:none}.focus-n{color:var(--accent);letter-spacing:.1em}.focus-title{color:var(--text-h);margin:18px 0 12px;font-size:1.25rem}.focus-body{color:var(--text);font-size:.95rem;line-height:1.55}@media (width<=820px){.about-grid,.focus-grid{grid-template-columns:1fr}.focus-card{border-right:none;border-bottom:1px solid var(--border)}.focus-grid>.focus-card:last-child{border-bottom:none}}.stack-list{border-top:1px solid var(--border)}.stack-row{border-bottom:1px solid var(--border);grid-template-columns:220px 1fr;gap:32px;padding:clamp(28px,4vw,44px) 0;display:grid}.stack-group{font-size:1.15rem;font-family:var(--sans);color:var(--text-h);align-items:baseline;gap:12px;font-weight:500;display:flex}.stack-group-index{font-family:var(--mono);color:var(--accent);font-size:.75rem}.stack-items{flex-wrap:wrap;align-content:flex-start;gap:10px;display:flex}.chip{font-family:var(--mono);color:var(--text-h);border:1px solid var(--border);background:var(--bg-2);align-items:center;padding:7px 14px;font-size:.82rem;transition:border-color .2s,color .2s;display:inline-flex}.chip:hover{border-color:var(--accent-line)}@media (width<=640px){.stack-row{grid-template-columns:1fr;gap:18px}}.hscroll{border-top:1px solid var(--border);position:relative}.hscroll-sticky{align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.hscroll-track{padding-inline:var(--pad);will-change:transform;align-items:stretch;gap:28px;display:flex}.hscroll-intro{flex-direction:column;flex-shrink:0;justify-content:center;width:min(78vw,560px);padding-right:20px;display:flex}.hscroll-intro .section-head{margin-bottom:32px}.hscroll-intro-title{letter-spacing:-.03em;color:var(--text-h);font-size:clamp(2.4rem,6vw,4.5rem);line-height:.98}.hscroll-intro-sub{font-family:var(--mono);color:var(--accent);letter-spacing:.04em;margin-top:24px;font-size:.85rem}.hscroll-progress{bottom:40px;left:var(--pad);right:var(--pad);background:var(--border);height:1px;position:absolute}.hscroll-progress-bar{background:var(--accent);transform-origin:0;height:100%}.journey-divider{border-left:1px solid var(--border);flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:60px;display:flex}.journey-divider-label{writing-mode:vertical-rl;font-family:var(--mono);text-transform:uppercase;letter-spacing:.35em;color:var(--accent);font-size:.8rem;transform:rotate(180deg)}.jcard{flex-direction:column;flex-shrink:0;width:clamp(300px,40vw,480px);height:min(66vh,560px);padding:clamp(26px,3vw,40px);transition:border-color .3s;display:flex}.jcard-top{color:var(--text);justify-content:space-between;align-items:center;display:flex}.jcard-index{color:var(--accent)}.jcard-org{letter-spacing:-.03em;color:var(--text-h);font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.04}.jcard-role{color:var(--text-h);flex-wrap:wrap;align-items:center;gap:10px;font-size:1rem;display:inline-flex}.jcard-detail{color:var(--text);font-size:.95rem;line-height:1.55}.jcard-tag{text-transform:uppercase;letter-spacing:.14em;color:var(--text);background:var(--bg);border:1px solid var(--border);padding:3px 8px;font-size:.62rem}.jcard-exp{background:var(--bg-2);border:1px solid var(--border);justify-content:space-between}.jcard-exp:hover{border-color:var(--border-strong)}.jcard-exp .jcard-body{flex-direction:column;gap:16px;display:flex}.jcard-edu{border:1px solid var(--border);border-top:2px solid var(--accent);background:0 0;justify-content:flex-start;gap:22px}.jcard-edu:hover{border-color:var(--border-strong);border-top-color:var(--accent)}.jcard-edu .jcard-body{flex-direction:column;gap:12px;display:flex}.jcard-edu .jcard-org{font-size:clamp(1.3rem,2.4vw,1.9rem)}.jcard-edu .jcard-role{color:var(--text);font-size:.92rem}.contact{padding-bottom:0}.contact-head{flex-direction:column;gap:20px;display:flex}.contact-title{letter-spacing:-.04em;color:var(--text-h);font-size:clamp(3rem,10vw,8rem);line-height:.92}.contact-links{border-top:1px solid var(--border);margin-top:clamp(48px,7vw,88px)}.contact-link{border-bottom:1px solid var(--border);color:var(--text-h);align-items:center;gap:24px;padding:clamp(22px,3vw,34px) 0;display:flex}.contact-link-label{width:120px;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;flex-shrink:0;font-size:.72rem}.contact-link-value{letter-spacing:-.02em;flex:1;font-size:clamp(1.2rem,3vw,2rem)}.contact-arrow{color:var(--text);font-size:1.5rem;transition:color .2s}.contact-link:hover .contact-arrow{color:var(--accent)}.footer{border-top:1px solid var(--border);margin-top:clamp(60px,10vw,120px);padding-block:28px}.footer-inner{color:var(--text);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}@media (width<=480px){.contact-link{flex-wrap:wrap;gap:8px 16px}.contact-link-label{width:auto}}@media (width<=768px){.section,.hscroll{border-top:none}}
