:root{--ink:#182b24;--accent:#a48654;--paper:#f6f4ed}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 6%;border-bottom:1px solid #d8ddcf}.brand{display:flex;align-items:center;gap:12px;font-size:25px;text-decoration:none}.brand span{font-size:16px;font-weight:700;letter-spacing:1px}.brand small{display:block;font-size:10px;letter-spacing:3px}nav{display:flex;gap:28px;font-size:14px}nav a{text-decoration:none}nav a[aria-current]{border-bottom:1px solid var(--accent)}.intro,.collection{max-width:1440px;padding:0 6%;margin:auto}.intro{padding-top:80px}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#687561;font-weight:700}h1{font:clamp(44px,6vw,86px)/1.04 Georgia,serif;max-width:950px;letter-spacing:-2px;margin:24px 0}h1 em{color:#67755d}#intro{max-width:620px;color:#687561;font-size:18px}.intro-rule{display:flex;justify-content:space-between;border-top:1px solid #bec7b6;margin-top:60px;padding:22px 0;font-size:11px;letter-spacing:2px}#filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 28px}#filters button{padding:9px 18px;border:1px solid #bfc9b6;background:transparent;border-radius:30px}#filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.project-card{background:none;border:0;text-align:left;padding:0;color:inherit}.project-photo{overflow:hidden;aspect-ratio:4/3;background:#e3e7db}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card:hover img{transform:scale(1.035)}.project-card h2{font:32px/1.2 Georgia,serif;margin:12px 0}.project-meta{font-size:12px;color:#687561;letter-spacing:1px}.project-card .view{float:right;color:var(--accent)}#status{margin:20px 0 42px;color:#687561}#status.empty{border:1px solid #cdd4c4;padding:48px;max-width:850px;font-size:18px}.cta{margin-top:90px;background:#e8ecdf;text-align:center;padding:70px 24px}.cta h2{font:clamp(32px,4vw,50px)/1.1 Georgia,serif}.button{display:inline-block;background:var(--ink);padding:15px 24px;text-decoration:none;color:white;font-size:14px}footer{display:flex;justify-content:space-between;gap:20px;padding:32px 6%;font-size:11px;letter-spacing:1px}dialog{background:var(--paper);color:var(--ink);border:0;padding:58px 24px 30px;width:min(1180px,94vw);max-height:92dvh}dialog::backdrop{background:#0c1817bb}.close{position:absolute;right:16px;top:8px;font-size:32px;background:transparent;border:0}.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:36px}#detail-image{width:100%;height:440px;object-fit:contain;background:#e6e9df}.detail-copy h2{font:42px/1.1 Georgia,serif;margin:10px 0 24px}dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:20px 0;border-top:1px solid #cad3c1;border-bottom:1px solid #cad3c1}dt{font-size:12px;color:#687561}dd{margin:0}#description,#photo-caption{white-space:pre-line}#description{line-height:1.8}.gallery-controls{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.gallery-controls button{border:1px solid #bbc5af;background:transparent;padding:7px 18px}.gallery-controls button:disabled{opacity:.3;cursor:default}#photo-count,#photo-caption{font-size:13px}#preview-note{text-align:center;background:#e9d7b7;padding:12px;font-size:12px}body:has(dialog[open]){overflow:hidden}@media(max-width:700px){header{align-items:flex-start;flex-direction:column;padding:22px 6%}nav{gap:20px;flex-wrap:wrap}.intro{padding-top:42px}h1{letter-spacing:-1px}.intro-rule{margin-top:36px}.project-grid,.detail-grid{grid-template-columns:1fr}.project-card h2{font-size:28px}#status.empty{padding:28px}.cta{margin-top:48px}#detail-image{height:300px}.detail-copy h2{font-size:34px}footer{flex-wrap:wrap}dialog{padding:50px 20px 24px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
