:root{--ink:#333;--muted:#666;--accent:#ff6600;--bg:#fff;--soft:#f4f4f4;--bar:#d4d4d4;--wrap:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:17px/1.7 "Open Sans",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
a:hover{text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:8px;left:8px;background:#fff;padding:8px 12px;z-index:100}
h1,h2,h3{line-height:1.25;margin:0 0 .6em}
h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}
/* header */
.site-header{background:var(--bar);position:sticky;top:0;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:80px;gap:20px}
.brand img{width:52px;height:52px}
.nav{display:flex;flex-wrap:wrap;gap:4px 22px}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.92rem;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--accent);color:var(--accent)}
.nav-toggle,.burger{display:none}
@media(max-width:900px){
 .burger{display:block;cursor:pointer;padding:14px 8px}
 .burger span,.burger span::before,.burger span::after{display:block;width:26px;height:3px;background:var(--accent);content:"";position:relative}
 .burger span::before{top:-8px;position:absolute}.burger span::after{top:8px;position:absolute}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bar);flex-direction:column;padding:8px 20px 16px;gap:0;border-top:1px solid #bbb}
 .nav a{padding:10px 0}
 .nav-toggle:checked~.nav{display:flex}
}
/* hero */
.hero{background:#fff}
.hero-inner{max-width:820px;margin:0 auto;padding:44px 20px 28px;text-align:center;font-size:1.3rem;color:#333}
.hero-inner p{margin:0 0 .8em}
.hero-bg{width:100%;height:clamp(260px,42vw,520px);object-fit:cover;object-position:center 30%;filter:grayscale(1)}
/* sections */
.split{padding:56px 0}.split:nth-of-type(even){background:var(--soft)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.flip .pic{order:2}
.split .pic img{width:100%;border-radius:4px}
.split h2{text-align:left;letter-spacing:.04em}
@media(max-width:800px){.two{grid-template-columns:1fr}.flip .pic{order:0}}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:600;padding:10px 24px;border:0;border-radius:3px;cursor:pointer;font:inherit;font-weight:600}
.btn:hover{background:#d95a00}
.projects{padding:56px 0;background:#fff}
.projects>.wrap>h2{text-align:center;letter-spacing:.06em;margin-bottom:1.2em}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px;margin-bottom:12px}
.card h3{margin-bottom:.3em}.card p{margin:0;color:var(--muted);font-size:.95rem}
/* inner pages */
.page{padding:48px 0 64px}
.prose{max-width:820px}
.prose p,.prose ul{margin:0 0 1.1em}
.prose ul{padding-left:1.3em}
.prose h2{margin-top:1.6em}
.prose h2 small{font-weight:400;color:var(--muted);font-size:.7em;margin-left:.4em}
.lead{font-size:1.15rem;font-weight:600}
.meta{color:var(--muted);font-size:.9rem}
.attrib{font-weight:600;color:var(--muted);margin-bottom:2.2em!important}
.figure{margin:1.6em 0}.figure img{width:100%;border-radius:4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:1.4em 0}
.grid-gallery{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.shot img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;transition:opacity .2s}
.shot:hover img{opacity:.85}
.post-card{display:grid;grid-template-columns:240px 1fr;gap:6px 28px;align-items:start}
.post-card>a img{border-radius:4px}
.post-card h2{margin-top:0}.post-card h2 a{color:var(--ink);text-decoration:none}
@media(max-width:700px){.post-card{grid-template-columns:1fr}}
/* form */
.form label{display:block;font-weight:600;font-size:.92rem}
.form input,.form textarea{display:block;width:100%;font:inherit;padding:10px 12px;border:1px solid #bbb;border-radius:3px;margin-top:4px}
.form input:focus,.form textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.hp{position:absolute;left:-9999px}
.form-status{font-weight:600}
/* footer */
.site-footer{background:#2b2b2b;color:#ddd;padding:44px 0 20px;margin-top:0}
.site-footer a{color:#fff}.site-footer h2{font-size:1.1rem;color:#fff}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px}
.copy{margin:28px auto 0;font-size:.85rem;color:#999}
