@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.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:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.L3tW8a_className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.L3tW8a_variable{--font-portfolio-sans:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.lAVMwG_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.lAVMwG_variable{--font-portfolio-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
.portfolio{--bg:#f2f5f2;--bg-1:#eaeeea;--ink:#0d1210;--ink-soft:#2c352f;--ink-muted:#3f4a44;--ink-faint:#5d6963;--line:#0d121021;--line-soft:#0d121014;--line-strong:#0d12103d;--accent:#0d7a4e;--accent-bright:#12925f;--accent-ink:#f6faf7;--surface:#0d121009;--surface-2:#0d12100e;--nav-glass:#f2f5f2c7;--menu-glass:#f6f8f6f7;--shadow-2:0 8px 30px #17221c24;--shadow-3:0 30px 70px -14px #17221c3d;--danger:#9d2c2c;--font-sans:var(--font-portfolio-sans), system-ui, sans-serif;--font-mono:var(--font-portfolio-mono), ui-monospace, monospace;--container:1240px;--gutter:clamp(1.15rem, .5rem + 2.6vw, 2.75rem);--ease:cubic-bezier(.23, 1, .32, 1);background:radial-gradient(900px 480px at 70% -10%, #0d7a4e1f, transparent 60%), var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font-sans);font-size:1rem;line-height:1.6;position:relative;overflow-x:clip}.dark .portfolio{--bg:#0c0e11;--bg-1:#111318;--ink:#f4f6f8;--ink-soft:#c3c9d2;--ink-muted:#8b93a0;--ink-faint:#78828e;--line:#ffffff14;--line-soft:#ffffff0e;--line-strong:#ffffff29;--accent:#3ecf8e;--accent-bright:#5ff0ab;--accent-ink:#04140d;--surface:#ffffff06;--surface-2:#ffffff0b;--nav-glass:#0c0e11b8;--menu-glass:#0c0e11f2;--shadow-2:0 8px 30px #00000059;--shadow-3:0 30px 70px -14px #000000a6;--danger:#ff8d8d;background:radial-gradient(900px 480px at 70% -10%, #3ecf8e1f, transparent 60%), var(--bg)}.portfolio *,.portfolio :before,.portfolio :after{box-sizing:border-box}.portfolio a{color:inherit;text-decoration:none}.portfolio button,.portfolio input,.portfolio textarea{font:inherit;color:inherit}.portfolio h1,.portfolio h2,.portfolio h3,.portfolio h4,.portfolio p{margin:0}.portfolio ul{margin:0;padding:0;list-style:none}.portfolio img{max-width:100%;display:block}.portfolio section[id]{scroll-margin-top:96px}.portfolio .boot{z-index:500;padding:var(--gutter);background:var(--bg);color:var(--ink);transition:clip-path .7s var(--ease);clip-path:inset(0);place-items:center;display:grid;position:fixed;inset:0}.portfolio .boot.is-done{clip-path:inset(0 0 100%);pointer-events:none}.portfolio .boot__panel{width:min(640px,100%)}.portfolio .boot__cmd{font-family:var(--font-mono);margin-bottom:1.6rem;font-size:clamp(.78rem,.7rem + .4vw,1rem)}.portfolio .boot__cmd span{color:var(--accent)}.portfolio .boot__stages{grid-template-columns:repeat(4,1fr);gap:.75rem;margin:0 0 1.2rem;padding:0;list-style:none;display:grid}.portfolio .boot__stages li{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:.45rem;font-size:.72rem;display:flex}.portfolio .boot__stages i{border:1px solid;border-radius:50%;width:8px;height:8px}.portfolio .boot__stages .is-active{color:var(--ink)}.portfolio .boot__stages .is-active i{background:var(--accent);border-color:var(--accent)}.portfolio .boot__stages .is-done{color:var(--accent)}.portfolio .boot__stages .is-done i{background:var(--accent);border-color:var(--accent)}.portfolio .boot__track{background:var(--line);height:2px;overflow:hidden}.portfolio .boot__track span{background:var(--accent);height:100%;display:block}.portfolio .boot__foot{font-family:var(--font-mono);color:var(--ink-muted);justify-content:space-between;gap:1rem;margin-top:.9rem;font-size:.78rem;display:flex}.portfolio .boot__foot .is-ok{color:var(--accent)}.portfolio .boot__foot strong{color:var(--ink);font-size:1.15rem}.portfolio .boot__foot strong span{color:var(--ink-faint);font-weight:400}.portfolio .site-header{z-index:100;padding:clamp(.7rem, .5rem + .5vw, 1.1rem) var(--gutter);justify-content:center;display:flex;position:fixed;top:0;left:0;right:0}.portfolio .nav{--scroll:0;width:100%;max-width:var(--container);transition:max-width .52s var(--ease), background .52s var(--ease), border-color .52s var(--ease), box-shadow .52s var(--ease);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:1.25rem;padding:.5rem .55rem .5rem 1.15rem;display:flex;position:relative}.portfolio .nav:after{content:"";transform-origin:0;height:1px;transform:scaleX(var(--scroll));background:linear-gradient(90deg, transparent, var(--accent), transparent);pointer-events:none;position:absolute;bottom:-1px;left:1.15rem;right:1.15rem}.portfolio .site-header.is-scrolled .nav{background:var(--nav-glass);border-color:var(--line);max-width:900px;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(16px)saturate(150%);backdrop-filter:blur(16px)saturate(150%)}.portfolio .brand{letter-spacing:-.02em;align-items:center;gap:.65rem;min-width:0;font-weight:600;display:inline-flex}.portfolio .brand__mark{background:linear-gradient(140deg, var(--accent-bright), var(--accent));width:34px;height:34px;color:var(--accent-ink);font-family:var(--font-mono);border-radius:10px;flex:none;place-items:center;font-size:.75rem;display:grid}.portfolio .brand__name{white-space:nowrap;font-size:.95rem}.portfolio .brand__role{max-width:11.5rem;color:var(--ink-muted);white-space:nowrap;vertical-align:bottom;transition:max-width .52s var(--ease), opacity .32s var(--ease);font-weight:400;display:inline-block;overflow:hidden}.portfolio .site-header.is-scrolled .brand__role{opacity:0;max-width:0}.portfolio .nav__links{align-items:center;gap:.15rem;margin-inline:auto;display:flex}.portfolio .nav__link{color:var(--ink-muted);border-radius:999px;padding:.5rem .82rem;font-size:.86rem;position:relative}.portfolio .nav__link:hover{color:var(--ink);background:var(--surface)}.portfolio .nav__link.is-active{color:var(--ink)}.portfolio .nav__link.is-active:before{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:.28rem;left:.9rem;right:.9rem}.portfolio .nav__right{align-items:center;gap:.7rem;display:flex}.portfolio .nav__status{border:1px solid var(--line-soft);background:var(--surface);max-width:220px;color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;transition:max-width .52s var(--ease), opacity .32s var(--ease), padding .52s var(--ease), margin .52s var(--ease), border-color .32s var(--ease);border-radius:999px;align-items:center;gap:.45rem;padding:.42rem .7rem;font-size:.68rem;display:inline-flex;overflow:hidden}.portfolio .site-header.is-scrolled .nav__status{opacity:0;border-color:#0000;max-width:0;margin-right:-.7rem;padding-inline:0}.portfolio .nav__live{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%}.portfolio .nav__clock{color:var(--ink-muted)}.portfolio .nav__cta{background:var(--ink);color:var(--bg);border-radius:999px;padding:.62rem 1.05rem;font-size:.82rem;font-weight:600}.portfolio .nav__cta:hover{background:var(--accent);color:var(--accent-ink)}.portfolio .theme-toggle,.portfolio .nav__toggle{border:1px solid var(--line);background:var(--surface-2);width:42px;height:42px;color:var(--ink-soft);cursor:pointer;border-radius:12px;flex:none;position:relative}.portfolio .theme-toggle{place-items:center;display:grid}.portfolio .nav__toggle{flex-direction:column;justify-content:center;align-items:center;gap:5px;display:none}.portfolio .theme-toggle svg{width:17px;height:17px;transition:opacity .32s var(--ease), transform .5s var(--ease);position:absolute}.portfolio .theme-toggle .tt-moon{opacity:0;transform:rotate(-90deg)scale(.5)}.dark .portfolio .theme-toggle .tt-sun{opacity:0;transform:rotate(90deg)scale(.5)}.dark .portfolio .theme-toggle .tt-moon{opacity:1;transform:none}.portfolio .nav__toggle span{background:var(--ink);width:18px;height:1.6px;transition:transform .32s var(--ease), opacity .22s var(--ease);display:block}.portfolio .nav.is-open .nav__toggle span:first-child{transform:translateY(6.6px)rotate(45deg)}.portfolio .nav.is-open .nav__toggle span:nth-child(2){opacity:0}.portfolio .nav.is-open .nav__toggle span:nth-child(3){transform:translateY(-6.6px)rotate(-45deg)}.portfolio .hero{min-height:100svh;padding:7.5rem var(--gutter) 4rem;align-items:center;display:flex;position:relative}.portfolio .hero__grid{width:min(var(--container), 100%);grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(1.5rem,1rem + 3vw,4rem);margin:0 auto;display:grid}.portfolio .eyebrow{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.4rem;font-size:.78rem}.portfolio .eyebrow b{color:var(--ink-faint);padding:0 .45rem;font-weight:400}.portfolio .hero__title{margin-bottom:1.5rem}.portfolio .line{font-family:var(--font-mono);letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap;font-size:clamp(2.4rem,.4rem + 6.4vw,5.5rem);font-weight:700;line-height:.96;display:block}.portfolio .line--fill{color:var(--ink)}.portfolio .line--grad>span{background:linear-gradient(105deg, var(--ink) 8%, var(--accent) 78%);color:#0000;-webkit-background-clip:text;background-clip:text}.portfolio .blink{background:var(--accent);vertical-align:baseline;opacity:0;width:.42em;height:.72em;margin-left:.12em;display:inline-block;translate:0 .06em}.portfolio .hero.is-in .blink{opacity:1;animation:1.05s step-end infinite caret}@keyframes caret{50%{opacity:0}}.portfolio .hero__lead{max-width:42ch;color:var(--ink-soft);opacity:0;transition:opacity .7s var(--ease) .15s, transform .7s var(--ease) .15s;margin-bottom:1.8rem;font-size:clamp(1.05rem,.98rem + .4vw,1.25rem);transform:translateY(18px)}.portfolio .hero.is-in .hero__lead,.portfolio .hero.is-in .hero__actions,.portfolio .hero.is-in .status-strip{opacity:1;transform:none}.portfolio .hero__actions{opacity:0;transition:opacity .7s var(--ease) .28s, transform .7s var(--ease) .28s;flex-wrap:wrap;gap:.9rem;margin-bottom:2.2rem;display:flex;transform:translateY(18px)}.portfolio .p-btn,.portfolio .p-text{align-items:center;gap:.7rem;display:inline-flex}.portfolio .p-btn{background:var(--ink);color:var(--bg);cursor:pointer;border:0;border-radius:999px;padding:.75rem 1.05rem;font-size:.92rem;font-weight:600}.portfolio .p-btn:hover{background:var(--accent);color:var(--accent-ink)}.portfolio .p-btn:disabled{opacity:.6;cursor:wait}.portfolio .p-text{border-bottom:1px solid var(--line-strong);padding-bottom:.15rem;font-size:.92rem}.portfolio .status-strip{border-top:1px solid var(--line);opacity:0;transition:opacity .7s var(--ease) .4s, transform .7s var(--ease) .4s;flex-wrap:wrap;gap:.4rem 1.6rem;margin:0;padding-top:1.2rem;display:flex;transform:translateY(18px)}.portfolio .status-strip div{align-items:center;gap:.55rem;display:flex}.portfolio .status-strip dt{color:var(--ink-faint);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.64rem}.portfolio .status-strip dd{color:var(--ink-soft);font-family:var(--font-mono);margin:0;font-size:.82rem}.portfolio .status-strip i{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-right:.35rem;display:inline-block}.portfolio .scroll-cue{left:var(--gutter);color:var(--ink-faint);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;position:absolute;bottom:1.4rem}.portfolio .scroll-cue span{color:var(--accent);margin-right:.4rem}.portfolio .hero__graph{justify-content:center;display:flex}.portfolio .git{width:min(460px,100%);height:auto;overflow:visible}.portfolio .git__main{fill:none;stroke:var(--line-strong);stroke-width:2px}.portfolio .git__branch{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:8 8;animation:1.4s linear infinite dash}.portfolio .git__node circle,.portfolio .git__release circle{fill:var(--bg);stroke:var(--accent);stroke-width:2.5px}.portfolio .git__node text,.portfolio .git__release text{fill:var(--ink-muted);font-family:var(--font-mono);font-size:13px}.portfolio .git__node.is-active circle{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--accent) 55%, transparent))}.portfolio .git__release rect{fill:var(--accent)}.portfolio .git__release text{fill:var(--accent-ink);font-weight:700}@keyframes dash{to{stroke-dashoffset:-32px}}.portfolio .marquee{border-block:1px solid var(--line);color:var(--ink-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;padding:.9rem 0;font-size:.72rem;overflow:hidden}.portfolio .marquee__track{gap:1.6rem;width:max-content;animation:32s linear infinite ticker;display:flex}.portfolio .marquee b{color:var(--accent);margin-left:1.6rem}@keyframes ticker{to{transform:translate(-50%)}}.portfolio .block{width:min(var(--container), calc(100% - var(--gutter) * 2));margin:0 auto;padding:clamp(4.5rem,3rem + 6vw,8rem) 0}.portfolio .kicker{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;margin-bottom:.9rem;font-size:.75rem}.portfolio .block h2,.portfolio .about__grid h2{letter-spacing:-.045em;font-size:clamp(2rem,1.2rem + 2.6vw,3.3rem);line-height:1.02}.portfolio .block h2 em,.portfolio .about__grid h2 em{color:var(--accent);font-style:normal}.portfolio .prose-copy{max-width:58ch;color:var(--ink-soft);margin-top:1.3rem}.portfolio .prose-copy p+p{margin-top:.9rem}.portfolio .about__grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:clamp(1.5rem,2vw,4rem);display:grid}.portfolio .idcard{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, white 30%);border-radius:20px;padding:1.1rem 1.15rem .4rem}.dark .portfolio .idcard{background:#111318cc}.portfolio .idcard__top,.portfolio .idcard dl div{border-bottom:1px dashed var(--line);font-family:var(--font-mono);justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.75rem;display:flex}.portfolio .idcard__top{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em}.portfolio .idcard__top strong,.portfolio .idcard dd{color:var(--ink);font-weight:500}.portfolio .idcard dt{color:var(--ink-faint)}.portfolio .idcard dd{text-align:right;margin:0}.portfolio .idcard img{object-fit:cover;border-radius:16px;width:72px;height:72px;margin:.9rem 0}.portfolio .idcard i{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-right:.35rem;display:inline-block}.portfolio .principles{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:3.5rem;display:grid}.portfolio .principles article{border-right:1px solid var(--line);padding:1.3rem 1.2rem .2rem 0}.portfolio .principles article:last-child{border-right:0;padding-right:0}.portfolio .principles article:not(:first-child){padding-left:1.2rem}.portfolio .principles span{color:var(--accent);font-family:var(--font-mono);font-size:.75rem}.portfolio .principles h3{margin:1.4rem 0 .45rem;font-size:1.05rem}.portfolio .principles p{color:var(--ink-muted);font-size:.92rem}.portfolio .block__head{margin-bottom:2rem}.portfolio .block__note{max-width:46ch;color:var(--ink-muted);margin-top:.8rem}.portfolio .role{border-top:1px solid var(--line);grid-template-columns:240px 1fr;gap:1.5rem;padding:1.5rem 0;display:grid}.portfolio .role__meta p,.portfolio .role time{color:var(--accent);font-family:var(--font-mono);font-size:.75rem}.portfolio .role time{color:var(--ink-faint);margin-top:.35rem;display:block}.portfolio .role__meta h3{letter-spacing:-.03em;margin:.35rem 0;font-size:1.35rem}.portfolio .role h4{align-items:center;gap:.6rem;font-size:1.05rem;display:flex}.portfolio .role h4 span{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);font-family:var(--font-mono);border-radius:999px;padding:.1rem .45rem;font-size:.68rem;font-weight:500}.portfolio .role p{color:var(--ink-soft);margin-top:.45rem}.portfolio .role ul{flex-wrap:wrap;gap:.4rem;margin-top:.9rem;display:flex}.portfolio .role li{border:1px solid var(--line);color:var(--ink-muted);font-family:var(--font-mono);border-radius:999px;padding:.28rem .5rem;font-size:.68rem}.portfolio .stack{grid-template-columns:1.2fr .8fr;align-items:stretch;gap:1.2rem;display:grid}.portfolio .spec{--ink:#f4f6f8;--ink-muted:#8b93a0;--ink-faint:#78828e;--accent:#3ecf8e;color:var(--ink);font-family:var(--font-mono);background:#101318;border-radius:18px;font-size:.78rem;overflow:hidden}.portfolio .spec__bar{color:var(--ink-faint);border-bottom:1px solid #ffffff14;justify-content:space-between;gap:1rem;padding:.75rem 1rem;display:flex}.portfolio .spec pre{white-space:pre-wrap;margin:0;padding:1rem 1rem 1.2rem;line-height:1.7}.portfolio .spec pre span{border-radius:6px;display:block}.portfolio .spec pre i{color:#5c6570;margin-right:.8rem;font-style:normal}.portfolio .spec pre .is-hot{color:#5ff0ab;background:#3ecf8e1f}.portfolio .stack__cards{gap:.75rem;display:grid}.portfolio .stack__cards article{border:1px solid var(--line);background:var(--surface);transition:border-color .22s var(--ease), background .22s var(--ease);border-radius:16px;padding:1rem 1.05rem}.portfolio .stack__cards article.is-hot{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.portfolio .stack__cards span{color:var(--accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.portfolio .stack__cards h3{margin:.35rem 0;font-size:1.05rem}.portfolio .stack__cards p{color:var(--ink-muted);font-size:.92rem}.portfolio .edu{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:1.4rem;margin-top:1.6rem;padding:1.3rem 0;display:grid}.portfolio .edu>p{color:var(--accent);font-family:var(--font-mono)}.portfolio .edu h3{font-size:1.2rem}.portfolio .edu div p{color:var(--ink-muted)}.portfolio .edu a{color:var(--accent);white-space:nowrap;font-weight:600}.portfolio .contact{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(1.5rem,3vw,4rem);display:grid}.portfolio .contact__links{flex-wrap:wrap;align-items:center;gap:1rem;margin:1.4rem 0;display:flex}.portfolio .clip{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink-soft);font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;flex-wrap:wrap;gap:.6rem 1rem;padding:.75rem 0;font-size:.78rem;display:flex}.portfolio .clip span{color:var(--accent)}.portfolio .clip strong{color:var(--accent);margin-left:auto;font-weight:500}.portfolio .contact__base{color:var(--ink-faint);font-family:var(--font-mono);margin-top:1.2rem;font-size:.78rem}.portfolio .p-form{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 82%, white 18%);border-radius:20px;gap:.85rem;padding:1.2rem;display:grid}.dark .portfolio .p-form{background:#111318b8}.portfolio .p-form__label{color:var(--ink-faint);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.portfolio .p-form__row{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.portfolio .p-form label{color:var(--ink-muted);gap:.35rem;font-size:.82rem;display:grid}.portfolio .p-form input,.portfolio .p-form textarea{border:1px solid var(--line);background:0 0;border-radius:12px;outline:none;width:100%;padding:.75rem .8rem}.portfolio .p-form input:focus,.portfolio .p-form textarea:focus{border-color:var(--accent)}.portfolio .p-form small,.portfolio .p-form__error{color:var(--danger);font-size:.75rem}.portfolio .p-form--done{text-align:left}.portfolio .p-form--done h3{margin-bottom:.4rem}.portfolio .p-form--done p{color:var(--ink-soft);margin-bottom:1rem}.portfolio .site-footer{width:min(var(--container), calc(100% - var(--gutter) * 2));border-top:1px solid var(--line);color:var(--ink-muted);font-family:var(--font-mono);flex-wrap:wrap;justify-content:space-between;gap:.8rem 1.4rem;margin:0 auto;padding:1.4rem 0 2rem;font-size:.75rem;display:flex}.portfolio .site-footer strong{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:8px;place-items:center;margin-right:.45rem;display:inline-grid}.portfolio .site-footer nav{flex-wrap:wrap;gap:.9rem;display:flex}.portfolio .site-footer a:hover{color:var(--accent)}.portfolio .blog-main{width:min(var(--container), calc(100% - var(--gutter) * 2));min-height:calc(100dvh - 8rem);margin:0 auto;padding:7.5rem 0 4.5rem}.portfolio .blog-main h1{letter-spacing:-.045em;font-size:clamp(2rem,1.2rem + 2.6vw,3.3rem);line-height:1.02}.portfolio .blog-index .block__note{margin-bottom:2rem}.portfolio .post-row{border-top:1px solid var(--line);grid-template-columns:200px 1fr;align-items:start;gap:1.4rem;padding:1.4rem 0;display:grid}.portfolio .post-row--text{grid-template-columns:1fr}.portfolio .post-row img{object-fit:cover;border-radius:14px;width:100%;height:132px}.portfolio .post-row time,.portfolio .blog-byline{color:var(--accent);font-family:var(--font-mono);font-size:.75rem}.portfolio .post-row h2{letter-spacing:-.03em;margin:.35rem 0;font-size:1.35rem}.portfolio .post-row h2 a:hover{color:var(--accent)}.portfolio .post-row p{color:var(--ink-soft)}.portfolio .post-row .p-text{margin-top:.8rem}.portfolio .blog-article{max-width:760px}.portfolio .blog-article>.p-text{margin-bottom:1.6rem}.portfolio .blog-article .kicker{margin-top:1.4rem}.portfolio .blog-article h1{margin:.2rem 0 .6rem}.portfolio .blog-cover{object-fit:cover;border-radius:18px;width:100%;max-height:420px;margin:1.6rem 0 .4rem}.portfolio .blog-empty{max-width:36rem;padding:2rem 0 1rem}.portfolio .blog-empty h1,.portfolio .blog-empty h2{margin-bottom:.6rem}.portfolio .blog-empty p{color:var(--ink-soft);margin-bottom:1.2rem}.portfolio .blog-empty .p-btn{margin-right:1rem}.portfolio .prose{max-width:68ch;color:var(--ink-soft);margin-top:1.8rem}.portfolio .prose h2,.portfolio .prose h3{color:var(--ink);letter-spacing:-.03em}.portfolio .prose a{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent)}.portfolio .prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.portfolio .prose pre,.portfolio .prose code{background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--ink)}.portfolio .prose pre{border-radius:14px}.portfolio .prose pre code{color:inherit;background:0 0;padding:0}.portfolio .prose blockquote{border-left-color:var(--accent);color:var(--ink-muted)}@media (max-width:1080px){.portfolio .hero__grid,.portfolio .about__grid,.portfolio .stack,.portfolio .contact,.portfolio .role{grid-template-columns:1fr}.portfolio .hero__graph{margin-top:1rem}.portfolio .line{white-space:normal}.portfolio .nav__status{display:none}.portfolio .idcard{max-width:440px}}@media (max-width:900px){.portfolio .site-header.is-scrolled .nav{max-width:var(--container)}.portfolio .nav{position:relative}.portfolio .nav__toggle{display:flex}.portfolio .nav__links{border:1px solid var(--line-strong);background:var(--menu-glass);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);opacity:0;pointer-events:none;border-radius:18px;flex-direction:column;align-items:stretch;margin:0;padding:.55rem;position:absolute;top:calc(100% + .6rem);left:0;right:0;transform:translateY(-8px)scale(.98)}.portfolio .nav.is-open .nav__links{opacity:1;pointer-events:auto;transform:none}.portfolio .nav__right{margin-left:auto}.portfolio .nav__link.is-active:before{display:none}.portfolio .nav__link.is-active{background:var(--surface-2)}.portfolio .principles{grid-template-columns:1fr}.portfolio .principles article,.portfolio .principles article:not(:first-child){border-right:0;border-bottom:1px solid var(--line);padding:1rem 0}.portfolio .edu{grid-template-columns:1fr}}@media (max-width:560px){.portfolio .nav__cta,.portfolio .brand__role,.portfolio .scroll-cue{display:none}.portfolio .p-form__row{grid-template-columns:1fr}.portfolio .boot__stages{grid-template-columns:1fr 1fr}}@media (max-width:700px){.portfolio .post-row{grid-template-columns:1fr}.portfolio .post-row img{height:180px}}@media (prefers-reduced-motion:reduce){.portfolio *,.portfolio :before,.portfolio :after{transition:none!important;animation:none!important}.portfolio .hero__lead,.portfolio .hero__actions,.portfolio .status-strip,.portfolio .blink{opacity:1!important;transform:none!important}}@media (scripting:none){.portfolio .boot{display:none}}
