@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
  --navy: #0B1F3A;
  --navy-light: #1A3354;
  --teal: #1D9E75;
  --teal-light: #E1F5EE;
  --teal-mid: #5DCAA5;
  --cream: #FAF8F4;
  --warm-gray: #F5F3EE;
  --border: #E8E5DE;
  --text-dark: #0B1F3A;
  --text-mid: #4A5568;
  --text-muted: #8A97A8;
  --white: #FFFFFF;
  --amber: #EF9F27;
  --amber-light: #FAEEDA;
  --red: #E24B4A;
  --blue: #378ADD;
  --blue-light: #E6F1FB;
  --shadow-sm: 0 2px 8px rgba(11,31,58,0.06);
  --shadow-md: 0 8px 24px rgba(11,31,58,0.10);
  --shadow-lg: 0 20px 60px rgba(11,31,58,0.14);
  --radius: 14px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text-dark);line-height:1.6;}

/* NAV */
nav{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;padding:0 2rem;}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:68px;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-icon{width:38px;height:38px;background:var(--teal);border-radius:10px;display:flex;align-items:center;justify-content:center;}
.logo-icon svg{width:20px;height:20px;fill:white;}
.logo-text{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--navy);line-height:1.1;}
.logo-sub{font-family:'DM Sans',sans-serif;font-size:0.62rem;color:var(--text-muted);font-weight:400;letter-spacing:0.08em;text-transform:uppercase;display:block;}
.nav-links{display:flex;align-items:center;gap:1.75rem;list-style:none;}
.nav-links a{text-decoration:none;color:var(--text-mid);font-size:0.9rem;font-weight:500;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--teal);}
.nav-cta{background:var(--teal)!important;color:white!important;padding:0.5rem 1.25rem;border-radius:8px;font-size:0.88rem!important;}
.nav-cta:hover{background:#0F6E56!important;}

/* BREADCRUMB */
.breadcrumb{background:var(--white);border-bottom:1px solid var(--border);padding:0.75rem 2rem;}
.breadcrumb-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:8px;font-size:0.82rem;color:var(--text-muted);}
.breadcrumb a{color:var(--teal);text-decoration:none;}
.breadcrumb span{color:var(--text-muted);}

/* SECTIONS */
.section{padding:5rem 2rem;}
.section-inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);margin-bottom:0.75rem;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:1rem;}
.section-desc{color:var(--text-mid);font-size:1.05rem;max-width:560px;line-height:1.7;}

/* TAGS */
.tag{background:var(--warm-gray);color:var(--text-mid);font-size:0.78rem;font-weight:500;padding:4px 10px;border-radius:6px;}
.tag.insurance{background:var(--blue-light);color:#185FA5;}
.tag.lang{background:var(--amber-light);color:#92521A;}

/* BUTTONS */
.btn-primary{background:var(--teal);color:white;border:none;padding:0.8rem 1.75rem;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:0.95rem;font-weight:600;cursor:pointer;transition:background 0.2s,transform 0.1s;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.btn-primary:hover{background:#0F6E56;transform:translateY(-1px);}
.btn-secondary{background:white;color:var(--navy);border:1.5px solid var(--border);padding:0.8rem 1.75rem;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:0.95rem;font-weight:600;cursor:pointer;transition:all 0.2s;text-decoration:none;display:inline-flex;align-items:center;gap:8px;}
.btn-secondary:hover{border-color:var(--navy);}

/* PROVIDER CARD */
.provider-card{background:white;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);transition:transform 0.2s,box-shadow 0.2s;cursor:pointer;}
.provider-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.provider-card.featured{border:2px solid var(--teal);}
.featured-badge{background:var(--teal);color:white;font-size:0.72rem;font-weight:700;letter-spacing:0.07em;text-transform:uppercase;padding:6px 14px;text-align:center;}
.provider-card-body{padding:1.25rem;}
.provider-avatar{width:52px;height:52px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:white;}
.provider-name{font-weight:700;font-size:1rem;color:var(--navy);line-height:1.2;margin-bottom:2px;}
.provider-specialty{font-size:0.82rem;color:var(--text-muted);}
.stars{color:var(--amber);}
.rating-num{font-size:0.82rem;font-weight:600;color:var(--text-dark);}
.rating-count{font-size:0.78rem;color:var(--text-muted);}
.availability-dot{width:8px;height:8px;border-radius:50%;background:#22C55E;flex-shrink:0;animation:pulse-green 2s infinite;}
@keyframes pulse-green{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,0.4);}50%{opacity:0.8;box-shadow:0 0 0 4px rgba(34,197,94,0);}}

/* FORM */
.form-group{margin-bottom:1.25rem;}
.form-group label{display:block;font-size:0.82rem;font-weight:600;color:var(--text-dark);margin-bottom:6px;text-transform:uppercase;letter-spacing:0.05em;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:0.8rem 1rem;border:1.5px solid var(--border);border-radius:10px;font-family:'DM Sans',sans-serif;font-size:0.95rem;color:var(--text-dark);background:var(--warm-gray);outline:none;transition:border-color 0.2s;appearance:none;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--teal);background:white;}
.form-group textarea{resize:vertical;min-height:90px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}

/* STAR DISPLAY */
.star-bar{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.star-bar-label{font-size:0.82rem;color:var(--text-mid);width:30px;}
.star-bar-track{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden;}
.star-bar-fill{height:100%;background:var(--amber);border-radius:4px;}
.star-bar-count{font-size:0.78rem;color:var(--text-muted);width:24px;text-align:right;}

/* FOOTER */
footer{background:var(--navy);color:white;padding:4rem 2rem 2rem;}
.footer-inner{max-width:1200px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.1);margin-bottom:2rem;}
.footer-brand p{font-size:0.9rem;color:rgba(255,255,255,0.5);margin-top:1rem;line-height:1.7;max-width:280px;}
.footer-col-title{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.4);margin-bottom:1rem;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:0.6rem;}
.footer-links a{text-decoration:none;font-size:0.9rem;color:rgba(255,255,255,0.6);transition:color 0.2s;}
.footer-links a:hover{color:var(--teal-mid);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;color:rgba(255,255,255,0.35);}
.footer-disclaimer{font-size:0.78rem;color:rgba(255,255,255,0.3);margin-top:1.5rem;line-height:1.6;max-width:700px;}

/* TOAST */
.toast{display:none;position:fixed;bottom:2rem;right:2rem;background:var(--navy);color:white;padding:1rem 1.5rem;border-radius:12px;font-size:0.9rem;z-index:2000;border-left:4px solid var(--teal);}
.toast.show{display:block;animation:slideUp 0.3s ease;}
@keyframes slideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

/* RESPONSIVE */
@media(max-width:1024px){.footer-top{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){.nav-links{display:none;}.form-row{grid-template-columns:1fr;}.footer-top{grid-template-columns:1fr;}}
