/* Real World Needs — shared public shell for directory, service, source and policy pages. */
:root {
--page-blue: #24583e;--page-blue-dark: #153c30;--page-blue-deep: #12392e;--page-green: #356c4e;--page-green-dark: #24583e;--page-green-soft: #edf7ef;--page-ink: #14262e;--page-ink-strong: #153c30;--page-muted: #5f7077;--page-muted-light: #586b60;--page-line: #d8e0dd;--page-line-strong: #c5d0cc;--page-paper: #f5f4ee;--page-white: #ffffff;--page-max: 1120px;--page-wide: 1480px;}
html { background: var(--page-white);scroll-padding-top: 5rem;}
body {
min-width: 0;margin: 0;background: var(--page-white);color: var(--page-ink);font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;font-size: 16px;line-height: 1.65;-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;}
:where(a,button,input,select,summary,[tabindex]):focus-visible {
outline: 3px solid #356c4e;outline-offset: 3px;}
.legal-header {
position: sticky;top: 0;z-index: 50;display: flex;min-height: 74px;align-items: center;justify-content: space-between;gap: 2rem;padding: .7rem max(1rem, calc((100vw - var(--page-wide)) / 2));border-bottom: 1px solid var(--page-line);background: rgba(255,255,255,.98);box-shadow: 0 1px 0 rgba(8,26,34,.02);}
.legal-brand {
display: inline-flex;min-width: 0;align-items: center;gap: .7rem;color: inherit;text-decoration: none;}
.legal-brand__mark {
display: block;width: 42px;height: 42px;flex: 0 0 42px;border: 0;border-radius: 0;background: transparent url("/brand/rwn-logo-192.png") center / contain no-repeat !important;color: transparent;font-size: 0;box-shadow: none;object-fit: contain;}
img.legal-brand__mark { background: transparent !important;object-fit: contain;}
.legal-brand > span:last-child { display: grid;gap: .08rem;}
.legal-brand strong { display:block;color:var(--page-ink-strong);font-size:.94rem;font-weight:760;line-height:1.14;letter-spacing:-.022em;}
.legal-brand small { display:block;margin:0;color:var(--page-muted);font-size:.64rem;font-weight:560;line-height:1.2;}
.legal-brand strong::after,
.legal-brand small::after { content:none;}
.legal-header nav { display:flex;align-items:center;gap:clamp(.9rem,1.8vw,1.75rem);font-size:.76rem;font-weight:650;}
.legal-header nav a { color:#405158;text-decoration:none;}
.legal-header nav a::after { display:none;}
.legal-header nav a:hover,
.legal-header nav a:focus-visible,
.legal-header nav a[aria-current="page"] { color:var(--page-blue);}
.legal-header nav a:focus-visible { outline:3px solid #356c4e;outline-offset:3px;border-radius:2px;}
.legal-hero,
#directory > .legal-hero,
#service > .legal-hero {
padding: clamp(2.5rem,4.5vw,4.2rem) max(1rem, calc((100vw - var(--page-max)) / 2)) clamp(2.15rem,3.8vw,3.4rem);border-bottom: 1px solid var(--page-line);background: linear-gradient(180deg,#fff 0%,#fafbfb 100%);color:var(--page-ink);}
.legal-hero__inner,
#directory > .legal-hero .legal-hero__inner,
#service > .legal-hero .legal-hero__inner { width:100%;max-width:var(--page-max);margin:0 auto;}
.eyebrow { margin:0;color:var(--page-green-dark);font-size:.67rem;font-weight:720;letter-spacing:.005em;text-transform:none;}
.legal-hero h1,
#directory > .legal-hero h1,
#service > .legal-hero h1 {
max-width: 22ch;margin: .48rem 0 0;color: var(--page-ink-strong);font-size: clamp(2.35rem,4.3vw,3.8rem);}
#directory > .legal-hero h1 { max-width:18ch;}
#service > .legal-hero h1 { font-size:clamp(2.2rem,4vw,3.55rem);}
.legal-hero__lede,
#directory > .legal-hero .legal-hero__lede,
#service > .legal-hero .legal-hero__lede { max-width:48rem;margin:.8rem 0 0;color:var(--page-muted);font-size:clamp(.94rem,1.2vw,1.04rem);line-height:1.62;}
.legal-meta,
#directory > .legal-hero .legal-meta,
#service > .legal-hero .legal-meta { display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin-top:.95rem;color:#586b60;font-size:.8125rem;}
.legal-meta span::before { width:.28rem;height:.28rem;background:#6ca681;}
.legal-layout {
display:grid;grid-template-columns:minmax(10.5rem,.25fr) minmax(0,1fr);gap:clamp(2.4rem,5vw,5rem);width:min(calc(100% - 2rem),var(--page-max));margin:0 auto;padding:clamp(2.8rem,5vw,4.8rem) 0 clamp(4rem,7vw,6.5rem);}
.legal-toc { position:sticky;top:6rem;align-self:start;padding:.15rem 0;}
.legal-toc strong { display:block;margin-bottom:.6rem;color:var(--page-ink-strong);font-size:.65rem;font-weight:720;text-transform:none;}
.legal-toc a { display:block;padding:.38rem 0;color:#586b60;font-size:.77rem;line-height:1.35;text-decoration:none;}
.legal-toc a:hover,
.legal-toc a:focus-visible { color:var(--page-blue);}
.legal-content { min-width:0;max-width:50rem;}
.legal-content section { scroll-margin-top:6rem;}
.legal-content section + section { margin-top:3rem;padding-top:3rem;border-top:1px solid var(--page-line);}
.legal-content h2 { margin:0 0 1rem;color:var(--page-ink-strong);font-size:clamp(1.55rem,2.7vw,2.12rem);font-weight:670;line-height:1.16;letter-spacing:-.032em;}
.legal-content h3 { color:var(--page-ink-strong);font-size:1rem;font-weight:700;}
.legal-content p,
.legal-content li { color:#344a52;}
.legal-content a { color:var(--page-blue);text-underline-offset:3px;}
.legal-content code { border-radius:4px;background:#eef2f0;color:#304850;}
.policy-note { margin:0 0 1.8rem;padding:1rem 1.1rem;border:1px solid #cfe0d7;border-left:3px solid var(--page-green);border-radius:0 7px 7px 0;background:#f4f9f6;}
.policy-note p { margin:0;}
.warning-note { border-color:#e8d5ae;border-left-color:#b97817;background:#fff9ee;}
.legal-table { overflow:hidden;border:1px solid var(--page-line);border-radius:7px;box-shadow:none;}
.legal-table th { background:var(--page-paper);color:var(--page-ink-strong);font-size:.68rem;}
.legal-table td { border-color:var(--page-line);color:#40545b;font-size:.78rem;}
.transparency-metrics { border:1px solid var(--page-line);border-radius:8px;background:#fff;box-shadow:none;}
.transparency-metrics strong { color:var(--page-blue);font-size:1.6rem;}
.open-data-actions a,
.directory-downloads a,
.directory-links a {
display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:.52rem .72rem;border:1px solid var(--page-line-strong);border-radius:7px;background:#fff;color:var(--page-blue-dark);font-size:.71rem;font-weight:690;line-height:1.2;text-decoration:none;box-shadow:none;transform:none;}
.open-data-actions a:hover,
.directory-downloads a:hover,
.directory-links a:hover { border-color:#92ad9f;background:var(--page-green-soft);color:var(--page-green-dark);transform:none;}
.open-data-actions a:first-child { border-color:var(--page-blue);background:var(--page-blue);color:#fff;}
.directory-shell { width:min(calc(100% - 2rem),var(--page-max));margin:0 auto;padding:clamp(1.8rem,3.5vw,3.2rem) 0 clamp(4rem,6vw,6rem);}
.directory-shell > .directory-downloads[aria-label="Breadcrumb"] { gap:.4rem .7rem;margin-bottom:1rem;padding:0 0 .8rem;border-bottom:1px solid var(--page-line);}
.directory-shell > .directory-downloads[aria-label="Breadcrumb"] a,
.directory-shell > .directory-downloads[aria-label="Breadcrumb"] span { flex:0 0 auto;min-height:auto;padding:0;border:0;background:transparent;color:#586b60;font-size:.8125rem;font-weight:620;}
.directory-shell > .directory-downloads[aria-label="Breadcrumb"] a:hover { background:transparent;color:var(--page-blue);}
.directory-search-tools { margin:0 0 1.35rem;padding:.9rem;border:1px solid var(--page-line);border-radius:9px;background:var(--page-paper);box-shadow:none;}
.directory-search-tools__top { gap:.55rem;}
.directory-search-field { min-height:54px;border:1px solid #c4d0cc;border-radius:7px;background:#fff;box-shadow:none;}
.directory-search-field:focus-within { border-color:#769b89;box-shadow:0 0 0 4px rgba(33,138,61,.08);}
.directory-search-field > span { color:var(--page-blue);}
.directory-search-field input { color:var(--page-ink-strong);font-size:1rem;}
.directory-search-tools__clear { min-height:54px;border:1px solid #c4d0cc;border-radius:7px;background:#fff;color:var(--page-blue);font-size:.72rem;font-weight:700;}
.directory-search-tools__meta { color:#52666e;font-size:.8125rem;line-height:1.5;}
.directory-category-chips { display:flex;flex-wrap:wrap;gap:.28rem .3rem;}
.directory-category-chips button { min-height:40px;padding:.45rem .55rem;border:1px solid transparent;border-radius:5px;background:transparent;color:#5f7076;font-size:.69rem;font-weight:670;}
.directory-category-chips button:hover,
.directory-category-chips button:focus-visible { border-color:#d5ddda;background:#fff;color:var(--page-blue);}
.directory-category-chips button[aria-pressed="true"] { border-color:#9dbaa9;background:var(--page-green-soft);color:var(--page-green-dark);}
.directory-downloads { display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:1.25rem;}
.directory-downloads > strong { margin-right:.2rem;color:var(--page-ink-strong);font-size:.71rem;}
.directory-pagination > a { min-height:44px;}
.directory-page-picker { flex:0 1 auto;min-width:0;margin-left:auto;}
.directory-page-picker[open] { flex-basis:100%;margin-left:0;}
.directory-page-picker > summary { width:fit-content;max-width:100%;min-height:44px;padding:.55rem .7rem;border:1px solid var(--page-line-strong);border-radius:7px;color:var(--page-blue-dark);font-size:.8125rem;font-weight:650;cursor:pointer;}
.directory-page-picker > summary:hover { background:var(--page-green-soft);}
.directory-page-list { display:flex;flex-wrap:wrap;gap:.5rem;margin:.65rem 0 0;padding:.4rem;list-style:none;}
.directory-page-list > li { margin:0;padding:0;}
.directory-page-list a,
.directory-page-list [aria-current="page"] { display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:.5rem;border:1px solid var(--page-line-strong);border-radius:7px;font-size:.8125rem;line-height:1.2;}
.directory-page-list a:first-of-type { background:#fff;color:var(--page-blue-dark);}
.directory-page-list a:hover { background:var(--page-green-soft);}
.directory-page-list [aria-current="page"] { border-color:var(--page-blue);background:var(--page-blue);color:#fff;font-weight:750;}
.directory-local-links { margin:0 0 1.35rem;padding:.85rem 0;border-top:1px solid var(--page-line);border-bottom:1px solid var(--page-line);background:transparent;}
.directory-local-links a { border:0;border-bottom:1px solid #e5eae8;border-radius:0;background:transparent;}
.directory-local-links a:hover { background:var(--page-paper);}
.directory-records { display:grid;gap:0;border-top:1px solid var(--page-line-strong);}
.directory-record { padding:clamp(1.2rem,2.2vw,1.65rem) 0;border:0;border-bottom:1px solid var(--page-line);border-radius:0;background:#fff;box-shadow:none;}
.directory-record > header { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;}
.directory-record header p { margin:0;color:var(--page-green-dark);font-size:.62rem;font-weight:720;letter-spacing:0;text-transform:none;}
.directory-record h2 { margin:.18rem 0 .12rem;color:var(--page-ink-strong);font-size:clamp(1.18rem,2.2vw,1.5rem);font-weight:670;line-height:1.18;letter-spacing:-.028em;}
.directory-record h2 a { color:inherit;text-decoration:none;}
.directory-record h2 a:hover { color:var(--page-blue);}
.directory-record header span,
.directory-record header time { color:#52666e;font-size:.8125rem;line-height:1.5;}
.directory-record > p { max-width:52rem;color:#41565d;font-size:.875rem;line-height:1.6;}
.directory-aid { display:flex;flex-wrap:wrap;gap:.25rem .5rem;}
.directory-aid li { padding:0;border:0;border-radius:0;background:transparent;color:#50675f;font-size:.65rem;font-weight:670;}
.directory-aid li + li::before { margin-right:.5rem;color:#aab6b1;content:"·";}
.directory-record dl { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.9rem;border-top:1px solid var(--page-line);}
.directory-record dl div { padding:.72rem .8rem .72rem 0;border-bottom:1px solid var(--page-line);}
.directory-record dt { color:#586b60;font-size:.8125rem;font-weight:700;letter-spacing:0;text-transform:none;}
.directory-record dd { margin:.2rem 0 0;color:var(--page-ink);font-size:.78rem;}
.directory-record .directory-caution { padding:.72rem .8rem;border-left:2px solid #b97817;border-radius:0 6px 6px 0;background:#fff9ee;color:#604d2d;}
.directory-links { display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem;}
#service .directory-shell { max-width:1000px;}
.service-accessibility { margin:1.1rem 0;padding:.85rem .95rem;border:1px solid #d8e1dd;border-radius:7px;background:var(--page-paper);}
.service-accessibility strong { color:var(--page-ink-strong);font-size:.71rem;}
.service-accessibility p { margin:.3rem 0 0;color:#53676d;font-size:.78rem;}
.related-services { margin-top:2.7rem;padding-top:2rem;border-top:1px solid var(--page-line);}
.related-services__heading h2 { color:var(--page-ink-strong);font-size:1.35rem;font-weight:670;letter-spacing:-.024em;}
.legal-footer { display:grid;grid-template-columns:minmax(14rem,1fr) auto;align-items:start;gap:2rem;padding:clamp(2.4rem,4vw,3.4rem) max(1rem,calc((100vw - var(--page-max))/2));border-top:1px solid #173a49;background:var(--page-blue-deep);color:#aebfc3;}
.legal-footer > p { margin:0;color:#d5dfe0;font-size:.7rem;}
.legal-footer nav { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem 1rem;}
.legal-footer a { color:#b8c8cb;font-size:.68rem;text-decoration:none;}
.legal-footer a:hover,
.legal-footer a:focus-visible { color:#fff;text-decoration:underline;text-underline-offset:3px;}
.legal-footer a:focus-visible { outline-color:#c2e5cc;}
.legal-footer.rwn-unified-footer { grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,.8fr));}
.legal-footer.rwn-unified-footer > * { min-width:0;overflow-wrap:anywhere;}
.legal-footer.rwn-unified-footer nav { display:grid;grid-template-columns:minmax(0,1fr);justify-content:start;gap:.42rem;}
.legal-footer.rwn-unified-footer nav strong { color:#eef3f2;font-size:.66rem;}
@media (max-width:900px) {
.legal-footer.rwn-unified-footer { grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:650px) {
.legal-footer.rwn-unified-footer { grid-template-columns:minmax(0,1fr);}
}
.professional-need-links { grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-start !important;gap:.45rem .9rem !important;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);}
.professional-need-links strong { width:100%;color:#eef3f2;font-size:.65rem;}
.professional-need-links a { color:#aebfc3;}
@media (max-width:900px) {
.legal-header { gap:1rem;}
.legal-header nav { max-width:65%;overflow:auto;white-space:nowrap;scrollbar-width:none;}
.legal-header nav::-webkit-scrollbar { display:none;}
.legal-layout { grid-template-columns:1fr;gap:1.5rem;}
.legal-toc { position:static;display:flex;flex-wrap:wrap;gap:.25rem .8rem;padding:0 0 1rem;border-bottom:1px solid var(--page-line);}
.legal-toc strong { width:100%;}
.legal-toc a { padding:.25rem 0;}
}
@media (max-width:1024px) {
.service-next-steps { grid-template-columns:1fr; }
}
@media (max-width:650px) {
.legal-header { min-height:66px;padding:.55rem .8rem;}
.legal-brand__mark { width:38px;height:38px;flex-basis:38px;}
.legal-brand strong { font-size:.86rem;}
.legal-brand small { font-size:.59rem;}
.legal-header nav { max-width:48%;gap:.8rem;font-size:.69rem;}
.legal-header nav a:not(.home-link):nth-of-type(n+3) { display:none;}
.legal-hero,
#directory > .legal-hero,
#service > .legal-hero { padding:1.8rem .9rem 1.6rem;}
.legal-hero h1,
#directory > .legal-hero h1,
#service > .legal-hero h1 { margin-top:.38rem;font-size:clamp(2rem,10vw,2.7rem);}
.legal-hero__lede,
#directory > .legal-hero .legal-hero__lede,
#service > .legal-hero .legal-hero__lede { margin-top:.62rem;font-size:.91rem;line-height:1.53;}
#directory > .legal-hero .legal-meta { display:none;}
.directory-shell { width:calc(100% - 1.6rem);padding-top:1.15rem;}
.directory-search-tools { margin-bottom:1rem;padding:.7rem;}
.directory-search-tools__top { display:grid;grid-template-columns:1fr auto;}
.directory-category-chips { margin-top:.45rem;}
.directory-record > header { display:grid;}
.directory-record dl { grid-template-columns:1fr;}
.directory-record dl div { padding-right:0;}
.directory-links a { flex:1 1 9rem;}
.service-next-steps { grid-template-columns:1fr;padding:.85rem;}
.service-next-steps > div:last-child { grid-template-columns:1fr 1fr;}
.legal-layout { width:calc(100% - 1.6rem);padding:2.2rem 0 4rem;}
.legal-content section + section { margin-top:2.4rem;padding-top:2.4rem;}
.legal-content h2 { font-size:1.55rem;}
.legal-table { display:block;overflow-x:auto;}
.legal-footer { grid-template-columns:1fr;gap:1.2rem;padding:2.4rem 1rem;}
.legal-footer nav { justify-content:flex-start;}
}
@media (max-width:430px) {
.legal-header nav { max-width:42%;}
.legal-brand small { display:none;}
.service-next-steps > div:last-child { grid-template-columns:1fr;}
.directory-downloads a { flex:1 1 auto;}
}
@media (prefers-reduced-motion:reduce) {
*,*::before,*::after { scroll-behavior:auto !important;transition-duration:.001ms !important;animation-duration:.001ms !important;}
}
@media print {
.legal-header,.legal-footer,.legal-toc,.directory-search-tools,.professional-need-links { display:none !important;}
.legal-hero,#directory>.legal-hero,#service>.legal-hero { padding:0 0 1rem;}
.directory-shell,.legal-layout { width:100%;padding:0;}
.directory-record { break-inside:avoid;}
}
.directory-results-jump{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin:.85rem 0;padding:.72rem .82rem;border:1px solid #b8cbc2;border-left:3px solid #356c4e;border-radius:5px;background:#f8fbf9;color:#24434f;text-decoration:none}.directory-results-jump strong,.directory-results-jump small{display:block}.directory-results-jump strong{font-size:.76rem}.directory-results-jump small{margin-top:.12rem;color:#61757c;font-size:.65rem}.directory-results-jump>span:last-child{color:#24583e;font-size:1rem}.directory-results-jump:hover,.directory-results-jump:focus-visible{border-color:#356c4e;background:#f0f8f3}.directory-results-anchor{display:block;scroll-margin-top:1rem}
#directory .directory-browse-tools { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem;margin-bottom:.75rem;}
#directory .directory-browse-tools > * { min-width:0;}
#directory .directory-browse-tools > details { margin-bottom:0;}
#directory .directory-browse-tools > details > summary { min-height:48px;font-size:.8125rem;line-height:1.45;}
#directory .directory-browse-tools:has(> details[open]) { grid-template-columns:minmax(0,1fr);}
#directory .directory-browse-tools > :only-child { grid-column:1 / -1;}
#directory .directory-results-jump { margin-top:0;}
#directory .directory-shell.has-global-search .directory-browse-tools { display:none;}
@media (max-width:760px) {
#directory .directory-search-tools { grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
#directory .directory-search-tools > * { grid-column:1 / -1;}
#directory .directory-shell .directory-search-tools__top { display:contents;}
#directory .directory-search-control { grid-column:1 / -1;}
#directory .directory-country-field { grid-column:1;}
#directory .directory-search-tools .directory-need-field { grid-column:2;display:grid;grid-template-columns:minmax(0,1fr);align-content:end;gap:.4rem;}
#directory .directory-search-tools:not(:has(.directory-country-field)) .directory-need-field { grid-column:1 / -1;}
#directory :is(.directory-country-field,.directory-need-field) > span { font-size:.8125rem;}
#directory .directory-browse-tools { gap:0 1rem;}
}
@media (max-width:359px) {
#directory .directory-country-field, #directory .directory-search-tools .directory-need-field { grid-column:1 / -1;}
}
#directory .directory-global-result-actions a { min-height:44px;font-size:.8125rem;}
@media (min-width:651px) and (max-width:900px) {
#directory .directory-global-result-wrap { grid-template-columns:minmax(0,1fr); }
#directory .directory-global-result-actions { justify-content:flex-start;}
}
.legal-hero h1,
#directory > .legal-hero h1,
#service > .legal-hero h1 {
font-family: Georgia, "Times New Roman", serif;font-weight: 400;letter-spacing: -.035em;line-height: 1.1;}
#service > .legal-hero { background: #f5f4ee;}
main#directory > .legal-hero { background: #f5f4ee;}
#directory .directory-shell .directory-search-tools__top { grid-template-columns: minmax(0, 1.65fr) minmax(12rem, 1fr);align-items: end;}
#directory .directory-search-control, #directory .directory-country-field { display: grid;min-width: 0;gap: .4rem;}
#directory .directory-search-control > span:first-child, #directory .directory-country-field > span { color: #24583e;font-size: .8125rem;font-weight: 650;}
#directory .directory-country-field select { width: 100%;min-width: 0;min-height: 58px;padding: .7rem .8rem;border: 1px solid #aebfba;border-radius: 7px;background: #fff;color: #153c30;font: 500 .9375rem/1.4 system-ui, sans-serif;}
#directory .directory-country-field select:focus-visible, #directory .directory-empty-actions button:focus-visible { outline: 3px solid #356c4e;outline-offset: 3px;}
#directory .directory-coverage-note { max-width: 80ch;margin: 0;color: #52665b;font-size: .8125rem;line-height: 1.55;}
#directory .directory-global-empty { padding: 1.5rem 0;border: 0;background: transparent;}
#directory .directory-global-empty h2 { margin: 0 0 .5rem;color: #153c30;font: 400 1.6rem/1.2 Georgia, serif;}
#directory .directory-global-empty p { max-width: 65ch;color: #52665b;font-size: .9375rem;line-height: 1.65;}
#directory .directory-empty-actions { display: flex;flex-wrap: wrap;gap: .6rem;margin-block: .9rem;}
#directory .directory-empty-actions button { min-height: 44px;padding: .6rem .8rem;border: 1px solid #aebfba;border-radius: 6px;background: #fff;color: #24583e;font: 650 .875rem/1.4 system-ui, sans-serif;cursor: pointer;}
#directory .directory-global-empty a { color: #24583e;text-underline-offset: .2em;}
#directory .directory-shell.has-global-search .directory-results-jump { display: none;}
@media (max-width: 760px) {
#directory .directory-shell .directory-search-tools__top { grid-template-columns: minmax(0, 1fr);}
#directory .directory-country-field select { min-height: 48px;}
#directory .directory-search-tools__clear { min-height: 44px;width: fit-content;}
}
#service .legal-hero__inner { max-width: 1000px;}
#service :is(.service-next-steps a strong, .service-utility-actions button) { font-size: .875rem;}
#service .service-next-steps a span { font-size: .8125rem;white-space: normal;overflow: visible;color: #586b60;}
#service :is(.service-utility-actions__intro > small, .service-utility-actions__status) { font-size: .8125rem;}
#service .service-utility-actions__buttons button { color: #24583e;}
#service .service-utility-actions button:focus-visible { outline: 3px solid #356c4e;}
#service [data-service-save] { transition: none;}
#service .directory-record { margin-top: 1.5rem;min-width: 0;}
#service > .legal-hero .legal-hero__inner { max-width: 1000px;}
#service > .legal-hero h1 { max-width: 32ch;overflow-wrap: anywhere;}
#service .directory-shell > .directory-downloads[aria-label="Breadcrumb"] span {
flex: 0 1 auto;min-width: 0;overflow-wrap: anywhere;}
#service .directory-record:hover { background: #fff !important;}
#service .service-facts {
display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0 2rem;margin: .75rem 0 1.5rem;}
#service .service-facts > div { min-width: 0;padding: .9rem 0;}
#service .service-facts dt { font-size: .8125rem;color: #52665b;}
#service .service-facts dd {
margin: .3rem 0 0;font-size: 1rem;line-height: 1.6;overflow-wrap: anywhere;}
#service .service-facts dd a { display: inline-block;padding-block: .35rem;}
#service .service-cost-scope { margin: .35rem 0 0;color: #52666e;}
#service .directory-record > h3 { margin: 1.5rem 0 .6rem;font-size: 1.0625rem;}
#service .directory-record > :is(p, ul) { max-width: 75ch;font-size: 1rem;line-height: 1.65;}
#service .directory-record > .directory-links { gap: .5rem;}
#service .directory-record > .directory-links a { min-height: 44px;font-size: .8125rem;}
#service .service-tools-jump {
display: inline-flex;align-items: center;min-height: 44px;margin-top: .2rem;font-size: .875rem;font-weight: 650;color: #24583e;}
#service .service-next-steps__context { font-size: .8125rem;line-height: 1.55;}
/* Keep offline retry focus visible. */
#offlineDirectoryNotice .directory-connection-retry { min-height: 44px;margin-top: .5rem;font-size: .875rem;}
#offlineDirectoryNotice .directory-connection-retry[aria-disabled="true"] { cursor: wait;}
#offlineDirectoryNotice .directory-connection-retry:focus-visible { outline: 3px solid #07538d;outline-offset: 3px;}
#offlineDirectoryNotice [data-directory-connection-status]:empty { margin: 0;}
#service .service-accessibility :is(strong, p) { font-size: .9375rem;}
#service .related-services__grid strong { font-size: .9375rem;}
#service .related-services__grid :is(span, small) { font-size: .8125rem;}
#service .related-services__grid > a { min-width: 0;overflow-wrap: anywhere;}
@media (max-width: 650px) {
#service .service-facts { grid-template-columns: minmax(0, 1fr);}
#service .related-services__heading { flex-wrap: wrap;gap: .4rem;}
}
@media print {
#service .service-tools-jump { display: none;}
#service .service-facts > div { break-inside: avoid;}
}
#directory .directory-shell .directory-search-tools__top:not(:has(.directory-country-field)) { grid-template-columns: minmax(0, 1fr);}
#directory .directory-empty-actions button:hover { background: #f0f6f1;}
#directory .directory-global-empty a { display: inline-block;min-height: 44px;}
@media (max-width: 760px) {
#directory .directory-shell .directory-search-tools__top, #directory .directory-shell .directory-search-tools__top:not(:has(.directory-country-field)) { grid-template-columns: minmax(0, 1fr);}
#directory .directory-global-result-actions { grid-template-columns: repeat(2, minmax(0, 1fr));}
#directory .directory-global-result-actions a { padding-inline: .45rem;}
#directory .directory-global-result-actions .is-call, #directory .directory-global-result-actions .is-details { grid-column: 1 / -1;}
}
#directory .directory-need-field { display: none;}
#directory .directory-search-tools__meta { min-height: 28px;justify-content: flex-start;}
#directory .directory-search-tools__meta > span:last-child { margin-left: auto;}
#directory .directory-search-tools__meta .directory-search-tools__clear { min-height: 44px;padding: .45rem .65rem;font-size: .8125rem;}
@media (max-width: 760px) {
#directory .directory-search-tools .directory-category-chips { display: none;}
#directory .directory-need-field { display: grid;grid-template-columns: auto minmax(0, 1fr);align-items: center;gap: .8rem;min-width: 0;}
#directory .directory-need-field > span { color: #24583e;font-size: .8125rem;font-weight: 650;}
#directory .directory-need-field select { width: 100%;min-width: 0;min-height: 48px;padding: .6rem .7rem;border: 1px solid #aebfba;border-radius: 7px;background: #fff;color: #153c30;font: 500 .9375rem/1.4 system-ui, sans-serif;}
#directory .directory-need-field select:focus-visible { outline: 3px solid #356c4e;outline-offset: 3px;}
#directory .directory-search-tools__meta .directory-search-tools__clear { margin-left: auto;}
}
#directory .directory-local-browse { margin: 0 0 1rem;padding-block: .35rem .8rem;border-block: 1px solid var(--page-line);}
#directory .directory-local-browse summary { min-height: 48px;padding-block: .7rem;color: #24583e;cursor: pointer;font-size: .875rem;}
#directory .directory-local-browse summary strong { font-weight: 650;}
#directory .directory-local-browse summary span { margin-left: .5rem;color: #52665b;font-size: .8125rem;}
#directory .directory-local-browse summary:focus-visible { outline: 3px solid #356c4e;outline-offset: 3px;}
#directory .directory-local-browse > p { margin: .4rem 0 0;color: #52665b;font-size: .8125rem;line-height: 1.55;}
#directory .directory-local-browse .directory-local-links { margin: 0;padding-block: 0 .65rem;border: 0;}
#directory .directory-local-browse .directory-local-links > div { display: flex;flex-wrap: wrap;gap: .25rem 1rem;}
#directory .directory-local-browse .directory-local-links a { min-height: 44px;font-size: .8125rem;}
#service .service-next-steps {
align-items: start;margin: 0 0 1.5rem;grid-template-columns: minmax(12rem, .38fr) minmax(0, 1fr);gap: 1rem 1.5rem;padding: 1.25rem;border-radius: 12px;}
#service .service-contact-intro { min-width: 0;align-self: start;}
#service .service-contact-intro > span { font-size: .75rem;color: #52665b;}
#service .service-contact-intro h2 {
margin: .3rem 0 0;color: #153c30;font-size: 1.2rem;font-weight: 650;letter-spacing: -.02em;line-height: 1.3;}
#service .service-next-steps__context { margin: .6rem 0 0;color: #52665b;font-weight: 400;}
#service .service-contact-actions { grid-template-columns: minmax(0, 1fr);}
#service .service-contact-buttons { display: grid;grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));gap: .45rem;}
#service .service-contact-buttons > a { min-width: 0;padding: .8rem .9rem;border-radius: 8px;}
#service .service-contact-buttons > a :is(strong, span) { overflow-wrap: anywhere;}
#service .service-contact-buttons > a strong { font-size: .9375rem;}
#service .service-next-steps[data-contact-priority="source"] a.is-primary,
#service .service-next-steps[data-contact-priority="provider"] a.is-provider,
#service .service-next-steps[data-contact-priority="online"] a.is-online {
border-color: #24583e !important;background: #24583e !important;color: #fff !important;}
#service .service-next-steps[data-contact-priority="source"] a.is-primary span,
#service .service-next-steps[data-contact-priority="provider"] a.is-provider span,
#service .service-next-steps[data-contact-priority="online"] a.is-online span { color: #e0ece4 !important;}
#service .service-location-actions {
grid-column: 1 / -1;display: flex;flex-wrap: wrap;gap: .15rem 1.15rem;margin-top: .3rem;border-top: 1px solid #d8e1de;padding-top: .35rem;}
#service .service-location-actions a {
display: inline-flex;flex-wrap: wrap;align-items: center;gap: .25rem .45rem;min-height: 44px !important;padding: .35rem 0;border: 0;border-radius: 2px;background: transparent;color: #24583e;font-size: .875rem;font-weight: 650;text-decoration: underline;text-underline-offset: 3px;}
#service .service-location-actions a:hover { background: transparent;box-shadow: none;}
#service .service-location-actions .service-contact-link-note { font-size: .75rem;font-weight: 400;color: #52665b;}
#service .service-next-steps a:focus-visible { outline: 3px solid #356c4e;outline-offset: 3px;}
@media (max-width: 900px) {
#service .service-next-steps { grid-template-columns: minmax(0, 1fr);}
}
@media (max-width: 650px) {
#service .service-next-steps { padding: 1rem;gap: .85rem;}
#service .service-contact-buttons { grid-template-columns: minmax(0, 1fr);}
#service .service-contact-buttons > a { min-height: 64px !important;}
}
@media (forced-colors: active) {
#service .service-next-steps a:focus-visible { outline-color: Highlight;}
}
/* Native selects keep consistent WebKit geometry. */
#directory :is(.directory-country-field, .directory-need-field) select {
-webkit-appearance: none;appearance: none;height: 58px;padding-inline-end: 2.25rem;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2324583e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position: right .75rem center;background-size: 1rem;background-repeat: no-repeat;}
@media (max-width: 760px) {
#directory :is(.directory-country-field, .directory-need-field) select { height: 48px;}
}
@media (forced-colors: active) {
#directory :is(.directory-country-field, .directory-need-field) select { -webkit-appearance: auto;appearance: auto;background-image: none;}
}
