/* Link affordances stay visible without relying on icons or hover. */
:root{--link-color:var(--accent)}
.project-page,.project-list-row{--link-color:var(--project-accent,var(--accent))}

/* Navigation has familiar placement; contact and language have clear bounds. */
.site-nav a{font-weight:500;min-height:42px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}
.nav-cta{border:1px solid #526543;border-radius:3px;padding:10px 15px;min-height:42px;color:var(--ink);line-height:1.5;justify-content:center}
.nav-cta:hover,.nav-cta:focus-visible{background:#c0f97a12;border-color:var(--accent);color:var(--accent)}
.language-switch{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;border:1px solid var(--line);border-radius:3px;min-height:34px;color:var(--ink);line-height:1.5}
.language-switch:hover,.language-switch:focus-visible{border-color:var(--accent);color:var(--accent);background:#c0f97a0a}

/* A filled primary action and an outlined secondary action. */
.button{border-radius:3px;border:1px solid transparent;min-height:44px;justify-content:center}
.button:hover{transform:none}
.button-primary{border-color:var(--accent)}
.hero-actions .text-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:1px solid #6b7e59;border-radius:3px;color:var(--ink);font-weight:500;line-height:1.5}
.hero-actions .text-link:hover,.hero-actions .text-link:focus-visible{border-color:var(--accent);background:#c0f97a12;color:var(--accent)}
.case-website>.button,.case-contact>.button{border-color:var(--project-accent)}

/* Content links are underlined at rest, including on touch screens. */
.service-link,.project-entry-link,.project-site-link,.case-breadcrumb a,.project-attribution a,.back-top{color:var(--link-color);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:color-mix(in srgb,var(--link-color) 60%,transparent);text-decoration-skip-ink:auto;font-weight:500}
.service-link:hover,.project-entry-link:hover,.project-site-link:hover,.case-breadcrumb a:hover,.project-attribution a:hover,.back-top:hover{color:var(--link-color);text-decoration-color:var(--link-color);text-decoration-thickness:2px}
.service-link{min-height:50px}
.project-entry-link{border-bottom:0;min-height:44px}
.project-site-link{display:inline-flex;align-items:center;min-height:44px;line-height:1.7;overflow-wrap:anywhere}
.project-detail-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid #5c6a51;border-radius:3px;color:var(--ink);font-weight:500;line-height:1.5}
.project-detail-link:hover,.project-detail-link:focus-visible{color:var(--link-color);border-color:var(--link-color);background:color-mix(in srgb,var(--link-color) 7%,transparent)}
.case-breadcrumb a,.back-top,.project-attribution a{display:inline-flex;align-items:center;min-height:40px}
.email-link{border-bottom-color:var(--accent);color:var(--accent)}
.email-link[data-email-link]>[data-email]{color:inherit}
.email-link:hover{background:#c0f97a08}

/* The next-project title is a single, visibly interactive destination. */
.next-project{margin-top:18px;padding:20px 22px;border:1px solid #48563c;border-radius:3px;background:#c0f97a05}
.next-project h2{color:var(--link-color);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px;text-decoration-color:color-mix(in srgb,var(--link-color) 55%,transparent)}
.next-project:hover,.next-project:focus-visible{border-color:var(--link-color);background:color-mix(in srgb,var(--link-color) 7%,transparent)}
.next-project:hover h2{text-decoration-color:var(--link-color)}

a:focus-visible{outline:2px solid var(--link-color);outline-offset:5px}
a:active{filter:brightness(.88)}
.skip-link:active,.brand:active{filter:none}
@media(max-width:760px){.nav-cta{display:none}.hero-actions{align-items:stretch}.hero-actions .text-link{font-size:15px;padding:12px 16px}.project-list-actions{gap:12px 22px}.next-project{padding:18px}.site-nav a{min-height:44px}.language-switch{min-height:38px}}
@media(prefers-reduced-motion:reduce){a{transition:none!important}}
