@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2039e8342bda6056-s.0h2amv7e1wlhq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fabcf92ba1ccea36-s.p.0lwj123ije5i..woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bebas Neue Fallback;src:local(Arial);ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.0%;size-adjust:76.72%}.bebas_neue_7af210d2-module__mKzL6q__className{font-family:Bebas Neue,Bebas Neue Fallback;font-style:normal;font-weight:400}.bebas_neue_7af210d2-module__mKzL6q__variable{--font-bebas:"Bebas Neue", "Bebas Neue Fallback"}
@font-face{font-family:DM Sans;font-style:italic;font-weight:300;font-display:swap;src:url(../media/7334b8b05e61def8-s.0nshu_qvp5nsr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:italic;font-weight:300;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.14_f372x7nluw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../media/7334b8b05e61def8-s.0nshu_qvp5nsr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.14_f372x7nluw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:italic;font-weight:500;font-display:swap;src:url(../media/7334b8b05e61def8-s.0nshu_qvp5nsr.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:italic;font-weight:500;font-display:swap;src:url(../media/5e50e46ec4da0455-s.p.14_f372x7nluw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_36a23fb1-module__NgYsGG__className{font-family:DM Sans,DM Sans Fallback}.dm_sans_36a23fb1-module__NgYsGG__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(../media/35161b7740c25d33-s.05wv8sp_ts~44.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(../media/391e53907fa6d8ec-s.09se41kx.zlna.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(../media/ae8872c8a32e309c-s.05txd3dlozf45.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Playfair Display;font-style:italic;font-weight:400 900;font-display:swap;src:url(../media/70e3db2de7f94926-s.p.0~0iy9faq3424.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_b61b069a-module__SvT9lW__className{font-family:Playfair Display,Playfair Display Fallback;font-style:italic}.playfair_display_b61b069a-module__SvT9lW__variable{--font-playfair:"Playfair Display", "Playfair Display Fallback"}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html.has-cursor-fx body,html.has-cursor-fx a,html.has-cursor-fx button,html.has-cursor-fx [role=button],html.has-cursor-fx label,html.has-cursor-fx select,html.has-cursor-fx input,html.has-cursor-fx textarea{cursor:none}html:not(.has-cursor-fx) #cursor,html:not(.has-cursor-fx) #cursor-ring{display:none}::selection{background:var(--accent);color:var(--bg)}html.intro-active body{overflow:hidden}html.intro-active #hero .hero-headline .char-mask,html.intro-active #hero .appear-delay-2,html.intro-active #hero .appear-delay-3{transition-delay:0s}#page-loader{z-index:9000;background:var(--bg);will-change:transform;grid-template-rows:auto 1fr auto;padding:32px 48px;transition:transform .85s cubic-bezier(.76,0,.24,1);display:grid;position:fixed;inset:0}#page-loader.pl-lift{transform:translateY(-100%)}.pl-top{justify-content:space-between;align-items:baseline;display:flex}.pl-label{letter-spacing:.18em;text-transform:uppercase;color:var(--mid);font-size:11px}.pl-counter{justify-content:flex-start;align-self:end;align-items:flex-end;gap:8px;padding-bottom:32px;display:flex}.pl-count{font-family:var(--display);letter-spacing:.005em;color:var(--fg);font-variant-numeric:tabular-nums;font-size:clamp(120px,22vw,320px);line-height:.85}.pl-count-pct{font-family:var(--display);color:var(--mid);letter-spacing:.04em;margin-bottom:.18em;font-size:clamp(20px,3vw,36px)}.pl-bar{background:var(--border);width:100%;height:1px;position:relative;overflow:hidden}.pl-bar-fill{background:var(--accent);transform-origin:0;will-change:transform;position:absolute;inset:0;transform:scaleX(0)}@media (max-width:600px){#page-loader{padding:24px}}@media (prefers-reduced-motion:reduce){#page-loader{display:none}}#scroll-progress{background:var(--accent);transform-origin:0;z-index:9500;pointer-events:none;will-change:transform;width:100%;height:1px;position:fixed;top:0;left:0;transform:scaleX(0)}.grain{z-index:8000;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;position:fixed;inset:0}:root,[data-theme=hermes]{--bg-rgb:4,28,28;--bg-2-rgb:7,36,35;--fg-rgb:255,230,203;--accent-rgb:229,180,78;--accent-2-rgb:255,240,166;--bg:rgb(var(--bg-rgb));--bg-2:rgb(var(--bg-2-rgb));--fg:rgb(var(--fg-rgb));--accent:rgb(var(--accent-rgb));--accent-2:rgb(var(--accent-2-rgb));--accent-dim:rgba(var(--accent-rgb),.12);--signal:rgb(var(--accent-2-rgb));--signal-dim:rgba(var(--accent-2-rgb),.12);--mid:rgba(var(--fg-rgb),.58);--dim:rgba(var(--fg-rgb),.44);--border:rgba(var(--fg-rgb),.18);--motion-ease:cubic-bezier(.23,1,.32,1);--motion-fast:.25s;--motion-med:.45s;--sans:"DM Sans", system-ui, sans-serif;--display:"Bebas Neue", Impact, sans-serif;--italic:"Playfair Display", Georgia, serif}[data-theme=lime]{--bg-rgb:3,3,3;--bg-2-rgb:9,12,7;--fg-rgb:240,237,230;--accent-rgb:184,255,87;--accent-2-rgb:143,209,61}[data-theme=oxide]{--bg-rgb:5,8,7;--bg-2-rgb:10,16,13;--fg-rgb:237,231,220;--accent-rgb:201,130,74;--accent-2-rgb:111,166,106}[data-theme=infra]{--bg-rgb:5,5,5;--bg-2-rgb:16,16,13;--fg-rgb:242,232,216;--accent-rgb:255,181,71;--accent-2-rgb:111,123,58}[data-theme=lab]{--bg-rgb:3,10,12;--bg-2-rgb:7,19,22;--fg-rgb:234,230,221;--accent-rgb:100,216,232;--accent-2-rgb:111,143,163}[data-theme=signal]{--bg-rgb:6,5,5;--bg-2-rgb:17,13,12;--fg-rgb:239,232,220;--accent-rgb:255,90,61;--accent-2-rgb:245,162,79}[data-theme=control]{--bg-rgb:12,14,16;--bg-2-rgb:18,21,24;--fg-rgb:232,230,223;--accent-rgb:110,231,255;--accent-2-rgb:255,181,71}html{scroll-behavior:auto}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;max-width:100vw;font-size:16px;line-height:1.6;overflow-x:hidden}#cursor{background:var(--accent);pointer-events:none;z-index:9999;will-change:transform;mix-blend-mode:difference;border-radius:50%;width:10px;height:10px;transition:width .25s,height .25s,background .25s,opacity .25s;position:fixed;top:0;left:0}#cursor-ring{border:1px solid rgba(var(--fg-rgb),.35);pointer-events:none;z-index:9998;will-change:transform;border-radius:50%;width:38px;height:38px;transition:width .4s cubic-bezier(.23,1,.32,1),height .4s cubic-bezier(.23,1,.32,1),border-color .3s,opacity .3s;position:fixed;top:0;left:0}body.cursor-hover #cursor{width:6px;height:6px}body.cursor-hover #cursor-ring{border-color:var(--accent);width:64px;height:64px}body.cursor-link #cursor{width:4px;height:4px}body.cursor-link #cursor-ring{border-color:var(--accent);background:var(--accent-dim);width:80px;height:80px}body.cursor-project #cursor{opacity:0;width:0;height:0}body.cursor-project #cursor-ring{border-color:var(--accent);background:var(--accent);justify-content:center;align-items:center;width:72px;height:72px;display:flex}#cursor-label{letter-spacing:.12em;color:var(--bg);text-transform:uppercase;opacity:0;pointer-events:none;font-size:10px;font-weight:600;font-family:var(--sans);transition:opacity .2s}#cursor-label:after{content:"VIEW"}body.cursor-project #cursor-label{opacity:1}body.cursor-contact #cursor{background:var(--bg);mix-blend-mode:normal}body.cursor-contact #cursor-ring{border-color:#0d0d0db8;box-shadow:0 0 0 1px #0d0d0d2e}body.cursor-contact.cursor-link #cursor-ring{border-color:var(--bg);background:#0d0d0d1a;box-shadow:0 0 0 1px #0d0d0d38}nav{z-index:500;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:28px 48px;transition:background .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s,border-color .3s,padding .3s,transform .4s cubic-bezier(.23,1,.32,1);display:flex;position:fixed;top:0;left:0;right:0}nav.nav-hidden{transform:translateY(-100%)}nav.scrolled{background:rgba(var(--bg-rgb),.9);-webkit-backdrop-filter:blur(20px);border-color:var(--border);padding:18px 48px}.nav-logo{font-family:var(--display);letter-spacing:.08em;color:var(--fg);z-index:1;flex-shrink:0;font-size:22px;text-decoration:none}.nav-hamburger{z-index:2;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.nav-hamburger span{background:var(--fg);width:22px;height:1.5px;transition:transform .3s,opacity .3s;display:block}.nav-hamburger.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.nav-drawer{background:rgba(var(--bg-rgb),.97);z-index:400;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;justify-content:center;align-items:center;gap:32px;display:none;position:fixed;inset:0}.nav-drawer.open{display:flex}.nav-drawer a{font-family:var(--display);letter-spacing:.06em;color:var(--fg);font-size:48px;text-decoration:none;transition:color .2s}.nav-drawer a:hover{color:var(--accent)}.mobile-section-indicator{display:none}@media (max-width:900px){.nav-hamburger{display:flex}}.nav-links{align-items:center;gap:36px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{letter-spacing:.12em;text-transform:uppercase;color:var(--mid);font-size:12px;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--fg);transform-origin:0;width:100%;height:1px;transition:transform .3s cubic-bezier(.23,1,.32,1);position:absolute;bottom:-3px;left:0;transform:scaleX(0)}.nav-links a:hover,.nav-links a.nav-active{color:var(--fg)}.nav-links a:hover:after,.nav-links a.nav-active:after{transform:scaleX(1)}#hero:before{content:none}#hero:after{content:"";background:radial-gradient(ellipse at center, rgba(var(--accent-rgb),.052) 0%, rgba(var(--accent-rgb),.03) 42%, transparent 78%);pointer-events:none;z-index:0;width:92%;height:72%;position:absolute;bottom:-18%;left:4%}.hero-scroll-hint{z-index:1;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-scroll-line{background:linear-gradient(to bottom, rgba(var(--fg-rgb),.2), transparent);width:1px;height:56px}@media (max-width:900px){.hero-scroll-hint{display:none}}.hero-anchor{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;display:flex;position:absolute;top:100px}.hero-anchor--tl{left:48px}.hero-anchor--tr{right:48px}.hero-anchor-sep{color:var(--accent);opacity:.55}.hero-clock{color:var(--mid);font-variant-numeric:tabular-nums}@media (max-width:900px){.hero-anchor{letter-spacing:.12em;gap:6px;font-size:9px;top:78px}.hero-anchor--tl{left:24px}.hero-anchor--tr{right:24px}}.hero-bg-number{display:none}@media (max-width:900px){.hero-bg-number{display:none}}#hero{background:var(--bg);flex-direction:column;justify-content:flex-end;min-height:100vh;padding:0 48px 60px;display:flex;position:relative;overflow:hidden}.ascii-rain{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.68;contain:layout style paint;will-change:transform, opacity;width:100%;height:100%;padding:0;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0% 76%,#0000 100%);mask-image:linear-gradient(#000 0% 76%,#0000 100%)}.hero-content{will-change:transform, opacity}.ascii-rain--front{filter:blur(.5px)}.hero-content{z-index:1;position:relative}.hero-headline{font-family:var(--display);letter-spacing:-.01em;color:var(--fg);margin-bottom:20px;font-size:clamp(88px,12vw,200px);line-height:.85}.hero-headline-row{display:block}.hero-headline .char{vertical-align:top;line-height:.95;display:inline-block}.hero-headline .char-mag{will-change:transform, opacity, filter;transition:transform .45s cubic-bezier(.23,1,.32,1),opacity .25s linear,filter .25s linear;display:inline-block}.hero-headline .italic-word{font-family:var(--italic);color:var(--accent);letter-spacing:-.01em;margin-top:10px;padding-left:4px;font-size:.36em;font-style:italic;line-height:1.4;display:block}.hero-availability{letter-spacing:.1em;text-transform:uppercase;color:var(--mid);border:1px solid var(--border);background:rgba(var(--accent-rgb),.03);border-radius:999px;align-items:center;gap:10px;margin-bottom:24px;padding:8px 14px;font-size:11px;display:inline-flex}.hero-availability span:last-child{color:var(--fg);letter-spacing:.08em;font-weight:400}.dot-pulse{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 0 rgba(var(--accent-rgb),.6);border-radius:50%;flex-shrink:0;animation:2s cubic-bezier(.4,0,.2,1) infinite dot-pulse;position:relative}@keyframes dot-pulse{0%{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.6)}70%{box-shadow:0 0 0 9px rgba(var(--accent-rgb),0)}to{box-shadow:0 0 0 0 rgba(var(--accent-rgb),0)}}@media (max-width:600px){.hero-availability{padding:6px 10px;font-size:10px}}@media (prefers-reduced-motion:reduce){.hero-headline .char-mag{transition:none;opacity:1!important;filter:none!important}.dot-pulse{animation:none}.marquee-track{animation-duration:60s}}.hero-bottom{border-top:1px solid rgba(var(--accent-rgb),.3);justify-content:space-between;align-items:flex-start;gap:48px;padding-top:40px;display:flex}.hero-bottom-left{flex:auto;min-width:0;max-width:400px}.hero-desc{color:rgba(var(--fg-rgb),.64);text-shadow:0 1px 18px #080908bf;margin-bottom:28px;font-size:15px;font-weight:300;line-height:1.75}.hero-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;min-width:0;padding-top:2px;display:flex}.hero-meta-item{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);text-align:right;white-space:nowrap;font-size:12px}.hero-meta-item span{color:var(--fg)}.hero-cta{letter-spacing:.06em;text-transform:uppercase;color:var(--bg);background:var(--accent);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);align-items:center;gap:12px;margin-top:32px;padding:14px 36px 14px 28px;font-size:13px;font-weight:500;text-decoration:none;transition:gap .3s,transform .2s,box-shadow .2s;display:inline-flex}.hero-cta:hover{gap:20px;transform:translate(4px)}.marquee-band{border-top:1px solid var(--border);border-bottom:1px solid var(--border);white-space:nowrap;background:0 0;padding:16px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000)}.marquee-track{will-change:transform;gap:0;animation:34s linear infinite marquee;display:inline-flex}.marquee-band:hover .marquee-track{animation-play-state:paused}.marquee-track.reverse{animation-direction:reverse}.marquee-item{font-family:var(--display);letter-spacing:.16em;color:rgba(var(--fg-rgb),.4);transition:color var(--motion-fast) var(--motion-ease);align-items:center;gap:48px;padding:0 24px;font-size:14px;display:inline-flex}.marquee-band:hover .marquee-item{color:rgba(var(--fg-rgb),.62)}.marquee-item .dot{background:var(--accent);opacity:.78;width:4px;height:4px;box-shadow:0 0 12px rgba(var(--accent-rgb),.18);border-radius:50%;flex-shrink:0}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.section-header{border-bottom:1px solid var(--border);background:linear-gradient(90deg, rgba(var(--accent-rgb),.032), transparent 30%), transparent;justify-content:space-between;align-items:baseline;padding:80px 48px 48px;display:flex;position:relative;overflow:hidden}.section-header:before{content:"";background:linear-gradient(90deg, var(--accent), transparent 38%, rgba(var(--fg-rgb),.12));opacity:.5;height:1px;position:absolute;bottom:-1px;left:48px;right:48px}.section-num{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);z-index:1;align-items:center;gap:6px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:10px;display:inline-flex;position:relative}.section-num-sep{color:var(--accent);opacity:.55}.section-title{font-family:var(--display);color:var(--fg);letter-spacing:.02em;z-index:1;font-size:clamp(52px,7vw,96px);line-height:.9;position:relative}.section-title em{font-family:var(--italic);color:var(--accent);font-size:.82em;font-style:italic}.section-title.is-resolving{text-shadow:0 0 18px rgba(var(--accent-rgb),.08)}.signal-artifacts{z-index:2;pointer-events:none;contain:paint;position:absolute;inset:0;overflow:hidden}.signal-fragment{left:var(--x);top:var(--y);letter-spacing:0;white-space:pre;color:rgba(var(--accent-rgb),.28);opacity:.84;mix-blend-mode:screen;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:15px;line-height:1.42;position:absolute}@media (prefers-reduced-motion:reduce),(max-width:900px){.signal-artifacts{display:none}}#about{background:var(--bg);position:relative;overflow:hidden}#about:after{content:"";background:radial-gradient(ellipse at center, rgba(var(--accent-rgb),.04) 0%, transparent 72%);pointer-events:none;z-index:0;width:56%;height:60%;position:absolute;top:-10%;right:-14%}.about-body{border-bottom:1px solid var(--border);z-index:1;grid-template-columns:1fr 1fr;display:grid;position:relative}.about-left{border-right:1px solid var(--border);padding:64px 48px}.about-statement{border-bottom:1px solid var(--border);gap:2px;max-width:560px;margin-bottom:44px;padding-bottom:36px;display:grid}.about-statement span,.about-statement strong{font-family:var(--display);letter-spacing:.02em;color:var(--fg);font-size:clamp(48px,6vw,88px);font-weight:400;line-height:.9}.about-statement em{font-family:var(--italic);color:var(--accent);font-size:clamp(38px,4.8vw,72px);font-style:italic;line-height:1}.about-statement.sweep-ready span,.about-statement.sweep-ready strong{background-image:linear-gradient(90deg, rgb(var(--fg-rgb)) 0%, rgb(var(--fg-rgb)) 49.9%, rgba(var(--fg-rgb), .16) 50%, rgba(var(--fg-rgb), .16) 100%);color:#0000;background-position:100% 0;background-size:220% 100%;-webkit-background-clip:text;background-clip:text}.about-big-text{font-family:var(--display);letter-spacing:.02em;color:var(--fg);margin-bottom:40px;font-size:clamp(38px,5vw,68px);line-height:1.05}.about-big-text em{font-family:var(--italic);color:var(--accent);font-size:.88em;font-style:italic}.about-para{color:var(--mid);max-width:480px;font-size:16px;line-height:1.9}.about-para+.about-para{margin-top:28px}.about-para.sweep-ready{background-image:linear-gradient(90deg, rgba(var(--fg-rgb), .62) 0%, rgba(var(--fg-rgb), .62) 49.9%, rgba(var(--fg-rgb), .2) 50%, rgba(var(--fg-rgb), .2) 100%);color:#0000;background-position:100% 0;background-size:220% 100%;-webkit-background-clip:text;background-clip:text}.about-para strong{color:var(--fg);font-weight:500}.about-signal-grid{border:1px solid var(--border);background:var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:560px;margin-top:44px;display:grid}.about-signal{background:var(--bg);flex-direction:column;justify-content:space-between;min-height:104px;padding:18px 16px;display:flex}.about-signal span{font-family:var(--display);color:var(--accent);letter-spacing:.03em;font-size:34px;line-height:1}.about-signal p{letter-spacing:.08em;text-transform:uppercase;color:var(--mid);font-size:11px;line-height:1.45}.about-right{padding:64px 48px}.cert-section-title{letter-spacing:.14em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:12px;font-size:11px}.cert-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.cert-row--link{color:inherit;justify-content:flex-start;text-decoration:none;transition:border-color .2s,background .2s}.cert-row--link:hover,.cert-row--link:focus-visible{border-color:rgba(var(--accent-rgb),.24);background:rgba(var(--accent-rgb),.025);outline-offset:2px}.cert-row--link:hover .cert-name,.cert-row--link:focus-visible .cert-name{color:rgba(var(--fg-rgb),.72)}.cert-name{color:var(--mid);font-size:13px;line-height:1.4}.cert-row--education{padding:18px 0}.cert-row--education .cert-name{color:rgba(var(--fg-rgb),.72);font-size:15px}.cert-location{letter-spacing:.12em;text-transform:uppercase;color:rgba(var(--accent-rgb),.56);margin-top:6px;font-size:10px;display:block}.cert-provider-title{letter-spacing:.1em;text-transform:uppercase;color:var(--fg);padding:12px 0 4px;font-size:11px;font-weight:500}.cert-row--slim{padding:9px 0}.cert-proof{opacity:0;border-color:rgba(var(--fg-rgb),.2);width:14px;height:14px;margin-left:4px;transform:translate(-4px)}.cert-proof:before{background:var(--accent);width:6px;height:1px}.cert-proof:after{border-top-width:1px;border-right-width:1px;border-color:var(--accent);width:4px;height:4px}.cert-proof.contact-link-arrow:before{background:var(--accent)}.cert-proof.contact-link-arrow:after{border-color:var(--accent)}.cert-row--link:hover .cert-proof,.cert-row--link:focus-visible .cert-proof{border-color:rgba(var(--accent-rgb),.58);background:rgba(var(--accent-rgb),.08);opacity:.8;transform:translate(0)}.cert-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);white-space:nowrap;flex-shrink:0;padding:3px 8px;font-size:10px}#experience{background:var(--bg-2);position:relative}#experience:before,#skills:before{content:"";pointer-events:none;background-image:linear-gradient(rgba(var(--fg-rgb),.06) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--fg-rgb),.05) 1px, transparent 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}.exp-stat{color:var(--fg);border-bottom:1px solid var(--accent);padding-bottom:1px;font-weight:500}.exp-item{background:rgba(var(--bg-rgb),.88);position:relative}.exp-row{border-bottom:1px solid var(--border);background:rgba(var(--bg-rgb),.88);grid-template-columns:80px minmax(0,1fr) 210px 48px;align-items:start;gap:24px;padding:36px 48px;transition:background .25s;display:grid;position:relative;overflow:hidden}.exp-row:before{content:"";background:var(--accent-dim);transform-origin:0;transition:transform .4s cubic-bezier(.23,1,.32,1);position:absolute;inset:0;transform:scaleX(0)}.exp-row:hover:before{transform:scaleX(1)}.exp-row:hover .exp-role,.exp-row:hover .exp-idx{color:var(--accent)}.exp-row:hover .exp-tag{border-color:rgba(var(--accent-rgb),.2);color:rgba(var(--fg-rgb),.54)}.exp-item.open .exp-row{background:linear-gradient(90deg, rgba(var(--accent-rgb),.035), transparent 42%), rgba(var(--bg-rgb),.92)}.exp-item.open .exp-role,.exp-item.open .exp-idx{color:var(--accent)}.exp-idx{z-index:2;transition:color .3s var(--motion-ease);align-items:center;gap:12px;padding-top:6px;display:flex;position:relative}.exp-idx-dot{background:var(--bg-2);border:1px solid rgba(var(--accent-rgb),.32);width:9px;height:9px;transition:background .35s var(--motion-ease), border-color .35s var(--motion-ease), box-shadow .35s var(--motion-ease), transform .35s var(--motion-ease);border-radius:50%;flex-shrink:0;position:relative}.exp-idx-year{letter-spacing:.18em;color:var(--dim);font-variant-numeric:tabular-nums;transition:color .35s var(--motion-ease);font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:10px}.exp-item.is-active .exp-idx-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px rgba(var(--accent-rgb),.1);transform:scale(1.18)}.exp-item.is-active .exp-idx-year{color:var(--accent)}.exp-rail-line{left:52.5px;top:var(--rail-top,0);height:var(--rail-height,0);background:linear-gradient(to bottom, rgba(var(--accent-rgb),.28) 0%, rgba(var(--accent-rgb),.12) 50%, rgba(var(--accent-rgb),.28) 100%);pointer-events:none;z-index:1;opacity:.7;width:1px;position:absolute}#experience{--exp-velocity:0}.exp-item:not(.is-active):not(.open) .exp-row{opacity:calc(1 - var(--exp-velocity,0) * .32);transition:opacity .45s var(--motion-ease), background .25s}.exp-center{z-index:1;position:relative}.exp-role{font-family:var(--display);letter-spacing:.03em;color:var(--fg);margin-bottom:8px;font-size:clamp(22px,2.8vw,38px);line-height:1;transition:color .2s}.exp-company-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.exp-company-row .exp-location--inline{align-items:center;gap:12px;display:inline-flex}.exp-company-row .exp-location--inline:before{content:"";background:rgba(var(--fg-rgb),.18);width:1px;height:12px}.exp-company{color:var(--mid);letter-spacing:.04em;font-size:13px}.exp-location{letter-spacing:.14em;text-transform:uppercase;color:rgba(var(--accent-rgb),.62);white-space:nowrap;font-size:10px}.exp-location--inline{color:rgba(var(--accent-rgb),.62)}.exp-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.exp-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border:1px solid var(--border);padding:3px 8px;font-size:10px}.exp-right{z-index:1;text-align:right;justify-self:stretch;position:relative}.exp-period{letter-spacing:.06em;color:var(--dim);white-space:nowrap;font-size:12px}.exp-toggle{z-index:1;border:1px solid var(--border);border-radius:50%;place-self:center end;place-items:center;width:34px;height:34px;transition:border-color .25s,background .25s,transform .25s;display:grid;position:relative}.exp-toggle span{background:var(--mid);width:12px;height:1px;transition:background .25s,transform .25s;position:absolute}.exp-toggle span:nth-child(2){transform:rotate(90deg)}.exp-row:hover .exp-toggle,.exp-item.open .exp-toggle{border-color:rgba(var(--accent-rgb),.42);background:rgba(var(--accent-rgb),.08)}.exp-row:hover .exp-toggle span,.exp-item.open .exp-toggle span{background:var(--accent)}.exp-item.open .exp-toggle{transform:rotate(45deg)}.exp-detail{background:linear-gradient(90deg, rgba(var(--accent-rgb),.026), transparent 46%), rgba(var(--bg-rgb),.9);border-bottom:1px solid var(--border);max-height:0;transition:max-height .55s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden}.exp-detail.open{max-height:1400px}.exp-detail .exp-bullet{opacity:0;transition:opacity .45s cubic-bezier(.23,1,.32,1),transform .45s cubic-bezier(.23,1,.32,1);transform:translateY(10px)}.exp-detail.open .exp-bullet{opacity:1;transform:none}.exp-detail.open .exp-bullet:nth-child(2){transition-delay:70ms}.exp-detail.open .exp-bullet:nth-child(3){transition-delay:.14s}.exp-detail.open .exp-bullet:nth-child(4){transition-delay:.21s}.exp-detail.open .exp-bullet:nth-child(5){transition-delay:.28s}.exp-detail.open .exp-bullet:nth-child(n+6){transition-delay:.35s}@media (prefers-reduced-motion:reduce){.exp-detail .exp-bullet{opacity:1;transition:none;transform:none}}.exp-detail-inner{grid-template-columns:minmax(0,920px);gap:22px;padding:34px 48px 38px 128px;display:grid;position:relative}.exp-bullet{color:var(--mid);max-width:920px;padding-left:0;font-size:14px;line-height:1.85;position:relative}.exp-bullet:before{content:"";background:var(--bg-2);border:1px solid rgba(var(--accent-rgb),.55);width:5px;height:5px;box-shadow:0 0 0 3px var(--bg-2);border-radius:50%;position:absolute;top:.62em;left:-77.5px}#projects{background:var(--bg);position:relative}.project-featured{border-bottom:1px solid var(--border);z-index:1;grid-template-columns:1fr 1fr;min-height:520px;display:grid;position:relative}.project-featured-left{border-right:1px solid var(--border);background:linear-gradient(135deg, rgba(var(--accent-rgb),.035), transparent 36%), #ffffff02;flex-direction:column;justify-content:space-between;padding:64px 48px;display:flex;position:relative;overflow:hidden}.project-featured-index{font-family:var(--display);letter-spacing:.14em;color:var(--dim);pointer-events:none;font-size:13px;line-height:1;position:absolute;top:48px;right:48px}.project-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;font-size:11px}.project-big-title{font-family:var(--display);letter-spacing:.02em;color:var(--fg);margin-bottom:32px;font-size:clamp(48px,6vw,88px);line-height:.92}.project-desc-text{color:var(--mid);flex:1;max-width:460px;margin-bottom:32px;font-size:14px;line-height:1.85}.project-bottom{justify-content:space-between;align-items:center;gap:24px;display:flex}.project-links{flex-shrink:0;align-items:center;gap:16px;display:flex}.project-stack-row{flex-wrap:wrap;gap:6px;display:flex}.p-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border:1px solid var(--border);padding:4px 10px;font-size:10px}.p-link{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);white-space:nowrap;transition:gap var(--motion-fast) var(--motion-ease), opacity var(--motion-fast) var(--motion-ease);align-items:center;gap:8px;font-size:12px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.p-link:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform var(--motion-fast) var(--motion-ease);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.p-link:hover{gap:16px}.p-link:hover:after{transform:scaleX(1)}.project-featured-right{background:#0a0a0a;justify-content:stretch;align-items:stretch;padding:0;display:flex;position:relative;overflow:hidden}.pt-wrap{z-index:1;flex-direction:column;justify-content:center;gap:0;width:100%;min-height:520px;padding:56px;display:flex;position:relative}.pt-head{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:18px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:10px;display:flex}.pt-sep{color:var(--accent);opacity:.55}.pt-live{color:rgba(var(--accent-rgb),.78);align-items:center;gap:8px;display:inline-flex}.pt-live-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 0 rgba(var(--accent-rgb),.6);border-radius:50%;animation:2s cubic-bezier(.4,0,.2,1) infinite dot-pulse}.pt-query{color:var(--fg);align-items:baseline;gap:12px;min-height:70px;padding:26px 0 22px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:15px;display:flex}.pt-prompt{color:var(--accent);flex-shrink:0}.pt-query-text{line-height:1.5}.pt-caret{vertical-align:-3px;background:var(--accent);width:8px;height:1.05em;margin-left:3px;animation:1s step-end infinite chat-caret;display:inline-block}.pt-stages{border-top:1px solid var(--border);flex-direction:column;list-style:none;display:flex}.pt-stage{border-bottom:1px solid var(--border);transition:opacity .4s var(--motion-ease);opacity:.38;grid-template-columns:30px 96px 1fr 16px;align-items:baseline;gap:14px;padding:15px 0;display:grid}.pt-stage--active,.pt-stage--done{opacity:1}.pt-stage-idx{letter-spacing:.14em;color:var(--dim);font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:10px}.pt-stage-name{font-family:var(--display);letter-spacing:.06em;color:var(--fg);transition:color .3s var(--motion-ease);font-size:19px}.pt-stage--active .pt-stage-name,.pt-stage--done .pt-stage-name{color:var(--accent)}.pt-stage-desc{letter-spacing:.02em;color:var(--mid);white-space:nowrap;text-overflow:ellipsis;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:11px;overflow:hidden}.pt-stage-state{border:1px solid rgba(var(--accent-rgb),.35);width:9px;height:9px;transition:background .3s var(--motion-ease), box-shadow .3s var(--motion-ease);border-radius:50%;align-self:center;position:relative}.pt-stage--active .pt-stage-state{background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.14);animation:1.2s cubic-bezier(.4,0,.2,1) infinite dot-pulse}.pt-stage--done .pt-stage-state{background:var(--accent)}.pt-foot{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);opacity:0;transition:opacity .5s var(--motion-ease), transform .5s var(--motion-ease);align-items:baseline;gap:14px;padding-top:20px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:10px;display:flex;transform:translateY(6px)}.pt-foot--in{opacity:1;transform:translateY(0)}.pt-foot strong{color:var(--accent);font-weight:500}.pt-foot-note{color:var(--dim);opacity:.8;letter-spacing:.1em}.project-featured-right:after{content:"";pointer-events:none;background:radial-gradient(ellipse 60% 55% at 50% 48%, rgba(var(--accent-rgb),.07) 0%, rgba(var(--accent-rgb),.025) 45%, transparent 75%);position:absolute;inset:0}.project-featured-right:before{content:"";background-image:linear-gradient(rgba(var(--accent-rgb),.03) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--accent-rgb),.03) 1px, transparent 1px);background-size:32px 32px;position:absolute;inset:0}.hscroll-wrap{z-index:1;background:var(--bg);position:relative}.hscroll-pin{border-bottom:1px solid var(--border);flex-direction:column;justify-content:center;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.hscroll-affordance{z-index:2;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);pointer-events:none;grid-template-columns:auto minmax(120px,280px) auto;align-items:center;gap:16px;font-size:10px;display:grid;position:absolute;top:34px;left:48px;right:48px}.hscroll-progress{background:rgba(var(--fg-rgb),.09);height:1px;overflow:hidden}.hscroll-progress-fill{background:var(--accent);transform-origin:0;will-change:transform;height:100%;transform:scaleX(0)}.hscroll-track{will-change:transform;align-items:stretch;gap:0;padding:0 48px;display:flex}.hscroll-cell{border-right:1px solid var(--border);border-bottom:none;border-top:1px solid var(--border);flex-direction:column;flex:none;justify-content:flex-start;width:clamp(380px,46vw,560px);min-height:60vh;display:flex}.hscroll-cell:last-child{border-right:1px solid var(--border)}.hscroll-cell:first-child{border-left:1px solid var(--border)}.projects-foot{border-bottom:1px solid var(--border);z-index:1;justify-content:flex-end;padding:32px 48px;display:flex;position:relative}@media (max-width:900px){.hscroll-wrap{height:auto!important}.hscroll-pin{border-bottom:none;flex-direction:column;height:auto;position:static;overflow:visible}.hscroll-affordance{display:none}.hscroll-track{flex-direction:column;padding:0;transform:none!important}.hscroll-cell{border-right:none;border-bottom:1px solid var(--border);border-top:none;width:100%;min-height:0;border-left:none!important}.projects-foot{justify-content:flex-start;padding:24px}}.project-grid{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.project-grid--single{grid-template-columns:1fr}.project-cell:nth-child(odd){border-right:1px solid var(--border)}.project-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background var(--motion-med) var(--motion-ease), border-color var(--motion-med) var(--motion-ease);color:inherit;background:var(--bg);flex-direction:column;min-height:340px;padding:56px 48px;text-decoration:none;display:flex;position:relative;overflow:hidden}.project-cell:before{content:"";border-top:1px solid rgba(var(--accent-rgb),.18);border-right:1px solid rgba(var(--accent-rgb),.18);opacity:0;width:32px;height:32px;transition:opacity var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);pointer-events:none;position:absolute;top:18px;right:18px;transform:translate(-6px,6px)}.pc-note{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:24px;font-size:11px;display:inline-block}.project-cell:nth-child(2n){border-right:none}.project-cell:hover{background:rgba(var(--accent-rgb),.025);border-color:rgba(var(--accent-rgb),.12)}.project-cell:hover:before{opacity:1;transform:translate(0)}.project-cell:after{content:"";background:var(--accent);width:0;height:1px;transition:width var(--motion-med) var(--motion-ease);position:absolute;bottom:0;left:0}.project-cell:hover:after{width:100%}.pc-num{font-family:var(--display);letter-spacing:.14em;color:var(--dim);margin-bottom:28px;font-size:12px;line-height:1}.pc-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:11px}.pc-title{font-family:var(--display);letter-spacing:.03em;color:var(--fg);transition:color var(--motion-fast) var(--motion-ease);margin-bottom:16px;font-size:clamp(26px,3vw,40px);line-height:1}.project-cell:hover .pc-title{color:var(--accent)}.pc-desc{color:var(--mid);max-width:620px;margin-bottom:24px;font-size:13px;line-height:1.8}.pc-tags{z-index:1;flex-wrap:wrap;gap:6px;margin-top:auto;display:flex;position:relative}#skills{background:var(--bg-2);position:relative;overflow:hidden}.skills-body{z-index:1;grid-template-columns:repeat(4,1fr);display:grid;position:relative}.skills-body:before{content:"";background:linear-gradient(90deg, transparent, rgba(var(--accent-rgb),.24), transparent);pointer-events:none;height:1px;position:absolute;top:50%;left:48px;right:48px}.skill-col{border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);background:rgba(var(--bg-rgb),.74);min-height:300px;padding:56px 48px;position:relative}.skill-col:hover{background:rgba(var(--accent-rgb),.04);border-color:rgba(var(--accent-rgb),.22)}.skill-col:nth-child(4n){border-right:none}.skill-col:nth-child(5){grid-column:1/span 2}.skill-col:nth-child(6){border-right:none;grid-column:3/span 2}.skill-col:nth-child(n+5){min-height:240px}.skill-col--primary:after{content:"";border:1px solid rgba(var(--accent-rgb),.36);background:var(--bg-2);z-index:2;width:15px;height:15px;position:absolute;top:50%;right:-8px;transform:translateY(-50%)rotate(45deg)}.skill-col--primary:nth-child(4):after{display:none}.skill-col-num{font-family:var(--display);letter-spacing:.14em;color:var(--dim);margin-bottom:20px;font-size:11px}.skill-col-title{font-family:var(--display);letter-spacing:.04em;color:var(--fg);margin-bottom:28px;font-size:clamp(24px,2.2vw,34px);line-height:1}.skill-pills{flex-wrap:wrap;gap:8px;display:flex}.skill-pill{color:var(--mid);border:1px solid var(--border);transition:color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease), background var(--motion-fast) var(--motion-ease);padding:6px 13px;font-size:12px}.skill-pill:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}#contact{background:var(--accent);padding:88px 48px;position:relative;overflow:hidden}#contact:after{content:"";pointer-events:none;background-image:linear-gradient(#0d0d0d0d 1px,#0000 1px),linear-gradient(90deg,#0d0d0d0b 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}#contact:before{content:"LET'S BUILD";font-family:var(--display);color:#0000;-webkit-text-stroke:1px #0000000e;pointer-events:none;white-space:nowrap;font-size:clamp(86px,11vw,170px);line-height:1;position:absolute;top:-.04em;left:48px}.contact-inner{z-index:1;justify-content:space-between;align-items:flex-start;gap:72px;min-height:460px;display:flex;position:relative}.contact-left{flex:auto;min-width:0;padding-top:18px}.contact-kicker{letter-spacing:.14em;text-transform:uppercase;color:#0d0d0d9e;margin-bottom:34px;font-size:11px}.contact-headline{font-family:var(--display);color:var(--bg);letter-spacing:.02em;margin-bottom:32px;font-size:clamp(58px,7.5vw,116px);line-height:.9}.contact-line{margin-bottom:-.1em;padding-bottom:.1em;display:block;overflow:hidden}.contact-line-inner{display:block}.contact-headline em{font-family:var(--italic);font-size:.82em;font-style:italic}.contact-sub{color:#0d0d0da6;max-width:460px;font-size:15px;line-height:1.75}.contact-right{border-top:1px solid #0d0d0d3d;flex-direction:column;flex-shrink:0;align-items:stretch;gap:0;width:min(460px,38vw);margin-top:72px;display:flex}.contact-link-row{color:var(--bg);font-family:var(--display);letter-spacing:.06em;transition:color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);border-bottom:1px solid #0d0d0d2e;grid-template-columns:42px 1fr 36px;align-items:center;gap:18px;padding:18px 0;font-size:24px;text-decoration:none;display:grid}.contact-link-row:hover{transform:translate(10px)}.contact-link-index{font-family:var(--sans);letter-spacing:.12em;color:#0d0d0d70;font-size:10px}.contact-link-arrow{border:1.5px solid var(--bg);width:36px;height:36px;transition:background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease), transform var(--motion-fast) var(--motion-ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.contact-link-arrow:before,.contact-link-arrow:after{content:"";background:var(--bg);transition:background var(--motion-fast) var(--motion-ease);position:absolute}.contact-link-arrow:before{width:11px;height:1.5px}.contact-link-arrow:after{border-top:1.5px solid var(--bg);border-right:1.5px solid var(--bg);background:0 0;width:6px;height:6px}.contact-link-arrow--right:after{transform:translate(3px)rotate(45deg)}.contact-link-arrow--external:before{transform:rotate(-45deg)}.contact-link-arrow--external:after{transform:translate(3px,-3px)rotate(0)}.contact-link-arrow--down:before{transform:rotate(90deg)}.contact-link-arrow--down:after{transform:translateY(3px)rotate(135deg)}.contact-link-row:hover .contact-link-arrow{background:var(--bg);color:var(--accent);transform:translate(4px)}.contact-link-row:hover .contact-link-arrow:before{background:var(--accent)}.contact-link-row:hover .contact-link-arrow:after{border-color:var(--accent)}footer{background:var(--bg);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:28px 48px;display:flex}.footer-left{font-family:var(--display);letter-spacing:.06em;color:var(--dim);font-size:16px}.footer-right{letter-spacing:.06em;color:var(--dim);text-transform:uppercase;font-size:12px}@keyframes slideUp{0%{transform:translateY(20px)}to{transform:translateY(0)}}#hero .appear{animation:.7s cubic-bezier(.23,1,.32,1) both slideUp}#hero .appear-delay-1{animation-delay:.15s}#hero .appear-delay-2{animation-delay:.3s}#hero .appear-delay-3{animation-delay:.45s}.appear{opacity:0;transition:opacity .8s cubic-bezier(.23,1,.32,1),transform .8s cubic-bezier(.23,1,.32,1);transform:translateY(28px)}#hero .appear{opacity:1}.appear.in{opacity:1;transform:translateY(0)}.appear-delay-1{transition-delay:.1s}.appear-delay-2{transition-delay:.2s}.appear-delay-3{transition-delay:.3s}.appear-delay-4{transition-delay:.4s}#learning{background:var(--bg);position:relative;overflow:hidden}.learning-body{border-bottom:1px solid var(--border);z-index:1;grid-template-columns:1fr 1fr;display:grid;position:relative}.learning-left{border-right:1px solid var(--border);flex-direction:column;justify-content:space-between;padding:64px 48px;display:flex}.learning-intro{color:var(--mid);max-width:460px;margin-bottom:40px;font-size:15px;line-height:1.85}.learning-intro strong{color:var(--fg);font-weight:500}.learning-right{flex-direction:column;gap:2px;padding:64px 48px;display:flex}.learn-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:20px 0;transition:background .2s;display:flex}.learn-item:first-child{padding-top:0}.learn-item:last-child{border-bottom:none}.learn-left-col{flex-direction:column;gap:4px;display:flex}.learn-name{font-family:var(--display);letter-spacing:.03em;color:var(--fg);font-size:20px;line-height:1}.learn-desc{color:var(--mid);letter-spacing:.02em;font-size:12px}.learn-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border:1px solid var(--border);white-space:nowrap;flex-shrink:0;padding:4px 10px;font-size:10px}.learn-badge.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}@media (max-width:900px){nav{padding:20px 24px}.nav-links,.ascii-rain{display:none}#hero{padding:0 24px 48px}.hero-headline{font-size:clamp(56px,14vw,80px)}.hero-bottom{flex-direction:column;gap:32px;padding-top:28px}.hero-bottom-left{max-width:none}.hero-meta{border-top:1px solid var(--border);align-items:stretch;gap:0;width:100%}.hero-meta-item{text-align:left;white-space:normal;border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.hero-meta-item span{text-align:right}.marquee-band{display:none}.mobile-section-indicator{z-index:450;border-top:1px solid rgba(var(--fg-rgb),.045);border-bottom:1px solid var(--border);background:linear-gradient(90deg, rgba(var(--accent-rgb),.045), transparent 42%), #080908f0;-webkit-backdrop-filter:blur(18px);opacity:0;pointer-events:none;transition:opacity .24s var(--motion-ease), transform .24s var(--motion-ease), top .34s var(--motion-ease);justify-content:space-between;align-items:baseline;gap:16px;padding:18px 24px 16px;display:flex;position:fixed;top:61px;left:0;right:0;transform:translateY(-10px)}.mobile-section-indicator.visible{opacity:1;transform:translateY(0)}.mobile-section-indicator.nav-is-hidden{top:0}.mobile-section-num{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);align-items:center;gap:6px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:10px;display:inline-flex}.mobile-section-title{font-family:var(--display);letter-spacing:.04em;color:var(--fg);font-size:clamp(34px,9vw,48px);line-height:.95}.mobile-section-title em{font-family:var(--italic);color:var(--accent);font-size:.82em;font-style:italic}.section-header{background:linear-gradient(90deg, rgba(var(--accent-rgb),.045), transparent 36%), #080908f0;-webkit-backdrop-filter:blur(18px);padding:18px 24px 16px}.section-header:before{opacity:.58;left:24px;right:24px}.section-header,.about-left,.about-right,.project-featured-left,.project-featured-right,.skill-col,.project-cell,.learning-left,.learning-right{padding-left:24px;padding-right:24px}.about-body,.project-featured,.project-grid,.skills-body,.learning-body{grid-template-columns:1fr}.about-left,.project-featured-left,.learning-left{border-right:none;border-bottom:1px solid var(--border)}.project-featured-right{display:none}.exp-row{grid-template-columns:56px 1fr 34px;gap:14px;padding:24px}.exp-right{display:none}.exp-idx{gap:8px;padding-top:4px}.exp-idx-year{letter-spacing:.12em;font-size:9px}.exp-rail-line{left:28.5px}.exp-location--inline{color:var(--dim)}.exp-toggle{grid-area:1/3/3}.exp-detail-inner{grid-template-columns:1fr;gap:18px;padding:24px 24px 24px 72px}.exp-bullet{padding-left:0;font-size:13px}.exp-bullet:before{left:-45.5px}.project-grid{grid-template-columns:1fr}.project-cell:nth-child(odd){border-right:none}.project-bottom{flex-direction:column;align-items:flex-start}.project-featured-index{top:28px;right:24px}.skills-body{grid-template-columns:1fr 1fr}.skill-col:nth-child(5),.skill-col:nth-child(6){grid-column:auto}.skill-col:nth-child(2n){border-right:none}.skill-col:nth-child(3n){border-right:1px solid var(--border)}.skill-col:nth-child(4n){border-right:none}.skill-col--primary:after,.skills-body:before{display:none}#contact{padding:64px 24px}.contact-inner{flex-direction:column;align-items:flex-start;gap:40px}.contact-right{align-items:stretch;width:100%}.contact-headline{font-size:clamp(48px,14vw,80px)}.contact-link-row{grid-template-columns:34px 1fr 34px;font-size:22px}footer{flex-direction:column;align-items:flex-start;gap:8px;padding:24px}html.has-cursor-fx body,html.has-cursor-fx a,html.has-cursor-fx button,html.has-cursor-fx [role=button],html.has-cursor-fx label,html.has-cursor-fx select,html.has-cursor-fx input,html.has-cursor-fx textarea{cursor:auto}#cursor,#cursor-ring{display:none}}@media (max-width:600px){.skills-body{grid-template-columns:1fr}.skill-col:nth-child(3n){border-right:none}.skill-col{min-height:auto}.about-signal-grid{grid-template-columns:1fr}.about-big-text{font-size:clamp(32px,10vw,48px)}.project-big-title{font-size:clamp(36px,12vw,56px)}.hero-desc{font-size:14px}.hero-cta{padding:12px 28px 12px 20px;font-size:12px}.section-title{font-size:clamp(34px,9vw,48px)}.exp-role{font-size:clamp(18px,5vw,26px)}.learning-right{padding-top:32px}}.chat-trigger{z-index:700;background:var(--accent);color:var(--bg);font-family:var(--display);letter-spacing:.16em;box-shadow:0 18px 38px #0000006b, 0 0 0 1px rgba(var(--accent-rgb),.5);transition:transform .25s var(--motion-ease), box-shadow .25s var(--motion-ease), background .25s, color .25s;will-change:transform;border:none;border-radius:999px;align-items:center;gap:10px;padding:13px 22px 13px 18px;font-size:13px;display:inline-flex;position:fixed;bottom:24px;right:24px}.chat-trigger:hover{box-shadow:0 22px 44px #00000080, 0 0 0 1px rgba(var(--accent-rgb),.7), 0 0 32px rgba(var(--accent-rgb),.18);transform:translateY(-2px)scale(1.02)}.chat-trigger:active{transform:translateY(0)scale(.98)}.chat-trigger--open{opacity:0;pointer-events:none;transform:translateY(10px)}.chat-trigger-dot{background:var(--bg);border-radius:50%;width:8px;height:8px;animation:2.2s cubic-bezier(.4,0,.2,1) infinite chat-pulse}@keyframes chat-pulse{0%{box-shadow:0 0 #0809088c}70%{box-shadow:0 0 0 7px #08090800}to{box-shadow:0 0 #08090800}}.chat-trigger-label{line-height:1}.chat-overlay{-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;z-index:690;transition:opacity .32s var(--motion-ease);background:#08090859;position:fixed;inset:0}.chat-overlay--open{opacity:1;pointer-events:auto}.chat-panel{background:var(--bg);border:1px solid var(--border);transform-origin:100% 100%;opacity:0;pointer-events:none;width:420px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100dvh - 110px);transition:transform .32s cubic-bezier(.23,1,.32,1), opacity .22s var(--motion-ease);z-index:695;box-shadow:0 28px 64px #0000008c, 0 0 0 1px rgba(var(--accent-rgb),.06), 0 0 60px rgba(var(--accent-rgb),.04);border-radius:14px;flex-direction:column;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden;transform:translateY(16px)scale(.96)}.chat-panel--open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.chat-header{border-bottom:1px solid var(--border);background:linear-gradient(90deg, rgba(var(--accent-rgb),.05), transparent 38%), var(--bg);grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:end;gap:6px 16px;padding:26px 24px 18px;display:grid;position:relative}.chat-header-meta{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);grid-column:1/2;align-items:center;gap:6px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:10px;display:inline-flex}.chat-header-meta-sep{color:var(--accent);opacity:.55}.chat-header-meta-id{color:var(--mid)}.chat-header-meta-hint{color:var(--dim);opacity:.7;letter-spacing:.2em;font-size:9px}.chat-header-title{font-family:var(--display);letter-spacing:.04em;color:var(--fg);grid-column:1/2;font-size:36px;line-height:.95}.chat-header-title em{font-family:var(--italic);color:var(--accent);font-size:.82em;font-style:italic}.chat-header-actions{grid-area:1/2/3/3;place-self:center end;align-items:center;gap:8px;display:inline-flex}.chat-close,.chat-reset{border:1px solid var(--border);width:32px;height:32px;color:var(--mid);background:0 0;border-radius:50%;line-height:1;transition:border-color .2s,color .2s,background .2s,transform .2s}.chat-close{width:36px;height:36px;font-size:22px}.chat-reset{font-size:14px}.chat-close:hover,.chat-reset:hover{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.06)}.chat-reset:active{transform:rotate(-180deg)}.chat-scroller{overscroll-behavior:contain;scroll-behavior:smooth;flex-direction:column;flex:auto;gap:22px;padding:24px;display:flex;overflow-y:auto}.chat-scroller::-webkit-scrollbar{width:6px}.chat-scroller::-webkit-scrollbar-thumb{background:rgba(var(--fg-rgb),.12);border-radius:3px}.chat-welcome{flex-direction:column;gap:18px;display:flex}.chat-welcome-lede{color:var(--fg);max-width:38ch;font-size:15px;line-height:1.7}.chat-welcome-note{color:var(--mid);max-width:42ch;font-size:13px;line-height:1.65}.chat-suggested{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}.chat-suggested-chip{appearance:none;text-align:left;font-family:var(--sans);color:var(--fg);background:rgba(var(--accent-rgb),.04);border:1px solid var(--border);opacity:0;animation:.4s cubic-bezier(.23,1,.32,1) forwards chat-chip-in;animation-delay:calc(.18s + var(--chip-i,0) * 70ms);border-radius:10px;align-items:center;gap:10px;padding:12px;font-size:12.5px;line-height:1.35;transition:border-color .2s,background .2s,color .2s,transform .2s,box-shadow .2s;display:flex;transform:translateY(6px)}.chat-suggested-chip-icon{background:rgba(var(--accent-rgb),.1);width:22px;height:22px;color:var(--accent);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:11px;line-height:1;transition:background .2s,transform .2s;display:inline-flex}.chat-suggested-chip-text{flex:1;min-width:0}.chat-suggested-chip:hover{border-color:rgba(var(--accent-rgb),.4);background:rgba(var(--accent-rgb),.07);color:var(--accent);box-shadow:0 6px 18px #00000059, 0 0 0 1px rgba(var(--accent-rgb),.1);transform:translateY(-1px)}.chat-suggested-chip:hover .chat-suggested-chip-icon{background:rgba(var(--accent-rgb),.2);transform:scale(1.08)}@keyframes chat-chip-in{to{opacity:1;transform:translateY(0)}}@media (max-width:380px){.chat-suggested{grid-template-columns:1fr}}.chat-msg{flex-direction:column;gap:6px;animation:.34s cubic-bezier(.23,1,.32,1) both chat-msg-in;display:flex}@keyframes chat-msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-msg-label{letter-spacing:.2em;color:var(--dim);font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:9px}.chat-msg--user .chat-msg-label{color:rgba(var(--accent-rgb),.7)}.chat-msg-body{color:var(--fg);font-size:14.5px;line-height:1.7}.chat-msg-body p{margin:0 0 .6em}.chat-msg-body p:last-child{margin-bottom:0}.chat-msg-body ul,.chat-msg-body ol{flex-direction:column;gap:4px;margin:.4em 0 .6em;padding-left:1.2em;display:flex}.chat-msg-body code{background:rgba(var(--accent-rgb),.08);color:var(--accent);border-radius:3px;padding:1px 5px;font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:13px}.chat-msg-body pre{background:var(--bg-2);border:1px solid var(--border);border-radius:4px;padding:12px;font-size:12.5px;overflow-x:auto}.chat-msg-body pre code{color:var(--fg);background:0 0;padding:0}.chat-msg-body strong{color:var(--fg);font-weight:500}.chat-msg-body a{color:var(--accent);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.chat-msg-body a:hover{text-decoration-thickness:2px}.chat-msg--user .chat-msg-body{background:rgba(var(--accent-rgb),.045);border:1px solid rgba(var(--accent-rgb),.18);border-left:2px solid var(--accent);border-radius:0 8px 8px 0;padding:12px 14px}.chat-msg-body--live>:last-child:after{content:"";vertical-align:-2px;background:var(--accent);opacity:.85;width:7px;height:1em;margin-left:4px;animation:1s step-end infinite chat-caret;display:inline-block}@keyframes chat-caret{50%{opacity:0}}.chat-thinking{align-items:center;gap:5px;height:22px;display:inline-flex}.chat-thinking span{background:var(--accent);opacity:.4;border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite chat-thinking}.chat-thinking span:nth-child(2){animation-delay:.18s}.chat-thinking span:nth-child(3){animation-delay:.36s}@keyframes chat-thinking{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.chat-error{color:#ff8a85;background:#ff8a850d;border:1px solid #ff8a854d;border-radius:4px;padding:10px 12px;font-size:13px}.chat-input-row{border-top:1px solid var(--border);background:var(--bg);gap:10px;padding:14px 18px;display:flex}.chat-input{background:var(--bg-2);border:1px solid var(--border);color:var(--fg);font-family:var(--sans);border-radius:4px;outline:none;flex:auto;padding:11px 14px;font-size:14px;transition:border-color .2s}.chat-input:focus{border-color:rgba(var(--accent-rgb),.55);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08)}.chat-input::placeholder{color:var(--dim)}.chat-send{appearance:none;background:var(--accent);color:var(--bg);font-family:var(--display);letter-spacing:.14em;border:none;border-radius:4px;padding:0 18px;font-size:12px;transition:opacity .2s,transform .2s}.chat-send:disabled{opacity:.4}.chat-send:not(:disabled):hover{transform:translate(2px)}.chat-send:not(:disabled):active{transform:translate(0)scale(.97)}.chat-send--stop{color:var(--accent);border:1px solid rgba(var(--accent-rgb),.45);background:0 0}.chat-send--stop:hover{background:rgba(var(--accent-rgb),.08);transform:none}@media (max-width:600px){.chat-trigger{padding:11px 18px 11px 14px;font-size:12px;bottom:16px;right:16px}.chat-panel{border-radius:12px;width:auto;max-width:none;height:calc(100dvh - 24px);max-height:none;bottom:12px;left:12px;right:12px}.chat-header{padding:22px 20px 14px}.chat-header-title{font-size:30px}.chat-scroller{gap:18px;padding:20px}.chat-input-row{padding:12px 16px}}@media (max-width:900px){.chat-trigger,.chat-close,.chat-input,.chat-send,.chat-suggested-chip{cursor:pointer}}@media (prefers-reduced-motion:reduce){.chat-panel,.chat-overlay,.chat-trigger,.chat-suggested-chip{transition:none}.chat-trigger-dot,.chat-msg,.chat-suggested-chip,.chat-msg-body--live>:last-child:after{animation:none}.chat-suggested-chip{opacity:1;transform:none}}.palette-lab{min-height:100vh;color:var(--fg);background:#050505;padding:0 0 96px}.palette-lab-hero{border-bottom:1px solid rgba(var(--fg-rgb),.16);justify-content:space-between;align-items:flex-end;gap:48px;padding:72px 48px 40px;display:flex}.palette-lab-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font-size:11px}.palette-lab h1{font-family:var(--display);letter-spacing:.02em;max-width:760px;font-size:clamp(56px,9vw,128px);line-height:.88}.palette-lab-hero>p{max-width:420px;color:rgba(var(--fg-rgb),.56);font-size:14px;line-height:1.7}.palette-grid{background:0 0;border:0;grid-template-columns:1fr;gap:0;margin-top:0;display:grid}.palette-card{background:linear-gradient(135deg, color-mix(in srgb, var(--p-accent) 7%, transparent), transparent 36%), var(--p-bg);min-height:min(860px,100svh - 40px);color:var(--p-text);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) minmax(280px,34vw);align-items:start;column-gap:clamp(48px,8vw,132px);padding:clamp(32px,4vw,72px);display:grid;position:relative;overflow:hidden}.palette-card:before{content:"";pointer-events:none;background-image:linear-gradient(color-mix(in srgb, var(--p-text) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--p-text) 4%, transparent) 1px, transparent 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.palette-card-rain{white-space:pre;color:color-mix(in srgb, var(--p-accent) 48%, transparent);opacity:.8;pointer-events:none;font-family:ui-monospace,SFMono-Regular,JetBrains Mono,Menlo,Consolas,monospace;font-size:15px;line-height:1.42;position:absolute;top:10%;right:8%}.palette-card-top,.palette-card h2,.palette-card p,.palette-hero-sub,.palette-status,.palette-sample-line,.palette-meta,.palette-pill-row,.palette-actions,.palette-swatches{z-index:1;position:relative}.palette-card-top{color:var(--p-muted);letter-spacing:.16em;text-transform:uppercase;grid-column:1/-1;justify-content:space-between;gap:24px;margin-bottom:clamp(70px,11vh,132px);font-size:10px;display:flex}.palette-card h2{font-family:var(--display);letter-spacing:.02em;grid-column:1;max-width:980px;margin-bottom:42px;font-size:clamp(88px,12vw,200px);line-height:.85}.palette-card p{color:var(--p-muted);grid-column:1;max-width:620px;font-size:clamp(16px,1.4vw,24px);line-height:1.7}.palette-note{opacity:.72;margin-top:18px;max-width:560px!important;font-size:13px!important}.palette-hero-sub{z-index:1;font-family:var(--italic);color:var(--p-accent);grid-column:1;margin:0 0 clamp(34px,5vh,64px);font-size:clamp(48px,5.8vw,94px);font-style:italic;font-weight:800;line-height:.85;position:relative}.palette-sample-line{background:linear-gradient(90deg, var(--p-accent), transparent 52%, var(--p-border));grid-column:1/-1;width:100%;height:1px;margin:0 0 clamp(30px,5vh,54px)}.palette-status{width:fit-content;color:var(--p-text);border:1px solid var(--p-border);background:color-mix(in srgb, var(--p-surface) 76%, transparent);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;grid-column:1;align-items:center;gap:10px;margin-bottom:clamp(28px,5vh,52px);padding:10px 18px;font-size:12px;display:inline-flex}.palette-status span{background:var(--p-accent);width:9px;height:9px;box-shadow:0 0 12px color-mix(in srgb, var(--p-accent) 45%, transparent);border-radius:50%}.palette-meta{color:var(--p-muted);letter-spacing:.14em;text-transform:uppercase;grid-area:2/2/span 2;align-self:end;gap:8px;margin-bottom:28px;font-size:12px;display:grid}.palette-pill-row{flex-wrap:wrap;grid-column:1;gap:8px;margin-bottom:36px;display:flex}.palette-pill-row span{color:var(--p-muted);border:1px solid var(--p-border);background:color-mix(in srgb, var(--p-surface) 72%, transparent);padding:6px 12px;font-size:11px}.palette-actions{grid-column:1;align-items:center;gap:16px;margin-top:auto;display:flex}.palette-actions button,.palette-actions a{border:1px solid var(--p-accent);background:var(--p-accent);color:var(--p-bg);font:inherit;letter-spacing:.12em;text-transform:uppercase;padding:12px 18px;font-size:12px;text-decoration:none}.palette-actions a{color:var(--p-accent);background:0 0}.palette-swatches{gap:8px;display:flex;position:absolute;bottom:28px;left:36px;right:36px}.palette-swatches span{border:1px solid var(--p-border);width:28px;height:28px}@media (max-width:900px){.palette-lab{padding:0 0 72px}.palette-lab-hero{padding:48px 24px 32px;display:block}.palette-lab-hero>p{margin-top:24px}.palette-card{min-height:100svh;padding:28px;display:block}.palette-card h2{font-size:clamp(76px,24vw,128px)}.palette-hero-sub{font-size:clamp(36px,11vw,62px)}.palette-card p{font-size:15px}.palette-card-top{margin-bottom:72px}.palette-meta{margin-top:28px}.palette-swatches{left:28px;right:28px}}.pstack{padding:4vh 0 6vh}.pstack-card{background:var(--bg-2);border:1px solid rgba(var(--accent-rgb), .3);min-height:72vh;color:var(--fg);transform-origin:top;will-change:transform;align-items:flex-start;gap:56px;margin-bottom:8vh;padding:44px 48px;text-decoration:none;display:flex;position:sticky;top:9vh}.pstack-card--static{cursor:default}a.pstack-card{transition:border-color var(--motion-fast) var(--motion-ease)}a.pstack-card:hover{border-color:rgba(var(--accent-rgb), .75)}a.pstack-card:hover .pstack-cta{letter-spacing:.22em}.pstack-cta{transition:letter-spacing var(--motion-med) var(--motion-ease)}.pstack-idx{font-family:var(--display);color:#0000;-webkit-text-stroke:1.5px rgba(var(--accent-rgb), .6);flex-shrink:0;font-size:clamp(90px,11vw,190px);line-height:.8}.pstack-body{flex-direction:column;gap:18px;padding-top:12px;display:flex}.pstack-title{font-family:var(--display);color:var(--fg);transition:color var(--motion-fast) var(--motion-ease);font-size:clamp(48px,6.5vw,110px);line-height:.86}a.pstack-card:hover .pstack-title{color:var(--accent)}.pstack-desc{max-width:560px;color:var(--mid);font-size:16px;line-height:1.75}.pstack-cta{letter-spacing:.14em;color:var(--accent);margin-top:4px;font-family:ui-monospace,Menlo,monospace;font-size:12px}@media (max-width:900px){.pstack-card{flex-direction:column;gap:18px;min-height:0;margin-bottom:24px;padding:26px 20px;position:relative;top:0}.pstack-idx{font-size:64px}}.hud{z-index:40;letter-spacing:.18em;color:var(--dim);pointer-events:none;white-space:nowrap;opacity:0;align-items:center;gap:10px;font-family:ui-monospace,Menlo,monospace;font-size:10px;transition:opacity .35s;animation:.8s 2s forwards hud-in;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}@keyframes hud-in{to{opacity:1}}.hud-num{color:var(--accent)}.hud-label{color:var(--mid)}.hud--invert,.hud--invert .hud-num,.hud--invert .hud-label{color:#0d0d0dc7}.hud--invert .hud-dot{background:#0d0d0dd9}.hud-sep{opacity:.5}.hud-avail{align-items:center;gap:6px;display:inline-flex}.hud-dot{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:1.8s ease-in-out infinite hud-blink}@keyframes hud-blink{50%{opacity:.25}}@media (max-width:900px){.hud{display:none}}.nf{background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;padding:0 24px;display:flex;position:relative;overflow:hidden}.nf-num{font-family:var(--display);color:#0000;-webkit-text-stroke:1px rgba(var(--accent-rgb), .1);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(280px,56vw,900px);line-height:1;position:absolute}.nf-title{font-family:var(--display);color:var(--fg);font-size:clamp(56px,9vw,140px);line-height:.9;position:relative}.nf-title em{font-family:var(--italic);color:var(--accent);font-size:.78em;font-style:italic}.nf-sub{letter-spacing:.14em;color:var(--dim);font-family:ui-monospace,Menlo,monospace;font-size:12px;position:relative}.nf-link{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(var(--accent-rgb), .4);transition:background var(--motion-fast) var(--motion-ease), color var(--motion-fast) var(--motion-ease);margin-top:18px;padding:12px 22px;font-size:12px;font-weight:500;text-decoration:none;position:relative}.nf-link:hover{background:var(--accent);color:var(--bg)}html{scrollbar-width:thin;scrollbar-color:rgba(var(--accent-rgb), .35) var(--bg)}body::-webkit-scrollbar{width:9px}body::-webkit-scrollbar-track{background:var(--bg)}body::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb), .3);border:2px solid var(--bg);border-radius:0}body::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb), .55)}
