:root{--violet:#5b3c81;--violet-dark:#36204f;--yellow:#e6ee78;--pink:#faaace;--ink:#21182a;--muted:#6f6675;--line:#e8e2eb;--soft:#f7f4f9}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:"DM Sans",sans-serif}.announcement{background:var(--violet-dark);color:#fff;text-align:center;padding:.65rem;font-size:.8rem;font-weight:800}.provider-header{min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:.8rem clamp(1rem,5vw,4.5rem);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.96);z-index:10;backdrop-filter:blur(12px)}.provider-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--violet-dark);font:900 .75rem "Nunito",sans-serif;letter-spacing:.15em}.provider-brand img{width:68px;height:48px;object-fit:contain}.provider-header nav{display:flex;align-items:center;gap:1.4rem}.provider-header nav a{color:var(--ink);text-decoration:none;font-size:.85rem;font-weight:800}.provider-header nav a:hover,.provider-header nav a.active{color:var(--violet)}.provider-lang{border:1px solid var(--line);border-radius:10px;background:#fff;padding:.55rem .7rem;font:800 .75rem "DM Sans",sans-serif;cursor:pointer;color:var(--violet-dark)}
.directory-hero{padding:clamp(3.5rem,8vw,7rem) clamp(1rem,7vw,7rem);background:linear-gradient(125deg,var(--violet-dark),var(--violet));color:#fff;display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:end}.directory-copy{max-width:850px}.eyebrow{font-size:.7rem;letter-spacing:.15em;font-weight:900;color:var(--yellow)}.directory-copy h1{font:900 clamp(2.7rem,6vw,5.6rem)/.98 "Nunito",sans-serif;letter-spacing:-.05em;margin:.7rem 0 1.2rem}.directory-copy p{max-width:700px;color:#e6ddeb;font-size:1.08rem;line-height:1.65;margin:0}.directory-stat{width:210px;min-height:190px;border:1px solid rgba(255,255,255,.25);border-radius:26px;padding:1.5rem;background:rgba(255,255,255,.1);display:flex;flex-direction:column;justify-content:center}.directory-stat strong{font:900 4rem/1 "Nunito",sans-serif;color:var(--yellow)}.directory-stat span{font-weight:800;line-height:1.2;margin:.45rem 0}.directory-stat small{color:#d9cfdf}
.directory-panel{max-width:1440px;margin:auto;padding:3.5rem clamp(1rem,5vw,4.5rem)}.directory-tools{display:grid;grid-template-columns:minmax(240px,1fr) auto 230px;gap:1rem;align-items:center}.provider-search{height:48px;border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;gap:.6rem;padding:0 .9rem;background:#fff}.provider-search span{font-size:1.5rem;color:var(--violet)}.provider-search input{border:0;outline:0;width:100%;font:inherit;color:var(--ink)}.city-filters{display:flex;gap:.45rem;overflow:auto}.city-filters button{height:42px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 .85rem;white-space:nowrap;font-weight:800;color:var(--ink);cursor:pointer}.city-filters button:hover,.city-filters button.active{background:var(--violet);border-color:var(--violet);color:#fff}.directory-tools select{height:48px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 .8rem;font:inherit;color:var(--ink)}.directory-summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:2rem 0 1rem}.directory-summary p{color:var(--muted);font-weight:700}.directory-summary a{color:var(--violet);font-weight:900;text-decoration:none}.provider-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.provider-card{border:1px solid var(--line);border-radius:22px;padding:1.15rem;background:#fff;display:flex;flex-direction:column;min-height:330px;transition:.2s}.provider-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(54,32,79,.11)}.provider-card-top{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.provider-icon{width:58px;height:58px;border-radius:17px;background:var(--soft);display:grid;place-items:center;font-size:1.8rem}.unclaimed{background:#fff5cb;color:#6d5a00;border-radius:999px;padding:.33rem .55rem;font-size:.61rem;font-weight:900;white-space:nowrap}.provider-location{font-size:.7rem;color:var(--violet);font-weight:900;letter-spacing:.06em;text-transform:uppercase;margin-top:1.05rem}.provider-card h2{font:900 1.25rem/1.2 "Nunito",sans-serif;margin:.35rem 0}.provider-type{font-size:.73rem;font-weight:800;color:var(--muted)}.provider-card p{font-size:.81rem;line-height:1.5;color:var(--muted);margin:.8rem 0 1.2rem;flex:1}.provider-actions{display:grid;grid-template-columns:1fr auto;gap:.5rem}.provider-actions a{border-radius:10px;padding:.68rem .75rem;text-decoration:none;text-align:center;font-size:.74rem;font-weight:900}.official-link{background:var(--violet);color:#fff}.claim-link{border:1px solid var(--violet);color:var(--violet)}.provider-source{font-size:.63rem;color:#8b828f;margin-top:.7rem}.directory-empty{text-align:center;padding:5rem 1rem;color:var(--muted)}.directory-empty span{font-size:3rem}.directory-empty h2{font:900 1.7rem "Nunito",sans-serif;color:var(--ink)}
.directory-notice{max-width:1290px;margin:0 auto 4rem;border:1px solid #eadf9d;background:#fffbea;border-radius:18px;padding:1.2rem;display:flex;gap:1rem}.directory-notice>span{font-size:1.4rem}.directory-notice strong{font:800 1rem "Nunito",sans-serif}.directory-notice p{font-size:.78rem;line-height:1.55;color:var(--muted);margin:.35rem 0 0}.claim-banner{background:var(--yellow);padding:4rem clamp(1rem,7vw,7rem);display:flex;justify-content:space-between;align-items:center;gap:3rem}.claim-banner>div{max-width:800px}.claim-banner .eyebrow{color:var(--violet)}.claim-banner h2{font:900 clamp(2rem,4vw,3.7rem)/1 "Nunito",sans-serif;margin:.55rem 0}.claim-banner p{line-height:1.55;margin:0}.claim-banner>a{background:var(--violet-dark);color:#fff;border-radius:14px;padding:1rem 1.2rem;text-decoration:none;font-weight:900;white-space:nowrap}.provider-footer{background:var(--violet-dark);color:#fff;padding:2rem clamp(1rem,5vw,4.5rem);display:flex;justify-content:space-between;align-items:center}.provider-footer .provider-brand{color:#fff}.provider-footer p{font-size:.8rem;color:#d9cfdf}
.provider-card{overflow:hidden}.provider-cover{display:block;width:calc(100% + 2.3rem);height:150px;object-fit:cover;margin:-1.15rem -1.15rem 0}.provider-card-top{margin-top:-26px;z-index:1}.provider-icon{background:#fff;box-shadow:0 4px 14px #21112f24}.provider-icon img{width:52px;height:52px;object-fit:contain;padding:4px}
@media(max-width:1150px){.provider-grid{grid-template-columns:repeat(3,1fr)}.directory-tools{grid-template-columns:1fr 1fr}.city-filters{grid-column:1/-1;grid-row:2}.directory-stat{display:none}}@media(max-width:800px){.provider-header nav a:not(.active){display:none}.provider-header nav{gap:.6rem}.directory-hero{grid-template-columns:1fr}.provider-grid{grid-template-columns:repeat(2,1fr)}.directory-tools{grid-template-columns:1fr}.city-filters{grid-column:auto;grid-row:auto}.claim-banner{align-items:flex-start;flex-direction:column}.provider-footer{flex-direction:column;align-items:flex-start}}@media(max-width:530px){.provider-grid{grid-template-columns:1fr}.provider-header{min-height:68px}.provider-brand img{width:55px}.directory-copy h1{font-size:3rem}.provider-actions{grid-template-columns:1fr}.directory-summary{align-items:flex-start;flex-direction:column}.directory-summary p{margin-bottom:0}}
.provider-language-picker{display:flex;align-items:center;gap:.2rem;position:relative}.provider-language-picker>button,.provider-language-picker details button,.provider-language-picker summary{border:1px solid var(--line);background:#fff;border-radius:9px;padding:.5rem .58rem;font:800 .72rem "DM Sans",sans-serif;cursor:pointer;list-style:none}.provider-language-picker>button.active{background:var(--yellow);border-color:var(--yellow)}.provider-language-picker details{position:relative}.provider-language-picker summary::-webkit-details-marker{display:none}.provider-language-picker details>div{position:absolute;right:0;top:calc(100% + .45rem);z-index:20;width:165px;padding:.4rem;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 35px rgba(54,32,79,.13)}.provider-language-picker details button{display:block;width:100%;text-align:left;border:0}.provider-language-picker details button:hover{background:var(--soft)}.provider-offer{border-left:3px solid var(--yellow);padding:.55rem .65rem;background:#fbfce9;border-radius:0 9px 9px 0;font-size:.73rem;line-height:1.35;margin-bottom:.8rem}.provider-offer strong{display:block;color:var(--violet-dark)}
