:root{--ink:#0b0b0d;--ink-2:#131316;--paper:#f2efe6;--paper-2:#d8d4c6;--paper-mute:#f2efe68c;--paper-dim:#f2efe64d;--paper-line:#f2efe624;--paper-rule:#f2efe614;--accent:#ff5a1f;--accent-soft:#ff5a1f29;--font-display:"Fraunces", "Cormorant Garamond", Georgia, serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"IBM Plex Mono", "SF Mono", ui-monospace, Menlo, monospace;--fs-mega:clamp(72px, 14vw, 220px);--fs-display:clamp(48px, 8vw, 120px);--fs-h2:clamp(36px, 5.5vw, 72px);--fs-h3:clamp(24px, 2.8vw, 36px);--fs-body:clamp(16px, 1.2vw, 18px);--fs-lede:clamp(18px, 1.6vw, 22px);--fs-meta:12px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--ink);min-height:100%;color:var(--paper);margin:0;padding:0}html.lenis,html.lenis body{height:auto}html.lenis-smooth{scroll-behavior:auto!important}html.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}html.lenis-stopped{overflow:clip}body{font-family:var(--font-body);font-size:var(--fs-body);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"ss01", "ss02", "cv11";font-weight:400;line-height:1.55;overflow-x:hidden}a{color:inherit;transition:color .24s var(--ease-out), opacity .24s var(--ease-out);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}::selection{background:var(--accent);color:var(--ink)}.display{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30, "wght" 320;letter-spacing:-.04em;color:var(--paper);font-weight:320;line-height:.92}.display-italic{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 80, "wght" 300;font-style:italic}.mono{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--paper-mute);font-weight:400}.section{padding:clamp(96px,14vh,180px) 0;position:relative}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}.rule{background:var(--paper-rule);border:0;height:1px;margin:0}.section-index{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.08em;text-transform:uppercase;color:var(--paper-mute);align-items:baseline;gap:14px;margin-bottom:56px;display:flex}.section-index:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block;transform:translateY(-2px)}.bg-stage{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bg-orb{filter:blur(110px);will-change:transform;border-radius:50%;position:absolute}.bg-grain{opacity:.55;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.08 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");animation:8s steps(8,end) infinite grain-shift;position:absolute;inset:-10%}@keyframes grain-shift{0%{transform:translate(0)}10%{transform:translate(-1%,-1%)}30%{transform:translate(2%,-2%)}50%{transform:translate(-2%,1%)}70%{transform:translate(1%,2%)}90%{transform:translate(-1%,1%)}to{transform:translate(0)}}.bg-mesh{opacity:1;background-image:linear-gradient(#0000 49.4%,#f2efe61a 50%,#0000 50.6%),linear-gradient(90deg,#0000 49.4%,#f2efe61a 50%,#0000 50.6%);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(140% 110% at 50% 35%,#000 30%,#0000 85%);mask-image:radial-gradient(140% 110% at 50% 35%,#000 30%,#0000 85%)}.bg-pin{filter:blur(40px);opacity:1;pointer-events:none;background:radial-gradient(closest-side,#ff8c508c,#ff5a1f4d 40%,#0000 75%);width:1200px;height:360px;position:absolute;top:-40px;left:50%;transform:translate(-50%)}.bg-pin-mid{filter:blur(80px);opacity:.7;pointer-events:none;background:radial-gradient(closest-side,#ff6e322e,#0000 70%);width:1400px;height:220px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.glass{isolation:isolate;vertical-align:middle;-webkit-backdrop-filter:var(--glass-filter,url(#glass-refract)) blur(20px) saturate(170%) brightness(1.06) contrast(1.03);box-shadow: inset 0 1px 0 rgba(255, 255, 255, calc(.65 * var(--rim,1))), inset 0 -1px 0 rgba(255, 255, 255, calc(.18 * var(--rim,1))),  inset 1px 1px 0 rgba(120, 200, 255, calc(.32 * var(--rim,1))), inset 4px 4px 10px -6px rgba(80, 160, 255, calc(.22 * var(--rim,1))),  inset -1px -1px 0 rgba(255, 140, 80, calc(.32 * var(--rim,1))), inset -4px -4px 10px -6px rgba(255, 90, 130, calc(.22 * var(--rim,1))),  inset 6px 0 14px -8px rgba(255, 255, 255, calc(.22 * var(--rim,1))), inset -6px 0 14px -8px rgba(255, 255, 255, calc(.22 * var(--rim,1))),  -2px -2px 18px rgba(80, 160, 255, calc(.18 * var(--aura,1))), 2px 2px 18px rgba(255, 90, 31, calc(.2 * var(--aura,1))),  0 1px 0 #00000080, 0 0 0 1px #ffffff0d, 0 24px 60px -14px #0000008c, 0 0 36px -6px rgba(255, 90, 31, calc(.16 * var(--aura,1)));background:linear-gradient(#ffffff1f 0%,#ffffff0a 35%,#ffffff05 65%,#ffffff0f 100%);border:1px solid #ffffff24;align-items:center;display:inline-flex;position:relative}.glass:before{content:"";border-radius:inherit;mix-blend-mode:screen;pointer-events:none;z-index:1;background:linear-gradient(#ffffff57 0%,#ffffff1a 16%,#0000 38%),linear-gradient(135deg,#6ec8ff66 0%,#a0dcff1a 14%,#0000 30%),linear-gradient(315deg,#ff825066 0%,#ffb4641a 14%,#0000 30%),linear-gradient(225deg,#c878ff38 0%,#0000 18%);position:absolute;inset:0}.glass:after{content:"";border-radius:inherit;background: radial-gradient(150% 90% at calc(var(--spec-x,30%) - 10%) -25%, #ff78b438 0%, transparent 35%),  radial-gradient(140% 80% at var(--spec-x,30%) -20%, #fff6 0%, #ffffff1f 22%, transparent 45%),  radial-gradient(150% 90% at calc(var(--spec-x,30%) + 10%) -25%, #78c8ff38 0%, transparent 35%);mix-blend-mode:screen;pointer-events:none;z-index:2;animation:9s ease-in-out infinite glass-sheen;position:absolute;inset:0}.glass-content{z-index:3;align-items:center;display:inline-flex;position:relative}@keyframes glass-sheen{0%{--spec-x:18%;opacity:.85}50%{--spec-x:82%;opacity:1}to{--spec-x:18%;opacity:.85}}@property --spec-x{syntax:"<percentage>";inherits:false;initial-value:30%}.glass-wrap{vertical-align:middle;display:inline-block;position:relative}.glass-wrap>:not(.glass-polish){display:none!important}.glass-wrap .glass-polish.glass-polish,.glass-wrap div.glass-polish[style]{transform:none!important}.glass-polish{isolation:isolate;box-shadow:inset 0 1px #ffffff8c,inset 0 0 0 1px #ffffff14,inset 0 -1px #ffffff2e,inset 8px 0 16px -10px #ffffff2e,inset -8px 0 16px -10px #ffffff2e,0 1px #00000073,0 0 0 1px #ffffff0a,0 18px 50px -12px #0000008c,0 0 32px -6px #ff5a1f1f}.glass-polish:before{content:"";border-radius:inherit;mix-blend-mode:screen;pointer-events:none;z-index:10;background:linear-gradient(#ffffff47 0%,#ffffff14 18%,#0000 38%),linear-gradient(135deg,#fff3 0%,#0000 28% 65%,#ffffff1f 95%);position:absolute;inset:0}.glass-polish:after{content:"";border-radius:inherit;background:radial-gradient(140% 80% at var(--spec-x,30%) -20%, #ffffff4d 0%, #ffffff14 22%, transparent 45%);mix-blend-mode:screen;pointer-events:none;z-index:11;animation:9s ease-in-out infinite glass-sheen;position:absolute;inset:0}.bg-vignette{background:radial-gradient(60% 60% at 50% 30%,#0000 0% 60%,#00000059 100%),radial-gradient(80% 80% at 50% 90%,#0000 0%,#0000004d 100%);position:absolute;inset:0}.marquee{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%)}.marquee-track{flex-shrink:0;gap:80px;padding-right:80px;animation:38s linear infinite marquee-scroll;display:flex}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}.marquee-item{font-family:var(--font-display);font-variation-settings:"opsz" 144, "SOFT" 30, "wght" 380;letter-spacing:-.04em;white-space:nowrap;color:var(--paper);align-items:center;gap:80px;font-size:clamp(64px,9vw,144px);line-height:1;display:inline-flex}.marquee-item:after{content:"✦";color:var(--accent);font-size:.28em;display:inline-block;transform:translateY(-.4em)}.ledger-row{border-top:1px solid var(--paper-rule);transition:background .32s var(--ease-out);grid-template-columns:88px 1fr auto;align-items:baseline;gap:clamp(20px,4vw,48px);padding:28px 0;display:grid}.ledger-row:hover{background:#f2efe605}.link-underline{display:inline-block;position:relative}.link-underline:after{content:"";transform-origin:0;width:100%;height:1px;transition:transform .48s var(--ease-out);background:currentColor;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.link-underline:hover:after{transform:scaleX(1)}@media (width<=880px){.projects-grid>a{grid-column:1/-1!important;margin-top:32px!important}.projects-grid>a:first-child{margin-top:0!important}}@media (width<=920px){.skills-grid>*{border-right:0!important}}@media (width<=720px){.ledger-row{grid-template-columns:1fr!important;gap:8px!important}.ledger-row>:last-child{display:none!important}.hero-grid{grid-template-columns:1fr!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.marquee-track,.bg-grain{animation:none}}
