/* Client feedback: clear link affordances and aligned page introductions. */
:root { --link-border: #b9b9b1; }
.text-link, .article-back, .work-bottom > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 42px;
  padding: 10px 17px;
  border: 1px solid var(--link-border);
  border-radius: 5px;
  background: transparent;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.4;
  text-decoration: none;
  transition: border-color .18s, color .18s, background-color .18s;
}
.text-link:hover, .article-back:hover, .work-bottom > a:hover,
.news-card > a:hover .text-link { border-color: var(--accent); color: var(--accent); background: #d32f2f06; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 4px;
}
.header .main-nav a, .header .main-nav a:hover { text-decoration: none; }
.header .main-nav a[aria-current="page"]::after { right: 0; }
.language-switch a:hover { text-decoration: underline; text-underline-offset: 5px; }
.article-body a, .project-content p a, .contact-details dd a, .footer-contact a,
footer a[href^="tel:"], footer a[href^="mailto:"], .page-cta > div a {
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px;
}
.page-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 28px 32px 52px;
}
.page-hero .page-eyebrow { margin: 0 0 28px; padding: 0; }
.page-hero h1 { font-size: clamp(45px, 6.4vw, 104px); line-height: 1.18; letter-spacing: -.045em; }
.page-hero .page-lead {
  max-width: 690px;
  margin: 22px 0 0;
  font-size: 15px;
  line-height: 1.8;
  color: #62625c;
}
.page-hero + .work .work-toolbar { padding-top: 0; }
.project-detail-heading .text-link { margin-bottom: 24px; }
.project-pagination > a {
  min-height: 46px; border: 1px solid var(--link-border); border-radius: 5px;
  padding: 12px 16px; transition: color .18s, border-color .18s;
}
.project-pagination > a:hover { color: var(--accent); border-color: var(--accent); }
.page-cta > a:hover h2, .contact-link:hover h2 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 10px; }
@media (min-width: 1600px) { .page-hero { padding-left: 3.5vw; padding-right: 3.5vw; } }
@media (max-width: 760px) {
  .page-hero { padding: 22px 22px 36px; }
  .page-hero .page-eyebrow { margin-bottom: 24px; }
  .page-hero .page-lead { margin-top: 20px; font-size: 14px; max-width: 48ch; }
}
@media (max-width: 600px) {
  .page-hero { padding: 20px 18px 32px; }
  .page-hero h1 { font-size: clamp(36px, 9vw, 54px); }
  .page-hero .page-eyebrow { gap: 14px; line-height: 1.5; font-size: 9px; }
  .text-link, .article-back, .work-bottom > a { min-height: 42px; padding: 10px 13px; gap: 12px; font-size: 11px; }
  .project-pagination { gap: 12px; }
  .project-pagination > a { padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .text-link, .article-back, .work-bottom > a, .project-pagination > a { transition: none; }
}
