:root{--ink: #141414;--ink-soft: #5a5a5a;--ink-faint: #8a8a8a;--red: #e0261b;--paper: #ffffff;--paper-warm: #fcfcfb;--frame-bg: #e8eaee;--hairline: rgba(20, 20, 20, .09);--hairline-strong: rgba(20, 20, 20, .18);--display: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif;--body: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--pad: clamp(1.25rem, 4.5vw, 4.5rem)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--frame-bg);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}[id]{scroll-margin-top:84px}::selection{background:var(--red);color:#fff}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.mono{font-family:var(--mono);font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.red-text{color:var(--red)}.red-square{display:inline-block;width:8px;height:8px;background:var(--red);flex:none}.title-sq{display:inline-block;width:.13em;height:.13em;background:var(--red);margin-left:.05em}.frame{padding:clamp(.5rem,1.6vw,1.5rem)}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--red);transform-origin:0 50%;z-index:100}.sheet{position:relative;max-width:1560px;margin:0 auto;background:var(--paper);box-shadow:0 1px 2px #14141e0d,0 24px 64px #14141e14}.sheet-lines{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);pointer-events:none;z-index:0}.sheet-lines span{border-right:1px solid rgba(20,20,20,.045)}.sheet>main,.sheet>header,.sheet>footer{position:relative;z-index:1}.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem var(--pad);background:#ffffffdb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s ease}.nav-scrolled{border-bottom-color:var(--hairline)}.nav-brand{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.nav-brand .red-square{transition:transform .35s cubic-bezier(.22,1,.36,1)}.nav-brand:hover .red-square{transform:rotate(135deg) scale(1.15)}.nav-links{display:flex;gap:clamp(1rem,2.4vw,2.2rem)}.nav-links a{position:relative;font-family:var(--mono);font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);padding:.25rem 0;transition:color .2s ease}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1.5px;background:var(--red);transform:scaleX(0);transform-origin:100% 50%;transition:transform .35s cubic-bezier(.22,1,.36,1)}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{transform:scaleX(1);transform-origin:0 50%}.nav-right{display:flex;align-items:center;gap:.9rem}.status-pill{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--hairline-strong);border-radius:999px;padding:.42rem .85rem}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse 2.2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #e0261b73}50%{box-shadow:0 0 0 5px #e0261b00}}.nav-circle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:var(--ink);color:#fff;cursor:pointer;transition:background .25s ease,transform .25s ease}.nav-circle:hover{background:var(--red);transform:rotate(45deg)}.nav-circle-menu{display:none}.menu-overlay{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:var(--paper);padding:1.1rem clamp(1.25rem,5vw,2rem) calc(1.6rem + env(safe-area-inset-bottom));overflow-y:auto}.menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(2rem,6vh,4rem)}.menu-links{display:flex;flex-direction:column}.menu-links a{display:flex;align-items:baseline;gap:1.1rem;padding:clamp(.9rem,2.4vh,1.3rem) 0;border-top:1px solid var(--hairline);font-family:var(--display);font-size:clamp(2rem,9vw,3.2rem);font-weight:800;letter-spacing:-.035em;line-height:1}.menu-links a:last-child{border-bottom:1px solid var(--hairline)}.menu-links a:active .menu-label{color:var(--red)}.menu-links .mono{color:var(--red);font-size:.62rem}.menu-foot{margin-top:auto;display:grid;gap:1.3rem;padding-top:2.5rem;justify-items:start}.menu-mail{font-family:var(--display);font-size:clamp(1.15rem,5.4vw,1.5rem);font-weight:600;letter-spacing:-.02em;border-bottom:2px solid var(--hairline-strong);padding-bottom:.2rem;overflow-wrap:anywhere}.menu-social{display:flex;flex-wrap:wrap;gap:1.4rem}.menu-social a{font-family:var(--mono);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.menu-social a:active{color:var(--red)}.hero{padding:clamp(4rem,10vh,8rem) var(--pad) clamp(3rem,7vh,5.5rem)}.hero-overline{color:var(--ink-faint);margin-bottom:clamp(1.5rem,4vh,3rem)}.hero-title{font-family:var(--display);font-size:clamp(2.6rem,14vw,11.5rem);font-weight:800;letter-spacing:-.045em;line-height:.94}.line-mask{display:block;overflow:hidden;padding-bottom:.06em}.line{display:block;will-change:transform}.hero-below{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:2rem;margin-top:clamp(2rem,5vh,3.5rem)}.hero-sub{max-width:34rem;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.65;color:var(--ink-soft)}.hero-sub strong{color:var(--ink);font-weight:600}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.95rem 1.5rem;border:1px solid var(--ink);transition:background .25s ease,color .25s ease,border-color .25s ease}.btn:hover{border-color:var(--red);color:var(--red)}.btn-solid{background:var(--ink);color:#fff}.btn-solid:hover{background:var(--red);border-color:var(--red);color:#fff}.hero-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:clamp(3rem,8vh,5.5rem);padding-top:1.6rem;border-top:1px solid var(--hairline)}.hero-meta dt{color:var(--ink-faint);margin-bottom:.45rem}.hero-meta dd{font-size:.92rem;font-weight:500;overflow-wrap:anywhere}.plain-link{border-bottom:1px solid var(--hairline-strong);transition:border-color .2s ease,color .2s ease}.plain-link:hover{color:var(--red);border-color:var(--red)}.ticker{overflow:hidden;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:1.1rem 0;background:var(--paper-warm)}.ticker-track{display:flex;width:max-content;animation:ticker-scroll 36s linear infinite}.ticker-row{display:flex;align-items:center;flex:none}.ticker-item{display:inline-flex;align-items:center;gap:2.2rem;padding-right:2.2rem;font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){#root [data-animate]{opacity:1!important;transform:none!important}.scroll-progress{display:none}.ticker-track{animation:none}html{scroll-behavior:auto}}.section{padding:clamp(4rem,10vh,7.5rem) var(--pad)}.section-head{display:flex;align-items:baseline;gap:1.4rem;margin-bottom:clamp(2.5rem,6vh,4.5rem)}.section-number{color:var(--red)}.section-title{font-family:var(--display);font-size:clamp(2.2rem,5.5vw,4.5rem);font-weight:800;letter-spacing:-.035em;line-height:1}.feature-card{display:grid;grid-template-columns:1.6fr 1fr;border:1px solid var(--ink);margin-bottom:clamp(2rem,4vh,3rem)}.feature-main{padding:clamp(1.6rem,3.5vw,3.2rem)}.feature-kicker{display:flex;justify-content:space-between;gap:1rem;color:var(--ink-faint);margin-bottom:1.6rem}.feature-kicker span:first-child{color:var(--red)}.feature-title{font-family:var(--display);font-size:clamp(2.6rem,6vw,5rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:1.2rem}.feature-desc{max-width:40rem;color:var(--ink-soft);margin-bottom:1.8rem}.feature-points{display:grid;gap:.9rem;margin-bottom:2rem}.feature-points li{display:flex;gap:.85rem;font-size:.92rem;line-height:1.6;color:var(--ink-soft);max-width:42rem}.feature-points .red-square{margin-top:.5rem}.tag-row{display:flex;flex-wrap:wrap;gap:.5rem}.tag{font-size:.62rem;padding:.4rem .7rem;border:1px solid var(--hairline-strong);color:var(--ink-soft);white-space:nowrap}.link-row{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.6rem}.text-link{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border-bottom:1.5px solid var(--ink);padding-bottom:.28rem;transition:color .2s ease,border-color .2s ease}.text-link svg{transition:transform .25s cubic-bezier(.22,1,.36,1)}.text-link:hover{color:var(--red);border-color:var(--red)}.text-link:hover svg{transform:translate(2px,-2px)}.feature-aside{border-left:1px solid var(--ink);padding:clamp(1.6rem,3vw,2.6rem);display:flex;flex-direction:column;gap:1.8rem;background:var(--paper-warm)}.feature-media,.project-media{position:relative;display:block;overflow:hidden;aspect-ratio:16 / 10;background:var(--paper-warm)}.feature-media{border:1px solid var(--hairline-strong);transition:border-color .3s ease}.feature-media:hover{border-color:var(--ink)}.feature-media video,.project-media video{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transform:scale(1.005);transition:transform .7s cubic-bezier(.22,1,.36,1)}.feature-media:hover video,.project-card:hover .project-media video{transform:scale(1.03)}.media-cue{position:absolute;right:.7rem;bottom:.7rem;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;background:#141414e0;color:#fff;font-size:.58rem;letter-spacing:.16em;transition:background .25s ease}.feature-media:hover .media-cue,.project-media:hover .media-cue{background:var(--red)}.aside-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:auto}.aside-stats div{display:grid;gap:.3rem}.aside-stats strong{font-family:var(--display);font-size:1.9rem;font-weight:800;letter-spacing:-.03em;line-height:1}.aside-stats .mono{font-size:.56rem;color:var(--ink-faint)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1.2rem,2.5vw,2rem)}.project-grid>div{height:100%}.project-card{height:100%;display:flex;flex-direction:column;border:1px solid var(--hairline-strong);transition:border-color .3s ease}.project-card:hover{border-color:var(--ink)}.project-media{border-bottom:1px solid var(--hairline-strong)}.project-body{display:flex;flex-direction:column;flex:1;padding:clamp(1.3rem,2.5vw,2rem)}.project-kicker{display:flex;justify-content:space-between;gap:1rem;color:var(--ink-faint);margin-bottom:1rem}.project-kicker span:first-child{color:var(--red)}.project-title{font-family:var(--display);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-bottom:.7rem}.project-title a:hover,.feature-title a:hover{color:var(--red)}.project-desc{color:var(--ink-soft);font-size:.94rem;margin-bottom:1.4rem}.project-foot{margin-top:auto;display:grid;gap:.4rem}.stats-band{background:var(--ink);color:#fff;padding:clamp(4rem,10vh,7rem) var(--pad)}.stats-label{color:#ffffff8c}.stats-head{margin-bottom:clamp(2.5rem,6vh,4rem)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,3rem)}.stat{border-top:1px solid rgba(255,255,255,.22);padding-top:1.4rem}.stat-value{display:block;font-family:var(--display);font-size:clamp(3rem,6vw,5.5rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:.9rem}.stat p{font-size:.85rem;line-height:1.6;color:#ffffff9e;max-width:17rem}.xp-row{display:grid;grid-template-columns:1fr 1fr 2fr;gap:clamp(1.2rem,3vw,3rem);padding:clamp(1.8rem,4vh,2.8rem) 0;border-top:1px solid var(--hairline-strong)}.xp-when{display:grid;gap:.4rem;align-content:start}.xp-when .mono{color:var(--ink-soft)}.xp-loc{color:var(--ink-faint)!important}.xp-who h3{font-family:var(--display);font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.05}.xp-role{margin-top:.5rem;font-size:.92rem;color:var(--ink-soft)}.xp-bullets{display:grid;gap:.8rem}.xp-bullets li{position:relative;padding-left:1.3rem;font-size:.92rem;color:var(--ink-soft);line-height:1.65}.xp-bullets li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--red)}.edu-row{display:grid;grid-template-columns:1fr 3fr;gap:clamp(1.2rem,3vw,3rem);padding-top:clamp(1.8rem,4vh,2.8rem);border-top:1px solid var(--hairline-strong)}.edu-label{color:var(--ink-faint)}.edu-items{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.edu-item{display:grid;gap:.25rem;font-size:.92rem}.edu-item span{color:var(--ink-soft)}.edu-item .mono{color:var(--ink-faint)}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}.cap-grid>div{height:100%}.cap-col{border-top:1px solid var(--hairline-strong);padding-top:1.4rem;height:100%}.cap-title{display:flex;align-items:center;gap:.6rem;margin-bottom:1.3rem}.cap-col ul{display:grid;gap:.55rem}.cap-col li{font-size:.92rem;color:var(--ink-soft);transition:color .2s ease,transform .2s ease}.cap-col li:hover{color:var(--ink);transform:translate(4px)}.paper-card{display:block;border:1px solid var(--ink);padding:clamp(2rem,4.5vw,4rem);transition:background .3s ease;background:var(--paper)}.paper-card:hover{background:var(--paper-warm)}.paper-meta{color:var(--ink-faint);margin-bottom:1.6rem}.paper-title{font-family:var(--display);font-size:clamp(2rem,5vw,4rem);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin-bottom:1.2rem}.paper-desc{max-width:38rem;color:var(--ink-soft);margin-bottom:2rem}.paper-link{border-bottom-width:1.5px}.contact{background:var(--ink);color:#fff;padding:clamp(4.5rem,12vh,8rem) var(--pad) clamp(1.6rem,3vh,2.4rem)}.contact-overline{color:#ffffff8c;margin-bottom:2rem}.contact-title{font-family:var(--display);font-size:clamp(2.8rem,12vw,10rem);font-weight:800;letter-spacing:-.045em;line-height:.95;margin-bottom:clamp(1.6rem,4vh,2.6rem)}.contact-email{display:inline-block;font-family:var(--display);font-size:clamp(1.2rem,3vw,2.2rem);font-weight:600;letter-spacing:-.02em;border-bottom:2px solid rgba(255,255,255,.35);padding-bottom:.3rem;transition:color .25s ease,border-color .25s ease}.contact-email:hover{color:var(--red);border-color:var(--red)}.contact-links{display:flex;flex-wrap:wrap;gap:1.8rem;margin-top:clamp(2.2rem,5vh,3.5rem)}.contact-links a{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#ffffffbf;transition:color .2s ease}.contact-links a:hover{color:#fff}.contact-links a:hover svg{color:var(--red)}.contact-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:clamp(3.5rem,9vh,6rem);padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.16);color:#ffffff73}@media(max-width:1024px){.feature-card{grid-template-columns:1fr}.feature-aside{border-left:none;border-top:1px solid var(--ink)}.project-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.xp-row{grid-template-columns:1fr 2fr}.xp-when{grid-column:1 / -1;display:flex;justify-content:space-between}}@media(max-width:760px){.nav{padding-top:.85rem;padding-bottom:.85rem}.nav-links,.nav .status-pill,.nav-circle-mail{display:none}.nav-circle-menu{display:inline-flex}[id]{scroll-margin-top:72px}.sheet-lines{grid-template-columns:repeat(2,1fr)}.hero{padding-top:clamp(2.5rem,7vh,4.5rem)}.hero-meta{grid-template-columns:repeat(2,1fr);gap:1.4rem 1.2rem}.project-grid{grid-template-columns:1fr}.cap-grid{grid-template-columns:1fr;gap:2rem}.xp-row,.edu-row{grid-template-columns:1fr;gap:1.2rem}.edu-items{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr;gap:2.4rem 1.2rem}.stat-value{font-size:clamp(2.5rem,11vw,5.5rem)}.contact-email{word-break:break-all}.contact-foot{margin-top:3rem}}@media(max-width:480px){.hero-actions{width:100%}.hero-actions .btn{flex:1 1 auto;justify-content:center}.feature-kicker{flex-direction:column;gap:.35rem}.project-kicker{flex-direction:column;gap:.3rem}.aside-stats{gap:.7rem}.aside-stats strong{font-size:1.55rem}.link-row{gap:1rem}.contact-links{gap:1.2rem}.ticker-item{gap:1.6rem;padding-right:1.6rem}}
