@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_da832ead-module__aN_Ytq__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_da832ead-module__aN_Ytq__variable{--font-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_31187869-module__YeGXRW__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_31187869-module__YeGXRW__variable{--font-mono:"Geist Mono", "Geist Mono Fallback"}
*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--sb-size:12px;--page-pad:clamp(1.25rem, 8vw, 8rem)}html,body{scroll-behavior:smooth;scrollbar-width:auto;scrollbar-color:#9b8cff #171717;background:#101010}body::-webkit-scrollbar{width:var(--sb-size)}body::-webkit-scrollbar-track{background:#171717;border-radius:0}body::-webkit-scrollbar-thumb{background:#9b8cff;border-radius:0}body::-webkit-scrollbar-thumb:hover{background:#b7aaff}::selection{color:#101010;background:#9b8cff}body{color:#f4f4f0;background:#101010;margin:0;overflow-x:hidden}@keyframes home-spin{to{transform:rotate(360deg)}}.loader{border:1px solid #9b8cff;border-color:#9b8cff #c6bcff #fff3 #fff3;border-radius:50%;width:2rem;height:2rem;animation:.9s linear infinite home-spin}.portfolio-shell{color:#f4f4f0;min-height:100svh;font-family:var(--font-sans), sans-serif;background-color:#101010;background-image:linear-gradient(115deg,#9b8cff0a,#0000 30%),linear-gradient(#101010 0%,#121212 52%,#101010 100%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;overflow:visible}.portfolio-header,.portfolio-footer{color:#8f8f8a;justify-content:space-between;align-items:center;gap:1.5rem;min-height:5rem;padding:1.25rem clamp(1.5rem,6vw,6rem);font-size:.75rem;display:flex}.portfolio-header{z-index:20;-webkit-backdrop-filter:blur(14px);background:#101010eb;border-bottom:1px solid #292927;height:4.5rem;min-height:4.5rem;position:sticky;top:0}.portfolio-brand{color:#f4f4f0;letter-spacing:-.04em;align-items:baseline;gap:.35rem;font-weight:600;text-decoration:none;display:inline-flex}.brand-word{transition:transform .3s cubic-bezier(.2,.8,.2,1),color .3s}.brand-initials{color:#9b8cff;letter-spacing:.08em;font-size:.72em;transition:transform .3s cubic-bezier(.2,.8,.2,1),color .3s}.portfolio-brand:hover .brand-word{color:#fff;transform:translate(.15rem)}.portfolio-brand:hover .brand-initials{color:#c9c5ef;transform:translate(.25rem)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.brand-initials{animation:none}.portfolio-brand:hover .brand-word,.portfolio-brand:hover .brand-initials{transform:none}}.portfolio-nav-wrap{position:relative}.portfolio-nav{gap:1.5rem;display:flex}.portfolio-nav a{color:#8f8f8a;text-decoration:none;transition:color .18s;position:relative}.portfolio-nav a:after{content:"";transform-origin:100%;background:#9b8cff;height:1px;transition:transform .24s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:-.4rem;left:0;right:0;transform:scaleX(0)}.portfolio-nav a:hover{color:#f4f4f0}.portfolio-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.portfolio-menu-button{color:#f4f4f0;font:inherit;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #343431;padding:.55rem .7rem;font-size:.68rem;display:none}.portfolio-header a:not(.portfolio-brand),.portfolio-footer a{color:inherit;text-decoration:none;transition:color .18s}.portfolio-header a:hover,.portfolio-footer a:hover,.section-copy a{color:#f4f4f0}.portfolio-hero{box-sizing:border-box;flex-direction:column;justify-content:center;max-width:1100px;min-height:calc(100svh - 4.5rem);padding:clamp(4rem,8vw,6rem) clamp(1.5rem,11vw,11rem) clamp(4rem,7vw,6rem);display:flex}.portfolio-hero-copy{margin-top:2rem}.motion-ready .portfolio-hero-heading>*,.motion-ready .portfolio-hero-copy>*{opacity:0;will-change:opacity, transform;transform:translateY(40px)}.motion-ready .portfolio-rule{transform-origin:0;will-change:transform;transform:scaleX(0)}.portfolio-hero-copy .portfolio-intro{margin-top:0}.portfolio-kicker,.section-label,.experience-period{color:#8f8f8a;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.7rem}.portfolio-kicker{margin-bottom:2rem}.portfolio-hero h1{color:#9b8cff;letter-spacing:-.075em;margin:0;font-size:clamp(4rem,8vw,7.5rem);font-weight:500;line-height:.88}.portfolio-hero h1 .hero-first-name{color:#f4f4f0;display:inline-block}.portfolio-hero h1 em{color:#9b8cff;white-space:nowrap;font-style:normal;display:inline-block}.section-label,.portfolio-section>div{will-change:transform, opacity}@media (prefers-reduced-motion:reduce){.section-label,.portfolio-section>div{will-change:auto}}.hero-period{margin-left:.08em;display:inline-block}.portfolio-intro{color:#a6a6a0;max-width:470px;margin:2.5rem 0 2rem;font-size:1.05rem;line-height:1.65}.text-link{color:#f4f4f0;font-size:.85rem;text-decoration:none}.text-link span{margin-left:.35rem;transition:transform .18s;display:inline-block}.text-link:hover span{transform:translate(3px,-3px)}.portfolio-rule{background:#292927;height:1px;margin:0 clamp(1.5rem,6vw,6rem)}.portfolio-section{box-sizing:border-box;min-height:calc(100svh - 4.5rem);padding:clamp(4rem, 8vw, 7rem) var(--page-pad);border-bottom:0;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);align-content:center;gap:clamp(2rem,7vw,8rem);scroll-margin-top:4.5rem;display:grid;position:relative}.portfolio-section:after{content:"";background:#292927;height:1px;position:absolute;bottom:0;left:clamp(1.5rem,6vw,6rem);right:clamp(1.5rem,6vw,6rem)}.portfolio-section h2{letter-spacing:-.055em;max-width:650px;margin:0;font-size:clamp(2rem,4vw,4rem);font-weight:450;line-height:1.02}.section-copy{color:#a6a6a0;max-width:600px;margin:1.75rem 0 0;font-size:1rem;line-height:1.7}.section-copy a{text-underline-offset:3px}.skill-list{flex-wrap:wrap;gap:.6rem;margin-top:2.5rem;display:flex}.skill-pill{color:#c4c4bd;cursor:default;border:1px solid #343431;padding:.65rem .85rem;font-size:.75rem;transition:border-color .22s,color .22s,background-color .22s,transform .22s,box-shadow .22s;position:relative;overflow:hidden}.skill-pill:hover{color:#f4f4f0;background:#9b8cff14;border-color:#9b8cff;transform:translateY(-.3rem)rotate(-1deg);box-shadow:0 .5rem 1.5rem #9b8cff1f}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.skill-pill{transition:none;animation:none}.skill-pill:hover{transform:none}.portfolio-section{animation:none}.portfolio-nav a:after{transition:none}}.portfolio-section>.section-label{align-self:start;height:fit-content;position:sticky;top:6.5rem}.portfolio-section-content{min-width:0}.experience-section,.projects-section{align-content:start;align-items:start}.experience-section{min-height:max(100svh,42rem)}.experience-list{gap:0;min-width:0;padding-bottom:1rem;display:grid}.experience-section>.section-label,.projects-section>.section-label{margin-top:.35rem}.experience-item{grid-template-columns:minmax(130px,.35fr) 1fr;gap:2rem;padding:0 0 3rem;display:grid}.experience-item+.experience-item{border-top:1px solid #292927;padding-top:3rem}.experience-item h3{margin:0;font-size:1.25rem;font-weight:500}.experience-company{color:#9b8cff;margin:.4rem 0 1.25rem;font-size:.85rem}.experience-detail{color:#a6a6a0;max-width:560px;margin:0;line-height:1.65}.experience-item>div{max-width:42rem}.projects-heading{border-bottom:1px solid #292927;justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:2rem;display:flex}.projects-heading h2{max-width:720px}.projects-loader{border:1px solid #9b8cff;border-color:#9b8cff #c6bcff #f4f4f033 #f4f4f033;border-radius:50%;flex:none;width:1.25rem;height:1.25rem;margin:.25rem 0 0}.projects-section{background:#151515}.projects-empty{color:#8f8f8a;align-items:center;gap:1rem;padding:4rem 0;display:flex}.projects-empty p{color:#f4f4f0;margin:0;font-size:1.15rem}.contact-grid{grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,8vw,8rem);display:grid}.contact-form{gap:1.25rem;display:grid}.contact-form label{color:#a6a6a0;gap:.55rem;font-size:.75rem;display:grid}.contact-form input,.contact-form textarea{box-sizing:border-box;color:#f4f4f0;width:100%;font:inherit;resize:vertical;background:0 0;border:0;border-bottom:1px solid #444440;border-radius:0;outline:none;padding:.65rem 0;transition:border-color .18s}.contact-form input:focus,.contact-form textarea:focus{border-color:#9b8cff}.contact-form button{color:#101010;font:inherit;cursor:pointer;background:#f4f4f0;border:1px solid #f4f4f0;justify-self:start;margin-top:.5rem;padding:.85rem 1.1rem;transition:background .18s,color .18s}.contact-form button:focus-visible,.portfolio-nav a:focus-visible,.text-link:focus-visible,.admin-secondary:focus-visible,.admin-save:focus-visible,.admin-sidebar a:focus-visible{outline-offset:4px;outline:2px solid #c6bcff}.contact-form button:hover{background:#9b8cff;border-color:#9b8cff}.portfolio-footer{z-index:1;box-sizing:border-box;border-top:1px solid #292927;grid-template-columns:1fr auto 1fr;align-items:center;min-height:0;display:grid;position:relative}.portfolio-footer span:last-child,.portfolio-footer a{justify-self:end}.admin-shell{color:#f4f4f0;min-height:100svh;font-family:var(--font-sans), sans-serif;background:#101010;place-items:center;padding:2rem 1.25rem;display:grid}.admin-card{background:#151515;border:1px solid #292927;width:min(100%,440px);padding:clamp(2rem,5vw,3.5rem)}.admin-card>a{color:#f4f4f0;font-size:.85rem;font-weight:600;text-decoration:none}.admin-card .section-label{margin:3.5rem 0 1rem}.admin-card h1{letter-spacing:-.065em;margin:0 0 2.5rem;font-size:clamp(2.5rem,7vw,4rem);font-weight:500;line-height:.95}.admin-card .contact-form{gap:1.5rem}.admin-card .contact-form label{color:#a6a6a0}.admin-card .contact-form input{background:#101010;border:1px solid #343431;padding:.85rem .9rem}.admin-card .contact-form input:focus{border-color:#9b8cff}.admin-card .contact-form button{width:100%;margin-top:.75rem}.admin-card [role=alert]{color:#d58a8a;margin:0;font-size:.8rem}@media (max-width:700px){.portfolio-header,.portfolio-footer{padding:1.25rem}.portfolio-header{flex-direction:row;align-items:center;gap:1rem;height:4.25rem;min-height:4.25rem}.portfolio-menu-button{display:block}.portfolio-nav{z-index:10;background:#151515;border:1px solid #343431;min-width:10rem;padding:.5rem;display:none;position:absolute;top:calc(100% + .75rem);right:0;box-shadow:0 12px 30px #00000040}.portfolio-nav.is-open{gap:0;display:grid}.portfolio-nav a{padding:.75rem;font-size:.75rem}.portfolio-footer{text-align:center;border-top:1px solid #292927;grid-template-columns:1fr;justify-items:center;gap:.65rem;width:100%;min-height:0;margin-top:2rem;padding:2.5rem 1.25rem 3rem;display:grid}.portfolio-footer span,.portfolio-footer a{overflow-wrap:anywhere;max-width:100%;display:block}.portfolio-footer span:last-child,.portfolio-footer a{justify-self:center}.portfolio-footer a{overflow-wrap:anywhere;margin-left:0}.portfolio-hero{min-height:calc(100svh - 4.25rem);padding:3.5rem 1.25rem 4rem;overflow:hidden}.portfolio-hero h1{letter-spacing:-.09em;width:100%;max-width:100%;font-size:clamp(2.7rem,13vw,5.5rem);line-height:.92}.portfolio-hero h1 .hero-first-name,.portfolio-hero h1 em{max-width:100%}.portfolio-hero h1 em{white-space:normal;overflow-wrap:break-word}.portfolio-intro{margin-top:2rem;font-size:.95rem}.portfolio-hero-copy{margin-top:1.5rem}.portfolio-hero-copy .portfolio-intro{margin-top:0}.portfolio-section,.contact-grid{grid-template-columns:1fr;gap:2rem}.portfolio-section>.section-label{height:auto;position:static}.experience-list{min-width:0}.experience-section,.projects-section{align-content:start}.experience-section{min-height:0}.portfolio-section{min-height:calc(100svh - 4.25rem);padding:3.5rem 1.25rem}.projects-heading{align-items:flex-start;gap:1.5rem}.projects-empty{align-items:flex-start;padding:3rem 0 1rem}.projects-empty .projects-loader{margin-top:.2rem}.portfolio-section h2{font-size:clamp(2rem,10vw,3rem)}.experience-item{grid-template-columns:1fr;gap:.75rem}.portfolio-footer{text-align:center;flex-direction:column;align-items:center;gap:.65rem;min-height:0;padding:2rem 1.25rem 2.5rem;font-size:.7rem}.portfolio-footer span,.portfolio-footer a{overflow-wrap:anywhere;text-align:center;max-width:100%}.contact-form button{width:100%}}@media (prefers-reduced-motion:reduce){.portfolio-hero,.portfolio-kicker,.portfolio-hero h1,.portfolio-hero-copy,.projects-loader{animation:none}.text-link span{transition:none}}.admin-dashboard{color:#f4f4f0;min-height:100svh;font-family:var(--font-sans), sans-serif;background:linear-gradient(135deg,#9b8cff0a,#0000 28%),#101010}.admin-topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#101010e0;border-bottom:1px solid #292927;justify-content:space-between;align-items:flex-end;gap:2rem;padding:2rem clamp(1.25rem,5vw,5rem) 2.25rem;display:flex;position:sticky;top:0}.admin-back{color:#a6a6a0;font-size:.8rem;text-decoration:none}.admin-back:hover{color:#f4f4f0}.admin-eyebrow{color:#8f8f8a;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .7rem;font-size:.68rem}.admin-topbar h1{letter-spacing:-.06em;margin:0;font-size:clamp(2rem,4vw,3.6rem);font-weight:500;line-height:.95}.admin-top-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.admin-tabs{border-bottom:1px solid #292927;gap:1.5rem;max-width:1260px;margin:0 auto;padding:0 clamp(1.25rem,5vw,5rem);display:flex}.admin-tabs button{color:#777772;font:inherit;cursor:pointer;background:0 0;border:0;padding:1rem 0 .85rem;font-size:.78rem;position:relative}.admin-tabs button:after{content:"";opacity:0;background:#9b8cff;height:2px;transition:opacity .18s,transform .18s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(.5)}.admin-tabs button:hover,.admin-tabs button.is-active{color:#f4f4f0}.admin-tabs button.is-active:after{opacity:1;transform:scaleX(1)}.admin-tabs button:focus-visible{outline-offset:4px;outline:2px solid #c6bcff}.admin-user{color:#8f8f8a;font-size:.78rem}.admin-dirty{color:#7f9a7f;padding-left:1.1rem;font-size:.75rem;position:relative}.admin-dirty:before{content:"";background:#6fbf7f;border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:50%;left:0;transform:translateY(-50%)}.admin-dirty.is-dirty{color:#d7b56d}.admin-dirty.is-dirty:before{background:#e0a94f;animation:1.6s ease-in-out infinite admin-pulse}@keyframes admin-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.admin-dirty.is-dirty:before{animation:none}}.admin-stats{flex-wrap:wrap;align-items:stretch;gap:1px;max-width:1260px;margin:0 auto;padding:2rem clamp(1.25rem,5vw,5rem) 0;display:flex}.admin-stat{background:#151515;border:1px solid #292927;flex-direction:column;gap:.35rem;min-width:8.5rem;padding:1rem 1.25rem;display:flex}.admin-stat-value{color:#9b8cff;letter-spacing:-.04em;font-size:1.6rem;font-weight:500}.admin-stat-label{color:#8f8f8a;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem}.admin-hint{color:#777772;align-items:center;margin-left:auto;padding:0 .25rem;font-size:.75rem;display:flex}@media (max-width:760px){.admin-hint{display:none}}.admin-muted{color:#8f8f8a;margin:0;font-size:.85rem}.admin-error{color:#e8aaaa;background:#d58a8a14;border-left:2px solid #d58a8a;margin:0;padding:.75rem .9rem;font-size:.85rem}.admin-inbox-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.admin-inbox-actions .admin-secondary{padding:.5rem .8rem;font-size:.72rem}.admin-inbox-actions .admin-secondary:disabled{cursor:default;opacity:.5}@media (max-width:600px){.admin-inbox-actions{justify-content:flex-start}}.admin-layout{grid-template-columns:190px minmax(0,820px);gap:clamp(2rem,6vw,7rem);max-width:1260px;margin:0 auto;padding:3rem clamp(1.25rem,5vw,5rem) 6rem;display:grid}.admin-layout-inbox{display:block}.admin-layout-inbox .admin-content{max-width:820px;margin:0 auto}.admin-sidebar{align-self:start;gap:.8rem;display:grid;position:sticky;top:2rem}.admin-sidebar-label{color:#8f8f8a;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.68rem}.admin-sidebar a{color:#8f8f8a;font-size:.85rem;text-decoration:none}.admin-sidebar a:hover{color:#f4f4f0}.admin-content{gap:1rem;min-width:0;display:grid}.admin-panel{background:#151515e0;border:1px solid #292927;padding:clamp(1.25rem,3vw,2.25rem);box-shadow:0 1.5rem 4rem #0000001f}.admin-collapsible>summary{cursor:pointer;list-style:none}.admin-collapsible>summary::-webkit-details-marker{display:none}.admin-collapsible>summary:after{content:"+";color:#9b8cff;font-size:1.35rem;line-height:1}.admin-collapsible[open]>summary:after{content:"−"}.admin-collapsible>summary .admin-panel-heading{margin-bottom:0}.admin-panel-content{padding-top:2rem}.admin-panel-heading{justify-content:space-between;gap:2rem;margin-bottom:2rem;display:flex}.admin-panel-heading h2{letter-spacing:-.04em;margin:0;font-size:1.45rem;font-weight:500}.admin-panel-heading>p{color:#8f8f8a;max-width:190px;margin:0;font-size:.8rem;line-height:1.5}.admin-field{color:#a6a6a0;gap:.55rem;font-size:.78rem;display:grid}.admin-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.admin-field-wide{grid-column:1/-1}.admin-field input,.admin-field textarea{box-sizing:border-box;color:#f4f4f0;width:100%;font:inherit;resize:vertical;background:#101010;border:1px solid #343431;border-radius:0;outline:0;padding:.85rem .9rem;font-size:.9rem;line-height:1.5}.admin-field input:focus,.admin-field textarea:focus{border-color:#9b8cff}.admin-tags{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.admin-tag{background:#101010;border:1px solid #343431;align-items:center;display:flex}.admin-tag input{color:#f4f4f0;width:7rem;font:inherit;background:0 0;border:0;outline:0;padding:.65rem .7rem;font-size:.8rem}.admin-tag button,.admin-remove{color:#8f8f8a;cursor:pointer;background:0 0;border:0}.admin-tag button{padding:.5rem;font-size:1rem}.admin-tag button:hover,.admin-remove:hover{color:#f4f4f0}.admin-secondary,.admin-save{color:#f4f4f0;font:inherit;cursor:pointer;background:0 0;border:1px solid #343431;padding:.75rem 1rem;font-size:.8rem}.admin-secondary:hover{border-color:#9b8cff}.admin-danger{color:#d58a8a;font:inherit;cursor:pointer;background:0 0;border:1px solid #d58a8a73;padding:.75rem 1rem;font-size:.8rem}.admin-danger:hover{color:#f0b0b0;background:#d58a8a1a;border-color:#d58a8a}.admin-danger:disabled{cursor:wait;opacity:.5}.admin-danger:focus-visible{outline-offset:4px;outline:2px solid #e8aaaa}.admin-save{color:#101010;background:#f4f4f0;border-color:#f4f4f0}.admin-save:hover{background:#9b8cff;border-color:#9b8cff}.admin-save:disabled{cursor:wait;opacity:.65}.admin-experience-list{gap:1rem;margin-bottom:1rem;display:grid}.admin-experience-card{background:#101010;border:1px solid #292927;padding:1.25rem}.admin-experience-card-top{color:#8f8f8a;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;font-size:.68rem;display:flex}.admin-item-collapsible>summary{cursor:pointer;list-style:none}.admin-item-collapsible>summary::-webkit-details-marker{display:none}.admin-item-collapsible>summary:after{content:"+";color:#9b8cff;font-size:1rem}.admin-item-collapsible[open]>summary:after{content:"−"}.admin-item-collapsible[open]>summary{margin-bottom:1.25rem}.admin-item-summary-actions{align-items:center;gap:1rem;margin-left:auto;display:flex}.admin-item-summary-actions>span{color:#7772a8;letter-spacing:.04em;font-size:.62rem}.admin-remove{font:inherit;text-transform:uppercase;padding:0;font-size:.68rem}.admin-bottom-actions{align-items:center;gap:1rem;padding-top:1rem;display:flex}.admin-status{color:#9b8cff;font-size:.8rem}.admin-inbox{margin-bottom:1rem}.admin-inbox-count{color:#9b8cff;font-size:.75rem}.admin-message-list{gap:.75rem;display:grid}.admin-message{background:#101010;border:1px solid #343431;padding:1rem}.admin-message.is-unread{border-color:#6f62c9}.admin-message.is-unread:before{content:"";background:#9b8cff;border-radius:50%;width:.45rem;height:.45rem;margin-bottom:.75rem;display:block}.admin-message-top{justify-content:space-between;gap:1rem;display:flex}.admin-message h3{color:#f4f4f0;margin:0 0 .25rem;font-size:1rem}.admin-message a,.admin-message time{color:#9b8cff;font-size:.75rem}.admin-message p{white-space:pre-wrap;color:#c4c4bd;margin:1rem 0;line-height:1.6}.form-status{color:#9b8cff;min-height:1.25rem;margin:0;font-size:.8rem}.contact-form button:disabled{cursor:wait;opacity:.65}@media (max-width:600px){.admin-message-top{flex-direction:column;gap:.5rem}}@media (max-width:760px){.admin-topbar{flex-direction:column;align-items:flex-start}.admin-top-actions{justify-content:space-between;width:100%}.admin-layout{padding-top:1.5rem;display:block}.admin-sidebar{white-space:nowrap;gap:1rem;margin-bottom:1.5rem;padding-bottom:.75rem;display:flex;position:static;overflow-x:auto}.admin-sidebar-label{display:none}.admin-fields-grid{grid-template-columns:1fr}.admin-field-wide{grid-column:auto}.admin-panel-heading{display:block}.admin-panel-heading>p{margin-top:.75rem}}@media (max-width:420px){.admin-shell{padding:1rem}.admin-card{padding:1.5rem}.admin-card .section-label{margin-top:2.5rem}.admin-card h1{margin-bottom:2rem;font-size:2.5rem}.admin-topbar{padding:1.25rem}.admin-topbar h1{font-size:2.25rem}.admin-layout{padding-left:1.25rem;padding-right:1.25rem}.admin-panel{padding:1rem}.admin-panel-heading h2{font-size:1.25rem}.admin-top-actions{flex-direction:column;align-items:flex-start;gap:.8rem}.admin-save-top{width:100%}.admin-bottom-actions{flex-direction:column;align-items:stretch}.admin-bottom-actions>*{text-align:center;width:100%}.admin-experience-card{padding:1rem}}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.5rem;display:grid}.project-card{background:#101010;border:1px solid #343431;min-width:0;transition:border-color .18s,transform .18s}.project-card:hover{border-color:#7772a8;transform:translateY(-3px)}.project-card-header{color:#8f8f8a;letter-spacing:.1em;border-bottom:1px solid #292927;justify-content:space-between;align-items:center;padding:.8rem 1rem;font-size:.7rem;display:flex}.project-card-art{width:calc(100% - 2rem);min-height:10rem;font:inherit;cursor:pointer;background-color:#27233d;background-position:50%;background-size:cover;border:0;margin:1rem;padding:0;display:block}.project-card-body{gap:1rem;padding:1.25rem;display:grid}.project-category{color:#9b8cff;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem;font-size:.7rem}.project-card h3{letter-spacing:-.04em;margin:0;font-size:1.35rem;font-weight:500}.project-card-body>p{color:#a6a6a0;min-height:3.3rem;margin:0;font-size:.85rem;line-height:1.55}.project-card-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.project-more,.project-link,.dialog-secondary,.dialog-link{color:#f4f4f0;width:fit-content;font:inherit;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;padding:0;font-size:.8rem}.project-more,.project-link{text-underline-offset:4px;text-decoration:underline}.project-link{color:#c9c5ef}.project-more{text-decoration:underline}.project-more span,.dialog-link span{margin-left:.35rem;transition:transform .18s;display:inline-block}.project-more:hover span,.dialog-link:hover span{transform:translate(3px,-3px)}.project-dialog-backdrop{z-index:100;background:#000000b8;place-items:start center;padding:5.75rem 1.25rem 1.5rem;display:grid;position:fixed;inset:0;overflow:hidden}.project-dialog{overscroll-behavior:contain;scrollbar-color:#9b8cff #151515;background:#151515;border:1px solid #48445f;width:min(100%,48rem);max-height:calc(100svh - 7.25rem);padding:clamp(1.5rem,5vw,2.5rem);position:relative;overflow-y:auto;box-shadow:0 1.5rem 5rem #00000059}.project-lightbox{background:#0d0d0d;margin:0 0 .7rem;position:relative;overflow:hidden}.project-lightbox img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.gallery-arrow{color:#fff;cursor:pointer;background:#101010bf;border:1px solid #ffffff40;padding:.55rem .7rem;position:absolute;top:50%;transform:translateY(-50%)}.gallery-prev{left:.7rem}.gallery-next{right:.7rem}.gallery-dots{justify-content:center;gap:.4rem;margin-bottom:1.5rem;display:flex}.gallery-dots button{cursor:pointer;background:#555;border:0;border-radius:50%;width:.4rem;height:.4rem;padding:0}.gallery-dots button.is-active{background:#c9c5ef}.project-dialog h2{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,6vw,3.5rem);font-weight:450}.dialog-details{color:#b8b8b1;gap:1rem;margin:1.5rem 0 2rem;line-height:1.7;display:grid}.dialog-details h3{color:#f4f4f0;margin:0;font-size:1.2rem;font-weight:500}.dialog-details p{margin:0}.dialog-details ul{gap:.45rem;margin:0;padding-left:1.2rem;display:grid}.dialog-close{color:#a6a6a0;cursor:pointer;background:0 0;border:0;font-size:1.5rem;position:absolute;top:.8rem;right:1rem}.dialog-actions{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.dialog-link{color:#c9c5ef;text-decoration:underline}.admin-project-list{gap:1rem;display:grid}.detail-block-editor{gap:.75rem;display:grid}.detail-block-row{grid-template-columns:8rem minmax(0,1fr) auto;align-items:start;gap:.65rem;display:grid}.detail-block-row select,.detail-block-row textarea{color:#f4f4f0;min-width:0;font:inherit;background:#101010;border:1px solid #343431;padding:.7rem;font-size:.8rem}.detail-block-row select:focus,.detail-block-row textarea:focus{border-color:#9b8cff;outline:0}.detail-block-actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.admin-field input[type=file]{padding:.65rem}.admin-field small{color:#9b8cff}.admin-gallery-manager{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;display:grid}.admin-gallery-item{background:#101010;border:1px solid #343431;overflow:hidden}.admin-gallery-item img{aspect-ratio:16/10;object-fit:cover;background:#27233d;width:100%;display:block}.admin-gallery-item-meta{color:#8f8f8a;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem;font-size:.68rem;display:flex}.admin-gallery-item-meta .admin-remove{font-size:.62rem}.admin-upload-row{gap:.45rem;display:grid}.admin-gallery-upload-field{order:10}.admin-project-gallery-field{order:11}.admin-cover-preview{gap:.55rem;max-width:18rem;margin-top:.75rem;display:grid}.admin-cover-preview img{aspect-ratio:16/10;object-fit:cover;background:#101010;border:1px solid #343431;width:100%;display:block}@media (max-width:600px){.detail-block-row{grid-template-columns:1fr}.detail-block-row .admin-remove{justify-self:start}}@media (max-width:700px){.project-gallery{grid-template-columns:1fr}}.portfolio-shell{--portfolio-accent:#9b8cff;--portfolio-accent-soft:#9b8cff1a;--portfolio-line:#f4f4f024;background-color:#101010;background-image:radial-gradient(circle at 82% 10%,#9b8cff14,#0000 22rem),linear-gradient(115deg,#ffffff05,#0000 32%),linear-gradient(#101010 0%,#121116 52%,#101010 100%)}.portfolio-shell .portfolio-header{border-color:var(--portfolio-line);background:#101010}.portfolio-shell .portfolio-brand{z-index:1;font-size:1rem;position:relative}.portfolio-shell .portfolio-nav{align-items:center;gap:clamp(1rem,2.5vw,2rem)}.portfolio-shell .portfolio-nav a{letter-spacing:.05em;text-transform:uppercase;font-size:.72rem}.portfolio-shell .portfolio-menu-button{border-color:var(--portfolio-line);min-width:2.6rem;min-height:2.6rem;padding:.65rem;display:none}.portfolio-shell .menu-icon{gap:.32rem;width:1.05rem;display:grid}.portfolio-shell .menu-icon i{transform-origin:50%;background:#f4f4f0;height:1px;transition:transform .22s;display:block}.portfolio-shell .menu-icon.is-open i:first-child{transform:translateY(.16rem)rotate(45deg)}.portfolio-shell .menu-icon.is-open i:last-child{transform:translateY(-.16rem)rotate(-45deg)}.portfolio-shell .portfolio-menu-button:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:4px}.portfolio-shell .portfolio-brand,.portfolio-shell .portfolio-header a:hover,.portfolio-shell .portfolio-footer a:hover,.portfolio-shell .section-copy a,.portfolio-shell .text-link{color:#f4f4f0}.portfolio-shell .brand-initials,.portfolio-shell .portfolio-hero h1 em,.portfolio-shell .experience-company,.portfolio-shell .project-category,.portfolio-shell .project-link{color:var(--portfolio-accent)}.portfolio-shell .portfolio-nav a:after,.portfolio-shell .portfolio-rule{background-color:var(--portfolio-line)}.portfolio-shell .portfolio-section,.portfolio-shell .portfolio-footer,.portfolio-shell .projects-heading{border-color:var(--portfolio-line)}.portfolio-shell .portfolio-section:after{background:var(--portfolio-line)}.portfolio-shell .hero-actions{flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;display:flex}.portfolio-shell .hero-availability{color:#8f9b8e;letter-spacing:.02em;align-items:center;gap:.5rem;font-size:.72rem;display:inline-flex}.portfolio-shell .hero-availability i{background:var(--portfolio-accent);width:.45rem;height:.45rem;box-shadow:0 0 0 .25rem var(--portfolio-accent-soft);border-radius:50%}.portfolio-shell .portfolio-kicker:before{background:var(--portfolio-accent);content:"";width:1.8rem;height:1px;margin:0 .7rem .2rem 0;display:inline-block}.portfolio-shell .portfolio-section>.section-label{color:#a7b0a5}.portfolio-shell .projects-section>div{will-change:opacity}.portfolio-shell .skill-pill{border-color:var(--portfolio-line);text-align:center;background:#ffffff05;justify-content:center;align-items:center;min-height:2.25rem;padding:.45rem .6rem;font-size:.68rem;display:flex}.portfolio-shell .skill-pill:hover{border-color:var(--portfolio-accent);background:var(--portfolio-accent-soft);transform:translateY(-.3rem);box-shadow:0 .75rem 2rem #9b8cff24}.portfolio-shell .skill-list{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:.65rem;max-width:42rem;display:grid}.portfolio-shell .projects-section{background:#ffffff05}.portfolio-shell .projects-heading{align-items:flex-end}.portfolio-shell .projects-heading-note{color:#8f9b8e;max-width:16rem;margin:0 0 .3rem;font-size:.8rem;line-height:1.5}.portfolio-shell .project-card{border-color:var(--portfolio-line);background:#080a0961;box-shadow:0 1.5rem 3rem #0000001a}.portfolio-shell .project-card:hover{border-color:#9b8cffa6;transform:translateY(-.45rem)}.portfolio-shell .project-card-art{background-color:#202820;min-height:13rem;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .5s}.portfolio-shell .project-card:hover .project-card-art{filter:saturate(1.1);transform:scale(1.015)}.portfolio-shell .contact-section{background:linear-gradient(120deg,#9b8cff12,#0000 42%)}.portfolio-shell .contact-section h2{max-width:28rem;font-size:clamp(2.6rem,5vw,5rem)}.portfolio-shell .contact-form input:focus,.portfolio-shell .contact-form textarea:focus{border-color:var(--portfolio-accent)}.portfolio-shell .contact-form button{border-color:var(--portfolio-accent);background:var(--portfolio-accent)}.portfolio-shell .contact-form button:hover{background:#f4f4f0;border-color:#f4f4f0}.portfolio-shell .back-to-top{z-index:25;border:1px solid var(--portfolio-accent);width:2.75rem;height:2.75rem;color:var(--portfolio-accent);opacity:0;pointer-events:none;background:#101010;place-items:center;font-size:1.25rem;line-height:1;text-decoration:none;transition:background .18s,color .18s,opacity .18s,transform .18s;display:grid;position:fixed;bottom:clamp(1rem,3vw,2.5rem);right:clamp(1rem,3vw,2.5rem);transform:translateY(.5rem);box-shadow:0 .75rem 2rem #0000003d}.portfolio-shell .back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.portfolio-shell .back-to-top:hover{background:var(--portfolio-accent);color:#101010;transform:translateY(-.2rem)}.portfolio-shell .back-to-top:focus-visible{outline-offset:4px;outline:2px solid #c6bcff}.portfolio-shell:has(.project-dialog-backdrop) .back-to-top{opacity:0;pointer-events:none;transform:translateY(.5rem)}@media (max-width:700px){.project-dialog-backdrop{padding:5.5rem 1rem 1.25rem}.project-dialog{width:100%;max-height:calc(100svh - 6.75rem)}.portfolio-shell .portfolio-nav{display:none}.portfolio-shell .portfolio-nav.is-open{display:grid}.portfolio-shell .portfolio-header{justify-content:space-between}.portfolio-shell .portfolio-menu-button{place-items:center;display:grid}.portfolio-shell .hero-actions{flex-direction:column;align-items:flex-start;gap:1rem}.portfolio-shell .projects-heading-note{max-width:20rem}.portfolio-shell .skill-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.portfolio-shell .skill-list{grid-template-columns:1fr}}
