@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
/* Readable type follows the browser preference and the site text-size control. */
:root {--ink:#24344b;--text:#344054;--muted:#526075;--paper:#f7f8fa;--white:#fff;--line:#dde1e7;--accent:#0f766e;--accent-soft:#eaf7f4;--soft:#f4f6f8;--mint:#eaf7f4;--orange:#0f766e;--radius:8px;--shadow:0 4px 16px #24344b0a}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:2rem;font-size:100%}
body {margin:0;background:#fff;color:var(--text);font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:1.125rem;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
a {color:inherit;text-decoration:none}
button,input,select {font:inherit;max-width:100%}
button {cursor:pointer;color:inherit}
a,button {touch-action:manipulation}
img {max-width:100%;height:auto}
h1,h2,h3,p {margin:0}
h1,h2,h3 {line-height:1.5;letter-spacing:-.025em;font-weight:600;color:var(--ink)}
svg {flex-shrink:0}
.icon {display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible {outline:3px solid #0f766e;outline-offset:4px}
::selection {background:#d1eee7}
.container {width:min(1240px,calc(100% - 64px));margin-inline:auto}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden] {display:none!important}
.skip-link {position:fixed;top:-80px;left:20px;z-index:1000;background:var(--ink);color:#fff;padding:10px 18px}
.skip-link:focus {top:10px}
.site-header {background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:30}
.header-inner {height:auto;display:flex;align-items:center;gap:1rem 1.5rem;min-height:6rem;padding-block:1rem;flex-wrap:wrap}
.brand {display:flex;align-items:center;gap:15px;flex-shrink:0}
.brand img {display:block;width:122px;height:40px}
.brand-caption {font-size:1rem;color:#526075;border-left:1px solid #d6dbe1;padding-left:15px;white-space:normal;max-width:12rem;line-height:1.6}
.desktop-nav {display:flex;gap:1.5rem;margin-left:auto;align-items:center;font-size:1.125rem;white-space:normal;flex-wrap:wrap}
.desktop-nav a {padding:.5rem 0;position:relative;min-height:3rem;display:inline-flex;align-items:center}
.desktop-nav a:hover,.desktop-nav a[aria-current] {color:var(--accent)}
.desktop-nav a[aria-current]:after {content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent)}
.header-actions {margin-left:0;display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.saved-link {display:flex;gap:7px;align-items:center;font-size:1rem;white-space:nowrap;color:var(--ink);min-height:3rem;padding:.5rem}
.saved-link .icon {width:1.25rem;height:1.25rem}
.saved-count {font-size:1rem;background:var(--ink);color:#fff;min-width:1.75rem;height:1.75rem;line-height:1.75rem;text-align:center;border-radius:1rem}
.menu-toggle {display:none!important}
.mobile-nav {position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #cad0d9;padding:6px 20px 16px;box-shadow:0 6px 12px #24344b0a;max-height:75vh;overflow-y:auto}
.mobile-nav a {display:block;padding:.8rem .5rem;border-bottom:1px solid #edf0f3;font-size:1.125rem;min-height:3rem;line-height:1.7}
.icon-button {border:0;background:transparent;width:auto;height:auto;min-width:3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:#526075;padding:.625rem;min-height:3rem;gap:.5rem}
.icon-button:hover {background:#f0f3f6;color:var(--ink)}
.button {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:3rem;padding:.75rem 1.25rem;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;font-size:1.125rem;line-height:1.6;font-weight:500;text-align:center}
.button:hover {background:#115e59;border-color:#115e59}
.button .icon {width:18px;height:18px}
.button-outline {background:#fff;color:var(--ink);border-color:#cbd1d9}
.button-outline:hover {background:#f3f5f7;color:var(--ink);border-color:#a8b0bc}
.button-small {font-size:1rem;min-height:3rem;padding:.625rem 1rem}
.button-light {background:#fff;color:var(--ink)}
.text-link {display:inline-flex;gap:6px;align-items:center;font-size:1rem;white-space:normal;color:#526075;min-height:3rem;line-height:1.7;padding-block:.5rem;text-decoration:underline;text-underline-offset:.2em}
.text-link:hover {color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.text-link .icon {width:16px;height:16px}
.eyebrow {font-size:1rem;color:#526075;letter-spacing:0}
.small {font-size:1rem}
.muted {color:var(--muted)}
.mobile-only {display:none}
.home-search-section {background:linear-gradient(115deg,#edf8f5 0%,#f7fbfa 65%,#fff 100%);border-bottom:1px solid var(--line);padding:42px 0 0}
.home-intro {max-width:850px}
.home-kicker {font-size:1rem;font-weight:500;color:var(--accent);margin-bottom:12px}
.home-intro h1 {font-size:2.3125rem;line-height:1.42;letter-spacing:-.025em}
.home-intro>p:last-child {font-size:1.125rem;color:#526075;margin-top:16px;line-height:1.8;max-width:48rem}
.hero-search {display:flex;align-items:stretch;background:#fff;border:2px solid var(--accent);border-radius:10px;margin-top:27px;max-width:100%}
.search-input-wrap {display:flex;align-items:center;flex:1;min-width:0;gap:.75rem;padding-left:17px;padding:1rem}
.search-input-wrap>.icon {width:21px;height:21px;color:#526075}
.search-input-wrap input {border:0;min-width:0;width:100%;height:auto;background:transparent;color:var(--ink);font-size:1.125rem;padding:.5rem 0;outline-offset:-4px;min-height:3rem;line-height:1.7}
.search-input-wrap input::placeholder {color:#526075;opacity:1}
.select-wrap {display:flex;gap:.25rem;align-items:center;min-width:210px;padding:.75rem 1rem;border-left:1px solid #e0e4e9;background:#fff;flex-wrap:wrap;align-content:center}
.select-wrap label {font-size:1rem;color:var(--ink);white-space:nowrap;font-weight:600;width:100%}
.select-wrap select {background:transparent;border:0;font-size:1.125rem;padding:.5rem 0;min-width:0;width:100%;color:var(--ink);min-height:3rem;line-height:1.7}
.hero-search .button {border-radius:0 7px 7px 0;min-width:9rem;border:0}
.quick-regions {display:flex;gap:.5rem;align-items:center;font-size:1rem;color:#526075;margin-top:14px;flex-wrap:wrap}
.quick-regions>span {font-size:1rem;color:#526075;padding-right:3px;margin-right:.5rem}
.quick-regions a:hover {color:var(--accent);text-decoration:underline}
.home-data-note {border-top:1px solid #e1e5eb;display:flex;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;margin-top:32px;padding:17px 0;font-size:1rem;color:#526075;flex-wrap:wrap}
.home-data-note strong {font-size:1rem;color:#526075;font-weight:600}
.home-data-note>a {display:flex;align-items:center;gap:5px;font-size:1rem;color:#526075;min-height:3rem;flex-wrap:wrap;padding-block:.5rem;text-decoration:underline;text-underline-offset:.2em}
.home-data-note .icon {width:12px;height:12px}
.home-columns {display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;padding-top:43px;padding-bottom:45px}
.section-heading {display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem 1.5rem;margin-bottom:23px;flex-wrap:wrap}
.section-heading h2 {font-size:1.75rem}
.section-heading p {font-size:1.125rem;color:#526075;margin-top:8px;line-height:1.8}
.section-heading>.text-link {font-size:1rem;flex-shrink:0}
.service-directory {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.service-group {--service-color:#0f655d;--service-bg:#edf8f5;--service-line:#c5e4db;min-width:0;background:var(--service-bg);border:1px solid var(--service-line);border-radius:12px;padding:1.25rem 1.5rem}
.service-group h3 {display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:700;padding:.25rem 0 1rem;border-bottom:2px solid var(--service-line);color:var(--service-color);letter-spacing:-.025em;line-height:1.7}
.service-row {display:flex;justify-content:space-between;align-items:center;gap:.5rem 1rem;border-bottom:1px solid var(--service-line);padding:1.25rem 0;min-height:6rem;flex-wrap:wrap}
.service-row>span:first-child {min-width:0;flex:1 1 14rem}
.service-row strong {display:block;font-size:1.375rem;color:var(--ink);font-weight:600;line-height:1.45;letter-spacing:-.025em}
.service-description {display:block;font-size:1rem;color:#526075;line-height:1.8;margin-top:.375rem}
.service-count {display:flex;align-items:center;gap:.5rem;font-size:1rem;color:#526075;white-space:nowrap;flex-shrink:0;line-height:1.7}
.service-count .icon {width:15px;height:15px;color:#526075}
.service-row:hover strong,.service-row:hover .icon {color:var(--service-color)}
.home-guide-rail {border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:10px;background:#fff;padding:22px;align-self:start}
.rail-label {font-size:1rem;color:var(--accent);font-weight:500}
.rail-heading h2 {font-size:1.5rem;margin-top:8px}
.rail-heading p {font-size:1.125rem;color:#526075;line-height:1.8;margin-top:10px}
.guide-rail-list {list-style:none;counter-reset:guide;padding:0;margin:20px 0 18px}
.guide-rail-list li {counter-increment:guide;border-top:1px solid #dde7e3;padding:13px 0}
.guide-rail-list a {display:block;min-height:3rem}
.guide-rail-list strong {display:block;font-size:1.125rem;font-weight:500;line-height:1.8;color:#4c4d50}
.guide-rail-list strong:before {content:counter(guide)'. ';color:#526075}
.guide-rail-list a>span {display:flex;align-items:center;justify-content:space-between;font-size:1rem;color:#526075;margin-top:6px}
.guide-rail-list .icon {width:14px;height:14px}
.guide-rail-list a:hover strong {color:var(--accent)}
.home-guide-rail>.text-link {font-size:1rem;color:#526075}
.rail-help {border-top:1px solid #dde7e3;padding-top:17px;margin-top:24px;display:flex;flex-direction:column;gap:6px;font-size:1rem;color:#526075}
.rail-help strong {font-weight:500;color:#526075;font-size:1rem}
.rail-help a {color:var(--accent);text-decoration:underline;text-underline-offset:3px;line-height:1.8;min-height:3rem;display:inline-flex;align-items:center}
.rail-help>span {font-size:1rem;margin-top:3px}
.home-regions {border-block:1px solid var(--line);background:#f8f9fb;padding-block:34px}
.region-link-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 22px}
.region-link-grid a {display:flex;align-items:center;gap:.5rem;justify-content:space-between;border-bottom:1px solid #e3e7ed;padding:.75rem 0;font-size:1.125rem;color:var(--ink);min-height:3.5rem}
.region-link-grid a:hover {color:var(--accent)}
.region-link-grid small {font-size:1rem;color:#526075;margin-left:auto}
.region-link-grid .icon {width:13px;height:13px;color:#526075}
.section {padding-block:43px}
.home-featured {padding-bottom:28px}
.institution-grid {display:block;border-top:1px solid #cbd2dd}
.institution-card {position:relative;display:flex;justify-content:space-between;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid #e0e5eb;background:#fff;min-width:0}
.institution-main {min-width:0;flex:1}
.card-top {display:flex;align-items:center;gap:10px;margin-bottom:5px}
.institution-location {font-size:1rem;color:#526075}
.institution-card h3 {font-size:1.5rem;line-height:1.6;overflow-wrap:anywhere;letter-spacing:-.025em}
.institution-card h3 a:hover {color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.card-address {font-size:1.125rem;color:#526075;line-height:1.8;margin-top:6px}
.tags {display:flex;gap:.5rem;flex-wrap:wrap;margin-top:10px}
.tag {font-size:1rem;color:#42516a;line-height:1.7;padding:.375rem .625rem;background:#f2f5f8;border:1px solid #e8ecf0;border-radius:3px}
a.tag:hover {border-color:#b5c0cf;color:var(--ink)}
.institution-actions {display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;min-width:170px;gap:.75rem}
.save-button {height:auto;width:auto;min-width:3rem;padding:.625rem .75rem;min-height:3rem;margin:0;border:1px solid #b5bfcc;font-size:1rem;background:#fff}
.save-button .icon {width:1.25rem;height:1.25rem}
.save-button[aria-pressed=true] .icon,[data-save][aria-pressed=true] .icon {fill:#c5e4db;stroke:var(--accent)}
.card-bottom {display:flex;flex-direction:column;align-items:flex-end;gap:9px;padding-bottom:2px}
.phone-link {display:flex;align-items:center;gap:6px;font-size:1.125rem;color:var(--ink);font-weight:500;white-space:normal;min-height:3rem;padding-block:.5rem;overflow-wrap:anywhere}
.phone-link .icon {width:14px;height:14px}
.card-more {font-size:1rem;color:var(--ink);display:flex;align-items:center;gap:5px;min-height:3rem;padding:.5rem .75rem;border:1px solid #b5bfcc;border-radius:4px}
.card-more .icon {width:13px;height:13px}
.card-more:hover {color:var(--accent)}
.section-footnote {font-size:1rem;line-height:1.8;color:#526075;margin-top:15px}
.home-bottom-note {margin-top:25px;margin-bottom:48px;padding-top:24px;border-top:1px solid var(--line)}
.home-bottom-note strong {font-size:1.125rem;color:#556078;font-weight:500}
.home-bottom-note p {font-size:1.125rem;color:#526075;margin-top:7px}
.home-bottom-note a {display:inline-flex;align-items:center;gap:8px;margin-top:11px;color:var(--accent);font-size:1rem;min-height:3rem;padding-block:.5rem;text-decoration:underline;text-underline-offset:.2em}
.home-bottom-note .icon {width:14px;height:14px}
.page-main {min-height:64vh;padding-bottom:60px}
.breadcrumbs {display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding-top:23px;color:#526075;font-size:1rem;line-height:1.7}
.breadcrumbs a:hover {color:var(--accent)}
.breadcrumbs .icon {width:11px;height:11px}
.breadcrumbs [aria-current] {color:#526075}
.page-heading {margin:29px 0 25px}
.page-heading h1 {font-size:1.875rem;line-height:1.5}
.page-heading>p {font-size:1.125rem;color:#526075;line-height:1.8;margin-top:10px}
.filter-form {display:flex;align-items:stretch;border:1px solid #ccd3dd;background:#fff;border-radius:4px;flex-wrap:wrap}
.filter-form .search-input-wrap {flex:2 1 280px;min-width:0}
.filter-form .select-wrap {flex:1 1 190px;min-width:0}
.filter-form .search-submit {border-radius:0 3px 3px 0;min-width:8rem;border:0;font-size:1.125rem}
.directory-layout {display:grid;grid-template-columns:230px minmax(0,1fr);gap:34px;margin-top:32px}
.directory-services {border-top:2px solid #506078;align-self:start;padding-top:16px}
.directory-services>h2 {font-size:1.25rem;margin-bottom:14px}
.type-chips {display:flex;flex-wrap:wrap;gap:8px}
.type-chips a {padding:.625rem 1rem;border:1px solid #dbe1e9;background:#fff;color:var(--ink);font-size:1.125rem;border-radius:4px;line-height:1.7;display:inline-flex;align-items:center;min-height:3rem}
.type-chips a:hover {color:var(--accent);border-color:#6aa99f}
.type-chips a[aria-current] {color:var(--accent);border-color:#70ada3;background:#eaf7f4;font-weight:600}
.directory-services .type-chips {display:block}
.directory-services .type-chips a {display:block;border:0;border-bottom:1px solid #edf0f4;border-radius:0;padding:.75rem;font-size:1.125rem;color:var(--ink);min-height:3rem}
.directory-services .type-chips a[aria-current] {color:var(--accent);border-left:3px solid var(--accent);background:#eaf7f4;padding-left:.75rem;font-weight:600}
.directory-help {padding-top:20px;margin-top:24px;border-top:1px solid #dbe2ea;font-size:1rem;color:#526075}
.directory-help strong {display:block;font-weight:500;font-size:1rem;margin-bottom:8px}
.directory-help a {display:flex;gap:5px;align-items:center;min-height:3rem;padding-block:.5rem;text-decoration:underline;text-underline-offset:.2em}
.directory-help .icon {width:13px;height:13px}
.directory-results {min-width:0}
.results-header {display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:33px;margin-bottom:13px;font-size:1.125rem;color:#526075;flex-wrap:wrap;line-height:1.8}
.results-header strong {font-size:1.25rem;color:var(--ink);font-weight:600;margin-right:2px}
.results-header p>span {font-size:1rem}
.results-header .text-link {font-size:1rem}
.search-grid .institution-card h3 {font-size:1.5rem}
.search-grid .card-address {font-size:1.125rem}
.search-grid .tag {font-size:1rem}
.pagination {display:flex;gap:.375rem;align-items:center;justify-content:center;margin-top:27px;flex-wrap:wrap}
.pagination>* {display:flex;align-items:center;justify-content:center;min-width:3rem;height:auto;padding-inline:5px;color:#526075;font-size:1.125rem;border:1px solid transparent;border-radius:3px;min-height:3rem;padding:.5rem;border-color:#c4cdd8}
.pagination a:hover {border-color:#cbd3de;color:var(--ink)}
.pagination .current {background:var(--accent);border-color:var(--accent);color:#fff}
.browse-other-regions {border-top:1px solid var(--line);margin-top:34px;padding-top:18px}
.browse-other-regions summary {cursor:pointer;color:var(--ink);font-size:1.125rem;min-height:3rem;padding-block:.5rem}
.browse-other-regions .region-link-grid {margin-top:12px}
.region-directory {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px;border-top:2px solid #667286}
.region-directory-card {display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 4px 19px 0;border-bottom:1px solid #e0e5ed}
.region-directory-card h2 {font-size:1.375rem;font-weight:500}
.region-directory-card p {font-size:1rem;color:#526075;margin-top:5px}
.region-directory-card>.icon {width:16px;height:16px;color:#526075}
.region-directory-card:hover h2 {color:var(--accent)}
.region-services {margin-top:33px;padding-top:24px;border-top:1px solid var(--line)}
.region-services h2 {font-size:1.125rem;margin-bottom:15px}
.types-page-layout {display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px}
.types-help {background:#f5faf8;border-top:2px solid var(--accent);border-radius:8px;padding:22px;align-self:start}
.types-help h2 {font-size:1.25rem}
.types-help p {font-size:1.125rem;color:#526075;line-height:1.8;margin-top:13px}
.types-help .text-link {font-size:1rem;margin-top:18px;color:var(--accent)}
.soft-callout {display:flex;align-items:center;gap:20px;padding:22px 25px;background:#f7f8fa;border:1px solid #e1e5ec;margin-top:32px;flex-wrap:wrap}
.soft-callout>div {flex:1 1 20rem;min-width:0}
.soft-callout strong {font-size:1.25rem;font-weight:500}
.soft-callout p {font-size:1.125rem;line-height:1.8;color:#526075;margin-top:5px}
.soft-callout>.text-link {font-size:1rem}
.empty-state {text-align:center;padding:55px 20px;background:#f7f8fa;border:1px solid #e5e9ef;border-radius:4px;margin-top:20px}
.empty-state h1 {font-size:1.875rem;margin-top:15px}
.empty-state h2 {font-size:1.375rem}
.empty-state p {font-size:1.125rem;line-height:1.8;color:#526075;margin:13px 0 21px}
.empty-icon {width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;background:#e8edf3;border-radius:50%;color:#526075;margin-bottom:18px}
.empty-icon .icon {width:24px;height:24px}
.notfound {margin-top:50px}
.guide-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px;border-top:2px solid #657389}
.guide-card {display:flex;flex-direction:column;padding:26px 0;border-bottom:1px solid var(--line);min-width:0}
.guide-card-top {display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.guide-card-top .eyebrow {font-size:1rem;color:var(--accent)}
.guide-number {font-size:1rem;color:#526075}
.guide-card h3 {font-size:1.5rem;line-height:1.5;font-weight:500}
.guide-card>p {font-size:1.125rem;color:#526075;margin-top:10px;line-height:1.8}
.guide-card-bottom {display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:17px;font-size:1rem;color:#526075}
.circle-arrow .icon {width:17px;height:17px;color:#526075}
.guide-card:hover h3 {color:var(--accent)}
.guide-article,.info-article {max-width:48rem;margin:30px auto 0}
.article-header {padding-bottom:27px;margin-bottom:25px;border-bottom:1px solid var(--line)}
.article-header .eyebrow {color:var(--accent)}
.article-header h1 {font-size:2.1875rem;line-height:1.5;margin-top:11px}
.article-header>p {font-size:1.25rem;line-height:1.8;margin-top:17px;color:#526075}
.article-meta {display:flex;gap:.5rem 1rem;font-size:1rem;color:#526075;margin-top:20px;flex-wrap:wrap}
.article-section {padding:18px 0 23px}
.article-section h2 {font-size:1.5rem;line-height:1.5;margin-bottom:18px}
.article-section h2>span {font-size:1rem;color:var(--accent);margin-right:12px}
.article-section p,.article-section li,.prose {font-size:1.125rem;line-height:1.8;color:var(--text)}
.article-section p+p {margin-top:15px}
.article-section ul {padding:18px 22px 18px 40px;background:#f7f8fa;margin:18px 0}
.article-section li {padding-block:3px}
.article-section a {text-decoration:underline;text-underline-offset:4px;color:var(--accent)}
.article-section strong {color:#52627b}
.article-sources {padding-top:23px;margin-top:25px;border-top:1px solid var(--line)}
.article-sources h2 {font-size:1.25rem;font-weight:500}
.article-sources ul {font-size:1.125rem;line-height:1.8;color:#526075;padding-left:18px}
.article-sources .icon {width:13px;height:13px;margin-left:4px}
.article-cta {padding:26px;background:#f4f6f9;border-top:2px solid #77869d;margin-top:35px}
.article-cta h2 {font-size:1.3125rem}
.article-cta p {font-size:1.125rem;line-height:1.8;color:#526075;margin:10px 0 19px}
.info-article .page-heading {margin-top:0;padding-bottom:26px;border-bottom:1px solid var(--line)}
.info-article .article-section+.article-section {border-top:1px solid #e5e9ef;padding-top:26px}
.saved-toolbar {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px;font-size:1.125rem;color:#526075;flex-wrap:wrap}
.saved-toolbar strong {font-size:1.25rem;color:var(--ink)}
.compare-card-actions {display:flex;gap:.75rem;margin-top:13px;flex-wrap:wrap}
.compare-card-actions .button {font-size:1rem;min-height:3rem;padding:.625rem 1rem}
.compare-table-wrap {overflow-x:auto;border:1px solid #d6dde6;background:#fff}
.compare-table {width:100%;border-collapse:collapse;table-layout:fixed;min-width:650px}
.compare-table th,.compare-table td {padding:20px;border-right:1px solid #e4e8ee;border-bottom:1px solid #e4e8ee;text-align:left;vertical-align:top;font-size:1.125rem;line-height:1.8;overflow-wrap:anywhere}
.compare-table tr>*:last-child {border-right:0}
.compare-table tr:last-child>* {border-bottom:0}
.compare-table th:first-child {width:9rem;background:#f7f8fa;color:#526075;font-weight:500}
.compare-table thead th {background:#f5f7fa}
.compare-table h2 {font-size:1.1875rem;line-height:1.6;margin:8px 0 17px}
.compare-table .button {font-size:1rem;min-height:3rem;padding:.625rem 1rem}
.compare-table .compare-remove {display:block;background:none;border:0;padding:.75rem 0;font-size:1rem;text-decoration:underline;text-underline-offset:4px;color:#526075;min-height:3rem}
.compare-table .tags {margin:0}
.compare-table.compare-single {min-width:0}
.compare-scroll-hint {display:none}
.compare-tray {position:fixed;z-index:50;bottom:12px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #bfc8d5;border-radius:5px;box-shadow:0 4px 24px #24344b20;padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;min-width:0;max-width:calc(100% - 24px);flex-wrap:wrap}
.compare-tray>div {display:flex;flex-direction:column}
.compare-tray strong {font-size:1.125rem}
.compare-tray>div>span {font-size:1rem;color:#526075}
.toast {position:fixed;left:50%;bottom:1rem;transform:translate(-50%,12px);padding:1rem;z-index:100;background:#24344bf5;color:#fff;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;max-width:calc(100% - 32px);width:max-content;font-size:1.125rem;text-align:center;line-height:1.8}
.toast.visible {opacity:1;transform:translate(-50%,0)}
body:has(.compare-tray:not([hidden])) .toast {bottom:10rem}
.site-footer {border-top:1px solid #dce2ea;background:#f7f8fa;padding:32px 0 21px}
.footer-main {display:flex;justify-content:space-between;align-items:flex-start;gap:30px;flex-wrap:wrap}
.footer-main .brand img {width:105px;height:auto}
.footer-tagline {font-size:1rem;color:#526075;margin-top:10px}
.footer-links {display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:1rem;color:#526075;padding-top:10px;flex:1 1 30rem}
.footer-links a:hover {color:var(--accent)}
.footer-note {font-size:1rem;line-height:1.8;color:#526075;margin-top:26px}
.footer-note>p+p {margin-top:5px}
.footer-bottom {display:flex;justify-content:space-between;gap:20px;margin-top:21px;padding-top:15px;border-top:1px solid #e1e6ed;font-size:1rem;color:#526075;flex-wrap:wrap}
html[data-font-size=large] {font-size:125%}
.font-controls {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.75rem;font-size:1rem;color:var(--ink)}
.font-controls>span {grid-column:1/-1;font-weight:600}
.font-controls button {width:100%;min-width:0;min-height:3rem;padding:.5rem .875rem;font-size:1rem;font-weight:600;line-height:1.6;background:#fff;color:var(--ink);border:1px solid #a4aebb;border-radius:4px}
.font-controls button[aria-pressed=true] {background:var(--accent);color:#fff;border-color:var(--accent)}
.font-controls button:hover {box-shadow:inset 0 0 0 2px #0f766e}
.search-field {flex:1;min-width:0;width:100%}
.search-field label {display:block;font-size:1rem;font-weight:600;color:var(--ink);line-height:1.7;margin-bottom:.25rem}
.quick-regions a {display:inline-flex;align-items:center;justify-content:center;min-height:3rem;min-width:3rem;padding:.5rem .75rem;border:1px solid #c2cbd7;border-radius:4px;background:#fff;color:var(--ink)}
.institution-card h3 a {display:inline-flex;align-items:center;min-height:3rem}
a.tag {display:inline-flex;align-items:center;min-height:3rem;padding:.625rem .75rem}
.breadcrumbs a {display:inline-flex;align-items:center;min-height:3rem;text-decoration:underline;text-underline-offset:.2em}
.article-sources a {display:inline-block;min-height:3rem;padding-block:.5rem;text-decoration:underline;text-underline-offset:.2em}
body:has(.compare-tray:not([hidden])) {padding-bottom:10rem}
.footer-links a {display:inline-flex;align-items:center;min-height:3rem;padding-block:.5rem;text-decoration:underline;text-underline-offset:.2em}
.service-tone-home {--service-color:#0f655d;--service-bg:#edf8f5;--service-line:#c5e4db}
.service-tone-day {--service-color:#285f90;--service-bg:#f0f6fc;--service-line:#cbdff0}
.service-tone-stay {--service-color:#68518b;--service-bg:#f7f3fb;--service-line:#e0d4ed}
.service-tone-equipment {--service-color:#895612;--service-bg:#fff8e9;--service-line:#efdbaf}
.service-group h3>.icon {width:1.75rem;height:1.75rem;color:var(--service-color);stroke-width:1.8}
.service-row:last-child {border-bottom:0;padding-bottom:.25rem}
.service-row:focus-visible {outline-offset:4px;border-radius:4px}
.reading-settings {position:static;font-size:1rem;color:var(--ink)}
.reading-settings>summary {display:flex;align-items:center;justify-content:center;gap:.625rem;min-height:3rem;padding:.625rem .875rem;border:1px solid #b9c9c5;border-radius:8px;background:#fff;font-size:1rem;line-height:1.6;font-weight:600;white-space:nowrap;cursor:pointer;list-style:none}
.reading-settings>summary::-webkit-details-marker {display:none}
.reading-settings>summary::after {content:'';display:block;width:.5rem;height:.5rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-.25rem;flex-shrink:0}
.reading-settings[open]>summary {color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}
.reading-settings[open]>summary::after {transform:rotate(225deg);margin-top:.25rem}
.reading-panel {position:absolute;z-index:40;top:calc(100% + 8px);right:max(16px,calc((100% - 1240px)/2));width:min(24rem,calc(100% - 32px));padding:1.25rem;border:1px solid #a8c6be;border-radius:10px;background:#fff;box-shadow:0 8px 24px #24344b20;max-height:calc(100dvh - 10rem);overflow-y:auto}
.reading-settings:not([open])>.reading-panel {display:none}
@media(max-width:1100px) {
  .container {width:calc(100% - 48px)}
  .brand-caption {display:none}
  .desktop-nav {gap:23px;font-size:1rem;display:none}
  .header-actions {margin-left:auto}
  .home-columns {grid-template-columns:minmax(0,1fr) 300px;gap:32px}
  .service-directory {gap:24px;grid-template-columns:1fr}
  .service-description {font-size:1rem}
  .service-count {font-size:1rem;gap:4px}
  .service-row strong {font-size:1.375rem}
  .home-guide-rail {padding-inline:19px}
  .region-link-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
  .directory-layout {grid-template-columns:200px minmax(0,1fr);gap:28px}
  .filter-form .select-wrap {min-width:142px}
  .filter-form .search-input-wrap {flex:1.2}
  .institution-actions {min-width:150px}
  .types-page-layout {grid-template-columns:minmax(0,1fr) 300px;gap:32px}
  .footer-links {gap:16px}
  .footer-tagline {max-width:300px}
  .menu-toggle {display:inline-flex!important;min-height:3rem;width:auto;min-width:3rem;gap:.5rem}
}
@media(max-width:800px) {
  .container {width:calc(100% - 40px)}
  .header-inner {height:auto;gap:14px;min-height:5rem}
  .brand img {width:113px;height:auto}
  .desktop-nav {font-size:1rem;gap:19px}
  .desktop-nav a {padding-block:24px}
  .saved-link>span:not(.saved-count) {display:inline}
  .header-actions {margin-left:2px}
  .home-search-section {padding-top:33px}
  .home-intro h1 {font-size:2.0625rem}
  .home-intro>p:last-child {font-size:1.125rem}
  .hero-search {max-width:100%}
  .home-data-note {gap:18px;flex-wrap:wrap;row-gap:7px}
  .home-columns {grid-template-columns:1fr;gap:32px;padding-block:35px}
  .section-heading h2 {font-size:1.625rem}
  .section-heading p {font-size:1.125rem}
  .section-heading .text-link {font-size:1rem}
  .service-directory {gap:22px 19px}
  .service-group h3 {font-size:1.125rem}
  .service-row {align-items:center;position:static;padding:1.25rem 0;min-height:6rem}
  .service-row strong {font-size:1.375rem}
  .service-count {position:static;font-size:1rem}
  .home-guide-rail {padding:20px 17px}
  .rail-heading h2 {font-size:1.5rem}
  .rail-heading p {font-size:1.125rem}
  .guide-rail-list strong {font-size:1.125rem}
  .region-link-grid {gap:0 18px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .region-link-grid a {font-size:1.125rem}
  .region-directory {grid-template-columns:repeat(2,minmax(0,1fr))}
  .directory-layout {grid-template-columns:1fr;gap:23px}
  .directory-services .type-chips a {font-size:1.125rem;padding:.75rem;border:1px solid #c4cdd8;border-radius:4px}
  .filter-form {flex-wrap:wrap;border:0;gap:8px;background:#f5f7fa;padding:13px}
  .filter-form .search-input-wrap {flex-basis:100%;border:1px solid #d9e0e9;background:#fff;border-radius:3px}
  .filter-form .search-input-wrap input {height:auto;font-size:1.125rem;min-height:3rem}
  .filter-form .select-wrap {border:1px solid #d9e0e9;min-width:0;flex:1 1 190px;border-radius:3px;padding:.75rem}
  .filter-form .select-wrap label {display:block}
  .filter-form .select-wrap select {font-size:1.125rem;padding:.5rem 0}
  .filter-form .search-submit {flex:1 1 100%;border-radius:3px;min-width:0;font-size:1.125rem}
  .institution-card {gap:16px}
  .institution-card h3,.search-grid .institution-card h3 {font-size:1.375rem}
  .institution-actions {min-width:150px}
  .phone-link {font-size:1.125rem}
  .card-bottom .small,.card-more {font-size:1rem}
  .search-grid .card-address {font-size:1.125rem}
  .search-grid .tag {font-size:1rem}
  .types-page-layout {grid-template-columns:1fr;gap:28px}
  .types-help {padding:20px}
  .guide-card h3 {font-size:1.375rem}
  .guide-card>p {font-size:1.125rem}
  .article-header h1 {font-size:1.9375rem}
  .article-section h2 {font-size:1.375rem}
  .article-section p,.article-section li,.prose {font-size:1.125rem}
  .footer-main {display:block}
  .footer-links {padding-top:0;margin-top:22px}
  .footer-tagline {max-width:none}
  .page-heading h1 {font-size:1.75rem}
  .directory-services .type-chips {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
  .directory-help {display:none}
}
@media(max-width:600px) {
  .container {width:calc(100% - 32px)}
  .header-inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;align-items:center;height:auto;gap:.5rem;min-height:5rem;padding-block:.75rem}
  .header-inner>.brand {grid-column:1;grid-row:1;justify-self:start}
  .brand img {width:104px}
  .desktop-nav {display:none}
  .header-actions {display:contents}
  .header-actions>.reading-settings {grid-column:2;grid-row:1;justify-self:end;max-width:100%}
  .saved-link {grid-column:1;grid-row:2;justify-self:start;padding:.5rem;position:relative;gap:.375rem;font-size:1rem;max-width:100%;white-space:normal}
  .saved-link .icon {width:20px;height:20px;display:none}
  .saved-count {position:static;font-size:1rem;min-width:1.5rem;height:1.5rem;line-height:1.5rem}
  .menu-toggle {display:flex!important;grid-column:2;grid-row:2;justify-self:end;min-width:3rem;width:auto;height:auto;padding:.5rem;min-height:3rem;font-size:1rem;gap:.375rem}
  .menu-toggle .icon {width:1.25rem;height:1.25rem}
  .home-search-section {padding-top:27px}
  .home-kicker {font-size:1rem;margin-bottom:10px}
  .home-intro h1 {font-size:1.875rem;line-height:1.55;letter-spacing:-.025em}
  .home-intro>p:last-child {font-size:1.125rem;line-height:1.8;margin-top:13px;max-width:none}
  .hero-search {margin-top:22px;display:grid;grid-template-columns:minmax(0,1fr);border-width:1px}
  .hero-search .search-input-wrap {grid-column:1/-1;padding-left:13px;border-bottom:1px solid #dde2e9;gap:.625rem;padding:1rem;align-items:center}
  .hero-search .search-input-wrap input {height:auto;font-size:1.125rem;min-height:3rem}
  .hero-search .search-input-wrap .icon {width:19px;height:19px}
  .hero-search .select-wrap {padding:.75rem 1rem;border:0;min-width:0;gap:12px;border-bottom:1px solid #dde2e9}
  .hero-search .select-wrap select {font-size:1.125rem;padding-block:.5rem}
  .hero-search .button {border-radius:0 0 8px 8px;font-size:1.125rem;min-width:0;min-height:3.25rem;padding:.75rem 1rem}
  .quick-regions {gap:.5rem;font-size:1rem;margin-top:13px}
  .quick-regions>span {font-size:1rem;padding:0;flex-basis:100%}
  .home-data-note {display:block;margin-top:22px;padding-block:13px;font-size:1rem}
  .home-data-note strong {font-size:1.125rem}
  .home-data-note>a {font-size:1rem;gap:4px;margin-top:5px;flex-wrap:wrap}
  .home-columns {display:flex;flex-direction:column;gap:31px;padding-block:29px}
  .section-heading {gap:12px;margin-bottom:18px}
  .section-heading h2 {font-size:1.5rem}
  .section-heading p {font-size:1.125rem;margin-top:7px;line-height:1.8}
  .section-heading>.text-link {font-size:1rem;gap:2px}
  .section-heading>.text-link .icon {width:13px;height:13px}
  .service-directory {gap:1.75rem;grid-template-columns:1fr}
  .service-group {padding:1rem 1.125rem}
  .service-group h3 {font-size:1.125rem;padding:.25rem 0 1rem;letter-spacing:-.025em}
  .service-row {min-height:6rem;padding:1.25rem 0;gap:.75rem}
  .service-row strong {font-size:1.375rem}
  .service-description {font-size:1.125rem;margin-top:5px;line-height:1.8}
  .service-count {font-size:1rem;position:static;width:100%;justify-content:space-between}
  .home-guide-rail {padding:20px 21px;width:100%;border-top-width:2px}
  .rail-heading h2 {font-size:1.5rem;margin-top:6px}
  .rail-label {font-size:1rem}
  .rail-heading p {font-size:1.125rem;margin-top:8px}
  .rail-heading p br {display:none}
  .guide-rail-list {margin-top:16px;margin-bottom:14px}
  .guide-rail-list strong {font-size:1.125rem}
  .home-guide-rail>.text-link {font-size:1rem}
  .rail-help {margin-top:20px;padding-top:16px}
  .rail-help a {font-size:1rem}
  .rail-help>span {font-size:1rem}
  .home-regions {padding-block:27px}
  .region-link-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
  .region-link-grid a {padding-block:1rem;font-size:1rem;flex-wrap:wrap;gap:.25rem}
  .region-link-grid small {font-size:1rem}
  .section {padding-block:30px}
  .institution-card {padding:1.5rem 0;gap:0;display:block}
  .institution-card h3,.search-grid .institution-card h3 {font-size:1.375rem;line-height:1.6;letter-spacing:-.025em}
  .institution-location {font-size:1rem}
  .card-address,.search-grid .card-address {font-size:1.125rem;line-height:1.8;margin-top:6px}
  .tags {margin-top:10px;gap:5px}
  .tag,.search-grid .tag {font-size:1rem;padding:.5rem .75rem}
  .institution-actions {display:flex;min-width:0;margin-top:1rem;flex-direction:row;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:.75rem}
  .institution-actions>.save-button {position:static;margin:0;width:auto;height:auto;min-width:3rem;min-height:3rem}
  .institution-actions .card-bottom {display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:0;margin-right:0;flex:1 1 100%;flex-wrap:wrap}
  .phone-link {font-size:1.125rem}
  .card-bottom .small,.card-more {font-size:1rem}
  .section-footnote {font-size:1rem;margin-top:12px}
  .home-bottom-note {margin-top:10px;margin-bottom:31px;padding-top:22px}
  .home-bottom-note strong {font-size:1.125rem}
  .home-bottom-note p {font-size:1.125rem;line-height:1.8}
  .page-main {padding-bottom:35px}
  .breadcrumbs {font-size:1rem;gap:5px;padding-top:18px;line-height:1.8}
  .page-heading {margin:23px 0 21px}
  .page-heading h1 {font-size:1.875rem;letter-spacing:-.025em}
  .page-heading>p {font-size:1.125rem;margin-top:10px}
  .filter-form {padding:12px;gap:8px}
  .filter-form .search-input-wrap {padding-left:10px;gap:8px;padding:.75rem}
  .filter-form .search-input-wrap input {font-size:1.125rem;height:auto;min-height:3rem}
  .filter-form .search-input-wrap>.icon {width:18px;height:18px}
  .filter-form .select-wrap {flex-basis:100%;padding:.75rem}
  .filter-form .search-submit {flex-basis:100%;min-height:3.25rem;font-size:1.125rem}
  .directory-layout {display:block;margin-top:23px}
  .directory-services {border-top:0;padding-top:0;margin-bottom:23px}
  .directory-services>h2 {font-size:1.25rem;margin-bottom:10px;color:var(--ink)}
  .directory-services .type-chips {display:grid;gap:.5rem;flex-wrap:wrap;grid-template-columns:1fr}
  .directory-services .type-chips a {display:flex;padding:.75rem 1rem;min-height:3rem;border:1px solid #dbe1e9;border-radius:3px;font-size:1.125rem;line-height:1.7}
  .directory-services .type-chips a[aria-current] {border:2px solid var(--accent);padding:.75rem 1rem;background:#eaf7f4}
  .directory-help {display:none}
  .results-header {min-height:28px;margin-bottom:12px;font-size:1.125rem;gap:8px}
  .results-header strong {font-size:1.375rem}
  .results-header p>span {font-size:1rem}
  .results-header .text-link {font-size:1rem;flex-shrink:0}
  .pagination {gap:.375rem;margin-top:23px;flex-wrap:wrap}
  .pagination>* {min-width:3rem;height:auto;font-size:1rem;min-height:3rem}
  .browse-other-regions {margin-top:28px;padding-top:16px}
  .browse-other-regions summary {font-size:1.125rem}
  .region-directory {grid-template-columns:1fr;gap:0}
  .region-directory-card {padding-block:17px;gap:8px}
  .region-directory-card h2 {font-size:1.25rem;line-height:1.6}
  .region-directory-card p {font-size:1rem;margin-top:3px}
  .region-directory-card>.icon {width:14px;height:14px}
  .region-services {padding-top:21px;margin-top:27px}
  .type-chips {gap:6px}
  .type-chips a {font-size:1.125rem;padding:.625rem 1rem}
  .types-page-layout {display:block}
  .types-help {margin-top:29px;padding:22px}
  .types-help p {font-size:1.125rem}
  .soft-callout {padding:19px;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-top:26px}
  .soft-callout>div {flex-basis:100%}
  .soft-callout strong {font-size:1.25rem}
  .soft-callout p {font-size:1.125rem}
  .soft-callout>.text-link {font-size:1rem}
  .soft-callout>.icon {display:none}
  .empty-state {padding:41px 18px}
  .empty-state h1 {font-size:1.5625rem}
  .empty-state h2 {font-size:1.3125rem}
  .empty-state p {font-size:1.125rem}
  .empty-state .button {font-size:1.125rem;min-height:3rem}
  .guide-grid {display:block}
  .guide-card {padding-block:23px}
  .guide-card h3 {font-size:1.375rem}
  .guide-card>p {font-size:1.125rem}
  .guide-card-bottom {font-size:1rem;padding-top:15px}
  .guide-article,.info-article {margin-top:24px}
  .article-header h1 {font-size:1.875rem;line-height:1.6}
  .article-header>p {font-size:1.125rem;line-height:1.8;margin-top:13px}
  .article-header {padding-bottom:23px;margin-bottom:18px}
  .article-meta {font-size:1rem;margin-top:16px}
  .article-section {padding:15px 0 20px}
  .article-section h2 {font-size:1.5rem;line-height:1.6;margin-bottom:14px}
  .article-section h2>span {font-size:1rem;margin-right:9px}
  .article-section p,.article-section li,.prose {font-size:1.125rem;line-height:1.8}
  .article-section ul {padding:16px 17px 16px 33px}
  .article-sources h2 {font-size:1.25rem}
  .article-sources ul {font-size:1.125rem}
  .article-cta {margin-top:28px;padding:23px 21px}
  .article-cta h2 {font-size:1.25rem}
  .article-cta p {font-size:1.125rem}
  .article-cta .button {font-size:1.125rem;min-height:3rem}
  .saved-toolbar {font-size:1.125rem;margin-bottom:14px}
  .saved-toolbar strong {font-size:1.25rem}
  .saved-toolbar .text-link {font-size:1rem}
  .compare-card-actions {margin-right:0;margin-top:13px}
  .compare-card-actions .button {font-size:1rem;min-height:3rem}
  .compare-table {min-width:42rem}
  .compare-table th,.compare-table td {padding:1rem;font-size:1.125rem}
  .compare-table th:first-child {width:8rem}
  .compare-table h2 {font-size:1.25rem}
  .compare-table .button {font-size:1rem}
  .compare-single th:first-child {width:6rem}
  .compare-single th,.compare-single td {padding:.75rem .5rem}
  .compare-scroll-hint {display:block;font-size:1rem;color:#526075;margin:-3px 0 13px}
  .compare-tray {bottom:13px;width:calc(100% - 24px);min-width:0;justify-content:space-between;gap:.5rem;padding:.75rem}
  .compare-tray strong {font-size:1.125rem}
  .compare-tray>div>span {font-size:1rem}
  .compare-tray .button {font-size:1rem;min-height:3rem}
  .toast {font-size:1.125rem;bottom:20px;padding:1rem}
  body:has(.compare-tray:not([hidden])) .toast {bottom:10rem}
  .site-footer {padding-top:27px;padding-bottom:18px}
  .footer-main .brand img {width:102px}
  .footer-tagline {font-size:1rem;line-height:1.8}
  .footer-links {font-size:1rem;gap:.5rem 1.25rem;row-gap:11px;margin-top:19px}
  .footer-note {font-size:1rem;margin-top:21px;line-height:1.8}
  .footer-note br {display:none}
  .footer-bottom {font-size:1rem;margin-top:17px;padding-top:13px;gap:12px;flex-wrap:wrap}
  .reading-settings>summary {padding:.5rem .625rem;gap:.5rem}
  .reading-panel {left:16px;right:16px;width:auto;padding:1rem;max-height:70dvh}
  .font-controls {width:100%}
  .font-controls>span {flex-basis:100%}
  .font-controls button {padding-inline:.5rem;white-space:nowrap}
  .service-row>span:first-child {flex:1 1 100%}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  *,*:before,*:after {animation:none!important;transition:none!important}
}
