:root{--ink:#101b21;--green:#073d2f;--green2:#0f684e;--bg:#f3f6f4;--white:#fff;--muted:#65716d;--line:#d8e0dd;--warn-bg:#fff7f5;--warn:#64251f}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Arial,"Helvetica Neue",sans-serif;overflow-x:hidden}
a{color:#07533d}
.site-header{background:var(--white);border-bottom:1px solid var(--line)}
.site-header-inner{width:min(920px,calc(100% - 40px));height:78px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:block;width:168px;height:46px;overflow:hidden;position:relative}
.brand img{position:absolute;width:168px;height:auto;top:50%;left:0;transform:translateY(-50%)}
.header-links{display:flex;align-items:center;gap:20px;font-size:.84rem;font-weight:750}
.header-links a{text-decoration:none}
main{width:min(820px,calc(100% - 40px));margin:0 auto;padding:52px 0 80px}
.eyebrow{color:var(--green2);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;margin:0 0 10px}
h1{font-size:clamp(2.25rem,7vw,3.4rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 12px}
h2{font-size:1.3rem;line-height:1.3;margin:38px 0 10px}
h3{font-size:1rem;margin:25px 0 6px}
p,li{overflow-wrap:anywhere}
ul{padding-left:22px}
li+li{margin-top:8px}
.muted{color:var(--muted)}
.status{border:2px solid #8f382f;background:var(--warn-bg);color:var(--warn);padding:17px 19px;border-radius:8px;font-weight:750;margin:26px 0}
.card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:clamp(22px,5vw,38px);margin-top:24px}
.meta{display:flex;flex-wrap:wrap;gap:8px 24px;color:var(--muted);font-size:.9rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.contact-card{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:24px}
.contact-card h2{margin:0 0 8px}
.contact-card p{margin:8px 0}
.contact-card.full{grid-column:1/-1}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--green);color:#fff;text-decoration:none;border-radius:7px;padding:11px 15px;font-weight:750;margin-top:8px;touch-action:manipulation}
.button:hover{background:#052f25}
.site-footer{width:min(920px,calc(100% - 40px));margin:auto;border-top:1px solid var(--line);padding:26px 0 40px;display:flex;justify-content:space-between;gap:22px;color:var(--muted);font-size:.82rem}
.site-footer nav{display:flex;gap:18px;flex-wrap:wrap}
.site-footer a{text-decoration:none}
.site-footer.directory-footer{width:100%;max-width:none;margin:80px 0 0;padding:0;background:#f5f7f6;border-top:1px solid var(--line);display:block;color:#4f5d58}
.directory-footer .footer-wrap{width:min(1160px,calc(100% - 40px));margin:auto;padding:34px 0 30px}
.directory-footer .footer-path{display:flex;align-items:center;gap:9px;padding-bottom:24px;border-bottom:1px solid #d5ddda;font-size:.8rem;color:#65716d}
.directory-footer .footer-path a,.directory-footer .footer-path span{display:inline-flex;align-items:center;line-height:1}
.directory-footer .footer-path a:hover{text-decoration:underline;color:var(--green)}
.directory-footer .footer-path [aria-current="page"]{color:var(--ink);font-weight:700}
.directory-footer .footer-path img{display:block;width:22px;height:22px;object-fit:contain}
.directory-footer .footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px;padding:28px 0 34px}
.directory-footer .footer-group h2{margin:0 0 10px;color:var(--ink);font-size:.78rem;line-height:1.3}
.directory-footer .footer-group+.footer-group{margin-top:25px}
.directory-footer .footer-group ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.directory-footer .footer-group li+li{margin-top:0}
.directory-footer .footer-group a{color:#4f5d58;font-size:.78rem;line-height:1.4}
.directory-footer .footer-group a:hover{text-decoration:underline;color:var(--green)}
.directory-footer .footer-signup{width:max-content;border:0;background:none;color:#4f5d58;padding:0;font:inherit;font-size:.78rem;line-height:1.4;text-align:left;cursor:default}
.directory-footer .footer-bottom{border-top:1px solid #d5ddda;padding:18px 0 0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;font-size:.75rem;color:#68746f}
.directory-footer .footer-legal{display:grid;gap:4px}
.directory-footer .footer-bottom-links{display:flex;justify-content:flex-end;gap:18px;flex-wrap:wrap}
@media(max-width:800px){.directory-footer .footer-columns{grid-template-columns:repeat(2,minmax(0,240px));justify-content:start;gap:34px 50px}.directory-footer .footer-bottom{grid-template-columns:1fr;justify-items:start;gap:14px}.directory-footer .footer-bottom-links{justify-content:flex-start}}
@media(max-width:620px){main{width:calc(100% - 28px);padding:38px 0 64px}.site-header-inner{width:calc(100% - 28px);height:auto;min-height:68px;padding:10px 0;align-items:center}.header-links{gap:2px;flex-wrap:wrap;justify-content:flex-end}.header-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}.brand,.brand img{width:140px}.contact-grid{grid-template-columns:1fr}.contact-card.full{grid-column:auto}.card,.contact-card{padding:22px}.site-footer:not(.directory-footer){width:calc(100% - 28px);flex-direction:column}.site-footer:not(.directory-footer) nav{gap:4px}.site-footer:not(.directory-footer) a{display:inline-flex;align-items:center;min-height:44px;padding-right:12px}.directory-footer .footer-wrap{width:calc(100% - 28px);padding-top:22px}.directory-footer .footer-path{padding-bottom:16px}.directory-footer .footer-columns{grid-template-columns:1fr;gap:14px;padding:18px 0 20px}.directory-footer .footer-group h2{margin-bottom:4px}.directory-footer .footer-group+.footer-group{margin-top:10px}.directory-footer .footer-group ul{gap:0}.directory-footer .footer-group a,.directory-footer .footer-group .footer-signup{display:flex;align-items:center;min-height:36px}.directory-footer .footer-bottom{padding:14px 0 0;gap:8px}.directory-footer .footer-bottom-links a{display:inline-flex;align-items:center;min-height:36px}input,select,textarea{font-size:16px!important}}
@media(max-width:360px){.site-header-inner{align-items:flex-start;flex-direction:column;padding:9px 0}.header-links{width:100%;justify-content:flex-start}.brand,.brand img{width:145px}}
