@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@1,600&display=swap";:root{font-family:Manrope,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #171713;--paper: #f3f0e8;--paper-deep: #e8e3d7;--accent: #f0c808;--accent-ink: #171713;--muted: #5f5b53;--line: rgba(23, 23, 19, .2);--grid: rgba(23, 23, 19, .035);--header-bg: rgba(243, 240, 232, .9);--hover-bg: rgba(232, 227, 215, .72);--card-tint: rgba(243, 240, 232, .45);--inverse-bg: #171713;--inverse-text: #f3f0e8;--inverse-muted: #d5d1c8;--inverse-line: rgba(243, 240, 232, .22);--mono: "DM Mono", monospace;color:var(--ink);background:var(--paper);color-scheme:light}:root[data-theme=dark]{--ink: #efede6;--paper: #151512;--paper-deep: #20201c;--accent: #f0c808;--muted: #b7b2a8;--line: rgba(239, 237, 230, .2);--grid: rgba(239, 237, 230, .04);--header-bg: rgba(21, 21, 18, .9);--hover-bg: rgba(239, 237, 230, .06);--card-tint: rgba(239, 237, 230, .035);--inverse-bg: #090908;--inverse-text: #f3f0e8;--inverse-muted: #cbc7be;--inverse-line: rgba(243, 240, 232, .24);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),var(--paper);background-size:40px 40px;color:var(--ink);font-size:16px;line-height:1.6}body,button,a{font-family:inherit}a{color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}.skip-link{position:fixed;top:12px;left:12px;z-index:100;padding:10px 16px;background:var(--accent);color:var(--accent-ink);transform:translateY(-160%);transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:76px;padding:0 clamp(20px,4vw,64px);background:var(--header-bg);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{width:max-content;font-size:21px;font-weight:800;letter-spacing:-.08em;text-decoration:none}.brand-dot{color:#c19f00}.nav{display:flex;gap:clamp(18px,3vw,42px)}.nav a,.theme-toggle,.header-resume{position:relative;font-family:var(--mono);font-size:12px;text-decoration:none;text-transform:uppercase;letter-spacing:.05em}.header-actions{display:flex;justify-self:end;align-items:center;gap:9px}.theme-toggle{display:grid;min-width:52px;height:40px;padding:0;place-items:center;color:var(--ink);background:transparent;border:1px solid var(--line);cursor:pointer;font-size:11px;transition:color .16s ease,background .16s ease,border-color .16s ease}.theme-toggle:hover{color:var(--paper);background:var(--ink);border-color:var(--ink)}.nav a:after{position:absolute;right:0;bottom:-6px;left:0;height:1px;background:var(--ink);content:"";transform:scaleX(0);transform-origin:right;transition:transform .18s ease}.nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-resume{justify-self:end;padding:10px 14px;border:1px solid var(--ink);transition:color .16s ease,background .16s ease}.header-resume:hover{color:var(--paper);background:var(--ink)}.hero{display:flex;min-height:min(860px,calc(100svh - 76px));padding:clamp(52px,6vw,88px) clamp(20px,4vw,64px) 28px;flex-direction:column;justify-content:space-between;border-bottom:1px solid var(--line)}.hero-kicker,.eyebrow{margin:0;font-family:var(--mono);font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.12em}.hero-kicker{display:flex;align-items:center;gap:10px}.status-dot{width:8px;height:8px;background:var(--accent);border:1px solid var(--ink);border-radius:50%;box-shadow:0 0 0 4px #f0c80847}.hero h1{max-width:1300px;margin:clamp(52px,8vh,92px) 0;font-size:clamp(54px,8.8vw,136px);font-weight:600;line-height:.88;letter-spacing:-.075em}.hero h1 em{font-family:Playfair Display,serif;font-weight:600;letter-spacing:-.045em;white-space:nowrap}.hero-bottom{display:grid;grid-template-columns:minmax(280px,640px) 1fr;gap:clamp(32px,8vw,140px);align-items:end}.hero-intro{max-width:36ch;margin:0;font-size:clamp(18px,2vw,28px);line-height:1.45;letter-spacing:-.025em}.hero-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.button{display:inline-flex;min-height:48px;padding:0 18px;align-items:center;justify-content:center;gap:16px;border:1px solid var(--ink);font-family:var(--mono);font-size:11px;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;transition:transform .16s ease,background .16s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent-ink)}.button-quiet{border-color:var(--line)}.button-quiet:hover{background:var(--paper-deep)}.hero-index{display:flex;margin-top:clamp(40px,6vw,72px);justify-content:space-between;color:var(--muted);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.section{padding:clamp(76px,9vw,132px) clamp(20px,4vw,64px);border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:minmax(170px,.5fr) 1.25fr minmax(240px,.7fr);gap:32px;margin-bottom:clamp(48px,6vw,82px);align-items:start}.section-heading h2,.lab-copy h2,.proof h2,.contact h2{margin:-.18em 0 0;font-size:clamp(42px,5.4vw,78px);font-weight:600;line-height:.98;letter-spacing:-.06em}.section-heading>p:last-child{max-width:440px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}.active-build{background:var(--paper-deep)}.build-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.build-card{display:flex;min-height:380px;padding:24px;flex-direction:column;background:var(--paper);border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.build-card:nth-child(2){background:var(--paper-deep)}.build-card-top{display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.build-card h3{max-width:11ch;margin:auto 0 24px;font-size:clamp(30px,3.8vw,54px);font-weight:600;line-height:1;letter-spacing:-.055em}.build-card p{max-width:42ch;margin:0 0 24px;color:var(--muted);line-height:1.65}.project-list{border-top:1px solid var(--ink)}.project-card{display:grid;grid-template-columns:minmax(48px,.22fr) 1.25fr minmax(150px,.45fr);gap:32px;min-height:320px;padding:38px 0;border-bottom:1px solid var(--line);transition:padding .22s ease,background .22s ease}.project-card:hover{padding-right:24px;padding-left:24px;background:var(--hover-bg)}.project-number{font-family:var(--mono);font-size:12px}.project-type{margin:0 0 18px;color:var(--muted);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.project-main h3{margin:0;font-size:clamp(42px,5.5vw,76px);font-weight:600;line-height:1;letter-spacing:-.055em}.project-description{max-width:680px;margin:28px 0;color:var(--muted);font-size:17px;line-height:1.68}.tag-list{display:flex;margin:0;padding:0;gap:7px;flex-wrap:wrap;list-style:none}.tag-list li{padding:6px 9px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.project-links{display:flex;align-items:flex-end;justify-content:flex-end;gap:18px;flex-wrap:wrap}.project-links a,.project-links span{font-family:var(--mono);font-size:11px;text-transform:uppercase;text-decoration-thickness:1px;text-underline-offset:5px}.project-links span{color:var(--muted)}.experience{color:var(--inverse-text);background:var(--inverse-bg)}.experience .section-heading,.experience .timeline{--line: var(--inverse-line)}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:minmax(170px,.5fr) .8fr 1.3fr;gap:32px;padding:38px 0 46px;border-bottom:1px solid var(--line)}.timeline-period{margin:4px 0 0;color:var(--inverse-muted);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.timeline-title h3{margin:0 0 8px;font-size:clamp(22px,2.5vw,34px);font-weight:500;line-height:1.15;letter-spacing:-.035em}.timeline-title p,.timeline-detail>p{margin:0}.timeline-title p{color:var(--accent);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.timeline-detail>p{max-width:700px;margin-bottom:24px;color:var(--inverse-muted);font-size:16px;line-height:1.7}.experience .tag-list li{border-color:var(--line);color:var(--inverse-muted)}.section-heading.compact{grid-template-columns:minmax(170px,.5fr) 2fr}.section-heading.compact h2{max-width:950px}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.capability-grid article{min-height:270px;padding:24px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.capability-grid span{font-family:var(--mono);font-size:10px}.capability-grid h3{margin:64px 0 16px;font-size:25px;font-weight:600;line-height:1.1;letter-spacing:-.04em}.capability-grid p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}.lab{display:grid;grid-template-columns:1fr;gap:clamp(48px,6vw,80px);background:var(--paper-deep)}.lab-copy h2{margin-top:30px}.lab-copy>p:last-child{max-width:520px;margin:34px 0 0;color:var(--muted);font-size:17px;line-height:1.7}.node-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.node-grid article{min-height:390px;padding:24px;background:var(--paper);border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.node-heading{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.node-status{display:flex;align-items:center;gap:7px}.node-status i{width:7px;height:7px;background:var(--accent);border:1px solid var(--ink);border-radius:50%}.node-name{margin:70px 0 8px;color:var(--muted);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.node-grid h3{margin:0 0 22px;font-size:clamp(26px,3vw,40px);font-weight:600;line-height:1.05;letter-spacing:-.045em}.node-detail{max-width:42ch;margin:0 0 28px;color:var(--muted);line-height:1.7}.lab-systems{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,64px)}.lab-systems article{padding-top:22px;border-top:1px solid var(--ink)}.lab-systems h3{margin:0 0 14px;font-size:18px}.lab-systems p{margin:0;color:var(--muted);line-height:1.7}.lab-build{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,8vw,120px);padding:clamp(28px,4vw,52px);color:var(--inverse-text);background:var(--inverse-bg)}.lab-build h3{max-width:13ch;margin:22px 0 0;font-size:clamp(30px,4vw,54px);font-weight:600;line-height:1.05;letter-spacing:-.05em}.lab-build>p{max-width:670px;margin:0;align-self:end;color:var(--inverse-muted);font-size:17px;line-height:1.75}.proof{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(64px,10vw,160px)}.proof .eyebrow{margin-bottom:30px}.proof-grid{border-top:1px solid var(--ink)}.proof-grid article{display:grid;grid-template-columns:.55fr 1fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}.proof-grid strong{font-size:17px}.proof-grid p{margin:0;color:var(--muted);line-height:1.7}.contact{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(40px,7vw,120px);padding:clamp(88px,11vw,164px) clamp(20px,4vw,64px);align-items:end;color:var(--inverse-text);background:var(--inverse-bg)}.contact .eyebrow{color:var(--accent)}.contact h2{max-width:980px;margin:38px 0 24px;font-size:clamp(48px,8vw,128px);line-height:.96}.contact-copy>p:last-child{max-width:620px;margin:0;color:var(--inverse-muted);font-size:clamp(18px,2vw,24px);line-height:1.55}.contact-card{padding:clamp(26px,4vw,42px);background:linear-gradient(135deg,rgba(240,200,8,.16),transparent 42%),#f3f0e80e;border:1px solid var(--inverse-line);border-radius:28px;box-shadow:0 28px 90px #0003}.contact-label{display:block;margin-bottom:28px;color:var(--accent);font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.contact-primary{display:inline-flex;width:100%;min-height:64px;padding:0 22px;align-items:center;justify-content:space-between;gap:16px;color:var(--accent-ink);background:var(--accent);border:1px solid var(--accent);border-radius:999px;font-family:var(--mono);font-size:clamp(13px,1.2vw,15px);font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;transition:transform .16s ease,box-shadow .16s ease}.contact-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px #f0c8082e}.contact-card p{margin:24px 0 32px;color:var(--inverse-muted);line-height:1.7}.contact-note{padding:18px 0 0;border:1px solid var(--inverse-line);border-width:1px 0 0}.contact-note span,.contact-note strong{display:block}.contact-note span{margin-bottom:8px;color:var(--accent);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.contact-note strong{color:var(--inverse-text);font-size:clamp(18px,2vw,24px);font-weight:600;line-height:1.35}.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;min-height:84px;padding:0 clamp(20px,4vw,64px);align-items:center;color:var(--inverse-muted);background:var(--inverse-bg);border-top:1px solid var(--inverse-line);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.site-footer p{margin:0}.footer-links{display:flex;gap:clamp(16px,3vw,36px);justify-self:center}.footer-links a,.site-footer>a{text-decoration:none}.footer-links a:hover,.site-footer>a:hover{color:var(--inverse-text);text-decoration:underline}.site-footer>a{justify-self:end;text-underline-offset:4px}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[data-reveal]{opacity:1;transform:none}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (max-width: 980px){.hero-bottom,.lab,.proof,.contact{grid-template-columns:1fr}.hero-actions{justify-content:flex-start}.section-heading{grid-template-columns:.45fr 1.55fr}.section-heading>p:last-child{grid-column:2}.project-card{grid-template-columns:48px 1fr}.project-links{grid-column:2;justify-content:flex-start}.timeline-item{grid-template-columns:.45fr 1.55fr}.timeline-detail{grid-column:2}.capability-grid{grid-template-columns:repeat(2,1fr)}.build-grid{grid-template-columns:1fr}.build-card{min-height:300px}.node-grid,.lab-systems{grid-template-columns:1fr}.node-grid article{min-height:320px}}@media (max-width: 680px){.site-header{grid-template-columns:1fr auto;min-height:64px}.header-resume{padding-right:11px;padding-left:11px}.nav{display:none}.hero{min-height:auto;padding-top:44px;padding-bottom:40px}.hero h1{margin:68px 0 76px;font-size:clamp(50px,16vw,84px);line-height:.94}.hero h1 em{white-space:normal}.hero-actions{display:grid;grid-template-columns:1fr 1fr}.button-primary{grid-column:1 / -1}.hero-index{display:none}.section-heading,.section-heading.compact{grid-template-columns:1fr;gap:26px}.section-heading>p:last-child{grid-column:auto}.project-card{grid-template-columns:1fr;min-height:0;padding:34px 0 42px}.project-card:hover{padding-right:12px;padding-left:12px}.project-links{grid-column:auto;justify-content:flex-start}.timeline-item{grid-template-columns:1fr;gap:20px}.timeline-detail{grid-column:auto}.capability-grid{grid-template-columns:1fr}.capability-grid article{min-height:240px}.capability-grid h3{margin-top:58px}.lab-build{grid-template-columns:1fr;gap:32px}.proof-grid article{grid-template-columns:1fr}.contact{align-items:start}.contact h2{font-size:clamp(46px,15vw,78px)}.contact-card{border-radius:22px}.contact-primary{width:100%;justify-content:space-between}.site-footer{grid-template-columns:1fr auto;gap:16px}.site-footer{grid-template-columns:1fr auto;padding-top:22px;padding-bottom:22px}.footer-links{grid-column:1 / -1;grid-row:1;justify-self:start;margin-bottom:18px}.site-footer>p{grid-column:1;grid-row:2}.site-footer>a{grid-column:2;grid-row:2}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}
