/* Metric-matched fallbacks reduce reflow while the brand fonts arrive. */
@font-face {
  font-family: 'Fraunces Fallback';
  src: local('Times New Roman'), local('Liberation Serif');
  size-adjust: 113%; ascent-override: 86.5%; descent-override: 22.6%; line-gap-override: 0%;
}
@font-face {
  font-family: 'Hanken Fallback';
  src: local('Arial'), local('Liberation Sans');
  size-adjust: 100%; ascent-override: 100%; descent-override: 25%; line-gap-override: 0%;
}
.seo-detail { background: #FFFCF6; color: #1B2735; padding: 64px 0; }
.seo-detail .wrap { max-width: 1040px; }
.seo-detail h2 { margin-bottom: 24px; }
.seo-detail h3 { font-size: 24px; margin: 30px 0 12px; }
.seo-detail p, .seo-detail li { font-size: 17px; line-height: 1.7; }
.seo-detail p { margin-bottom: 18px; }
.seo-detail ul { list-style: disc; padding-left: 22px; margin-bottom: 22px; }
.seo-detail a { color: #81520E; text-decoration: underline; text-underline-offset: 3px; }
.seo-detail .project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 24px 0; }
.seo-detail figure { margin: 0; }
.seo-detail img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; background: #ECE8DF; border-radius: 10px; }
.seo-detail figcaption { font-size: 14px; margin-top: 10px; }
@media (max-width: 600px) { .seo-detail .project-grid { grid-template-columns: 1fr; } }
@media (max-width: 360px) {
  .mbar { gap: 6px !important; padding-left: 8px !important; padding-right: 8px !important; }
  .mbar a.btn { min-width: 0; padding-left: 8px !important; padding-right: 8px !important; font-size: 14px !important; }
  .mbar .btn-ghost { flex: 0 0 27% !important; }
  .mbar .btn-primary { flex: 1 !important; }
}

/* Visible cues and adequate contrast for links on light content surfaces. */
.svcbody p a, .svcbody li a, .finx .disc a { text-decoration: underline; text-underline-offset: 3px; }
.section--cream .eyebrow, .section--paper .eyebrow { color: #946014; }
