:root{color-scheme:light;--bg:#fff;--surface:#f6f7f9;--surface-strong:#eef1f4;--text:#111827;--muted:#5b6472;--line:#d9dee5;--accent:#111827;--accent-dark:#111827;--max-width:1080px}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-width:320px;margin:0;line-height:1.6}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin-top:0}p{color:var(--muted)}.site-header,.site-footer,.section{width:min(100% - 40px, var(--max-width));margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.brand{letter-spacing:0;font-weight:700}.site-nav{color:var(--muted);align-items:center;gap:22px;font-size:.95rem;display:flex}.site-nav a:hover,.section-heading a:hover,.link-row a:hover{color:var(--accent)}.hero{padding:96px 0 72px}.eyebrow{color:var(--accent);margin-bottom:12px;font-weight:700}h1{letter-spacing:0;max-width:840px;margin-bottom:20px;font-size:clamp(3rem,9vw,5.8rem);line-height:.98}.hero-copy,.page-header p{max-width:720px;font-size:1.28rem}.button-row,.link-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button{border:1px solid var(--text);border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:700;display:inline-flex}.button.primary{background:var(--text);color:var(--bg)}.button.primary:hover{background:#273244}.button.secondary:hover{border-color:var(--accent);color:var(--accent)}.section{padding:56px 0}.about-section,.archive-section,.project-group,.contact-band{border-top:1px solid var(--line)}h2{margin-bottom:18px;font-size:1.55rem;line-height:1.2}h3{margin-bottom:12px;font-size:1.25rem}.measure{max-width:760px}.measure p{margin-bottom:10px}.section-heading,.contact-band{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.section-heading a,.link-row a{color:var(--muted);font-weight:700}.project-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.project-card{border:1px solid var(--line);background:var(--bg);border-radius:8px;flex-direction:column;justify-content:space-between;gap:24px;min-height:330px;padding:24px;display:flex}.project-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-card-header h3{overflow-wrap:anywhere;margin-bottom:0}.project-links{flex-shrink:0;gap:8px;display:flex}.icon-link{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.icon-link:hover{border-color:var(--text);color:var(--text)}.icon-link svg{fill:currentColor;width:18px;height:18px}.tag-list,.stack-list,.plain-list{margin:0;padding:0;list-style:none}.tag-list,.stack-list{flex-wrap:wrap;gap:8px;display:flex}.tag-list li,.stack-list li{border:1px solid var(--line);background:var(--surface);color:#293241;border-radius:6px;padding:6px 10px;font-size:.92rem;font-weight:650}.page-header{padding-top:84px;padding-bottom:32px}.resume-grid{border-top:1px solid var(--line);grid-template-columns:1.4fr .8fr .8fr;gap:28px;display:grid}.plain-list li{border-bottom:1px solid var(--line);color:var(--muted);padding:8px 0}.contact-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.contact-list a,.contact-item{border:1px solid var(--line);border-radius:8px;flex-direction:column;justify-content:center;gap:4px;min-height:104px;padding:22px;display:flex}.contact-list a:hover{border-color:var(--accent)}.contact-list span,.contact-item span{color:var(--muted)}.contact-list strong,.contact-item strong{overflow-wrap:anywhere}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:10px 18px;padding:28px 0 40px;font-size:.95rem;display:flex}@media (width<=760px){.site-header{flex-direction:column;justify-content:center;align-items:flex-start;padding:18px 0}.site-nav{gap:14px;width:100%;padding-bottom:4px;overflow-x:auto}.hero{padding-top:72px}h1{font-size:3.1rem}.hero-copy,.page-header p{font-size:1.08rem}.section-heading,.contact-band{flex-direction:column}.project-grid,.archive-grid,.resume-grid,.contact-list{grid-template-columns:1fr}.project-card{min-height:auto}}@media (width<=420px){.site-header,.site-footer,.section{width:min(100% - 28px, var(--max-width))}h1{font-size:2.7rem}.button{width:100%}}
