.provider-hub { padding-bottom:56px; }
.provider-hub > .lead { max-width:780px; margin-bottom:32px; }
.provider-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.provider-card { border:1px solid var(--line-strong); border-radius:var(--radius); padding:24px; display:flex; flex-direction:column; min-width:0; }
.provider-card h2 { font-size:1.15rem; margin:0; overflow-wrap:anywhere; }
.provider-card .flex-between { align-items:start; gap:8px; flex-wrap:wrap; }
.provider-card p { color:var(--text-2); font-size:.9rem; }
.provider-card p.provider-tagline { font-weight:600; color:var(--text-1); margin:18px 0 8px; }
.provider-card .btn { margin-top:auto; align-self:start; }
.provider-card[data-available=false] { background:var(--bg-2); }
.provider-card[data-available=false] h2 a { color:var(--text-3); }
.provider-compare { margin:32px 0 0; padding:24px 0; border-top:1px solid var(--line-strong); }
.provider-hero { padding:28px 0 22px; }
.provider-hero h1 { margin:12px 0; font-size:clamp(1.7rem,3vw,2.4rem); }
.provider-hero .lead { max-width:880px; font-size:1rem; }
.provider-docs { display:flex; flex-wrap:wrap; gap:14px; font-size:.85rem; }
.provider-notice { padding:12px 16px; background:var(--bg-2); border:1px solid var(--line-strong); margin:12px 0; }
.provider-controls h2 { font-size:.95rem; }
.provider-controls .field:last-of-type { margin-bottom:12px; }
@media(max-width:1050px) { .provider-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .provider-grid { grid-template-columns:1fr; } .provider-card { padding:20px; } }

.provider-switcher { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:20px 0; }
.provider-switcher strong { margin-right:8px; }

.model-picker { position:relative; margin:0 0 20px; }
.model-picker summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:14px; border:1px solid var(--line-strong); border-radius:var(--radius-lg); cursor:pointer; list-style:none; }
.model-picker summary .hint { flex-basis:100%; }
.model-picker summary strong { flex:1; overflow-wrap:anywhere; }
.model-picker-list { position:absolute; z-index:40; top:100%; left:0; right:0; max-height:min(440px,60vh); overflow-y:auto; overscroll-behavior:contain; background:var(--bg); border:1px solid var(--line-strong); border-radius:var(--radius-lg); box-shadow:0 10px 35px #0002; padding:8px; }
.model-picker-heading { display:block; font-size:.75rem; font-weight:700; color:var(--text-2); padding:14px 10px 6px; }
.model-picker-option { display:flex; flex-direction:column; gap:5px; padding:12px 10px; border-radius:var(--radius); color:var(--text-1); }
.model-picker-option small { color:var(--text-2); font-size:.76rem; }
.model-picker-option:hover,.model-picker-option[aria-current=true] { background:var(--accent-soft); color:var(--action); box-shadow:inset 3px 0 var(--action); }
.model-picker-option.is-disabled { color:var(--text-3); background:var(--bg-2); cursor:not-allowed; }

.provider-hero { padding:24px 0 16px; border-bottom:1px solid var(--line-strong); margin-bottom:8px; }
.provider-hero h1 { font-size:clamp(1.5rem,2.6vw,2rem); margin:8px 0; }
.provider-hero .lead { margin-bottom:8px; }
.provider-hero > p { margin-bottom:8px; }
.provider-notice { background:#fff5eb; border-color:#ddbb91; color:#74451d; }
.model-picker summary { background:var(--bg-2); border-color:var(--line-strong); }
.model-picker[open] summary { border-color:var(--action); background:var(--accent-soft); }
.model-picker-heading { color:var(--action); border-bottom:1px solid var(--line); }
.model-picker-option:focus-visible { outline-offset:-3px; }
