@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/syne-latin-600-normal.BiwQbQXw.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:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/syne-latin-700-normal.AF3Rs61n.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:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/syne-latin-800-normal.EehdNYzx.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:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.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:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.woff2)format("woff2-variations");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}:root{--bg:#0b0a09;--bg-soft:#12110f;--fg:#f3efe8;--fg-muted:#9c968c;--fg-faint:#6b665e;--accent:#d4a574;--accent-soft:#d4a57424;--accent-line:#d4a57459;--line:#f3efe814;--line-strong:#f3efe824;--glow-warm:#d4a5742e;--glow-cool:#7a9e9a1f;--font-display:"Syne", system-ui, sans-serif;--font-serif:"Instrument Serif", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--space:clamp(1.25rem, 4vw, 2.5rem);--max:72rem;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:dark}body{min-height:100vh;font-family:var(--font-body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:1.0625rem;line-height:1.65;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(ellipse 80% 55% at 12% -10%, var(--glow-warm), transparent 55%), radial-gradient(ellipse 60% 45% at 95% 8%, var(--glow-cool), transparent 50%), radial-gradient(ellipse 50% 40% at 50% 100%, #d4a5740f, transparent 55%), var(--bg);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:.28;mix-blend-mode:overlay;will-change:auto;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px;position:fixed;inset:0}.skip-link{z-index:200;letter-spacing:.04em;text-transform:uppercase;color:var(--bg);background:var(--accent);transition:transform .25s var(--ease);border-radius:.5rem;padding:.65rem 1rem;font-size:.8125rem;font-weight:600;position:absolute;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus-visible{outline:2px solid var(--fg);outline-offset:2px;transform:translateY(0)}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}::selection{background:var(--accent);color:var(--bg)}.shell{width:min(100% - var(--space) * 2, var(--max));margin-inline:auto}.section{padding-block:clamp(4.5rem,12vw,8rem)}.section-head{align-items:baseline;gap:1rem;margin-bottom:clamp(2rem,5vw,3.25rem);display:flex}.section-index{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:500}.section-title{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.1}.nav{z-index:100;padding:1rem var(--space);transition:background .4s var(--ease), backdrop-filter .4s var(--ease), border-color .4s;border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.nav.is-scrolled{border-bottom-color:var(--line);background:#0b0a09e0}@supports (backdrop-filter:blur(1px)){.nav.is-scrolled{backdrop-filter:blur(16px)saturate(1.2);background:#0b0a09b8}}.nav-inner{width:min(100%, var(--max));justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;display:flex}.nav-brand{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:1rem;font-weight:800}.nav-brand span{color:var(--accent)}.nav-links{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a{letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted);padding:.45rem .75rem;font-size:.8125rem;font-weight:500;transition:color .25s;display:block}.nav-links a:hover,.nav-links a:focus-visible{color:var(--fg)}.nav-cta{letter-spacing:.04em;text-transform:uppercase;background:var(--accent);transition:transform .3s var(--ease), background .25s;border-radius:999px;align-items:center;padding:.55rem 1rem;font-size:.8125rem;font-weight:600;display:inline-flex;color:var(--bg)!important}.nav-cta:hover{background:var(--fg);transform:translateY(-1px)}.nav-toggle{border:1px solid var(--line-strong);border-radius:.5rem;place-items:center;width:2.5rem;height:2.5rem;display:none}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{background:var(--fg);width:1.1rem;height:1.5px;transition:transform .3s var(--ease);display:block;position:relative}.nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute;left:0}.nav-toggle span:before{top:-5px}.nav-toggle span:after{top:5px}.hero{min-height:100svh;padding:7rem var(--space) clamp(3rem, 8vw, 5rem);align-items:end;display:grid;position:relative;overflow:hidden}.hero-atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-atmosphere .orb{filter:blur(64px);animation:drift 18s var(--ease) infinite alternate;contain:strict;border-radius:50%;position:absolute}.hero-atmosphere .orb-1{background:var(--glow-warm);width:min(55vw,520px);height:min(55vw,520px);top:8%;right:-8%}.hero-atmosphere .orb-2{background:var(--glow-cool);width:min(40vw,380px);height:min(40vw,380px);animation-duration:22s;animation-delay:-6s;bottom:15%;left:-5%}.hero-grid{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.55;background-size:72px 72px;position:absolute;inset:0;mask-image:radial-gradient(70% 60% at 50% 40%,#000,#0000)}.hero-inner{z-index:1;width:min(100%, var(--max));margin-inline:auto;position:relative}.hero-brand{font-family:var(--font-display);letter-spacing:-.05em;text-transform:uppercase;max-width:12ch;margin:0 0 1.25rem;font-size:clamp(3.5rem,14vw,9.5rem);font-weight:800;line-height:.88}.hero-brand .accent{color:var(--accent)}.hero-copy{gap:1.5rem;max-width:34rem;margin-top:clamp(1.5rem,4vw,2.5rem);display:grid}.hero-headline{font-family:var(--font-serif);color:var(--fg);margin:0;font-size:clamp(1.35rem,3vw,1.85rem);font-style:italic;font-weight:400;line-height:1.35}.hero-lede{color:var(--fg-muted);max-width:32rem;margin:0;font-size:1.05rem}.hero-actions{flex-wrap:wrap;gap:.85rem;margin-top:.5rem;display:flex}.btn{letter-spacing:.03em;transition:transform .3s var(--ease), background .25s, color .25s, border-color .25s;border-radius:999px;align-items:center;gap:.5rem;padding:.85rem 1.35rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:var(--fg);transform:translateY(-2px)}.btn-ghost{border:1px solid var(--line-strong);color:var(--fg);background:#f3efe808}.btn-ghost:hover{border-color:var(--accent-line);background:var(--accent-soft);transform:translateY(-2px)}.hero-meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:1.5rem 2.5rem;margin-top:clamp(2.5rem,6vw,4rem);padding-top:1.5rem;display:flex}.hero-meta dt{letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);margin:0;font-size:.7rem;font-weight:500}.hero-meta dd{font-family:var(--font-display);margin:.25rem 0 0;font-size:.95rem;font-weight:600}.about-grid{grid-template-columns:1fr;align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}@media (width>=860px){.about-grid{grid-template-columns:1.15fr .85fr}}.about-body{color:var(--fg-muted);font-size:1.125rem}.about-body :is(p,ul,ol){margin:0 0 1.25rem}.about-body :is(p,li):last-child{margin-bottom:0}.about-body strong{color:var(--fg);font-weight:600}.about-aside{gap:1.25rem;display:grid}.skill-cloud{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.skill{color:var(--fg-muted);border:1px solid var(--line);background:#f3efe805;border-radius:999px;padding:.4rem .75rem;font-size:.8rem;font-weight:500;transition:border-color .25s,color .25s,background .25s}.skill:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.availability{border:1px solid var(--accent-line);background:linear-gradient(145deg, var(--accent-soft), transparent 70%);border-radius:1rem;padding:1.25rem 1.35rem}.availability-label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.7rem;font-weight:600}.availability p{font-family:var(--font-serif);margin:0;font-size:1.2rem;font-style:italic}.companies{padding-block:clamp(4rem,10vw,6.5rem);position:relative;overflow:hidden}.companies:before{content:"";background:radial-gradient(ellipse at 50% 0%, var(--glow-warm), transparent 65%);pointer-events:none;opacity:.7;height:55%;position:absolute;inset:10% -10% auto}.companies .section-head{margin-bottom:.85rem}.companies-lede{max-width:34rem;color:var(--fg-muted);margin:0 0 clamp(2rem,5vw,2.75rem);font-size:1.05rem}.companies-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid;position:relative}@media (width>=640px){.companies-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}.companies-grid>.reveal{transition-delay:var(--delay,0s)}.company-logo{border:1px solid var(--line);min-height:clamp(7.5rem,18vw,9.5rem);color:var(--fg-muted);text-align:center;transition:border-color .35s var(--ease), background .35s var(--ease), transform .35s var(--ease), box-shadow .35s var(--ease), color .35s var(--ease);background:linear-gradient(165deg,#f3efe809,#0000 55%),#12110f8c;border-radius:1.15rem;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:1.25rem 1rem;display:flex}.company-logo-frame{place-items:center;width:100%;height:2.85rem;display:grid}.company-logo img{object-fit:contain;width:auto;max-width:100%;max-height:2.85rem;transition:transform .35s var(--ease), filter .35s var(--ease)}.company-logo--wide img{mix-blend-mode:screen;filter:contrast(1.06)saturate(1.05);max-height:2.5rem}.company-logo--icon img{border-radius:.55rem;width:2.5rem;height:2.5rem;max-height:none}.company-logo--icon img[src$=\.webp],.company-logo--icon img[src$=\.png]{mix-blend-mode:screen}.company-logo--mark img{width:2.15rem;height:2.15rem;max-height:none}.company-word{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:600;line-height:1}.company-logo:hover,.company-logo:focus-visible{color:var(--fg);border-color:var(--accent-line);background:linear-gradient(165deg, var(--accent-soft), transparent 60%), #1a1815e6;box-shadow:0 18px 40px #00000047, 0 0 0 1px var(--accent-line);transform:translateY(-4px)}.company-logo:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.company-logo:hover img,.company-logo:focus-visible img{transform:scale(1.06)}.company-logo--wide:hover img,.company-logo--wide:focus-visible img{filter:contrast(1.12) saturate(1.2) drop-shadow(0 0 14px var(--glow-warm))}.timeline{gap:0;margin:0;padding:0;list-style:none;display:grid}.job{border-top:1px solid var(--line);transition:background .35s var(--ease);gap:.75rem 2rem;padding:1.75rem 0;display:grid}.job:last-child{border-bottom:1px solid var(--line)}.job:hover{background:linear-gradient(90deg, var(--accent-soft), transparent 60%)}@media (width>=720px){.job{grid-template-columns:10.5rem 1fr;padding:2rem 1rem}}.job-dates{letter-spacing:.04em;color:var(--fg-faint);padding-top:.35rem;font-size:.8rem;font-weight:500}.job-dates .now{color:var(--accent)}.job-role{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:700}.job-company{color:var(--accent);margin:.15rem 0 0;font-size:.95rem;font-weight:500}.job-location{color:var(--fg-faint);margin:.2rem 0 0;font-size:.8rem}.job-body{color:var(--fg-muted);margin-top:.75rem;font-size:.975rem}.job-body p{margin:0}.job-body p+p{margin-top:.65rem}.job-body strong{color:var(--fg);font-weight:600}.job-stack{flex-wrap:wrap;gap:.4rem;margin-top:1rem;display:flex}.tag{letter-spacing:.04em;text-transform:uppercase;color:var(--fg-faint);border:1px solid var(--line);border-radius:.35rem;padding:.25rem .55rem;font-size:.72rem;font-weight:500}.projects-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.project{border:1px solid var(--line);transition:border-color .35s var(--ease), transform .35s var(--ease), background .35s;background:#f3efe804;border-radius:1.15rem;padding:clamp(1.5rem,3vw,2rem);display:block}.project:hover{border-color:var(--accent-line);background:var(--accent-soft);transform:translateY(-3px)}.project-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.65rem;display:flex}.project-title{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:700}.project-year{color:var(--fg-faint);font-size:.8rem;font-weight:500}.project-tagline{font-family:var(--font-serif);color:var(--fg);margin:0 0 .85rem;font-size:1.15rem;font-style:italic}.project-body{color:var(--fg-muted);margin:0;font-size:.975rem}.project-body p{margin:0}.project-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;padding-top:1rem;display:flex}.project-links{gap:1rem;display:flex}.project-links a{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:.8rem;font-weight:600;transition:color .2s}.project-links a:hover{color:var(--fg)}.connect{position:relative;overflow:hidden}.connect-panel{border:1px solid var(--line-strong);background:linear-gradient(160deg, var(--accent-soft), transparent 45%), var(--bg-soft);border-radius:1.5rem;padding:clamp(2.5rem,6vw,4rem)}.connect-title{font-family:var(--font-display);letter-spacing:-.04em;max-width:14ch;margin:0 0 .75rem;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.05}.connect-lede{max-width:32rem;color:var(--fg-muted);margin:0 0 2rem;font-size:1.1rem}.socials{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.socials a{border:1px solid var(--line-strong);transition:border-color .25s, background .25s, transform .3s var(--ease);background:#0b0a0966;border-radius:999px;align-items:center;gap:.55rem;padding:.85rem 1.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.socials a:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.socials svg{opacity:.85;width:1.1rem;height:1.1rem}.connect-email{color:var(--fg-faint);margin:1.75rem 0 0;font-size:.9rem}.connect-email a{color:var(--accent)}.connect-email a:hover{color:var(--fg)}.footer{padding:2rem var(--space) 3rem;border-top:1px solid var(--line)}.footer-inner{width:min(100%, var(--max));color:var(--fg-faint);flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-inline:auto;font-size:.85rem;display:flex}.footer a:hover{color:var(--accent)}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(-4%,6%)scale(1.08)}}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.hero-brand,.hero-copy,.hero-meta{animation:rise 1s var(--ease) both}.hero-copy{animation-delay:.12s}.hero-meta{animation-delay:.24s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-atmosphere .orb,.hero-brand,.hero-copy,.hero-meta{animation:none}.reveal{opacity:1;transition:none;transform:none}}@media (width<=760px){body:after{display:none}.hero-atmosphere .orb{filter:blur(40px);opacity:.7;animation:none}.nav.is-scrolled{backdrop-filter:none;background:#0b0a09f0}}@media (width>=761px){#about,#experience,#companies,#projects,#connect{content-visibility:auto;contain-intrinsic-size:auto 720px}}@media (width<=760px){.nav-toggle{display:grid}.nav-links{top:4.25rem;left:var(--space);right:var(--space);border:1px solid var(--line-strong);backdrop-filter:blur(16px);opacity:0;pointer-events:none;transition:opacity .3s var(--ease), transform .3s var(--ease);background:#12110ff5;border-radius:1rem;flex-direction:column;align-items:stretch;gap:.25rem;padding:.75rem;position:fixed;transform:translateY(-8px)}.nav.is-open .nav-links{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-links a{padding:.85rem 1rem}.nav-cta{justify-content:center;margin-top:.35rem}.nav.is-open .nav-toggle span{background:0 0}.nav.is-open .nav-toggle span:before{top:0;transform:rotate(45deg)}.nav.is-open .nav-toggle span:after{top:0;transform:rotate(-45deg)}}
