:root{--bg:#0b0c0e;--bg-elev:#15171a;--border:#22252a;--border-strong:#353941;--text:#ededed;--text-dim:#8c8f96;--text-soft:#c1c4ca;--accent:#2ecc71;--accent-fg:#04221a;--accent-glow:#2ecc714d;--ease:cubic-bezier(.16,1,.3,1);--font-sans:"Geist","Inter",ui-sans-serif,system-ui,sans-serif;--font-mono:"JetBrains Mono","Geist Mono",ui-monospace,SFMono-Regular,monospace;--font-serif:"Instrument Serif","Fraunces",ui-serif,Georgia,serif;--container:1100px;--pad-x:clamp(20px,4vw,48px);--section-y:clamp(72px,12vw,160px)}[data-theme=light]{--bg:#fafaf7;--bg-elev:#fff;--border:#e7e5e0;--border-strong:#d4d2cc;--text:#111;--text-dim:#6b6b6b;--text-soft:#3d3d3d;--accent:#2e6f40;--accent-fg:#fff;--accent-glow:#2e6f4029}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text)}body{font-family:var(--font-sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;cursor:none;font-size:16px;line-height:1.55;transition:background-color .3s,color .3s;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 50% at 12% 0%,var(--accent-glow),transparent 55%),radial-gradient(ellipse 60% 50% at 100% 100%,color-mix(in srgb,var(--accent)18%,transparent),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--bg)90%,white 4%)0%,var(--bg)40%,var(--bg)100%);position:fixed;inset:0}[data-theme=light] body:before{background:radial-gradient(ellipse 80% 50% at 12% 0%,color-mix(in srgb,var(--accent)14%,transparent),transparent 60%),radial-gradient(ellipse 60% 50% at 100% 100%,color-mix(in srgb,var(--accent)8%,transparent),transparent 60%)}@media (hover:none),(pointer:coarse){body{cursor:auto}}::selection{background:var(--accent);color:var(--accent-fg)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:none;background:0 0;border:0}@media (hover:none),(pointer:coarse){button{cursor:pointer}}img{max-width:100%;display:block}.noise{pointer-events:none;z-index:1;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}[data-theme=light] .noise{opacity:.04;mix-blend-mode:multiply}.dot-grid{pointer-events:none;background-image:radial-gradient(circle,color-mix(in srgb,var(--text)18%,transparent)1px,transparent 1.4px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 70% at 30% 30%,#000 30%,#0000 85%);mask-image:radial-gradient(90% 70% at 30% 30%,#000 30%,#0000 85%)}[data-theme=light] .dot-grid{background-image:radial-gradient(circle,color-mix(in srgb,var(--text)22%,transparent)1px,transparent 1.4px)}.dot-grid:after{content:"";background:radial-gradient(ellipse 60% 50% at 0% 0%,var(--accent-glow),transparent 65%);position:absolute;inset:0}.container{max-width:var(--container);padding:0 var(--pad-x);z-index:2;margin:0 auto;position:relative}main{z-index:2;position:relative}.nav{z-index:60;border-bottom:1px solid #0000;transition:-webkit-backdrop-filter .3s,backdrop-filter .3s,background-color .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:saturate(160%)blur(14px);background:color-mix(in srgb,var(--bg)72%,transparent);border-bottom-color:var(--border)}.nav-inner{max-width:var(--container);padding:16px var(--pad-x);font-family:var(--font-mono);letter-spacing:.02em;justify-content:space-between;align-items:center;margin:0 auto;font-size:13px;display:flex}.nav-mark{color:var(--text);align-items:center;gap:8px;font-weight:500;display:inline-flex}.nav-mark .dot{background:var(--accent);border-radius:999px;width:6px;height:6px}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a{color:var(--text-dim);padding:4px 0;transition:color .2s;position:relative}.nav-links a:after{content:"";background:var(--accent);height:1px;transition:right .35s var(--ease);position:absolute;bottom:-2px;left:0;right:100%}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{right:0}.nav-links .num{color:var(--accent);margin-right:4px;font-size:11px}.theme-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text-dim);transition:color .2s,border-color .2s,transform .3s var(--ease);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.theme-btn:hover{color:var(--text);border-color:var(--border-strong)}.section{padding:var(--section-y)0;border-top:1px solid var(--border);position:relative}.section:first-of-type{border-top:0}.section-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:12px;margin-bottom:28px;font-size:11px;display:inline-flex}.section-label .num{color:var(--accent)}.section-label .line{background:var(--border-strong);width:48px;height:1px}.h-display{font-family:var(--font-serif);letter-spacing:-.035em;color:var(--text);font-size:clamp(56px,11vw,128px);font-style:italic;font-weight:400;line-height:.94}.h-section{font-family:var(--font-sans);letter-spacing:-.025em;color:var(--text);font-size:clamp(28px,4.2vw,44px);font-weight:500;line-height:1.05}.h-statement{font-family:var(--font-sans);letter-spacing:-.015em;color:var(--text-soft);max-width:640px;font-size:clamp(20px,2.4vw,28px);font-weight:400;line-height:1.35}.eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);font-size:12px}.mono{font-family:var(--font-mono)}.dim{color:var(--text-dim)}.accent-text{color:var(--accent)}.u-accent{background-image:linear-gradient(var(--accent),var(--accent));background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding-bottom:1px}.btn{--pad:12px 18px;padding:var(--pad);font-family:var(--font-sans);letter-spacing:-.005em;transition:transform .3s var(--ease),background-color .25s,color .25s,border-color .25s;will-change:transform;border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.btn-fill{background:var(--accent);color:var(--accent-fg)}.btn-fill:hover{background:color-mix(in srgb,var(--accent)88%,white)}.btn-ghost{border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{border-color:var(--text-soft);background:var(--bg-elev)}.btn .arr{transition:transform .3s var(--ease)}.btn:hover .arr{transform:translate(2px,-2px)}.pill{border:1px solid var(--border);background:var(--bg-elev);font-family:var(--font-mono);color:var(--text-soft);border-radius:999px;align-items:center;gap:10px;padding:8px 14px 8px 12px;font-size:12px;display:inline-flex}.pill .live-dot{background:#2ecc71;border-radius:999px;width:7px;height:7px;animation:1.8s ease-out infinite livepulse;position:relative;box-shadow:0 0 #2ecc7199}@keyframes livepulse{0%{box-shadow:0 0 #2ecc7199}70%{box-shadow:0 0 0 8px #2ecc7100}to{box-shadow:0 0 #2ecc7100}}.pill .sep{color:var(--border-strong)}.pill .clock{color:var(--text)}.hero{align-items:center;min-height:100vh;padding-top:80px;display:flex;position:relative}.hero-inner{z-index:2;position:relative}.hero-kicker{align-items:center;gap:12px;margin-bottom:28px;display:inline-flex}.hero-kicker .bar{background:var(--accent);width:28px;height:1px}.hero h1{margin-top:8px}.hero h1 .amp{font-family:var(--font-sans);font-style:normal}.hero-statement{margin-top:28px}.hero-ctas{flex-wrap:wrap;gap:12px;margin-top:40px;display:flex}.hero-status{margin-top:56px}.about-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:clamp(32px,6vw,80px);display:grid}.about-prose p{color:var(--text-soft);margin-bottom:1.1em;font-size:17px;line-height:1.7}.about-prose p:last-child{margin-bottom:0}.about-side{border:1px solid var(--border);background:var(--bg-elev);font-family:var(--font-mono);color:var(--text-soft);border-radius:8px;padding:24px;font-size:12.5px;line-height:1.65;position:relative;overflow:hidden}.about-side .terminal-bar{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg)50%,var(--bg-elev));align-items:center;gap:6px;margin:-24px -24px 20px;padding:10px 14px;display:flex}.about-side .tb-dot{background:var(--border-strong);border-radius:999px;width:9px;height:9px}.about-side .tb-title{color:var(--text-dim);letter-spacing:.04em;margin-left:8px;font-size:11px}.about-side .kv{grid-template-columns:88px 1fr;gap:6px 14px;display:grid}.about-side .k{color:var(--text-dim)}.about-side .v{color:var(--text)}.about-side .v a{border-bottom:1px dashed var(--border-strong)}.about-side .v a:hover{color:var(--accent);border-color:var(--accent)}@media (max-width:760px){.about-grid{grid-template-columns:1fr}}.exp-list{flex-direction:column;gap:8px;display:flex}.exp-row{border-bottom:1px solid var(--border);cursor:none;transition:padding-left .4s var(--ease);grid-template-columns:1fr auto;align-items:baseline;gap:24px;padding:22px 0;display:grid;position:relative}@media (hover:none),(pointer:coarse){.exp-row{cursor:pointer}}.exp-row:hover{padding-left:14px}.exp-row:before{content:"";background:var(--accent);transform-origin:50%;width:2px;transition:transform .4s var(--ease);position:absolute;top:22px;bottom:22px;left:0;transform:scaleY(0)}.exp-row:hover:before{transform:scaleY(1)}.exp-row .left{flex-direction:column;gap:4px;display:flex}.exp-company{font-family:var(--font-sans);letter-spacing:-.015em;font-size:22px;font-weight:500;transition:color .25s}.exp-row:hover .exp-company{color:var(--accent)}.exp-role{color:var(--text-dim);font-size:14px}.exp-meta{font-family:var(--font-mono);color:var(--text-dim);text-align:right;white-space:nowrap;font-size:12px}.exp-detail{max-height:0;transition:max-height .5s var(--ease),margin-top .4s var(--ease),opacity .4s ease;opacity:0;grid-column:1/-1;overflow:hidden}.exp-row.open .exp-detail{opacity:1;max-height:360px;margin-top:16px}.exp-detail-inner{border-top:1px dashed var(--border);padding:18px 0 6px}.exp-summary{color:var(--text-soft);max-width:720px;margin-bottom:14px;font-size:15px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{font-family:var(--font-mono);background:var(--bg-elev);border:1px solid var(--border);color:var(--text-soft);letter-spacing:.01em;border-radius:4px;padding:4px 9px;font-size:11px}.chip.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent)40%,var(--border));background:color-mix(in srgb,var(--accent)7%,var(--bg-elev))}.prj-list{flex-direction:column;gap:80px;display:flex}.prj{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;display:grid}.prj.flip{grid-template-columns:1fr 1.05fr}.prj.flip .prj-text{order:2}.prj-mock{aspect-ratio:16/11;border:1px solid var(--border);background:var(--bg-elev);transform-style:preserve-3d;transition:transform .5s var(--ease),border-color .3s;border-radius:8px;position:relative;overflow:hidden}.prj-mock:hover{border-color:var(--border-strong)}.prj-mock .inner{flex-direction:column;gap:10px;padding:18px;display:flex;position:absolute;inset:0;transform:translateZ(20px)}.prj-year{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.06em;font-size:12px}.prj-title{letter-spacing:-.025em;margin-top:6px;font-size:30px;font-weight:500;line-height:1.1}.prj-desc{color:var(--text-soft);max-width:480px;margin-top:14px;font-size:16px}.prj-stack{margin-top:18px}.prj-links{gap:18px;margin-top:22px;display:flex}.lnk{font-family:var(--font-mono);color:var(--text);border-bottom:1px solid var(--border-strong);align-items:center;gap:6px;padding-bottom:2px;font-size:13px;transition:color .2s,border-color .2s;display:inline-flex}.lnk:hover{color:var(--accent);border-color:var(--accent)}.lnk .arr{transition:transform .3s var(--ease)}.lnk:hover .arr{transform:translate(2px,-2px)}.mockwin{flex-direction:column;display:flex;position:absolute;inset:0}.mockwin .bar{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg)30%,var(--bg-elev));align-items:center;gap:6px;padding:10px 12px;display:flex}.mockwin .bd{background:var(--border-strong);border-radius:999px;width:10px;height:10px}.mockwin .url{font-family:var(--font-mono);color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:4px;margin-left:10px;padding:3px 10px;font-size:11px}.mockwin .body{flex:1;position:relative;overflow:hidden}@media (max-width:820px){.prj,.prj.flip{grid-template-columns:1fr;gap:28px}.prj.flip .prj-text{order:0}}.archive-table{border-collapse:collapse;width:100%;font-size:14px}.archive-table thead th{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);text-align:left;border-bottom:1px solid var(--border);padding:12px 14px;font-size:11px;font-weight:500}.archive-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s}.archive-table tbody tr:hover{background:var(--bg-elev)}.archive-table tbody tr:hover .at-title{color:var(--accent)}.archive-table td{vertical-align:top;padding:18px 14px}.at-year{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;width:80px}.at-title{font-size:16px;font-weight:500;transition:color .25s}.at-stack{color:var(--text-dim);font-size:13px}.at-stack span:not(:last-child):after{content:" · ";color:var(--border-strong)}.at-links{text-align:right;white-space:nowrap;width:90px}.at-links a{color:var(--text-dim);margin-left:12px;transition:color .2s;display:inline-block}.at-links a:hover{color:var(--accent)}.show-more{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;margin-top:22px;padding:8px 14px;font-size:13px;transition:color .2s,border-color .2s,background-color .2s;display:inline-flex}.show-more:hover{color:var(--text);border-color:var(--border-strong);background:var(--bg-elev)}@media (max-width:640px){.archive-table .col-stack{display:none}}.recs-section{padding-top:clamp(72px,10vw,140px)}.recs-title{max-width:760px;margin-bottom:18px;line-height:1.1}.recs-title .serif-it{font-family:var(--font-serif);letter-spacing:-.025em;color:var(--text);font-style:italic;font-weight:400}.recs-title-sub{font-family:var(--font-sans);letter-spacing:-.005em;margin-top:8px;font-size:18px;font-style:normal;font-weight:400;display:block}.rec-signals{background:var(--border);border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:1px;margin:32px 0 36px;display:grid;overflow:hidden}.rec-signal{background:var(--bg-elev);flex-direction:column;gap:4px;padding:18px 22px;transition:background-color .25s;display:flex}.rec-signal:hover{background:color-mix(in srgb,var(--accent)6%,var(--bg-elev))}.rec-signal-v{font-family:var(--font-serif);color:var(--text);letter-spacing:-.02em;font-size:32px;font-style:italic;line-height:1}.rec-signal-l{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px}.rec-wall{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(220px,auto);gap:14px;display:grid}.rec-card{background:var(--bg-elev);border:1px solid var(--border);isolation:isolate;transition:transform .5s var(--ease),border-color .3s ease,box-shadow .4s ease,background-color .3s ease;cursor:none;opacity:1;border-radius:14px;flex-direction:column;gap:14px;padding:24px;display:flex;position:relative;overflow:hidden;transform:translateY(0)}@media (hover:none){.rec-card{cursor:default}}.rec-card-featured{grid-area:1/1/span 2/span 2;gap:22px;padding:36px 36px 28px}.rec-card:hover,.rec-card.active{border-color:color-mix(in srgb,var(--card-tint,var(--accent))50%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--card-tint,var(--accent))35%,transparent),0 12px 40px -12px color-mix(in srgb,var(--card-tint,var(--accent))30%,transparent);transform:translateY(-2px)}.rec-card:before{content:"";pointer-events:none;background:radial-gradient(ellipse 80% 60% at 0% 0%,color-mix(in srgb,var(--card-tint,var(--accent))14%,transparent),transparent 50%);opacity:.7;z-index:-1;position:absolute;inset:0}.rec-card-featured:before{opacity:.95}.rec-card:after{content:"";background:linear-gradient(135deg,transparent 50%,color-mix(in srgb,var(--card-tint,var(--accent))22%,transparent)50%);z-index:-1;width:64px;height:64px;position:absolute;top:0;right:0}[data-tint=violet]{--card-tint:#7c5cff}[data-tint=emerald]{--card-tint:#22d3a3}[data-tint=amber]{--card-tint:#f59e0b}[data-tint=sky]{--card-tint:#60a5fa}[data-tint=coral]{--card-tint:#ff6b6b}[data-tint=rose]{--card-tint:#f472b6}.rec-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rec-mark-glyph{font-family:var(--font-serif);color:var(--card-tint,var(--accent));opacity:.85;font-size:64px;font-style:italic;line-height:.55}.rec-mark-glyph.small{font-size:44px}.rec-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid color-mix(in srgb,var(--card-tint,var(--accent))40%,var(--border));background:color-mix(in srgb,var(--card-tint,var(--accent))8%,var(--bg));color:var(--card-tint,var(--accent));border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:10.5px;display:inline-flex}.rec-badge-dot{background:var(--card-tint,var(--accent));border-radius:999px;width:6px;height:6px;animation:1.8s ease-out infinite livepulse}.rec-rel{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px}.rec-pull{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--text);text-wrap:pretty;margin:0;font-size:clamp(26px,2.6vw,38px);font-style:italic;font-weight:400;line-height:1.18}.rec-pull.small{margin-bottom:4px;font-size:clamp(18px,1.7vw,22px);line-height:1.28}.rec-quote-body{font-family:var(--font-sans);color:var(--text-soft);max-width:56ch;margin:0;font-size:14.5px;line-height:1.6}.rec-quote-body.small{color:var(--text-dim);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:13px;line-height:1.55;transition:-webkit-line-clamp .4s;display:-webkit-box;overflow:hidden}.rec-card.active .rec-quote-body.small,.rec-card:hover .rec-quote-body.small{-webkit-line-clamp:99}.rec-card-foot{border-top:1px dashed var(--border);align-items:center;gap:12px;margin-top:auto;padding-top:16px;display:flex}.rec-avi{width:40px;height:40px;font-family:var(--font-mono);color:#fff;letter-spacing:.02em;background:var(--card-tint,var(--accent));border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:inline-flex;position:relative}.rec-avi:after{content:"";border:1px solid color-mix(in srgb,var(--card-tint,var(--accent))40%,transparent);opacity:0;transition:opacity .3s var(--ease),inset .4s var(--ease);border-radius:999px;position:absolute;inset:-3px}.rec-card:hover .rec-avi:after,.rec-card.active .rec-avi:after{opacity:1;inset:-5px}.rec-id{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.rec-id-name{color:var(--text);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex;overflow:hidden}.rec-li{color:var(--text-dim);flex:none;transition:color .25s}.rec-card:hover .rec-li,.rec-card.active .rec-li{color:var(--card-tint,var(--accent))}.rec-id-role{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.rec-date{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.06em;flex:none;align-self:center;font-size:10.5px}.rec-card-grain{pointer-events:none;mix-blend-mode:overlay;opacity:.04;z-index:-1;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.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");position:absolute;inset:0}.rec-cta{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);transition:color .25s,border-color .25s,background-color .25s,transform .3s var(--ease);border-radius:999px;align-items:center;gap:8px;margin-top:28px;padding:10px 16px;font-size:13px;display:inline-flex}.rec-cta:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent)50%,var(--border));background:color-mix(in srgb,var(--accent)6%,transparent);transform:translateY(-1px)}@media (max-width:900px){.rec-wall{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(200px,auto)}.rec-card-featured{grid-area:auto/1/auto/-1}.rec-signals{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.rec-wall{grid-template-columns:1fr;grid-auto-rows:auto;gap:10px}.rec-card{padding:22px}.rec-card-featured{padding:26px 22px}.rec-pull{font-size:22px}.rec-pull.small{font-size:17px}.rec-quote-body{font-size:13.5px}.rec-signal-v{font-size:24px}.rec-signal{padding:14px 16px}.rec-date{display:none}}.contact{text-align:left;padding-bottom:clamp(60px,8vw,120px)}.contact-title{font-family:var(--font-serif);letter-spacing:-.03em;margin:28px 0 32px;font-size:clamp(56px,10vw,120px);font-style:italic;font-weight:400;line-height:.96}.contact-sub{color:var(--text-soft);max-width:540px;margin-bottom:36px;font-size:18px}.contact-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.socials{flex-wrap:wrap;gap:24px;margin-top:48px;display:flex}.socials a{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:8px;padding:6px 0;font-size:13px;transition:color .2s;display:inline-flex;position:relative}.socials a:hover{color:var(--text)}.socials a:after{content:"";background:var(--accent);height:1px;transition:right .35s var(--ease);position:absolute;bottom:0;left:0;right:100%}.socials a:hover:after{right:0}.footer{border-top:1px solid var(--border);font-family:var(--font-mono);color:var(--text-dim);padding:28px 0 48px;font-size:12px}.footer-row{flex-wrap:wrap;justify-content:space-between;gap:18px;display:flex}.reveal{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease);transform:translateY(20px)}.reveal.in{opacity:1;transform:translateY(0)}.cursor-dot,.cursor-ring{pointer-events:none;z-index:1000;mix-blend-mode:difference;border-radius:999px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot{width:8px;height:8px;transition:width .25s var(--ease),height .25s var(--ease),background-color .25s;background:#fff}.cursor-ring{opacity:0;width:32px;height:32px;transition:opacity .25s var(--ease),width .3s var(--ease),height .3s var(--ease);border:1.5px solid #fff}body.hovering-link .cursor-dot{width:0;height:0}body.hovering-link .cursor-ring{opacity:1;width:40px;height:40px}@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}.intro{z-index:2000;pointer-events:none;font-family:var(--font-mono);color:#ededed;background:#050608;position:fixed;inset:0;overflow:hidden}.intro:before{content:"";background-image:radial-gradient(circle,#ffffff0f 1px,#0000 1.3px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 70%,#000 30%,#0000 85%);mask-image:radial-gradient(90% 70%,#000 30%,#0000 85%)}.intro:after{content:"";background:radial-gradient(ellipse 50% 40% at 10% 5%,var(--accent-glow),transparent 60%);opacity:.9;position:absolute;inset:0}.intro-bar{background:var(--accent);width:0%;height:2px;box-shadow:0 0 18px var(--accent);z-index:3;position:absolute;top:0;left:0}.intro-meta{letter-spacing:.14em;text-transform:uppercase;color:#ffffff8c;z-index:3;justify-content:space-between;align-items:center;padding:22px 32px;font-size:11px;display:flex;position:absolute;left:0;right:0}.intro-meta.top{top:0}.intro-meta.bot{color:#fff6;bottom:0}.intro-meta .dot{background:var(--accent);vertical-align:1px;width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:999px;margin-right:8px;animation:.9s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:.2}}.intro-corner{z-index:3;border-color:#ffffff8c;width:28px;height:28px;position:absolute}.intro-corner.tl{border-top:1px solid;border-left:1px solid;top:60px;left:32px}.intro-corner.tr{border-top:1px solid;border-right:1px solid;top:60px;right:32px}.intro-corner.bl{border-bottom:1px solid;border-left:1px solid;bottom:60px;left:32px}.intro-corner.br{border-bottom:1px solid;border-right:1px solid;bottom:60px;right:32px}.intro-center{z-index:4;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:absolute;inset:0}.intro-label{letter-spacing:.32em;text-transform:uppercase;color:#fff6;align-items:center;gap:10px;font-size:11px;display:inline-flex}.intro-label:before,.intro-label:after{content:"";background:#fff3;width:24px;height:1px}.intro-counter{font-family:var(--font-mono);letter-spacing:-.06em;color:#ededed;font-variant-numeric:tabular-nums;align-items:baseline;font-size:clamp(96px,18vw,220px);font-weight:500;line-height:.9;display:inline-flex}.intro-counter .pct{color:var(--accent);letter-spacing:.04em;align-self:flex-start;margin-left:12px;font-size:.22em;transform:translateY(.4em)}.intro-name{font-family:var(--font-serif);letter-spacing:-.03em;color:#ededed;margin-top:-8px;font-size:clamp(40px,7vw,84px);font-style:italic;font-weight:400;line-height:1}.intro-name .pulse-mark{color:var(--accent);font-family:var(--font-mono);font-style:normal}.intro-feed{color:#ffffff73;z-index:3;letter-spacing:.02em;text-shadow:0 0 8px #0006;font-size:11px;line-height:1.7;position:absolute;bottom:80px;left:32px}.intro-feed .line{opacity:0;display:block;transform:translateY(4px)}.intro-feed .line.show{animation:.25s cubic-bezier(.16,1,.3,1) forwards feedin}.intro-feed .line .ok{color:var(--accent)}.intro-feed .line .dim{color:#ffffff47}@keyframes feedin{to{opacity:1;transform:translateY(0)}}.intro-sweep{background:var(--accent);transform-origin:0;height:1px;box-shadow:0 0 20px var(--accent);z-index:5;position:absolute;top:50%;left:0;right:0;transform:scaleX(0)}.intro-flash{background:var(--accent);opacity:0;z-index:6;pointer-events:none;position:absolute;inset:0}.intro-mask-top,.intro-mask-bot{z-index:1900;pointer-events:none;background:#050608;height:50vh;position:fixed;left:0;right:0;transform:translateY(0)}.intro-mask-top{top:0}.intro-mask-bot{bottom:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}.stack-12>*+*{margin-top:12px}.stack-24>*+*{margin-top:24px}@media (max-width:720px){.nav-inner{padding:14px var(--pad-x)}.nav-links{gap:14px}.nav-links a:not(.keep){display:none}.nav-menu-btn{display:inline-flex!important}}@media (min-width:721px){.nav-menu-btn,.mobile-drawer{display:none!important}}.nav-menu-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text-dim);border-radius:6px;justify-content:center;align-items:center;transition:color .2s,border-color .2s;display:none}.nav-menu-btn:hover{color:var(--text);border-color:var(--border-strong)}.mobile-drawer{background:color-mix(in srgb,var(--bg)96%,transparent);-webkit-backdrop-filter:blur(18px);z-index:55;opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .4s var(--ease);flex-direction:column;padding:88px 24px 24px;display:flex;position:fixed;inset:0;transform:translateY(-8px)}.mobile-drawer.open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-drawer a{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--text);border-bottom:1px solid var(--border);align-items:baseline;gap:14px;padding:16px 0;font-size:42px;font-style:italic;line-height:1.1;display:flex}.mobile-drawer a .num{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;font-size:12px;font-style:normal}.mobile-drawer .drawer-foot{font-family:var(--font-mono);color:var(--text-dim);border-top:1px dashed var(--border);justify-content:space-between;gap:12px;margin-top:auto;padding-top:24px;font-size:11px;display:flex}@media (max-width:520px){.hero{min-height:92vh;padding-top:72px}.h-display{font-size:clamp(48px,16vw,88px)}.hero-statement{margin-top:22px}.h-statement{font-size:18px}.hero-ctas{margin-top:28px}.hero-ctas .btn{padding:11px 16px;font-size:13px}.hero-status{margin-top:36px}.pill{flex-wrap:wrap;gap:8px;padding:7px 12px 7px 10px;font-size:11px}:root{--section-y:64px;--pad-x:20px}.section-label{margin-bottom:22px}.h-section{font-size:28px}}@media (max-width:760px){.about-prose p{font-size:16px}.about-side{padding:20px;font-size:12px}.about-side .kv{grid-template-columns:72px 1fr;gap:5px 12px}.facts{grid-template-columns:repeat(2,1fr);gap:12px}.fact{padding:14px}.fact .v{font-size:28px}}@media (max-width:380px){.facts{grid-template-columns:1fr}}@media (max-width:540px){.exp-row{grid-template-columns:1fr;gap:4px;padding:18px 0}.exp-meta{text-align:left;margin-top:4px}.exp-company{font-size:18px}.exp-row:hover{padding-left:8px}.exp-row:before{top:18px;bottom:18px}}@media (max-width:820px){.prj-list{gap:56px}.prj-title{font-size:26px}.prj-desc{font-size:15px}.prj-mock{aspect-ratio:16/10}}@media (max-width:480px){.prj-list{gap:44px}.prj-title{font-size:22px}.mockwin .url{font-size:10px}}@media (max-width:380px){.skills-grid{grid-template-columns:1fr}}@media (max-width:640px){.archive-table td,.archive-table th{padding:12px 8px}.at-year{width:56px;font-size:11px}.at-title{font-size:14px}.at-links{width:64px;font-size:11px}.at-links a{margin-left:8px}}@media (max-width:540px){.rec-wall{gap:10px}.writing-row{grid-template-columns:1fr auto;gap:4px 12px;padding:14px 0}.writing-row .w-date{order:-1;grid-column:1/-1;font-size:11px}.writing-row .w-title{font-size:15px}.writing-row .w-time{font-size:11px}.contact-title{font-size:clamp(44px,14vw,72px)}.contact-sub{font-size:15px}.contact-actions .btn{padding:11px 16px;font-size:13px}.socials{gap:14px 20px;margin-top:32px}.socials a{font-size:12px}.footer-row{font-size:11px}}@media (max-width:380px){.btn{padding:10px 14px;font-size:13px}.contact-actions .btn{word-break:break-all}}@media (max-width:540px){.intro-meta{padding:14px 16px;font-size:10px}.intro-feed{max-width:80vw;font-size:10px;bottom:56px;left:18px}.intro-counter,.intro-counter span:first-child{font-size:clamp(72px,22vw,120px)}.intro-corner{width:16px;height:16px;bottom:44px;left:18px;right:18px;top:44px!important}}html{overflow-x:hidden}.mock-fill{position:absolute;inset:0}.mock-dental{background:linear-gradient(#0d1a14 0%,#0a1410 100%)}[data-theme=light] .mock-dental{background:linear-gradient(#f0fbf6 0%,#e6f5ed 100%)}.mock-dental .grid{grid-template-rows:1fr;grid-template-columns:140px 1fr;gap:10px;display:grid;position:absolute;inset:56px 24px 24px}.mock-dental .nav{background:color-mix(in srgb,var(--accent)8%,var(--bg-elev));border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:8px;padding:12px;display:flex;position:static}.mock-dental .nav .item{background:var(--border-strong);border-radius:3px;height:8px}.mock-dental .nav .item.on{background:var(--accent);width:80%}.mock-dental .panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:10px;padding:14px;display:flex}.mock-dental .row{align-items:center;gap:10px;display:flex}.mock-dental .row .av{background:var(--accent);opacity:.6;border-radius:999px;flex:none;width:22px;height:22px}.mock-dental .row .ln{background:var(--border-strong);border-radius:3px;flex:1;height:6px}.mock-dental .row .ln.short{flex:none;width:40%}.mock-dental .row .time{font-family:var(--font-mono);color:var(--text-dim);font-size:9px}.mock-sms{background:var(--bg-elev)}.mock-sms .pad{grid-template-rows:1fr 1fr;grid-template-columns:repeat(3,1fr);gap:10px;display:grid;position:absolute;inset:56px 24px 24px}.mock-sms .card{border:1px solid var(--border);background:var(--bg);border-radius:6px;flex-direction:column;gap:8px;padding:12px;display:flex}.mock-sms .card .lbl{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.mock-sms .card .num{letter-spacing:-.02em;color:var(--text);font-size:22px;font-weight:500}.mock-sms .card .bar{background:var(--border);border-radius:2px;height:4px;margin-top:auto;overflow:hidden}.mock-sms .card .bar i{background:var(--accent);width:60%;height:100%;display:block}.mock-sms .card.wide{grid-column:span 2}.mock-sms .card.wide .rows{flex-direction:column;gap:6px;margin-top:4px;display:flex}.mock-sms .card.wide .rows .r{background:var(--border);border-radius:3px;height:6px}.mock-sms .card.wide .rows .r.s{width:60%}.mock-sms .card.wide .rows .r.m{width:80%}.mock-ml{background:var(--bg-elev)}.mock-ml svg{width:calc(100% - 48px);height:calc(100% - 80px);position:absolute;inset:56px 24px 24px}.mock-hotel{background:var(--bg-elev)}.mock-hotel .grid{grid-template-rows:auto auto auto;grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid;position:absolute;inset:56px 24px 24px}.mock-hotel .node{border:1px solid var(--border);background:var(--bg);font-family:var(--font-mono);color:var(--text-dim);border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:10px;display:flex}.mock-hotel .node .dot{background:var(--accent);border-radius:999px;width:6px;height:6px}.mock-hotel .node.api{color:var(--text);border-color:color-mix(in srgb,var(--accent)35%,var(--border));grid-column:1/-1;justify-content:center}.mock-hotel .conn{pointer-events:none;position:absolute;inset:0}.mock-cloud,.mock-chain{background:var(--bg-elev)}.mock-cloud .grid,.mock-chain .grid{grid-template-columns:1fr 1fr 1fr;grid-auto-rows:minmax(0,1fr);align-content:center;gap:10px;display:grid;position:absolute;inset:56px 24px 24px}.mock-cloud .node,.mock-chain .node{border:1px solid var(--border);background:var(--bg);font-family:var(--font-mono);color:var(--text-dim);text-align:center;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-size:10px;display:flex}.mock-cloud .node .dot,.mock-chain .node .dot{background:var(--accent);border-radius:999px;flex:none;width:6px;height:6px}.mock-cloud .node.api,.mock-chain .node.api{color:var(--text);border-color:color-mix(in srgb,var(--accent)35%,var(--border));grid-column:1/-1}.mock-cloud .node.db,.mock-chain .node.chainrow{color:var(--text-dim);background:color-mix(in srgb,var(--accent)6%,var(--bg));letter-spacing:.08em;border-style:dashed;grid-column:1/-1}.mock-cloud .conn,.mock-chain .conn{pointer-events:none;position:absolute;inset:0}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:24px;display:grid}.skill-cat{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;flex-direction:column;gap:10px;padding:18px;display:flex}.skill-cat h4{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:500}.skill-cat ul{flex-direction:column;gap:6px;list-style:none;display:flex}.skill-cat li{color:var(--text-soft);justify-content:space-between;align-items:baseline;gap:8px;font-size:13.5px;display:flex}.skill-cat li .yrs{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.facts{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:28px;display:grid}.fact{border:1px solid var(--border);background:var(--bg-elev);border-radius:8px;padding:18px}.fact .v{font-family:var(--font-serif);color:var(--text);letter-spacing:-.02em;font-size:36px;font-style:italic;line-height:1}.fact .l{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-top:10px;font-size:11px}.writing-list{flex-direction:column;display:flex}.writing-row{border-bottom:1px solid var(--border);transition:padding-left .3s var(--ease);grid-template-columns:80px 1fr auto;align-items:baseline;gap:18px;padding:16px 0;display:grid}.writing-row:hover{padding-left:10px}.writing-row:hover .w-title{color:var(--accent)}.writing-row .w-date{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.writing-row .w-title{font-size:16px;transition:color .2s}.writing-row .w-time{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.contact-form{flex-direction:column;gap:16px;max-width:560px;margin-top:36px;display:flex}.cf-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.cf-field{flex-direction:column;gap:8px;min-width:0;display:flex}.cf-field label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.cf-field input,.cf-field textarea{font-family:var(--font-sans);color:var(--text);background:var(--bg-elev);border:1px solid var(--border);resize:vertical;border-radius:6px;width:100%;padding:12px 14px;font-size:14px;transition:border-color .2s,background-color .2s}.cf-field input::placeholder,.cf-field textarea::placeholder{color:var(--text-dim)}.cf-field input:focus,.cf-field textarea:focus{border-color:color-mix(in srgb,var(--accent)55%,var(--border));background:color-mix(in srgb,var(--accent)4%,var(--bg-elev));outline:none}.cf-submit{align-self:flex-start;margin-top:4px}.cf-submit:disabled{opacity:.6}.cf-spinner{border:2px solid;border-top-color:#0000;border-radius:999px;width:14px;height:14px;animation:.7s linear infinite cf-spin}@keyframes cf-spin{to{transform:rotate(360deg)}}.cf-status{font-family:var(--font-mono);border:1px solid var(--border);border-radius:6px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12.5px;line-height:1.5;display:flex}.cf-status.ok{color:#2ecc71;border-color:color-mix(in srgb,#2ecc71 40%,var(--border));background:color-mix(in srgb,#2ecc71 8%,var(--bg-elev))}.cf-status.err{color:#ff6b6b;border-color:color-mix(in srgb,#ff6b6b 40%,var(--border));background:color-mix(in srgb,#ff6b6b 8%,var(--bg-elev))}@media (max-width:540px){.cf-row{grid-template-columns:1fr}.contact-form{margin-top:28px}}.ach-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-top:28px;display:grid}.ach-card{border:1px solid var(--border);background:var(--bg-elev);isolation:isolate;transition:transform .5s var(--ease),border-color .3s,box-shadow .4s;border-radius:12px;flex-direction:column;gap:14px;padding:24px;display:flex;position:relative;overflow:hidden}.ach-card:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 0% 0%,color-mix(in srgb,var(--accent)12%,transparent),transparent 55%);opacity:.7;position:absolute;inset:0}.ach-card:hover{border-color:color-mix(in srgb,var(--accent)45%,var(--border));box-shadow:0 12px 40px -14px color-mix(in srgb,var(--accent)28%,transparent);transform:translateY(-2px)}.ach-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ach-cat{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px}.ach-rank{font-family:var(--font-serif);color:var(--text);letter-spacing:-.02em;white-space:nowrap;font-size:30px;font-style:italic;line-height:1}.ach-title{letter-spacing:-.015em;color:var(--text);font-size:18px;font-weight:500}.ach-org{font-family:var(--font-mono);color:var(--accent);margin-top:-8px;font-size:12px}.ach-desc{color:var(--text-soft);font-size:14px;line-height:1.6}.ach-foot{border-top:1px dashed var(--border);font-family:var(--font-mono);color:var(--text-dim);flex-wrap:wrap;gap:16px;margin-top:auto;padding-top:14px;font-size:11px;display:flex}.ach-foot span{align-items:center;gap:6px;display:inline-flex}.cert-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.cert-count{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:24px;display:grid}.cert-card{border:1px solid var(--border);background:var(--bg-elev);transition:border-color .25s,background-color .25s,transform .4s var(--ease);border-radius:10px;flex-direction:column;gap:12px;padding:20px;display:flex}.cert-card:hover{border-color:color-mix(in srgb,var(--accent)40%,var(--border));background:color-mix(in srgb,var(--accent)4%,var(--bg-elev));transform:translateY(-2px)}.cert-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cert-org{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px}.cert-date{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-size:11px}.cert-name{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:500;line-height:1.35}.cert-skills{flex-wrap:wrap;gap:6px;display:flex}.cert-link{font-family:var(--font-mono);color:var(--text-dim);border-bottom:1px solid var(--border-strong);align-self:flex-start;align-items:center;gap:6px;margin-top:auto;padding-bottom:2px;font-size:12px;transition:color .2s,border-color .2s;display:inline-flex}.cert-link:hover{color:var(--accent);border-color:var(--accent)}.cert-link .arr{transition:transform .3s var(--ease)}.cert-link:hover .arr{transform:translate(2px,-2px)}@media (max-width:540px){.cert-grid{grid-template-columns:1fr}}
