*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;color:#111827;background:#f9fafb;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1280px;margin:0 auto;padding:0 1rem;}
@media(min-width:640px){.container{padding:0 1.5rem;}}
@media(min-width:1024px){.container{padding:0 2rem;}}

/* Navbar */
.navbar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #f3f4f6;box-shadow:0 1px 2px rgba(0,0,0,.04);}
.navbar-inner{display:flex;justify-content:space-between;align-items:center;height:4rem;}
.brand{font-size:1.5rem;font-weight:700;color:#2563eb;}
.brand span{color:#10b981;}
.nav-links{display:none;gap:2rem;font-size:0.9rem;font-weight:500;color:#4b5563;}
@media(min-width:768px){.nav-links{display:flex;}}
.nav-links a:hover{color:#2563eb;}
.nav-cta{background:#2563eb;color:#fff;padding:0.5rem 1rem;border-radius:0.5rem;font-size:0.9rem;font-weight:600;transition:background .2s;}
.nav-cta:hover{background:#1d4ed8;}

/* Hero */
.hero{background:#fff;padding:4rem 0 6rem;overflow:hidden;}
.hero-grid{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;}
@media(min-width:1024px){.hero-grid{grid-template-columns:1fr 1fr;gap:4rem;}}
.hero h1{font-size:2.25rem;font-weight:800;color:#111827;letter-spacing:-0.02em;line-height:1.2;}
@media(min-width:768px){.hero h1{font-size:3rem;}}
@media(min-width:1280px){.hero h1{font-size:3.75rem;}}
.hero h1 .accent{color:#2563eb;}
.hero p.lead{margin-top:1rem;color:#6b7280;font-size:1.1rem;}
@media(min-width:1280px){.hero p.lead{font-size:1.25rem;}}
.hero-ctas{margin-top:2rem;display:flex;flex-wrap:wrap;gap:0.75rem;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:0.9rem 2rem;border-radius:0.5rem;font-weight:600;font-size:1rem;border:none;transition:background .2s;}
.btn-primary{background:#2563eb;color:#fff;}
.btn-primary:hover{background:#1d4ed8;}
.btn-light{background:#dbeafe;color:#1d4ed8;}
.btn-light:hover{background:#bfdbfe;}
.hero-img{border-radius:1rem;overflow:hidden;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);}
.hero-img img{width:100%;height:auto;object-fit:cover;}

/* Section common */
.section{padding:5rem 0;}
.section-title{text-align:center;font-size:1.875rem;font-weight:800;color:#111827;}
@media(min-width:640px){.section-title{font-size:2.25rem;}}
.section-subtitle{margin-top:1rem;text-align:center;max-width:42rem;margin-left:auto;margin-right:auto;color:#6b7280;font-size:1.25rem;}
.section-head{text-align:center;margin-bottom:4rem;}

/* Addiction cards */
.bg-gray{background:#f9fafb;}
.card-grid{display:grid;grid-template-columns:1fr;gap:2rem;}
@media(min-width:768px){.card-grid{grid-template-columns:repeat(3,1fr);}}
.card{background:#fff;border-radius:0.75rem;box-shadow:0 1px 2px rgba(0,0,0,.05);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s;}
.card:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1);}
.card img{height:12rem;width:100%;object-fit:cover;}
.card-body{padding:1.5rem;flex-grow:1;}
.card-cat{font-size:0.75rem;font-weight:600;color:#2563eb;text-transform:uppercase;letter-spacing:0.05em;}
.card h3{margin-top:0.5rem;font-size:1.25rem;font-weight:700;color:#111827;}
.card p{margin-top:0.75rem;color:#4b5563;}
.card-footer{padding:1rem 1.5rem;background:#f9fafb;border-top:1px solid #f3f4f6;}
.card-footer a{color:#2563eb;font-weight:500;}

.cta-banner{margin-top:4rem;background:#2563eb;border-radius:1rem;padding:2rem 2.5rem;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2rem;}
@media(min-width:768px){.cta-banner{flex-direction:row;}}
.cta-banner h3{font-size:1.5rem;font-weight:700;}
.cta-banner p{margin-top:0.5rem;color:#bfdbfe;}
.cta-banner button{background:#fff;color:#2563eb;padding:0.75rem 2rem;border-radius:999px;font-weight:700;border:none;white-space:nowrap;}

/* General Health */
.health-grid{display:grid;grid-template-columns:1fr;gap:4rem;align-items:center;}
@media(min-width:1024px){.health-grid{grid-template-columns:1fr 1fr;}}
.health-list{display:flex;flex-direction:column;gap:2rem;margin-top:1.5rem;}
.health-list h3{font-size:1.25rem;font-weight:700;color:#059669;margin-bottom:0.5rem;}
.health-list p{color:#4b5563;}
.health-imgs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.health-imgs img{border-radius:1rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1);}
.health-imgs img:first-child{margin-top:2rem;}

/* Directory */
.directory-search{background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid #e5e7eb;max-width:56rem;margin:0 auto 4rem;display:flex;flex-direction:column;gap:1rem;}
@media(min-width:768px){.directory-search{flex-direction:row;}}
.directory-search input{flex-grow:1;padding:1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:0.75rem;font-size:1rem;font-family:inherit;}
.directory-search button{background:#2563eb;color:#fff;padding:1rem 2rem;border-radius:0.75rem;font-weight:700;border:none;font-family:inherit;cursor:pointer;}
.specialties-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
@media(min-width:768px){.specialties-grid{grid-template-columns:repeat(4,1fr);}}
.specialty{background:#fff;padding:1rem;border-radius:0.5rem;box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid #f3f4f6;text-align:center;font-size:0.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:-0.01em;}

/* Footer */
.footer{background:#111827;color:#d1d5db;padding:3rem 0;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:3rem;margin-bottom:3rem;}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr);}}
.footer-grid .brand{display:block;color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;}
.footer-grid .brand span{color:#10b981;}
.footer-grid p{color:#9ca3af;margin-bottom:1.5rem;}
.footer-badge{display:inline-block;background:#1f2937;padding:0.25rem 0.75rem;border-radius:0.25rem;font-size:0.75rem;color:#9ca3af;border:1px solid #374151;font-style:italic;}
.footer-grid h4{color:#fff;font-weight:700;margin-bottom:1rem;}
.footer-grid ul{list-style:none;display:flex;flex-direction:column;gap:0.5rem;font-size:0.9rem;}
.footer-grid ul a:hover{color:#60a5fa;}
.footer-bottom{border-top:1px solid #1f2937;padding-top:2rem;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:space-between;font-size:0.75rem;}
@media(min-width:768px){.footer-bottom{flex-direction:row;}}
.footer-bottom p:last-child{color:#6b7280;}

/* Inner pages */
.page{background:#fff;padding:4rem 0;}
.page .container{max-width:56rem;}
.page h1{font-size:2.25rem;font-weight:800;color:#111827;margin-bottom:2rem;}
.prose h2{font-size:1.5rem;font-weight:700;color:#2563eb;margin:2.5rem 0 1rem;}
.prose h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:2rem 0 0.75rem;}
.prose p{margin-bottom:1rem;color:#4b5563;line-height:1.75;}
.prose p.lead{font-size:1.25rem;font-style:italic;color:#6b7280;margin-bottom:2.5rem;}
.prose ul{list-style:disc;padding-left:1.5rem;color:#4b5563;line-height:1.75;margin-bottom:1.5rem;}
.prose ul li{margin-bottom:0.5rem;}
.prose-cards{display:grid;grid-template-columns:1fr;gap:1.5rem;margin:2.5rem 0;}
@media(min-width:768px){.prose-cards{grid-template-columns:1fr 1fr;}}
.prose-card{border:1px solid #e5e7eb;padding:1.5rem;border-radius:0.75rem;}
.prose-card h3{margin-top:0;font-size:1.1rem;font-weight:700;color:#111827;margin-bottom:0.5rem;}
.prose-card p{font-size:0.9rem;margin-bottom:0;}
