:root{color-scheme:light;font:16px/1.45 "Segoe UI",system-ui,sans-serif;color:#272722;background:#f7f5ef}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}
header,main{max-width:1260px;margin:auto;padding-inline:clamp(20px,5vw,72px)}
header{display:flex;align-items:center;justify-content:space-between;padding-block:23px;border-bottom:1px solid #cbc6b8}
header{max-width:none;background:#0d0d0d;color:#f7f5ef;padding:3px max(calc((100vw - 1116px)/2),clamp(20px,5vw,72px))}
.brand{display:block}.brand img{width:166px;height:auto;display:block}nav{font-size:14px}
h1{font:normal clamp(34px,5vw,70px)/1.05 Georgia,serif;letter-spacing:-.035em;margin:clamp(32px,5vw,64px) 0 30px}
#projects{display:grid;gap:46px;margin-bottom:50px}article{min-width:0}.cover{display:block;background:#e6e1d7}.cover img{display:block;object-fit:cover;width:100%;aspect-ratio:2.6}
.caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid #cbc6b8}
h2{font:normal clamp(24px,3vw,36px)/1.2 Georgia,serif;margin:0}p{margin:5px 0 0;color:#57564d}
.open,.mode{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:11px 17px;background:#303b34;color:#fff;text-decoration:none;border-radius:3px}
.modes{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.mode{background:transparent;color:#303b34;border:1px solid #8d9389}.open:hover,.mode:hover{background:#45554b;color:#fff}
@media(max-width:620px){.cover img{aspect-ratio:1.4}.caption{align-items:flex-start;flex-direction:column}.open{width:100%}}
