.directory-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:32px;margin-bottom:24px;padding-bottom:18px;display:flex}.directory-title{letter-spacing:-.018em;color:var(--ink);margin:0;font-size:clamp(22px,2.3vw,28px);font-weight:500}.directory-count{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--indigo);background:var(--indigo-soft);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:700}.filter-panel{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-lg);margin-top:16px;padding:32px;box-shadow:0 8px 24px -16px #0a062014}.filter-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-size:11px;font-weight:700}.tier-row{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:28px}.tier-bar{flex-wrap:wrap;gap:10px;display:flex}.tier-chip{border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-2);cursor:pointer;letter-spacing:-.005em;border-radius:999px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s}.tier-chip:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-1px)}.tier-chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tier-chip.active.tier-dimagi{background:var(--indigo-deep);border-color:var(--indigo-deep)}.tier-chip.active.tier-tech{background:var(--indigo);border-color:var(--indigo)}.tier-chip.active.tier-provider{background:var(--ink);border-color:var(--ink)}.filter-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.filter-block{flex-direction:column;gap:8px;display:flex}.filter-block select{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper-2);width:100%;color:var(--ink);cursor:pointer;min-height:44px;max-height:160px;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s}.filter-block select:hover{border-color:var(--ink-2)}.filter-block select:focus{outline:2px solid var(--indigo);outline-offset:2px;border-color:var(--indigo)}.filter-block select[multiple]{padding:6px}.filter-block select[multiple] option{border-radius:6px;padding:6px 10px}.filter-bottom{grid-template-columns:1fr auto;align-items:stretch;gap:12px;margin-top:24px;display:grid}.search input{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper-2);width:100%;color:var(--ink);padding:14px 18px;font-family:inherit;font-size:15px;transition:border-color .15s}.search input:focus{outline:2px solid var(--indigo);outline-offset:2px;border-color:var(--indigo)}.search input::placeholder{color:var(--muted)}.clear{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper-2);color:var(--ink-2);cursor:pointer;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s}.clear:hover{border-color:var(--ink);color:var(--ink)}.filter-panel .hint{font-family:var(--mono);color:var(--muted);letter-spacing:.04em;margin-top:14px;font-size:11px}.count{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--indigo);font-size:12px;font-weight:600}#groups{flex-direction:column;gap:64px;margin-top:56px;display:flex}.directory-group{display:block}.group-heading{letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:28px;font-weight:400}.group-heading:before{content:"// ";font-family:var(--mono);color:var(--indigo);letter-spacing:.1em;vertical-align:4px;font-size:13px;font-weight:600}.group-sub{color:var(--muted);margin:0 0 24px;font-size:15px;line-height:1.55}.provider-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.provider-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 34px -16px #0a062014}.provider-card:hover{border-color:var(--indigo);transform:translateY(-2px);box-shadow:0 20px 40px -16px #0a06201f}.provider-card.dimagi-card{background:linear-gradient(135deg, var(--paper-2) 0%, var(--indigo-soft) 100%);border-color:#3843d04d}.provider-card.premier-card{border-color:#3843d059}.provider-card.tech-card{border-color:var(--rule)}.premier-badge,.maker-badge,.tech-badge{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;z-index:1;border-radius:999px;padding:5px 12px;font-size:10.5px;font-weight:700;position:absolute;top:16px;right:16px}.premier-badge{background:var(--indigo);color:var(--paper);box-shadow:0 8px 20px -6px #3843d066}.maker-badge{background:var(--deep-purple,#3d0f6e);color:var(--paper);box-shadow:0 8px 20px -6px #3d0f6e66}.tech-badge{background:var(--teal,#0da89d);color:var(--paper);box-shadow:0 8px 20px -6px #0da89d59}.premier-card .provider-top,.dimagi-card .provider-top,.tech-card .provider-top{padding-right:160px}.provider-top{align-items:center;gap:16px;padding:22px 22px 14px;display:flex}.provider-logo{background:var(--paper-cool);width:72px;height:72px;color:var(--indigo);font-family:var(--mono);letter-spacing:.04em;border:1px solid var(--line);border-radius:14px;flex-shrink:0;place-items:center;font-size:18px;font-weight:700;transition:border-color .18s;display:grid;overflow:hidden}.provider-logo:hover{border-color:var(--indigo)}.provider-logo img{object-fit:contain;background:var(--paper-2);width:100%;height:100%;padding:8px}.provider-name{letter-spacing:-.015em;color:var(--ink);font-size:20px;font-weight:500;line-height:1.18}.provider-meta{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:6px;font-size:11px}.provider-body{flex-direction:column;flex:1;gap:13px;padding:0 22px 22px;display:flex}.links{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-soft);flex-wrap:wrap;align-items:center;gap:14px;font-size:11.5px;font-weight:600;display:flex}.links a{color:var(--indigo)}.links a:hover{color:var(--indigo-deep);text-decoration:underline}.description{color:var(--muted);font-size:14px;line-height:1.55}.details{border-top:1px solid var(--line);margin-top:4px;padding-top:14px}.details summary{cursor:pointer;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--indigo);justify-content:space-between;align-items:center;padding:4px 0;font-size:11px;font-weight:700;list-style:none;display:flex}.details summary::-webkit-details-marker{display:none}.details summary:after{content:"+";font-family:var(--mono);color:var(--indigo);font-size:18px;transition:transform .2s}.details[open] summary:after{content:"−"}.detail-section{margin-top:14px}.detail-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px;font-size:10.5px;font-weight:700}.tag-group{flex-wrap:wrap;gap:6px;display:flex}.pill{font-family:var(--sans);border:1px solid var(--line);color:var(--ink-2);background:var(--paper-warm);letter-spacing:-.005em;border-radius:999px;padding:5px 10px;font-size:11.5px;font-weight:500}.pill.geo-pill{background:var(--indigo-soft);color:var(--indigo-deep);border-color:#0000}.pill.lang-pill{background:var(--paper-cool);color:var(--ink-2);border-color:#0000}.pill.cap-pill{background:var(--paper-warm);color:var(--ink-2);border-color:var(--line)}.more-info{color:var(--muted);margin-top:12px;font-size:13px;line-height:1.5}.more-info strong{color:var(--ink-2);font-weight:600;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-right:4px;font-size:10.5px;display:inline-block}.empty{background:var(--paper-warm);border:1px dashed var(--rule);border-radius:var(--radius);color:var(--muted);text-align:center;padding:32px;font-style:italic}.become-card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:1.4fr 1fr;align-items:center;gap:56px;padding:56px;display:grid;box-shadow:0 24px 48px -16px #0a062014}.become-card h3{letter-spacing:-.025em;color:var(--ink);margin:14px 0 16px;font-size:clamp(28px,3.4vw,38px);font-weight:400;line-height:1.12}.become-card h3 em{background:var(--grad-text);-webkit-text-fill-color:transparent;background-clip:text;font-style:normal;font-weight:600}.become-card p{color:var(--muted);margin:0 0 24px;font-size:16px;line-height:1.55}.benefit-list{flex-direction:column;gap:16px;display:flex}.benefit{background:var(--paper-warm);border-radius:var(--radius);border-left:3px solid var(--indigo);color:var(--muted);padding:18px 22px;font-size:14.5px;line-height:1.5}.benefit strong{color:var(--ink);letter-spacing:-.005em;margin-bottom:2px;font-weight:600;display:block}.benefit span{color:var(--muted);display:block}.hero-stats-grid.three{grid-template-columns:repeat(3,1fr)}@media (width<=980px){.story-grid,.filter-grid{grid-template-columns:1fr}.filter-panel{padding:24px}.become-card{grid-template-columns:1fr;gap:32px;padding:36px}.group-heading{font-size:24px}}@media (width<=560px){.filter-bottom{grid-template-columns:1fr}.clear{width:100%}.provider-grid{grid-template-columns:1fr}}#premier-providers{border-bottom:1px solid #ffffff14}.pp-section-head{grid-template-columns:1fr 1fr;align-items:end;gap:48px;margin-bottom:48px;display:grid}.pp-section-head .section-lede{color:#ffffff9e;margin:0;font-size:15px;line-height:1.65}@media (width<=760px){.pp-section-head{grid-template-columns:1fr;gap:16px}}.pp-dimagi{border-radius:var(--radius-lg);background:#ffffff0f;border:1px solid #ffffff24;grid-template-columns:300px 1fr;gap:0;margin-bottom:40px;transition:box-shadow .2s;display:grid;overflow:hidden}.pp-dimagi:hover{box-shadow:0 24px 64px -16px #0a062099}.pp-dimagi-img{min-height:200px;position:relative;overflow:hidden}.pp-dimagi-img:after{content:"";background:linear-gradient(to right, transparent 60%, var(--ink-2) 100%);position:absolute;inset:0}.pp-dimagi-img img{object-fit:cover;object-position:center;opacity:.85;width:100%;height:100%;display:block}.pp-dimagi-body{flex-direction:column;justify-content:center;gap:14px;padding:32px 36px;display:flex}.pp-dimagi-badge{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#ffffff1f;border:1px solid #fff3;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-size:9.5px;font-weight:700;display:inline-flex}.pp-dimagi-title{color:#fff;letter-spacing:-.02em;margin:0;font-size:20px;font-weight:500;line-height:1.3}.pp-dimagi-desc{color:#fff9;margin:0;font-size:14px;line-height:1.65}.pp-sub-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffff61;align-items:center;gap:7px;margin:0 0 16px;font-size:11px;font-weight:600;display:flex}.pp-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;display:grid}.pp-card{border-radius:var(--radius-lg);cursor:pointer;background:#ffffff0f;border:2px solid #0000;transition:border-color .2s,transform .2s,box-shadow .2s;position:relative;overflow:hidden}.pp-card:hover{border-color:#8ea1ff80;transform:translateY(-3px);box-shadow:0 20px 48px -12px #0a062080}.pp-card.is-active{border-color:var(--sky);box-shadow:0 0 0 1px var(--sky), 0 24px 56px -12px #0a062080}.pp-card:focus-visible{outline:2px solid var(--sky);outline-offset:3px}.pp-card-img{aspect-ratio:4/3;background:var(--grad-deep);position:relative;overflow:hidden}.pp-card-img img{object-fit:cover;opacity:.75;width:100%;height:100%;transition:transform .4s;display:block}.pp-card:hover .pp-card-img img,.pp-card.is-active .pp-card-img img{opacity:.65;transform:scale(1.05)}.pp-card-img-fallback{background:radial-gradient(circle at 50% 38%, #6b74a873 0%, transparent 65%), var(--grad-deep);justify-content:center;align-items:center;width:100%;height:100%;min-height:200px;display:flex}.pp-card-img-fallback img{object-fit:contain;opacity:.88;filter:drop-shadow(0 12px 28px #0000008c)brightness(1.1);width:130px;height:130px;padding:12px}.pp-card-foot{background:linear-gradient(#0000 0%,#0a062099 40%,#0a0620eb 100%);align-items:flex-end;gap:12px;padding:40px 18px 18px;display:flex;position:absolute;bottom:0;left:0;right:0}.pp-card-logo-wrap{background:#ffffff24;border:1px solid #fff3;border-radius:8px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;overflow:hidden}.pp-card-logo-wrap img{object-fit:contain;opacity:1;width:100%;height:100%;padding:5px;transition:none;transform:none}.pp-card-id{flex:1}.pp-card-name{letter-spacing:-.01em;color:#fff;font-size:17px;font-weight:600;line-height:1.2;display:block}.pp-card-loc{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;margin-top:3px;font-size:10px;font-weight:600;display:block}.pp-card-caret{color:#ffffffb3;border:1px solid #ffffff40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:transform .25s,background .2s,border-color .2s;display:flex}.pp-card.is-active .pp-card-caret{background:var(--sky);border-color:var(--sky);color:var(--ink);transform:rotate(180deg)}.pp-card-caret svg{width:14px;height:14px}.pp-arrow-row{grid-template-columns:repeat(3,1fr);gap:16px;height:0;margin-top:0;display:grid}.pp-arrow{justify-content:center;height:0;display:flex;position:relative}.pp-arrow:after{content:"";opacity:0;border-bottom:14px solid #ffffff1a;border-left:12px solid #0000;border-right:12px solid #0000;width:0;height:0;transition:opacity .2s;display:block;position:absolute;top:0}.pp-arrow.is-visible:after{opacity:1}.pp-detail{border-radius:var(--radius-lg);background:#ffffff12;border:1px solid #ffffff1f;margin-top:16px;padding:32px 36px;animation:.22s ppFadeIn;display:none}.pp-detail.is-open{display:block}@keyframes ppFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pp-det-header{border-bottom:1px solid #ffffff1a;align-items:center;gap:16px;margin-bottom:22px;padding-bottom:20px;display:flex}.pp-det-logo{background:#ffffff1a;border:1px solid #ffffff26;border-radius:10px;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid;overflow:hidden}.pp-det-logo img{object-fit:contain;width:100%;height:100%;padding:6px}.pp-det-title{flex:1}.pp-det-title h3{letter-spacing:-.015em;color:#fff;margin:0 0 4px;font-size:22px;font-weight:600}.pp-det-badge{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--sky);background:#8ea1ff26;border:1px solid #8ea1ff4d;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.pp-det-close{color:#fff9;cursor:pointer;background:#ffffff12;border:1px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:inherit;font-size:18px;line-height:1;transition:background .15s,color .15s;display:flex}.pp-det-close:hover{color:#fff;background:#ffffff26}.pp-det-body{grid-template-columns:1fr 1fr;gap:36px;display:grid}.pp-det-desc p{color:#ffffffb3;margin:0 0 18px;font-size:14.5px;line-height:1.6}.pp-det-ki{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.pp-det-ki-chip{font-family:var(--mono);letter-spacing:.06em;color:#ffffff8c;background:#ffffff12;border:1px solid #ffffff1f;border-radius:999px;padding:5px 10px;font-size:10.5px;font-weight:600}.pp-det-ki-chip strong{color:#ffffffd9;font-weight:700}.pp-det-caps{flex-wrap:wrap;gap:7px;display:flex}.pp-det-cap{color:#ffffffbf;background:#5d70d240;border:1px solid #5d70d266;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:500}.pp-det-links{flex-direction:column;gap:12px;display:flex}.pp-det-link{border-radius:var(--radius);background:#ffffff0d;border:1px solid #ffffff1a;flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.pp-det-link:hover{color:#fff;background:#ffffff17;border-color:#8ea1ff66}.pp-det-link-type{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--sky);font-size:9.5px;font-weight:700}.pp-det-link-title{color:#ffffffd9;font-size:13.5px;font-weight:500;line-height:1.35}.pp-det-link-arrow{color:#fff6;margin-top:2px;font-size:12px}.pp-det-full{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sky);align-items:center;gap:6px;margin-top:6px;font-size:10.5px;font-weight:700;text-decoration:none;transition:color .15s;display:inline-flex}.pp-det-full:hover{color:#fff}@media (width<=860px){.pp-grid{grid-template-columns:1fr;gap:12px}.pp-arrow-row{grid-template-columns:1fr}.pp-det-body{grid-template-columns:1fr;gap:24px}}@media (width<=640px){.pp-detail{padding:22px 20px}}.hero--providers{padding:96px 0 88px}.hero--providers .hero-title{margin-bottom:24px}.hero--providers .hero-sub{max-width:560px;font-size:18px}.page--providers #network.section{padding-block:clamp(56px,6vw,84px)}.page--providers .partners-head{text-align:center;max-width:720px;margin:0 auto}.page--providers .partners-head.section-head{margin-bottom:0}.page--providers .partners-head .section-lede{margin-left:auto;margin-right:auto}#network,#directory,#get-in-touch{scroll-margin-top:150px}.page--providers .partners-stats{grid-template-columns:repeat(3,1fr);gap:24px;max-width:640px;margin:28px auto 0;padding:0;list-style:none;display:grid}.page--providers .pstat{text-align:center}.page--providers .pstat-num{letter-spacing:-.03em;color:var(--paper);font-size:clamp(40px,4.6vw,56px);font-weight:200;line-height:1}.page--providers .pstat-num span{color:var(--sky);font-weight:300}.page--providers .pstat-lbl{color:#ffffffb8;margin-top:12px;font-size:14px;display:block}@media (width<=620px){.page--providers .partners-stats{grid-template-columns:1fr;gap:22px}}.page--providers .partners-feature{margin-top:64px}.page--providers .partners-feature .anchor-photo{aspect-ratio:16/10}.page--providers .anchor-photo--link{transition:transform .25s;display:block}.page--providers .anchor-photo--link:hover{transform:translateY(-3px)}.directory-intro{max-width:880px;margin-bottom:32px}.directory-intro .section-lede{margin:0 0 12px;font-size:15px}.directory-intro .section-lede+.section-lede{margin-bottom:0}#directory.section{padding-top:64px}.provider-band-section{padding-block:64px}.provider-band-row{grid-template-columns:1fr auto;align-items:center;gap:32px;display:grid}.provider-band-head{margin:0}@media (width<=760px){.provider-band-row{grid-template-columns:1fr}}.cta-band-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}@media (width<=860px){.provider-video-row{grid-template-columns:1fr}.provider-video-row>div:last-child{aspect-ratio:16/9}}
