:root{--paper:#f3efe6;--ink:#121713;--muted:#586159;--line:#c8c7bc;--accent:#285b43;--accent-ink:#f7f4ec;--surface:#ffffff57}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.shell{width:min(100% - 48px,1380px);margin-inline:auto}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:88px;display:flex}.brand{border:1px solid var(--ink);letter-spacing:-.04em;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.topbar nav,.detail-nav{gap:24px;font-size:.92rem;display:flex}.topbar nav a,.detail-nav a,.text-link{border-bottom:1px solid #0000}.topbar nav a:hover,.detail-nav a:hover,.text-link:hover{border-bottom-color:currentColor}.hero{border-bottom:1px solid var(--line);align-content:center;min-height:650px;display:grid}.eyebrow,.project-role,.project-status{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-size:.76rem;font-weight:700}.hero h1,.detail-header h1{letter-spacing:-.065em;max-width:1050px;margin:14px 0 24px;font-size:clamp(3.3rem,8vw,7.7rem);font-weight:700;line-height:.93}.hero-copy,.detail-header>p:last-child{max-width:760px;color:var(--muted);font-size:clamp(1.1rem,2vw,1.45rem)}.actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{border:1px solid var(--ink);justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:700;display:inline-flex}.button.primary{background:var(--ink);color:var(--accent-ink)}.button.secondary{background:0 0}.statement{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:0;display:flex}.statement span{color:var(--muted);margin-right:22px;padding:18px 22px 18px 0;font-size:.9rem}.section{border-bottom:1px solid var(--line);padding-block:110px}.section-heading{max-width:850px;margin-bottom:52px}.section-heading h2,.split h2,.cta h2{letter-spacing:-.045em;margin:8px 0 16px;font-size:clamp(2.2rem,4vw,4.6rem);line-height:1}.section-heading>p:last-child,.prose,.cta>p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.project-list{border-top:1px solid var(--line)}.project-row{border-bottom:1px solid var(--line);grid-template-columns:72px minmax(0,1fr) 240px;gap:24px;padding:34px 0;display:grid}.project-index{color:var(--muted);font-variant-numeric:tabular-nums}.project-row h2,.project-row h3{letter-spacing:-.035em;margin:4px 0 10px;font-size:clamp(1.7rem,3vw,2.8rem)}.project-row p{max-width:760px}.tags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tags span{border:1px solid var(--line);padding:5px 9px;font-size:.78rem}.text-link{margin-top:30px;font-weight:700;display:inline-block}.capability-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.capability-grid article{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);min-height:250px;padding:28px}.capability-grid h3{margin-top:0;font-size:1.25rem}.capability-grid p{color:var(--muted)}.split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px;display:grid}.prose p:first-child{margin-top:0}.cta{padding-block:110px}.cta>p:not(.eyebrow){max-width:760px;margin-bottom:30px}.footer{min-height:100px;color:var(--muted);justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.detail-page{padding-bottom:100px}.detail-nav{border-bottom:1px solid var(--line);align-items:center;min-height:88px}.detail-header{border-bottom:1px solid var(--line);padding:100px 0 80px}.resume-grid{border-left:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:60px;display:grid}.resume-grid article{border:1px solid var(--line);border-left:0;padding:28px}.resume-grid h2,.resume-note h2{margin-top:0}.resume-grid ul{color:var(--muted);padding-left:18px}.resume-note,.contact-panel{max-width:820px;color:var(--muted);padding:48px 0}.contact-panel .button{margin-top:18px}@media (max-width:860px){.shell{width:min(100% - 30px,1380px)}.hero{min-height:560px}.project-row{grid-template-columns:48px 1fr}.project-status{grid-column:2}.capability-grid,.resume-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:24px}}@media (max-width:560px){.topbar{align-items:flex-start;padding-block:18px}.topbar nav{gap:14px;font-size:.82rem}.hero{min-height:500px}.hero h1,.detail-header h1{font-size:clamp(3rem,17vw,5.2rem)}.project-row{grid-template-columns:1fr}.project-index,.project-status{grid-column:1}.capability-grid,.resume-grid{grid-template-columns:1fr}.footer{flex-direction:column;justify-content:center;align-items:flex-start;gap:8px}}
