/* Renewal foundation; system fonts and accessible contrast. */
:root { --clr-primary:#196783; --clr-accent:#23734f; --clr-text-muted:#526474; --clr-tag-text:#196783; }
.skip-link { position:fixed; top:-100px; left:12px; z-index:999; background:white; padding:12px; }
.skip-link:focus { top:12px; }
:focus-visible { outline:3px solid #b55516; outline-offset:4px; }
button, input, select { font:inherit; }
button { cursor:pointer; }
.hero { background:linear-gradient(120deg,#153c50,#216a73); }
.hero-content { max-width:830px; }
.hero h1 { max-width:800px; font-size:clamp(2rem,4.4vw,3.4rem); letter-spacing:-.035em; }
.hero-badge { letter-spacing:.08em; font-size:.72rem; }
.eyebrow { font-weight:700; font-size:.76rem; letter-spacing:.1em; color:#25624d; margin-bottom:10px; }
.renewal-paths { padding-top:34px; padding-bottom:32px; }
.primary-paths { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin:20px 0; }
.primary-paths a { display:flex; flex-direction:column; gap:12px; background:white; padding:20px 16px; border:1px solid var(--clr-border); border-radius:12px; }
.primary-paths strong { color:#163e50; font-size:1.1rem; }
.primary-paths span { color:var(--clr-text-muted); font-size:.85rem; }
.primary-paths a:hover { border-color:var(--clr-primary); box-shadow:var(--shadow-md); }
.privacy-note, .directory-notice, .link-status, .review-status { font-size:.84rem; }
.renewal-panel, .directory-notice { padding:24px; background:#e7f1eb; border-radius:12px; margin:24px 0; }
.renewal-panel p { margin:12px 0; }
.directory-notice { margin-top:0; background:white; border:1px solid var(--clr-border); }
.directory-notice p + p { margin-top:10px; }
.info-box h3 { margin-bottom:12px; }
.info-box a { display:inline-block; margin-top:10px; text-decoration:underline; }
.listing-company { font-size:1.1rem; }
.listing-body, .page-main { min-width:0; }
.listing-footer { flex-wrap:wrap; }
.link-status { max-width:300px; }
.review-status { color:#70531c; }
.prose { max-width:820px; padding-top:42px; padding-bottom:56px; }
.prose h1 { margin-bottom:18px; }
.prose h2 { margin:30px 0 12px; }
.prose p { margin:14px 0; }
.prose a, .privacy-note a, .directory-notice a { text-decoration:underline; }
.prose ul, .prose ol { padding-left:24px; list-style:disc; }
.prose li { margin:10px 0; }
.checklist { padding:22px; background:white; border:1px solid var(--clr-border); border-radius:12px; margin:24px 0; }
.checklist legend { padding:0 8px; font-weight:700; }
.checklist label { display:flex; gap:14px; padding:14px 0; align-items:flex-start; border-bottom:1px solid var(--clr-border); }
.checklist input { width:22px; height:22px; flex-shrink:0; margin-top:3px; accent-color:#23734f; }
.tool-actions { display:flex; gap:12px; flex-wrap:wrap; margin:20px 0; }
.tool-actions button { padding:12px 20px; border-radius:8px; border:1px solid #196783; }
.tool-result { border-left:5px solid #23734f; padding:18px 24px; background:#e7f1eb; }
[hidden] { display:none !important; }
.site-footer p, .footer-col ul a { color:#d2dce2; }
@media(max-width:1100px) { .header-inner { flex-wrap:wrap; } .primary-paths { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:640px) {
 .primary-paths { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .primary-paths a:last-child { grid-column:1/-1; }
 .header-inner { flex-wrap:nowrap; gap:8px; }
 .site-logo { font-size:.95rem; gap:6px; }
 .logo-icon { width:30px; height:30px; flex-shrink:0; }
 .container { padding-left:18px; padding-right:18px; }
 .site-nav.open { top:100%; max-height:75vh; overflow-y:auto; }
 .filter-bar input { min-width:0; width:100%; }
 .hero h1 { font-size:2.15rem; }
 .prose { padding-top:30px; padding-bottom:36px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation:none !important; transition:none !important; } }
@media print {
 @page { margin:16mm; }
 body { background:white; color:black; font-size:11pt; }
 .site-header, .site-footer, .skip-link, .tool-actions, .no-print { display:none !important; }
 .container, .prose { max-width:none; width:100%; padding:0; }
 .checklist, .tool-result { border:1px solid #666; background:white; padding:12px; }
 p, h1, h2, a { color:black !important; }
 .checklist label, .tool-result li { break-inside:avoid; }
 .prose a { text-decoration:underline; }
}
.footer-brand .site-logo em { color:#b9e6f3; }

.directory-topics { font-size:.82rem; margin:10px 0; }

.footer-disclosure { font-size:.85rem; margin:20px 0; max-width:950px; }
.footer-disclosure a { color:#b9e6f3; text-decoration:underline; }
