:root{color-scheme:dark;--bg:#101412;--surface:#171c19;--text:#edf0e9;--muted:#a5afa7;--line:#303a32;--accent:#b5ef87;--mono:"Cascadia Code","SFMono-Regular",Consolas,monospace;color:var(--text);background:var(--bg);font-synthesis:none;font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}p{color:var(--muted);margin:0 0 1.2rem;line-height:1.75}h1,h2,h3{letter-spacing:-.045em;margin:0;font-weight:550;line-height:1.12}h1{font-size:clamp(3.4rem,6vw,5.6rem)}h2{font-size:clamp(2rem,3.1vw,3rem)}h3{font-size:1.5rem}ul{padding-left:1.2rem}.container{width:min(1200px,100% - 96px);margin-inline:auto}.muted{color:var(--muted)}.mono,.eyebrow,.small-label{font-family:var(--mono)}.small-label{letter-spacing:.08em;font-size:.65rem}.eyebrow{letter-spacing:.1em;color:var(--muted);align-items:center;gap:12px;margin-bottom:24px;font-size:.68rem;display:flex}.eyebrow>span:first-child{color:var(--accent)}.signal{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block;box-shadow:0 0 14px #b5ef8733}.skip-link{background:var(--accent);color:var(--bg);z-index:20;padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:16px}.site-header{border-bottom:1px solid var(--line);z-index:10;background:#101412f5;position:sticky;top:0}.nav-row{justify-content:space-between;align-items:center;gap:24px;min-height:90px;display:flex}.brand{letter-spacing:-.025em;align-items:center;gap:14px;font-size:.93rem;font-weight:600;display:flex}.brand-mark{letter-spacing:-.12em;border:1px solid var(--line);border-radius:9px;padding:8px 12px 10px 9px;font-size:1.7rem;font-weight:750;line-height:1}.brand-mark>span{color:var(--accent)}nav{color:#bdc6bd;gap:27px;font-size:.8rem;display:flex}nav a:hover,.text-link:hover,.nav-github:hover,.site-footer a:hover{color:var(--accent)}.nav-github{border-left:1px solid var(--line);align-items:center;gap:9px;padding-left:25px;font-size:.78rem;display:flex}.hero{grid-template-columns:1.3fr 1fr;align-items:center;gap:70px;padding-block:48px 56px;display:grid}.hero>.engineering-panel{align-self:start;margin-top:48px}.hero h1>span{color:var(--accent)}.hero-intro{max-width:560px;margin-block:28px 30px;font-size:1.05rem;line-height:1.8}.hero-intro strong{color:var(--text);font-weight:500}.hero-actions{align-items:center;gap:28px;display:flex}.button{border-radius:5px;justify-content:center;align-items:center;gap:22px;padding:15px 22px;font-size:.82rem;font-weight:650;transition:background .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.primary{color:#15200e;background:var(--accent)}.primary:hover{background:#c7f5a5}.secondary{border:1px solid var(--line);background:var(--surface)}.text-link{align-items:center;gap:12px;font-size:.82rem;font-weight:500;display:inline-flex}.hero-footnote{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:12px;margin-top:48px;padding-top:23px;font-size:.71rem;line-height:1.7;display:flex}.hero-footnote .small-label{color:#7d8c80}.hero-footnote i{color:#546958;padding-inline:7px;font-style:normal}.engineering-panel{background:radial-gradient(at 50% 48%,#26382588,#0000 65%),linear-gradient(135deg,#1b231d,#131a15);border:1px solid #364437;border-radius:10px;position:relative;overflow:hidden}.engineering-panel:before{content:"";pointer-events:none;background-image:linear-gradient(#758d7510 1px,#0000 1px),linear-gradient(90deg,#758d7510 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0}.panel-top{letter-spacing:.08em;color:#9eada0;border-bottom:1px solid #354137;justify-content:space-between;align-items:center;padding:20px 23px;font-size:.6rem;display:flex;position:relative}.orbit-art{place-items:center;height:310px;display:grid;position:relative}.orbit{border:1px solid #68835944;border-radius:50%;width:168px;height:168px;position:absolute}.orbit.two{border-style:dashed;width:240px;height:240px;transform:rotate(-30deg)}.orbit.three{border-color:#68835922;width:300px;height:300px}.core{letter-spacing:-.12em;background:#1e2a1f;border:1px solid #b5ef8780;border-radius:24px;grid-auto-flow:column;place-content:center;width:99px;height:99px;padding-right:8px;font-size:3.4rem;font-weight:600;display:grid;box-shadow:0 0 45px #a0dd6a10,inset 0 0 35px #a0dd6a0a}.core span{color:var(--accent)}.orbit-label{font:.58rem var(--mono);letter-spacing:.04em;color:#c5d5bd;background:#202b21;border:1px solid #43563d;border-radius:4px;padding:9px 12px;position:absolute}.label-one{top:54px;left:23px}.label-two{top:135px;right:16px}.label-three{bottom:34px;left:42px}.orbit-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute}.dot-one{top:45px;left:58%}.dot-two{bottom:71px;right:22%}.panel-bottom{border-top:1px solid #354137;flex-direction:column;gap:9px;padding:22px 23px;display:flex;position:relative}.panel-bottom .mono{letter-spacing:.1em;color:#95a48c;font-size:.58rem}.panel-bottom strong{font-size:.85rem;font-weight:450}.focus-strip{border-block:1px solid var(--line)}.focus-strip>.container{color:#c0c9c0;justify-content:space-between;align-items:center;gap:34px;min-height:76px;font-size:.79rem;display:flex}.focus-strip .small-label{color:#829184}.strip-next{color:var(--accent);align-items:center;gap:13px;font-size:.68rem;display:flex}.section{padding-block:100px}.about-section{grid-template-columns:1fr 1.2fr;gap:110px;display:grid}.section-heading h2{max-width:460px}.large-copy{letter-spacing:-.035em;color:var(--text);font-size:1.65rem;line-height:1.45}.about-content .text-link{color:var(--accent);margin-top:10px}.projects-section{border-block:1px solid var(--line);background:#141915}.section-title-row{justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px;display:flex}.section-title-row p{margin-bottom:0;font-size:.88rem}.section-title-row .eyebrow{margin-bottom:18px}.project-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.project-card{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:25px;transition:border-color .2s;position:relative}.project-card:hover{border-color:#6e8b58}.project-meta{letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:center;gap:14px;font-size:.61rem;display:flex}.status{font:.63rem var(--mono);color:#b1b8af;white-space:nowrap;background:#20271e;border:1px solid #394336;border-radius:20px;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.status i{background:#8e9988;border-radius:50%;width:5px;height:5px}.status.active{color:var(--accent);background:#263320;border-color:#466034}.status.active i{background:var(--accent)}.project-visual{background:radial-gradient(at 50% 150%,#39583066,#0000 70%),#1b251d;border:1px solid #2e3d2e;border-radius:4px;place-items:center;height:190px;margin:22px 0 25px;display:grid;overflow:hidden}.project-card:nth-child(2) .project-visual{background:radial-gradient(at 50% 150%,#24496c66,#0000 75%),#19232c;border-color:#2d3e4a}.project-card:nth-child(3) .project-visual{background:radial-gradient(at 50% 150%,#63533255,#0000 75%),#25251d;border-color:#3f3f30}.project-card:nth-child(4) .project-visual{background:radial-gradient(at 50% 150%,#59446566,#0000 75%),#26202a;border-color:#403347}.code-visual{font-family:var(--mono);color:#83a174;flex-direction:column;gap:15px;font-size:.72rem;display:flex}.code-visual strong{letter-spacing:-.05em;color:#c3e6b0;margin-left:25px;font-family:inherit;font-size:1.6rem;font-weight:500}.cloud-visual{text-align:center;color:#97bcd3;font-family:var(--mono)}.cloud-visual>span{letter-spacing:.15em;font-size:2.6rem;font-weight:300}.cloud-visual>div{letter-spacing:.15em;margin-top:20px;font-size:.6rem}.network-visual{text-align:center;color:#cac49d;font:.6rem var(--mono);letter-spacing:.15em}.network-visual>div{letter-spacing:0;margin:9px 0;font-size:2.5rem}.family-visual{text-align:center;color:#cbb4d3;font:.57rem var(--mono);letter-spacing:.08em}.family-visual>div{letter-spacing:-.08em;margin-top:18px;font-size:2rem}.family-visual>div>span{color:#a883b6}.project-category{font:.64rem var(--mono);color:#91a089;margin-bottom:13px}.project-card h3{letter-spacing:-.035em;font-size:1.5rem}.project-card h3 a{justify-content:space-between;align-items:center;gap:20px;display:flex}.project-card h3 a:after{content:"";border-radius:8px;position:absolute;inset:0}.project-card h3 svg{color:var(--accent);flex-shrink:0}.project-summary{min-height:4.6em;margin-block:16px 22px;font-size:.86rem}.tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tags li{font:.59rem var(--mono);color:#b1bcb1;background:#1a211b;border:1px solid #334034;border-radius:4px;padding:6px 8px}.project-note{font:.64rem var(--mono);align-items:center;gap:11px;margin:28px 0 0;line-height:1.7;display:flex}.project-note .signal{width:5px;height:5px}.resume-section{grid-template-columns:1fr 1fr;gap:100px;display:grid}.resume-section>.section-heading{margin-bottom:25px}.resume-section .section-heading{margin-bottom:27px}.resume-section p{font-size:.9rem}.skills-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.skill-group{border-top:1px solid var(--line);padding-top:20px}.skill-group h3{letter-spacing:-.01em;color:var(--accent);margin-bottom:15px;font-size:.84rem}.skill-group ul{color:var(--muted);margin:0;padding:0;font-size:.8rem;line-height:2;list-style:none}.contact-section{background:#1c261b;border:1px solid #3c5034;border-radius:8px;grid-template-columns:1.5fr 1fr;align-items:center;gap:65px;margin-bottom:75px;padding:50px;display:grid}.contact-section .eyebrow{color:var(--accent)}.contact-section h2{font-size:clamp(1.9rem,3.2vw,2.8rem)}.contact-section h2>span{color:var(--accent)}.contact-section p:not(.eyebrow){margin-top:20px;font-size:.85rem}.email-link{color:var(--accent);align-items:center;gap:18px;font-size:1.05rem;display:inline-flex}.contact-links{flex-direction:column;display:flex}.contact-links a{border-bottom:1px solid #3a4935;align-items:center;gap:13px;padding:22px 0;font-size:.82rem;display:flex}.contact-links a:hover{color:var(--accent)}.contact-links a>span:last-child{margin-left:auto}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:25px;padding-block:28px;font-size:.68rem;display:flex}.site-footer .brand{gap:8px;font-size:.73rem}.site-footer p{margin:0;font-size:.66rem}.project-detail{max-width:960px;padding-block:65px 100px}.detail-heading{border-bottom:1px solid var(--line);padding-block:55px 45px}.detail-heading h1{margin-bottom:22px;font-size:clamp(2.6rem,5vw,4.5rem)}.detail-heading .large-copy{max-width:720px;margin-block:28px;font-size:1.3rem}.detail-body{max-width:740px;padding-block:20px 35px}.detail-body section{padding-top:30px}.detail-body h2{margin-bottom:18px;font-size:1.6rem}.detail-body ul{color:var(--muted);line-height:1.9}.not-found{padding-block:100px 150px}.not-found p:not(.eyebrow){margin-block:25px}@media (width>=1500px){.hero{padding-block:48px 64px}}@media (width<=1100px){.container{width:calc(100% - 64px)}.hero{gap:35px}.hero h1{font-size:4.2rem}.nav-row{gap:20px}nav{gap:18px}.brand{font-size:.8rem}.hero-actions{gap:18px}.hero-actions .text-link{font-size:.72rem}.about-section,.resume-section{gap:60px}.focus-strip>.container{gap:15px;font-size:.7rem}.strip-next{font-size:.6rem}.contact-section{gap:40px;padding:35px}.orbit.three{width:270px;height:270px}}@media (width<=800px){html{scroll-padding-top:130px}.container{width:calc(100% - 40px)}.nav-row{flex-wrap:wrap;gap:12px;min-height:100px;padding-block:13px}.nav-row nav{order:3;justify-content:space-between;gap:12px;width:100%;font-size:.75rem}.nav-github{border:0;margin-left:auto;padding:0}.brand-mark{padding:6px 10px 8px 7px;font-size:1.2rem}.hero{grid-template-columns:1fr;gap:40px;padding-block:32px 48px}.hero>.engineering-panel{margin-top:0}.hero h1{font-size:clamp(3.3rem,9vw,5rem)}.hero-intro{max-width:650px;font-size:1rem}.engineering-panel{justify-self:center;width:100%;max-width:520px}.orbit-art{height:285px}.orbit.three{width:275px;height:275px}.label-one{top:45px;left:15%}.label-two{right:13%}.label-three{bottom:30px;left:20%}.hero-footnote{margin-top:30px}.focus-strip>.container{flex-wrap:wrap;justify-content:flex-start;gap:18px 25px;padding-block:23px}.focus-strip .small-label{width:100%}.strip-next{font-size:.65rem}.section{padding-block:65px}.about-section,.resume-section{grid-template-columns:1fr;gap:30px}.section-title-row{display:block}.section-title-row>p{margin-top:24px}.desktop-break{display:none}.contact-section{grid-template-columns:1fr;gap:25px;margin-bottom:45px;padding:30px}.site-footer{flex-wrap:wrap;gap:16px}.site-footer .brand{width:100%}.project-summary{min-height:6em}.project-card{padding:18px}.project-card h3{font-size:1.2rem}.code-visual strong{font-size:1.15rem}.family-visual>div{font-size:1.5rem}.cloud-visual>span{font-size:2rem}.network-visual>div{font-size:1.8rem}}@media (width<=540px){.hero h1{font-size:3.3rem}.hero .eyebrow{letter-spacing:.06em;font-size:.55rem}.hero-actions{flex-wrap:wrap;gap:22px}.hero-actions .text-link{font-size:.8rem}.hero-footnote{font-size:.64rem}.project-grid{grid-template-columns:1fr}.project-card{padding:22px}.project-visual{height:175px}.project-summary{min-height:0}.project-card h3{font-size:1.4rem}.code-visual strong{font-size:1.5rem}.family-visual>div{font-size:1.9rem}.section-heading h2{max-width:320px}.large-copy{font-size:1.45rem}.skills-grid{gap:28px 20px}.skill-group h3{font-size:.78rem}.skill-group ul{font-size:.76rem}.contact-section{padding:28px 22px}.contact-section h2{font-size:1.9rem}.email-link{gap:12px;font-size:.9rem}.project-note{align-items:flex-start;font-size:.6rem}.project-note .signal{margin-top:6px}.label-one{left:6%}.label-two{right:5%}.label-three{left:12%}.project-detail,.detail-heading{padding-top:35px}.detail-heading .eyebrow{font-size:.6rem}.detail-heading .large-copy{font-size:1.1rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{:root{color-scheme:light;--bg:white;--text:#111;--muted:#444;--line:#bbb;--accent:#285b21}body{background:#fff}.site-header,.engineering-panel,.hero-actions,.focus-strip,.contact-links,.site-footer,.skip-link{display:none}.container{width:100%}.hero,.about-section,.resume-section,.contact-section{padding:20px 0;display:block}.projects-section,.project-card,.contact-section{background:#fff}.section{padding-block:25px}.project-visual{display:none}.project-card{break-inside:avoid}.hero h1{font-size:40px}.contact-section{border:0}.eyebrow{margin-bottom:10px}}
