.seo-utility { overflow-wrap: break-word; }
.seo-utility-intro { padding-block: 60px 45px; max-width: 900px; }
.seo-kicker { color: var(--muted); font-size: 10px; letter-spacing: .14em; }
.seo-utility h1 { margin: 22px 0; font-size: clamp(39px, 6vw, 86px); line-height: 1.05; letter-spacing: -.055em; font-weight: 800; }
.seo-utility h1 span { color: var(--lime); }
.seo-utility-intro > p:last-of-type, .seo-error > p:last-of-type { max-width: 660px; color: #b2bca5; font-size: 17px; line-height: 1.8; }
.seo-text-link { display: inline-flex; gap: 22px; align-items: center; font-size: 13px; padding-block: 12px 5px; border-bottom: 1px solid #65704f; }
.seo-text-link:hover { color: var(--lime); }
.seo-map-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 65px; padding-bottom: 75px; }
.seo-map-grid h2 { font-size: 27px; letter-spacing: -.035em; font-weight: 800; margin: 0 0 20px; }
.seo-map-grid ul { margin: 0; padding: 0; list-style: none; }
.seo-map-grid li { border-top: 1px solid var(--line); }
.seo-map-grid a { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding-block: 16px; color: #bcc5af; font-size: 13px; line-height: 1.7; }
.seo-map-grid a span { color: var(--lime); flex-shrink: 0; }
.seo-map-grid a:hover { color: var(--white); }
.seo-error { max-width: 900px; padding-block: 45px 85px; }
.seo-error-number { display: block; font-size: clamp(86px, 16vw, 190px); font-weight: 800; letter-spacing: -.075em; line-height: 1.1; margin-top: 28px; color: var(--lime); }
.seo-error h1 { font-size: clamp(34px, 4.5vw, 65px); }
.seo-error-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 27px; margin-top: 30px; }
.seo-primary-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 40px; padding: 18px 24px; font-size: 14px; font-weight: 600; border-radius: 9px; background: var(--lime); color: var(--ink); }
.seo-primary-link:hover { background: #e0ff92; }
.seo-utility a:focus-visible { outline: 2px solid var(--lime); outline-offset: 5px; }
@media (max-width: 800px) { .seo-map-grid { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 600px) {
  .seo-utility-intro { padding-block: 35px; }
  .seo-utility-intro > p:last-of-type, .seo-error > p:last-of-type { font-size: 15px; }
  .seo-map-grid { padding-bottom: 45px; }
  .seo-map-grid a { font-size: 12px; }
  .seo-error { padding-block: 30px 55px; }
}
