:root{--bg: #1F1F1F;--text: #FFFFFF;--muted-text: rgba(255,255,255,.78);--accent: #D2042D;--max-width: 1100px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Switzer,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial;line-height:1.6}.container{max-width:var(--max-width);margin:48px auto;padding:0 20px}h1,h2,h3{font-family:Khand,sans-serif;margin:0 0 16px}h1{font-size:clamp(36px,6vw,72px);letter-spacing:.5px;font-weight:700}h2{font-size:28px}h3{font-size:20px}.lead{font-size:18px;margin-top:12px;color:var(--muted-text);max-width:60ch}.prose{max-width:60ch;color:var(--muted-text)}details.about-expand{margin-top:12px}details.about-expand summary{list-style:none;cursor:pointer;padding:0}details.about-expand summary::-webkit-details-marker{display:none}details.about-expand .about-full p{margin-bottom:12px;color:var(--muted-text)}.nav{border-bottom:1px solid transparent;padding:20px 0}.nav-inner{max-width:var(--max-width);margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:Khand,sans-serif;font-weight:700;color:var(--text);text-decoration:none;font-size:20px}.nav-links{list-style:none;margin:0;padding:0;display:flex;gap:24px}.nav-links a{color:var(--muted-text);text-decoration:none;padding:8px 0;position:relative}.nav-links a[aria-current=page]{color:var(--accent)}.nav-burger,.nav-toggle{display:none}@media (max-width:760px){.nav-links{position:absolute;left:0;right:0;top:72px;background:var(--bg);flex-direction:column;padding:20px;display:none}.nav-burger{display:block;background:none;border:0;font-family:Khand,sans-serif;color:var(--muted-text)}.nav-toggle:checked+.nav-burger+.nav-links{display:flex}}.hero{padding:48px 0}.hero h1{color:var(--accent);line-height:1}.hero .lead{margin-top:12px}.hero-ctas{display:flex;gap:12px;margin-top:20px}.btn{display:inline-block;padding:10px 18px;text-decoration:none;border:1px solid rgba(255,255,255,.12);color:var(--text);font-weight:600;background:transparent}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.secondary{background:transparent;color:var(--text)}.btn.newsletter{background:transparent;border:2px solid #FFFFFF;color:var(--accent);padding:10px 20px;font-weight:700}.btn.newsletter:hover{background:#d2042d14;box-shadow:0 8px 24px #d2042d14}.btn.newsletter:focus{outline:3px solid rgba(210,4,45,.12);outline-offset:3px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0}.project-card{border:1px solid rgba(255,255,255,.04);padding:18px}.project-title{font-size:18px;margin-bottom:8px;color:var(--text)}.project-desc{margin:0 0 12px;color:var(--muted-text)}.project-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tag{font-size:12px;padding:4px 8px;border:1px solid rgba(255,255,255,.04);color:var(--muted-text)}.project-link{color:var(--accent);text-decoration:none;font-weight:600}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.projects-grid{grid-template-columns:1fr}.container{margin:24px auto;padding:0 16px}.hero-ctas{flex-direction:column}.hero{padding:16px 0}}.btn:focus{outline:3px solid rgba(210,4,45,.12);outline-offset:3px}details.about-expand summary.btn{display:inline-block}details.about-expand[open] summary.btn{box-shadow:0 6px 18px #00000040}.newsletter{padding:40px 0;border-top:1px solid rgba(255,255,255,.04)}.newsletter-form{display:flex;gap:12px;margin-top:12px;align-items:center}.newsletter-form input[type=email]{flex:1;padding:12px;border:1px solid rgba(255,255,255,.08);background:transparent;color:var(--text)}.newsletter-form .btn{padding:12px 16px}.muted{color:var(--muted-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-footer{border-top:1px solid rgba(255,255,255,.04);padding:28px 0;margin-top:40px}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.timeline{padding-left:18px}
