:root{--paper:#f3f1e9;--ink:#202925;--muted:#626c64;--line:#cdd0c5;--accent:#d54b28;--dark:#172a24}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit}button{font:inherit} .wrap{width:min(1200px,90%);margin:auto}header{border-bottom:1px solid var(--line);background:var(--paper)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:90px;gap:20px}.brand{text-decoration:none;font-weight:800;font-size:22px;letter-spacing:-1px}.brand span{color:var(--accent)}nav{display:flex;gap:28px;align-items:center}nav a{text-decoration:none;font-size:13px;font-weight:bold}nav a:hover{color:var(--accent)}.eyebrow,.mono{font:12px/1.5 'Courier New',monospace;letter-spacing:1.5px;text-transform:uppercase}.eyebrow{color:var(--accent);display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:7px;height:7px;background:var(--accent);display:inline-block}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:50px;padding:78px 0 65px;align-items:center}h1{font-size:clamp(54px,6.6vw,92px);letter-spacing:-5px;line-height:1.02;margin:26px 0}h1 em{font-family:Georgia,serif;font-weight:normal;color:var(--accent)}.intro{max-width:470px;color:var(--muted);font-size:18px}.actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:30px}.button{display:inline-block;background:var(--ink);color:white;padding:13px 22px;text-decoration:none;font-size:13px;font-weight:bold;border:1px solid var(--ink)}.button:hover{background:var(--accent);border-color:var(--accent)}.text-link{font-size:13px;font-weight:bold;text-underline-offset:5px}.hero-art{background:var(--dark);color:#d5e0ce;padding:25px;position:relative;min-width:0}.hero-art svg{width:100%;display:block}.art-meta{display:flex;justify-content:space-between;font:10px 'Courier New',monospace;letter-spacing:1px}.art-caption{border-top:1px solid #52665b;padding-top:18px;display:flex;justify-content:space-between;font-size:12px}.strip{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;color:var(--muted);font:11px 'Courier New',monospace;text-transform:uppercase;letter-spacing:1px}.section{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px;gap:20px}h2{font-size:clamp(32px,4vw,48px);line-height:1.1;letter-spacing:-2px;margin:12px 0}h3{font-size:25px;letter-spacing:-.7px;line-height:1.25;margin:12px 0}p{margin:12px 0}.subtle{color:var(--muted)}.project-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px}.project{text-decoration:none;display:block}.project-visual{height:300px;position:relative;overflow:hidden;background:#dfe4d8;padding:22px;display:flex;align-items:center;justify-content:center}.project-visual svg{width:90%;height:100%}.project:nth-child(2) .project-visual{background:#e7d9c9}.project:hover h3{color:var(--accent)}.project:hover svg{transform:translateY(-5px)}svg{transition:transform .25s}.project-label{position:absolute;left:20px;top:15px;font:10px 'Courier New',monospace;letter-spacing:1px}.project-meta{display:flex;justify-content:space-between;margin-top:18px;font:11px 'Courier New',monospace;text-transform:uppercase;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tags span{border:1px solid var(--line);padding:4px 9px;font:11px 'Courier New',monospace}.project p{color:var(--muted);max-width:530px}.leadership{background:#e9e9df;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.club{padding:22px 0;border-bottom:1px solid #c5c9bd;display:grid;grid-template-columns:40px 1fr;gap:15px}.club:first-child{padding-top:0}.club h3{font-size:21px;margin:0}.club .mono{color:var(--accent)}.club p{font-size:14px;color:var(--muted)}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.skills{display:grid;grid-template-columns:1fr 1fr;gap:24px}.skills h3{font-size:16px}.skills p{font-size:14px;color:var(--muted)}.contact{background:var(--dark);color:var(--paper);padding:65px 0}.contact h2{font-size:clamp(40px,6vw,72px);max-width:720px}.contact .eyebrow{color:#ef9679}.contact .button{background:var(--paper);color:var(--ink)}.contact .subtle{color:#b6c4b9}.contact-row{display:flex;justify-content:space-between;align-items:end;gap:30px}.socials{display:flex;gap:22px;margin-top:26px}footer{padding:22px 0;background:var(--dark);color:#b6c4b9;border-top:1px solid #3e5148;font-size:11px}.footer-inner{display:flex;justify-content:space-between;gap:20px}.demo-note{border-left:3px solid var(--accent);padding:12px 18px;background:#ebe4d8;font-size:13px;margin:28px 0}.case-hero{padding:65px 0 40px;max-width:900px}.case-hero h1{font-size:clamp(46px,6vw,76px)}.case-grid{display:grid;grid-template-columns:230px 1fr;gap:70px;padding-bottom:70px}.case-grid aside{border-top:1px solid var(--line);padding-top:20px}.case-body{max-width:760px}.case-body h2{font-size:30px;margin-top:42px}.case-body li{margin-bottom:10px}.diagram{padding:26px;background:var(--dark);color:#d5e0ce;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font:13px 'Courier New',monospace}.diagram span{border:1px solid #6c8875;padding:15px}.menu{display:none}.resume-item{border-bottom:1px solid var(--line);padding:20px 0}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}@media(max-width:800px){.hero{grid-template-columns:1fr;padding-top:45px;gap:30px}h1{letter-spacing:-3px}.hero-art{max-width:600px}.project-grid,.split,.about-grid{grid-template-columns:1fr;gap:36px}.section{padding:55px 0}.strip{flex-wrap:wrap;justify-content:flex-start;gap:12px 26px}.case-grid{grid-template-columns:1fr;gap:15px}.contact-row{align-items:start;flex-direction:column}.section-head{align-items:start}.nav{min-height:75px;flex-wrap:wrap;padding:16px 0}.menu{display:block;border:1px solid var(--line);background:none;padding:6px 12px}nav{display:none;width:100%;flex-wrap:wrap;gap:18px;padding:10px 0}nav.open{display:flex}.project-visual{height:260px}.footer-inner{flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}svg{transition:none}}@media print{header,.contact,footer,.actions,.menu{display:none}body{background:white;color:black}.wrap{width:100%}.section{padding:15px 0}.case-hero{padding:0}.demo-note{border:1px solid #aaa}.resume-item{break-inside:avoid}a{text-decoration:none}}

.skip{position:absolute;left:12px;top:-70px;background:var(--ink);color:white;padding:10px;z-index:10}.skip:focus{top:10px}.hero-art img{width:100%;height:auto;display:block}.project-visual img{max-width:100%;height:100%;object-fit:contain;transition:transform .25s}.project:hover img{transform:translateY(-5px)}@media(prefers-reduced-motion:reduce){.project-visual img{transition:none}}
