*{box-sizing:border-box;margin:0;padding:0}
::selection{background:rgba(107,33,168,.2)}
body{font-family:'DM Sans',sans-serif;color:#0f172a;background:#f8fafc}
input:focus,textarea:focus{border-color:#6b21a8!important;box-shadow:0 0 0 3px rgba(107,33,168,.1)!important;outline:none}

.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:8px 0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.nav-link{font-size:14px;font-weight:500;color:#475569;cursor:pointer;text-decoration:none;letter-spacing:.02em}
.nav-links{display:flex;gap:32px}
.logo-img{height:17px;width:auto;object-fit:contain}
.cart-btn{background:#e85d04;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}

.hero{position:relative;background:linear-gradient(135deg,#581c87 0%,#6b21a8 40%,#4a1275 100%);padding:140px 24px 80px;overflow:hidden}
.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 40%,rgba(232,93,4,.07) 0%,transparent 60%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.04) 0%,transparent 50%)}
.hero-content{position:relative;max-width:1200px;margin:0 auto;text-align:center}
.hero-eyebrow{font-size:12px;font-weight:600;letter-spacing:.2em;color:#fb923c;margin-bottom:20px}
.hero-title{font-size:clamp(32px,5vw,56px);font-weight:700;color:#fff;line-height:1.15;margin-bottom:20px;letter-spacing:-.02em}
.hero-accent{color:#fb923c}
.hero-sub{font-size:clamp(15px,2vw,18px);color:#c4b5fd;max-width:640px;margin:0 auto 36px;line-height:1.6}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-primary{background:#e85d04;color:#fff;border:none;padding:14px 32px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}
.hero-secondary{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);padding:14px 32px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;font-family:inherit}
.hero-stats{display:flex;justify-content:center;gap:60px;margin-top:60px;position:relative}
.stat-num{font-size:32px;font-weight:700;color:#fff}
.stat-label{font-size:13px;color:#a78bfa;margin-top:4px;letter-spacing:.05em;text-transform:uppercase}

.section{max-width:1200px;margin:0 auto;padding:80px 24px 40px}
.section-title{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px;color:#0f172a}
.section-sub{font-size:15px;color:#64748b;margin-bottom:32px}

.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:32px}
.how-card{background:#fff;border-radius:12px;padding:28px 24px;box-shadow:0 1px 3px rgba(0,0,0,.05);text-align:center}
.how-step{width:40px;height:40px;border-radius:50%;background:rgba(107,33,168,.07);color:#6b21a8;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.how-title{font-size:16px;font-weight:700;color:#0f172a;margin-bottom:8px}
.how-desc{font-size:14px;color:#64748b;line-height:1.5}

.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cat-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px;background:#fff;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left;box-shadow:0 1px 3px rgba(0,0,0,.04);font-family:inherit}
.cat-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}
.cat-icon{font-size:24px}
.cat-name{font-size:14px;font-weight:600;color:#0f172a}
.cat-count{font-size:12px;color:#94a3b8}

.prov-section{max-width:1200px;margin:0 auto;padding:40px 24px 80px}
.prov-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.prov-count{font-size:14px;color:#64748b}
.prov-controls{display:flex;gap:12px;align-items:center}
.search-input{padding:10px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;width:240px;background:#fff;color:#0f172a;font-family:inherit}
.clear-filter{background:none;border:1px solid #e2e8f0;padding:10px 16px;border-radius:8px;font-size:13px;color:#64748b;cursor:pointer;font-family:inherit}
.prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.prov-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#fff;border:2px solid #f1f5f9;border-radius:10px;cursor:pointer;transition:all .15s ease;text-align:left;font-family:inherit}
.prov-card:hover{border-color:#e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.prov-card.selected{border-color:#6b21a8;background:#faf5ff}
.prov-name{font-size:14px;font-weight:600;color:#0f172a;margin-bottom:4px}
.prov-tags{display:flex;flex-wrap:wrap;gap:4px}
.prov-tag{font-size:10px;font-weight:500;padding:2px 7px;border-radius:4px}
.prov-check{width:28px;height:28px;border-radius:50%;border:2px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#94a3b8;flex-shrink:0;margin-left:8px;transition:all .15s ease}
.prov-card.selected .prov-check{background:#6b21a8;border-color:#6b21a8;color:#fff;font-weight:700}
.no-results{text-align:center;padding:40px;color:#94a3b8;font-size:15px}

.floating-bar{position:fixed;bottom:24px;left:24px;right:24px;z-index:90}
.floating-inner{max-width:700px;margin:0 auto;background:#581c87;border-radius:14px;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 20px 40px rgba(88,28,135,.35)}
.floating-text{color:#fff;font-size:14px}
.floating-btns{display:flex;gap:10px}
.floating-clear{background:transparent;border:1px solid rgba(255,255,255,.2);color:#c4b5fd;padding:8px 16px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit}
.floating-submit{background:#e85d04;border:none;color:#fff;padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}

.form-section{background:#fff;padding:80px 24px;border-top:1px solid #e2e8f0}
.form-container{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:48px}
.form-title{font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px;color:#0f172a}
.form-desc{font-size:15px;color:#64748b;line-height:1.6;margin-bottom:28px}
.form-selected-header{font-size:13px;font-weight:600;color:#0f172a;margin-bottom:10px}
.form-chips{display:flex;flex-wrap:wrap;gap:6px}
.form-chip{display:inline-flex;align-items:center;gap:6px;background:#faf5ff;border:1px solid #6b21a8;color:#6b21a8;font-size:12px;font-weight:500;padding:5px 10px;border-radius:6px}
.form-chip-x{cursor:pointer;font-size:11px;opacity:.7}
.form-no-sel{font-size:14px;color:#94a3b8}
.form-link{color:#6b21a8;cursor:pointer;text-decoration:underline}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-field-full{grid-column:1/-1}
.form-label{font-size:12px;font-weight:600;color:#475569;margin-bottom:5px;display:block}
.form-input{width:100%;padding:11px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#f8fafc;color:#0f172a;font-family:inherit}
.form-textarea{width:100%;padding:11px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;background:#f8fafc;color:#0f172a;font-family:inherit;resize:vertical}
.submit-btn{width:100%;padding:14px;background:#e85d04;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;margin-top:20px;font-family:inherit}
.submit-btn:disabled{opacity:.5;cursor:not-allowed}
.form-disclaimer{font-size:12px;color:#94a3b8;margin-top:12px;text-align:center}

footer{background:#581c87;padding:60px 24px 0}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;gap:60px;padding-bottom:40px;flex-wrap:wrap}
.footer-left{max-width:360px}
.footer-text{font-size:14px;color:#a78bfa;line-height:1.6;margin-top:16px}
.footer-label{font-size:12px;font-weight:600;color:#a78bfa;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
.footer-link{display:block;font-size:14px;color:#c4b5fd;margin-bottom:8px;cursor:pointer;text-decoration:none}
.footer-bar{border-top:1px solid rgba(255,255,255,.1);padding:20px 0}
.footer-copy{font-size:13px;color:#a78bfa;text-align:center}

.thank-you-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#581c87,#6b21a8);padding:24px}
.thank-you-card{background:#fff;border-radius:16px;padding:48px 40px;max-width:520px;text-align:center}
.checkmark{width:60px;height:60px;border-radius:50%;background:#e85d04;color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}
.thank-you-title{font-size:24px;font-weight:700;margin-bottom:12px;color:#0f172a}
.thank-you-text{font-size:15px;color:#475569;line-height:1.6;margin-bottom:16px}
.selected-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:20px}
.selected-chip{background:#faf5ff;border:1px solid #6b21a8;color:#6b21a8;font-size:12px;padding:4px 10px;border-radius:6px;font-weight:500}
.thank-you-subtext{font-size:14px;color:#94a3b8;margin-bottom:24px;line-height:1.6}
.reset-btn{background:#6b21a8;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}

.hidden{display:none}
@media(max-width:768px){
  .hero{padding:100px 16px 50px}
  .hero-title{font-size:28px}
  .hero-sub{font-size:14px}
  .hero-stats{gap:24px;flex-wrap:wrap;margin-top:36px}
  .stat-num{font-size:24px}
  .hero-btns{flex-direction:column;align-items:center}
  .hero-btns button{width:100%;max-width:280px}
  .nav-inner{padding:0 16px}
  .nav-links{display:none}
  .section{padding:50px 16px 24px}
  .how-grid{grid-template-columns:1fr 1fr}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .prov-section{padding:24px 16px 60px}
  .prov-header{flex-direction:column;align-items:flex-start}
  .search-input{width:100%}
  .prov-grid{grid-template-columns:1fr}
  .prov-controls{width:100%}
  .form-container{grid-template-columns:1fr;gap:24px;padding:40px 16px}
  .form-grid{grid-template-columns:1fr}
  .floating-inner{flex-direction:column;gap:10px;text-align:center;padding:12px 16px}
  .footer-inner{flex-direction:column;gap:32px}
  .thank-you-card{padding:32px 20px}
}
@media(max-width:480px){
  .hero-title{font-size:24px}
  .cat-grid{grid-template-columns:1fr}
  .how-grid{grid-template-columns:1fr}
}
.mobile-popup-overlay{display:none}
@media(max-width:768px){
  .provider-popup{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;border-radius:16px 16px 0 0!important;margin-top:0!important;max-height:70vh!important;overflow-y:auto!important;z-index:200!important}
  .mobile-popup-overlay{display:block;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.4);z-index:199}
}
