@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:700 900;src:url(/fonts/montserrat-v31-latin/montserrat-v31-latin-900.woff2)format("woff2")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400 500;src:url(/fonts/inter-v20-latin/inter-v20-latin-regular.woff2)format("woff2")}:root{--ink:#f2f2f2;--ink-soft:#d5dbe2;--paper:#111827;--muted:#b9c2ce;--line:#384352;--accent:#c4ea17}*{box-sizing:border-box}html{background:var(--paper);color-scheme:dark}body{min-width:320px;min-height:100vh;color:var(--ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:0 0;margin:0;font-family:Inter,Segoe UI,system-ui,sans-serif}h1,h2,p{margin:0}h1,h2{font-family:Montserrat,Segoe UI,system-ui,sans-serif}h1{letter-spacing:-.045em;font-size:clamp(2.7rem,8vw,6.5rem);line-height:1}h2{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700;line-height:1.3}a{color:inherit}.skip-link{z-index:10;background:var(--ink);color:var(--paper);padding:.7rem 1rem;font-weight:700;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.animated-background{z-index:0;pointer-events:none;background:var(--paper);position:fixed;inset:0;overflow:hidden}.animated-background-orb{filter:blur(95px);opacity:.58;mix-blend-mode:screen;will-change:transform, opacity;border-radius:50%;width:10rem;height:10rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.animated-background-orb-one{background:radial-gradient(circle, var(--accent) 0%, #8ab00e 42%, transparent 75%);animation:45s ease-in-out infinite drift-one}.animated-background-orb-two{background:radial-gradient(circle, var(--accent) 0%, #90bd0f 45%, transparent 75%);width:8.75rem;height:8.75rem;animation:50s ease-in-out infinite drift-two}.animated-background-orb-three{background:radial-gradient(circle,#ff6a29 0%,#e65100 42%,#0000 75%);width:11.25rem;height:11.25rem;animation:55s ease-in-out infinite drift-three}.animated-background-orb-four{background:radial-gradient(circle,#ff6a29 0%,#ff8a57 50%,#0000 75%);width:7.5rem;height:7.5rem;animation:40s ease-in-out infinite drift-four}.site-header,.site-main,.site-footer{z-index:1;position:relative}.site-header{width:min(100% - 3rem,1080px);margin:0 auto;padding:2rem 0}.brand-link{color:var(--ink);letter-spacing:.04em;align-items:center;gap:.6rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.brand-link img{width:28px;height:28px}.brand-link:hover,.brand-link:focus-visible{color:var(--accent)}.site-main{width:min(100% - 3rem,1080px);min-height:min(680px,100vh - 220px);margin:0 auto;padding:clamp(5rem,14vh,10rem) 0 0}.intro{text-align:center;max-width:760px;margin-inline:auto}.intro-title{color:var(--accent)}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2rem;font-size:.75rem;font-weight:500}.role{color:var(--ink-soft);margin-top:1.5rem;font-size:clamp(1.2rem,2.5vw,1.65rem);line-height:1.4}.description{max-width:570px;color:var(--muted);gap:.15rem;margin:2rem auto 0;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.7;display:grid}.contact{border-top:1px solid var(--line);text-align:center;align-content:center;gap:1rem;max-width:420px;min-height:clamp(11rem,24vh,16rem);margin:clamp(5rem,13vh,9rem) auto 0;padding:1.25rem 0;display:grid}.contact-email{color:var(--muted);font-size:1rem;line-height:1.6}.email-link{color:var(--ink);text-underline-offset:.25em;font-size:1.1rem;text-decoration-thickness:1px}.email-link:hover,.email-link:focus-visible{color:var(--accent)}.site-footer{border-top:1px solid var(--line)}.footer-content{justify-content:space-between;align-items:end;gap:3rem;width:min(100% - 3rem,1080px);margin:0 auto;padding:2rem 0 2.5rem;display:flex}.site-footer h2{color:var(--muted);margin-bottom:.85rem}.project-links{flex-wrap:wrap;gap:.35rem 0;margin:0;padding:0;list-style:none;display:flex}.project-links li:not(:last-child):after{color:var(--line);content:"·";margin-inline:.35rem}.project-links a{color:var(--ink-soft);font-size:.9rem;text-decoration:none}.project-links a:hover,.project-links a:focus-visible{color:var(--accent);text-underline-offset:.25em;text-decoration:underline}.footer-meta{color:var(--muted);text-align:right;gap:.35rem;font-size:.78rem;line-height:1.5;display:grid}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (width<=768px){.animated-background-orb{filter:blur(95px);mix-blend-mode:screen}.site-header,.site-main,.footer-content{width:min(100% - 2rem,1080px)}.site-header{justify-content:center;padding:1.5rem 0;display:flex}.site-main{min-height:auto;padding-top:4.5rem}.contact{text-align:center;margin-inline:auto}.email-link{margin-inline:auto}.footer-content{text-align:center;grid-template-columns:minmax(0,1fr);place-items:center;gap:2rem;display:grid}.footer-content nav{justify-items:center;width:100%;display:grid}.project-links{justify-content:center;width:fit-content;max-width:100%;margin-inline:auto}.site-footer h2,.project-links,.project-links li{text-align:center}.project-links a{font-size:.78rem}.footer-meta{text-align:center;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@keyframes drift-one{0%,to{opacity:.55;transform:translate(-50%,-50%)scale(1)}25%{opacity:.36;transform:translate(-250%,-120%)scale(1.2)}50%{opacity:.45;transform:translate(180%,-200%)scale(.9)}75%{opacity:.3;transform:translate(-150%,250%)scale(1.1)}}@keyframes drift-two{0%,to{opacity:.45;transform:translate(-50%,-50%)scale(1.1)}25%{opacity:.35;transform:translate(240%,160%)scale(.8)}50%{opacity:.28;transform:translate(-220%,200%)scale(1.4)}75%{opacity:.45;transform:translate(180%,-250%)scale(.6)}}@keyframes drift-three{0%,to{opacity:.38;transform:translate(-50%,-50%)scale(.9)}25%{opacity:.45;transform:translate(300%,-150%)scale(1.1)}50%{opacity:.28;transform:translate(-200%,-160%)scale(1.5)}75%{opacity:.36;transform:translate(150%,300%)scale(.5)}}@keyframes drift-four{0%,to{opacity:.42;transform:translate(-50%,-50%)scale(1.2)}25%{opacity:.34;transform:translate(-200%,200%)scale(.8)}50%{opacity:.3;transform:translate(250%,-150%)scale(1.2)}75%{opacity:.4;transform:translate(-180%,-180%)scale(.9)}}.state-shell{align-items:center;min-height:100vh;padding:2rem 0;display:grid}.state-card{gap:1rem;width:min(100% - 3rem,680px);margin:0 auto;padding:2rem 0;display:grid}.state-card p{color:var(--muted);line-height:1.6}.state-card a{width:fit-content;color:var(--accent)}
