.utility-content { max-width: 960px; padding-top: 56px; padding-bottom: 80px; }
.utility-content p, .utility-content li { line-height: 1.75; }
.utility-content h2 { margin-top: 32px; }
.utility-content a:not(.text-link):not(.button) { color: var(--blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.utility-intro { max-width: 760px; font-size: clamp(18px, 2vw, 23px); line-height: 1.65; }
.utility-form { max-width: 760px; display: grid; gap: 24px; }
.utility-form label { display: block; font-weight: 600; margin-bottom: 8px; }
.utility-form input:not([type=hidden]):not([type=submit]), .utility-form textarea { width: 100%; padding: 14px 16px; border: 1px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); font: inherit; }
.utility-form textarea { resize: vertical; min-height: 180px; }
.utility-form .zpasfield { position: absolute; left: -10000px; width: 1px !important; height: 1px; overflow: hidden; }
.utility-form button, .utility-form input[type=submit] { justify-self: start; cursor: pointer; }
.utility-form :focus-visible { outline: 3px solid var(--blue-bright); outline-offset: 3px; }
.utility-note { color: var(--ink-soft); }
.utility-links { display: flex; flex-wrap: wrap; gap: 24px; margin: 32px 0; }
.utility-results { list-style: none; padding: 0; }
.utility-results li { border-top: 1px solid var(--line); padding: 24px 0; }
.utility-results h2 { font-size: 24px; margin: 0 0 8px; }
.utility-results p { margin: 0; color: var(--ink-soft); }
.utility-directory { margin-top: 40px; border-top: 1px solid var(--line); padding-top: 24px; }
.utility-directory summary { cursor: pointer; font-weight: 600; }
.utility-directory ul { columns: 2; padding-left: 24px; }
.utility-directory li { break-inside: avoid; padding: 6px 12px 6px 0; }
@media (max-width: 650px) { .utility-directory ul { columns: 1; } .utility-content { padding-top: 32px; padding-bottom: 48px; } }
