:root{--green:#267c42;--green2:#55b574;--blue:#3e4583;--gold:#e8a825;--ink:#f5f7f5;--muted:#a7b0aa;--bg:#07100b;--bg2:#0b1710;--card:rgba(255,255,255,.055);--line:rgba(255,255,255,.12);--shadow:0 24px 70px rgba(0,0,0,.3);--radius:24px;--container:min(1180px,calc(100% - 40px))}
[data-theme=light]{--ink:#132017;--muted:#607066;--bg:#f5f7f3;--bg2:#e9efe9;--card:rgba(255,255,255,.72);--line:rgba(16,42,24,.13);--shadow:0 22px 55px rgba(32,72,43,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .35s,color .35s}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:var(--container);margin-inline:auto}.section{position:relative;padding:120px 0}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:1000}.scroll-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green2),var(--gold))}
.site-header{position:fixed;top:0;width:100%;z-index:100;background:linear-gradient(to bottom,rgba(7,16,11,.82),transparent);transition:.3s}.site-header.scrolled{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;font-weight:750;letter-spacing:-.04em}.brand span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--green);color:white;font-size:.78rem;letter-spacing:0}.nav-links{display:flex;gap:32px;margin-left:auto}.nav-links a{font-size:.82rem;color:var(--muted);transition:.2s}.nav-links a:hover,.nav-links a.active{color:var(--ink)}.theme-toggle{width:52px;height:30px;padding:2px;border-radius:20px;border:1px solid var(--line);background:var(--card);color:var(--ink);display:flex;align-items:center;justify-content:space-around;cursor:pointer}.theme-toggle span{font-size:15px}.moon{opacity:.35}[data-theme=light] .sun{opacity:.35}[data-theme=light] .moon{opacity:1}.nav-toggle{display:none;background:none;border:0;width:38px;height:38px;padding:7px}.nav-toggle span{display:block;width:100%;height:1px;background:var(--ink);margin:8px 0}
.hero{min-height:100svh;display:flex;align-items:center;padding-top:130px;overflow:hidden;background:radial-gradient(circle at 68% 42%,rgba(38,124,66,.16),transparent 28%),radial-gradient(circle at 15% 20%,rgba(62,69,131,.18),transparent 25%)}#particles{position:absolute;inset:0;width:100%;height:100%;opacity:.45}.orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.2}.orb-one{width:420px;height:420px;background:var(--green);right:-220px;top:20%}.orb-two{width:280px;height:280px;background:var(--blue);left:-160px;bottom:3%}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center;position:relative;z-index:2}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.18em;font-weight:700;font-size:.69rem;color:var(--green2)}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow span{width:7px;height:7px;border-radius:50%;background:var(--green2);box-shadow:0 0 0 5px rgba(85,181,116,.13)}h1{font-size:clamp(3.7rem,7vw,7rem);line-height:.91;letter-spacing:-.075em;margin:25px 0 26px;max-width:850px}h1 em,h2 span{font-style:normal;color:var(--green2)}.hero-name{font-size:1.05rem;font-weight:700;margin:0 0 3px}.typed-line{margin:0 0 24px;color:var(--gold);font-size:.95rem}.caret{animation:blink .8s steps(1) infinite}.lead{font-size:clamp(1rem,1.5vw,1.14rem);color:var(--muted);max-width:680px}.hero-actions{display:flex;gap:12px;margin:34px 0 45px}.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:0 24px;border-radius:999px;border:1px solid transparent;font-size:.83rem;font-weight:700;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--green);color:white;box-shadow:0 10px 30px rgba(38,124,66,.25)}.btn-ghost{border-color:var(--line);background:var(--card)}.hero-proof{display:flex;gap:30px;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.hero-proof span{display:flex;flex-direction:column}.hero-proof b{font-size:.92rem;color:var(--ink);text-transform:none;letter-spacing:0}.portrait-card{aspect-ratio:.76;position:relative;border:1px solid var(--line);border-radius:220px 220px 30px 30px;padding:12px;background:var(--card);box-shadow:var(--shadow);transform:rotate(2deg)}.portrait-placeholder{width:100%;height:100%;border-radius:210px 210px 22px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(150deg,rgba(62,69,131,.45),rgba(38,124,66,.28)),linear-gradient(20deg,var(--bg2),var(--bg));overflow:hidden}.portrait-placeholder span{font-size:8rem;font-weight:800;letter-spacing:-.12em;opacity:.2}.portrait-placeholder small{text-align:center;color:var(--muted);font-size:.68rem;letter-spacing:.05em}.status-pill,.code-pill{position:absolute;background:color-mix(in srgb,var(--bg2) 86%,transparent);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.status-pill{left:-45px;bottom:70px;padding:12px 16px;border-radius:15px;display:flex;gap:8px;font-size:.7rem;align-items:center}.status-pill i{width:8px;height:8px;border-radius:50%;background:var(--green2)}.code-pill{right:-30px;top:31%;padding:11px 15px;border-radius:12px;font:600 .7rem monospace}.code-pill span{color:var(--gold)}.scroll-cue{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;text-transform:uppercase;letter-spacing:.15em;font-size:.58rem;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}.scroll-cue span{width:1px;height:25px;background:var(--green2)}
.section-heading{margin-bottom:70px}.kicker{margin:0 0 18px}.section-heading h2{font-size:clamp(2.6rem,5.4vw,5.1rem);line-height:1;letter-spacing:-.065em;margin:0}.about{background:var(--bg2)}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.about-copy p{color:var(--muted)}.about-copy .large-copy{font-size:1.42rem;color:var(--ink);line-height:1.5;margin-top:0}.text-link{display:inline-flex;gap:30px;margin-top:20px;border-bottom:1px solid var(--green2);padding-bottom:6px;font-weight:700;font-size:.84rem}.capability-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.capability-grid article{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:210px;transition:.25s}.capability-grid article:hover{background:var(--card);transform:translateY(-4px)}.capability-grid span{font-size:.7rem;color:var(--green2)}.capability-grid h3,.skill-groups h3{font-size:1.05rem;margin:25px 0 10px}.capability-grid p,.skill-groups p{font-size:.82rem;color:var(--muted);margin:0}
.experience{background:linear-gradient(180deg,var(--bg),var(--bg2))}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:190px;top:0;bottom:0;width:1px;background:var(--line)}.timeline-item{display:grid;grid-template-columns:160px 60px 1fr;margin-bottom:34px;position:relative}.year{color:var(--muted);font:600 .68rem monospace;padding-top:27px}.timeline-dot{width:11px;height:11px;background:var(--bg);border:2px solid var(--green2);border-radius:50%;margin:29px auto;z-index:1;box-shadow:0 0 0 7px var(--bg)}.role-card{padding:28px 34px;border:1px solid var(--line);background:var(--card);border-radius:var(--radius);max-width:790px;transition:.25s}.role-card:hover{transform:translateX(7px);border-color:rgba(85,181,116,.4)}.role-card .company,.project-type{font-size:.67rem;text-transform:uppercase;letter-spacing:.15em;color:var(--green2);font-weight:700}.role-card h3{font-size:1.42rem;margin:6px 0 10px}.role-card>p:last-of-type{color:var(--muted);font-size:.86rem}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.tags span{border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:.64rem;color:var(--muted)}
.skills{overflow:hidden}.section-heading.split{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:100px}.section-heading.split>p{color:var(--muted);max-width:430px}.skill-marquee{width:100vw;margin-left:calc((100% - 100vw)/2);border-block:1px solid var(--line);padding:19px 0;overflow:hidden;transform:rotate(-1deg)}.marquee-track{display:flex;width:max-content;animation:marquee 25s linear infinite}.marquee-track span{font-size:1rem;font-weight:800;letter-spacing:.08em;padding:0 34px;color:transparent;-webkit-text-stroke:1px var(--muted)}.skill-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:70px}.skill-groups article{border:1px solid var(--line);padding:28px;border-radius:20px;background:var(--card);transition:.25s}.skill-groups article:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.skill-icon{font:700 1.35rem monospace;color:var(--gold)}
.projects{background:var(--bg2)}.project-tools{display:flex;justify-content:space-between;margin-bottom:35px;gap:20px}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--muted);padding:8px 15px;font-size:.72rem;cursor:pointer}.filters button.active{background:var(--green);border-color:var(--green);color:white}.search{display:flex;align-items:center;border-bottom:1px solid var(--line);gap:8px}.search input{border:0;outline:0;background:transparent;color:var(--ink);width:160px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);transition:.3s}.project-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.project-card[hidden]{display:none}.project-card.feature{grid-column:span 2;display:grid;grid-template-columns:1.3fr .7fr}.project-visual{height:290px;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(62,69,131,.55),rgba(7,16,11,.95));min-width:0}.feature .project-visual{height:420px}.project-visual b{position:absolute;right:18px;top:14px;font:500 .65rem monospace;color:rgba(255,255,255,.6)}.project-copy{padding:30px}.project-copy h3{font-size:1.45rem;letter-spacing:-.035em;margin:5px 0 10px}.project-copy>p:not(.project-type){color:var(--muted);font-size:.83rem}.inventory .mock-nav{position:absolute;left:14%;top:13%;width:72%;height:7%;border-radius:8px;background:rgba(255,255,255,.12)}.mock-sidebar{position:absolute;left:14%;top:24%;width:15%;height:59%;border-radius:9px;background:rgba(38,124,66,.3)}.mock-chart{position:absolute;left:35%;top:24%;width:51%;height:31%;border-radius:9px;background:linear-gradient(130deg,rgba(232,168,37,.06),rgba(85,181,116,.25))}.mock-row{position:absolute;left:35%;width:51%;height:9%;border-radius:6px;background:rgba(255,255,255,.08)}.r1{top:61%}.r2{top:74%}.evaluation{display:flex;align-items:center;justify-content:center;gap:50px}.radial{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;font-size:2rem;font-weight:800;border:12px solid rgba(85,181,116,.45);border-top-color:var(--gold)}.radial small{font-size:.7rem;margin-left:-28px;margin-top:45px}.bars{display:flex;align-items:end;gap:8px;height:110px}.bars i{display:block;width:15px;background:var(--green2);border-radius:3px 3px 0 0}.bars i:nth-child(1){height:35%}.bars i:nth-child(2){height:70%}.bars i:nth-child(3){height:52%}.bars i:nth-child(4){height:92%;background:var(--gold)}.asset,.xero{display:flex;align-items:center;justify-content:center}.cube{font-size:8rem;color:var(--green2);filter:drop-shadow(0 0 30px rgba(85,181,116,.35))}.xero{gap:25px}.xero span{display:grid;place-items:center;width:85px;height:85px;border-radius:22px;background:rgba(255,255,255,.1);font-weight:800;font-size:1.4rem}.xero i{color:var(--gold)}.dashboard .metric{position:absolute;left:17%;top:20%;font-size:2.5rem;font-weight:800;color:var(--green2)}.dashboard .line{position:absolute;width:65%;height:40%;left:17%;bottom:18%;border-top:3px solid var(--gold);border-radius:50%;transform:skewY(-14deg)}.empty-projects{text-align:center;color:var(--muted)}
.metrics{padding:65px 0;background:var(--green);color:white}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr)}.metric-grid div{text-align:center;border-right:1px solid rgba(255,255,255,.2)}.metric-grid div:last-child{border:0}.metric-grid strong{display:block;font-size:clamp(2.3rem,5vw,4rem);line-height:1;letter-spacing:-.07em}.metric-grid span{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;opacity:.75}.resume-panel{border:1px solid var(--line);border-radius:30px;padding:55px;background:linear-gradient(135deg,rgba(38,124,66,.14),rgba(62,69,131,.1));display:grid;grid-template-columns:1fr auto;gap:30px}.resume-panel h2{font-size:3rem;letter-spacing:-.05em;margin:0}.resume-panel p{color:var(--muted);max-width:590px}.resume-lines{grid-column:1/-1;border-top:1px solid var(--line);margin-top:15px}.resume-lines div{display:grid;grid-template-columns:180px 1fr;padding:17px 0;border-bottom:1px solid var(--line);font-size:.8rem}.resume-lines span{color:var(--green2);text-transform:uppercase;letter-spacing:.1em;font-size:.65rem}.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.testimonial-grid blockquote{margin:0;padding:40px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.testimonial-grid blockquote>span{font:700 4rem Georgia;color:var(--green2);line-height:.5}.testimonial-grid blockquote>p{font-size:1.18rem}.testimonial-grid footer{font-size:.8rem;font-weight:700;margin-top:30px}.testimonial-grid small{display:block;color:var(--muted);font-weight:400}.testimonial-note{font-size:.65rem;color:var(--muted);text-align:right}
.contact{background:var(--bg2);padding-bottom:50px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-copy h2{font-size:clamp(2.8rem,5.5vw,5rem);line-height:1;letter-spacing:-.065em}.contact-copy>p{color:var(--muted);max-width:520px}.contact-links{display:flex;flex-direction:column;margin-top:40px}.contact-links a{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:.82rem}.contact-form{padding:35px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.contact-form label{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;margin:18px 0 5px;color:var(--muted)}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 0;outline:0;resize:vertical;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green2)}.contact-form .btn{margin-top:25px}.validation{display:block;color:#ef8c8c;font-size:.7rem}.form-status{font-size:.75rem;color:var(--green2)}.map-placeholder{height:210px;margin-top:90px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(25deg,rgba(38,124,66,.1),rgba(62,69,131,.15));position:relative;overflow:hidden}.map-lines{position:absolute;inset:-50%;background:repeating-linear-gradient(40deg,transparent 0 50px,var(--line) 51px 52px),repeating-linear-gradient(130deg,transparent 0 75px,var(--line) 76px 77px);transform:rotate(4deg)}.map-pin{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:10px;font-size:.74rem;font-weight:700}.map-pin i{width:14px;height:14px;border:4px solid var(--green2);border-radius:50%;box-shadow:0 0 0 8px rgba(85,181,116,.12)}.footer{padding:30px 0;background:var(--bg2);border-top:1px solid var(--line)}.footer .container{display:flex;justify-content:space-between;align-items:center}.footer p{font-size:.65rem;color:var(--muted)}.back-top{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .75s ease,transform .75s ease}.reveal.in-view{opacity:1;transform:none}.delay-1{transition-delay:.12s}@keyframes blink{50%{opacity:0}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:900px){.nav-toggle{display:block;margin-left:auto}.nav-links{position:fixed;inset:78px 20px auto;background:var(--bg2);border:1px solid var(--line);border-radius:20px;display:flex;flex-direction:column;padding:25px;gap:18px;transform:translateY(-20px);opacity:0;pointer-events:none;transition:.25s;box-shadow:var(--shadow)}.nav-links.open{opacity:1;transform:none;pointer-events:auto}.hero-grid{grid-template-columns:1fr}.hero{padding-top:150px}.portrait-wrap{display:none}.hero-proof{flex-wrap:wrap}.about-grid,.contact-grid{grid-template-columns:1fr;gap:60px}.section-heading.split{grid-template-columns:1fr;gap:20px}.skill-groups{grid-template-columns:1fr 1fr}.project-card.feature{grid-column:auto;display:block}.project-grid{grid-template-columns:1fr 1fr}.feature .project-visual{height:290px}.timeline:before{left:120px}.timeline-item{grid-template-columns:95px 50px 1fr}.metric-grid{grid-template-columns:1fr 1fr;gap:35px}.metric-grid div:nth-child(2){border:0}.contact-grid{gap:50px}}
@media(max-width:620px){:root{--container:min(100% - 28px,1180px)}.section{padding:88px 0}h1{font-size:3.7rem}.nav{height:70px}.nav-links{inset:70px 14px auto}.hero{min-height:auto;padding-bottom:100px}.scroll-cue{display:none}.hero-actions{flex-direction:column;align-items:stretch}.hero-proof{gap:18px}.section-heading{margin-bottom:45px}.about-grid{gap:40px}.capability-grid{grid-template-columns:1fr}.capability-grid article{min-height:auto}.timeline:before{left:5px}.timeline-item{display:grid;grid-template-columns:22px 1fr}.year{grid-column:2;padding:0 0 8px}.timeline-dot{grid-column:1;grid-row:1/3;margin:7px 0}.role-card{grid-column:2;padding:23px}.skill-groups,.project-grid,.testimonial-grid{grid-template-columns:1fr}.project-tools{flex-direction:column}.project-visual,.feature .project-visual{height:230px}.metric-grid{gap:28px}.metric-grid div{border:0}.resume-panel{padding:28px;grid-template-columns:1fr}.resume-lines{grid-column:auto}.resume-lines div{grid-template-columns:1fr;gap:5px}.contact-form{padding:24px}.map-placeholder{margin-top:55px}.footer .container{flex-wrap:wrap;gap:20px}.footer p{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
@media print{.site-header,.hero,.about,.skills,.projects,.metrics,.testimonials,.contact,.footer,.scroll-progress{display:none!important}.experience,.resume{display:block!important;padding:20px;background:white;color:#111}.reveal{opacity:1;transform:none}.resume-panel{border:0}.btn{display:none}.timeline:before{background:#ccc}.role-card{break-inside:avoid;color:#111;border-color:#ccc}.role-card p{color:#333!important}}
