#root,body,html{min-height:100%}:root{--bg:#0b0d0c;--bg-elevated:#121513;--bg-soft:#191d1a;--text:#f2f5f0;--text-muted:#a8b0a9;--text-faint:#737b74;--line:#f2f5f024;--accent:#b9ff5a;--accent-ink:#172008;--accent-soft:#b9ff5a1a;--shadow:0 24px 70px #0000004d;color-scheme:dark}:root[data-theme=light]{--bg:#f3f5ef;--bg-elevated:#fff;--bg-soft:#e8ebe3;--text:#111411;--text-muted:#536055;--text-faint:#7a847b;--line:#11141126;--accent:#68b900;--accent-ink:#fff;--accent-soft:#68b9001a;--shadow:0 24px 70px #1a23171f;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{-webkit-font-smoothing:antialiased;background:#0b0d0c;background:var(--bg);color:#f2f5f0;color:var(--text);font-family:Inter,Segoe UI,Helvetica,Arial,sans-serif;font-size:1rem;line-height:1.6;margin:0}a{color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b9ff5a;outline:3px solid var(--accent);outline-offset:4px}.site-shell{min-height:100vh;overflow:clip}.section-wrap,.site-header{margin-inline:auto;width:min(1180px,calc(100% - 3rem))}.skip-link{background:#b9ff5a;background:var(--accent);color:#172008;color:var(--accent-ink);font-weight:700;left:1rem;padding:.75rem 1rem;position:fixed;top:1rem;transform:translateY(-180%);z-index:1000}.skip-link:focus{transform:translateY(0)}.site-header{grid-gap:2rem;align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb,#121513 86%,#0000);background:color-mix(in srgb,var(--bg-elevated) 86%,#0000);border:1px solid #f2f5f024;border:1px solid var(--line);border-radius:1rem;box-shadow:0 12px 30px #0000001a;display:grid;gap:2rem;grid-template-columns:1fr auto 1fr;height:4.5rem;padding:0 .65rem 0 1.25rem;position:-webkit-sticky;position:sticky;top:1rem;z-index:100}.wordmark{font-family:SFMono-Regular,Consolas,monospace;font-size:1.25rem;font-weight:800;letter-spacing:-.08em;text-decoration:none;width:-webkit-max-content;width:max-content}.wordmark span{color:#b9ff5a;color:var(--accent)}.header-actions,.hero-actions,.main-nav,.project-links,.social-links{align-items:center;display:flex}.main-nav{gap:2rem}.header-actions a,.main-nav a{font-size:.82rem;font-weight:700;text-decoration:none}.main-nav a{color:#a8b0a9;color:var(--text-muted);transition:color .18s ease}.main-nav a:hover{color:#f2f5f0;color:var(--text)}.header-actions{gap:.65rem;justify-content:flex-end}.icon-button{background:#0000;border:1px solid #f2f5f024;border:1px solid var(--line);border-radius:.72rem;color:#f2f5f0;color:var(--text);cursor:pointer;display:grid;height:2.85rem;place-items:center;width:2.85rem}.icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:1.15rem}.compact-cta{background:#b9ff5a;background:var(--accent);border-radius:.72rem;color:#172008;color:var(--accent-ink);padding:.78rem 1rem}.hero{grid-gap:clamp(1rem,4vw,4rem);align-items:center;display:grid;gap:clamp(1rem,4vw,4rem);grid-template-columns:minmax(0,1.08fr) minmax(22rem,.92fr);min-height:calc(100svh - 5.5rem);padding:clamp(6rem,12vw,10rem) 0 6rem}.hero,.hero-copy{position:relative}.hero-copy{max-width:54rem;z-index:2}.hero-copy:before{background:radial-gradient(circle,#b9ff5a1a,#0000 68%);background:radial-gradient(circle,var(--accent-soft),#0000 68%);border-radius:50%;content:"";height:26rem;left:-15rem;pointer-events:none;position:absolute;top:-8rem;width:26rem}.eyebrow{align-items:center;color:#a8b0a9;color:var(--text-muted);display:flex;font-family:SFMono-Regular,Consolas,monospace;font-size:.73rem;font-weight:700;gap:.65rem;letter-spacing:.08em;margin:0 0 1.4rem;text-transform:uppercase}.eyebrow>span{background:#b9ff5a;background:var(--accent);height:2px;width:1.8rem}.about-copy h2,.contact-inner h2,.hero h1,.section-heading h2{font-weight:650;letter-spacing:-.055em;line-height:.98;margin:0}.hero h1{font-size:clamp(3.25rem,6.2vw,5.9rem);max-width:12ch}.hero h1 em{color:#b9ff5a;color:var(--accent);font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-intro{color:#a8b0a9;color:var(--text-muted);font-size:clamp(1.05rem,2vw,1.25rem);margin:2rem 0 0;max-width:38rem}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}.button{align-items:center;border-radius:.75rem;display:inline-flex;font-size:.9rem;font-weight:750;gap:.8rem;justify-content:center;min-height:3.35rem;padding:.85rem 1.15rem;text-decoration:none}.primary-button{background:#b9ff5a;background:var(--accent);color:#172008;color:var(--accent-ink)}.secondary-button{background:#121513;background:var(--bg-elevated);border:1px solid #f2f5f024;border:1px solid var(--line)}.hero-context{border-top:1px solid #f2f5f024;border-top:1px solid var(--line);color:#737b74;color:var(--text-faint);display:flex;font-family:SFMono-Regular,Consolas,monospace;font-size:.7rem;gap:1rem;justify-content:space-between;letter-spacing:.04em;margin-top:3rem;padding-top:1.1rem;text-transform:uppercase;width:min(100%,38rem)}.hero-visual{height:min(58vh,36rem);isolation:isolate;justify-self:end;margin-right:-2rem;min-height:28rem;opacity:.62;position:relative;width:calc(100% + 2rem)}:root[data-theme=light] .hero-visual{opacity:.72}.hero-visual:before{background:radial-gradient(circle,#b9ff5a1a,#0000 68%);background:radial-gradient(circle,var(--accent-soft),#0000 68%);content:"";filter:blur(18px);inset:20%;pointer-events:none;position:absolute;z-index:-1}.hero-scene{display:block;height:100%;-webkit-mask-image:radial-gradient(circle at center,#000 45%,#0000 78%);mask-image:radial-gradient(circle at center,#000 45%,#0000 78%);touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%}.hero-visual--fallback{display:none}.marquee{background:#b9ff5a;background:var(--accent);color:#172008;color:var(--accent-ink);overflow:hidden;padding:1rem 0;transform:rotate(-1deg) scale(1.02)}.marquee>div{align-items:center;display:flex;font-family:SFMono-Regular,Consolas,monospace;font-size:.75rem;font-weight:800;gap:2rem;justify-content:space-around;letter-spacing:.07em;min-width:100%;text-transform:uppercase;width:-webkit-max-content;width:max-content}.about-section,.work-section{padding-bottom:clamp(7rem,12vw,11rem);padding-top:clamp(7rem,12vw,11rem)}.section-heading{grid-gap:3rem;align-items:end;display:grid;gap:3rem;grid-template-columns:1fr minmax(16rem,.45fr);margin-bottom:4rem}.about-copy h2,.contact-inner h2,.section-heading h2{font-size:clamp(2.5rem,5vw,4.8rem)}.section-heading>p{color:#a8b0a9;color:var(--text-muted);font-size:1rem;margin:0}.featured-projects{border-top:1px solid #f2f5f024;border-top:1px solid var(--line)}.project-card{grid-gap:2rem;border-bottom:1px solid #f2f5f024;border-bottom:1px solid var(--line);display:grid;gap:2rem;grid-template-columns:4.5rem minmax(0,1fr) minmax(12rem,.4fr);padding:3rem 0;transition:padding .22s ease,background .22s ease}.project-card:hover{background:#b9ff5a1a;background:var(--accent-soft);padding-inline:1.25rem}.project-eyebrow,.project-index,.project-meta,.tag-list{font-family:SFMono-Regular,Consolas,monospace}.project-index{color:#b9ff5a;color:var(--accent);font-size:.8rem;font-weight:700}.project-eyebrow{color:#737b74;color:var(--text-faint);font-size:.67rem;letter-spacing:.07em;margin:0 0 .6rem;text-transform:uppercase}.project-body h3,.timeline-role h3{letter-spacing:-.04em;margin:0}.project-body h3{font-size:clamp(2rem,4vw,3.3rem)}.project-description{color:#a8b0a9;color:var(--text-muted);margin:.9rem 0 1.4rem;max-width:42rem}.tag-list{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0}.tag-list li{background:#191d1a;background:var(--bg-soft);border:1px solid #f2f5f024;border:1px solid var(--line);border-radius:999px;color:#a8b0a9;color:var(--text-muted);font-size:.66rem;padding:.35rem .6rem}.project-meta{align-self:end}.project-meta>p{color:#737b74;color:var(--text-faint);font-size:.7rem;margin:0 0 1.1rem}.project-links{gap:1.2rem}.project-links a,.social-links a{color:#f2f5f0;color:var(--text);font-size:.78rem;font-weight:750;text-decoration:none}.project-links a:hover{color:#b9ff5a;color:var(--accent)}.experience-section{background:#111411;color:#f2f5f0;padding:clamp(7rem,12vw,11rem) 0}.inverse-heading .eyebrow,.inverse-heading>p{color:#a8b0a9}.timeline{border-top:1px solid #f2f5f02e}.timeline-item{grid-gap:2rem;border-bottom:1px solid #f2f5f02e;display:grid;gap:2rem;grid-template-columns:.6fr 1fr 1.7fr;padding:2.5rem 0}.timeline-period,.timeline-role p{color:#a8b0a9;font-family:SFMono-Regular,Consolas,monospace;font-size:.72rem;margin:0}.timeline-role h3{font-size:1.25rem}.timeline-copy>p{font-weight:650;margin:0}.timeline-copy ul{color:#a8b0a9;margin:1rem 0 0;padding-left:1.15rem}.timeline-copy li+li{margin-top:.65rem}.about-section{grid-gap:clamp(4rem,10vw,9rem);display:grid;gap:clamp(4rem,10vw,9rem);grid-template-columns:minmax(0,1fr) minmax(20rem,.9fr)}.about-copy>p:not(.eyebrow){color:#a8b0a9;color:var(--text-muted);font-size:1.05rem}.skills-list{align-self:end;border-top:1px solid #f2f5f024;border-top:1px solid var(--line)}.skill-row{grid-gap:1.5rem;border-bottom:1px solid #f2f5f024;border-bottom:1px solid var(--line);display:grid;gap:1.5rem;grid-template-columns:7rem 1fr;padding:1.4rem 0}.skill-row span{color:#b9ff5a;color:var(--accent);font-family:SFMono-Regular,Consolas,monospace;font-size:.7rem;font-weight:700;text-transform:uppercase}.skill-row p{color:#a8b0a9;color:var(--text-muted);margin:0}.contact-section{background:#b9ff5a;background:var(--accent);color:#172008;color:var(--accent-ink);padding:clamp(6rem,10vw,9rem) 0}.contact-inner{text-align:center}.contact-inner .eyebrow{color:#172008;color:var(--accent-ink);justify-content:center}.contact-inner .eyebrow span{background:currentColor}.contact-inner>p:not(.eyebrow){margin:1.5rem auto 2rem;max-width:38rem}.contact-link{align-items:center;display:inline-flex;font-size:clamp(1.05rem,3vw,1.65rem);font-weight:800;gap:.8rem;text-decoration-thickness:2px;text-underline-offset:.3em}.social-links{gap:1.5rem;justify-content:center;margin-top:2.5rem}.social-links a{color:#172008;color:var(--accent-ink);text-decoration:underline;text-decoration-color:#0000;text-underline-offset:.3em;transition:opacity .18s ease,text-decoration-color .18s ease}.social-links a:hover{color:#172008;color:var(--accent-ink);opacity:.72;text-decoration-color:initial}.site-footer{align-items:center;color:#737b74;color:var(--text-faint);display:flex;font-family:SFMono-Regular,Consolas,monospace;font-size:.7rem;justify-content:space-between;min-height:6rem}.site-footer a{text-decoration:none}@media (max-width:900px){.hero{gap:1rem;grid-template-columns:1fr}.hero h1{max-width:13ch}.hero-visual{height:25rem;justify-self:center;margin:-1rem auto 0;min-height:25rem;width:min(100%,35rem)}.project-card{grid-template-columns:3rem 1fr}.project-meta{grid-column:2}.timeline-item{grid-template-columns:.65fr 1fr}.timeline-copy{grid-column:2}}@media (max-width:700px){.section-wrap,.site-header{width:min(calc(100% - 1.5rem),1180px)}.site-header{grid-template-columns:1fr auto;height:4rem;padding-left:1rem;top:.6rem}.main-nav{display:none}.compact-cta{padding-inline:.8rem}.hero{gap:1rem;min-height:auto;padding-bottom:4rem;padding-top:7rem}.hero h1{font-size:clamp(2.85rem,14vw,4.5rem);max-width:none}.hero-actions,.hero-actions .button{width:100%}.hero-context{align-items:flex-start;flex-direction:column}.hero-visual{height:18rem;margin:0 -.75rem;min-height:18rem;opacity:.52;width:calc(100% + 1.5rem)}.marquee>div{justify-content:flex-start;padding-inline:1rem}.marquee i:nth-of-type(n+2),.marquee span:nth-of-type(n+3){display:none}.about-section,.section-heading{gap:2rem;grid-template-columns:1fr}.section-heading{margin-bottom:2.5rem}.featured-projects{border-top:0}.project-card{gap:1rem;grid-template-columns:1fr;padding:2rem 0}.project-card:hover{background:#0000;padding-inline:0}.project-meta{grid-column:auto}.timeline-item{gap:.5rem;grid-template-columns:1fr}.timeline-copy{grid-column:auto;margin-top:1rem}.about-section{gap:4rem}.skill-row{gap:.5rem;grid-template-columns:1fr}.contact-link{word-break:break-word}.social-links{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.7cdf6bfe.css.map*/