/* Landing-only styles; dashboard and clinic listings keep their own layouts. */
body.hero-page { --landing-muted:#64748b; --landing-accent:#4f46e5; }
[data-theme="dark"] body.hero-page { --landing-muted:#a2adc0; --landing-accent:#ada8ff; }
.hero-page .hero-premium-heading,.hero-page .hero-heading-line { font-weight:600; letter-spacing:-.045em; line-height:1.12; }
.hero-page .hero-premium-desc { max-width:490px; line-height:1.8; font-size:1rem; color:#e2e8f0; }
.hero-page .hero-premium-actions { gap:12px; flex-wrap:wrap; }
.hero-page .hero-premium-actions a { border-radius:12px; font-size:.85rem; }
.hero-page .hero-orb,.hero-page .paw-particles { display:none; }
.hero-page .marquee-strip { border-bottom:1px solid var(--border); }
.hero-page .landing-clinics { background:transparent; padding:76px 0 64px; scroll-margin-top:90px; }
.landing-clinics .container { max-width:1200px; }
.landing-section-heading { display:flex; flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:32px; text-align:left; }
.landing-eyebrow { display:block; font-size:.68rem; letter-spacing:.14em; font-weight:600; color:var(--landing-accent); margin-bottom:14px; }
.landing-section-heading h2 { font-size:clamp(1.8rem,3.3vw,2.65rem); line-height:1.16; letter-spacing:-.04em; font-weight:600; color:var(--text); }
.landing-section-heading>p { max-width:none; font-size:1.05rem; line-height:1.65; color:var(--text); padding-bottom:3px; }
.featured-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.featured-clinic { min-width:0; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--border); background:var(--card); border-radius:18px; box-shadow:0 4px 16px #00000004; transition:transform .2s,box-shadow .2s; }
.featured-clinic:hover { transform:translateY(-4px); box-shadow:0 12px 28px #00000012; }
.featured-cover { display:block; position:relative; height:184px; overflow:hidden; background:#ecebfa; }
.featured-cover>img { object-position:center; transition:transform .3s; }
.featured-clinic:hover .featured-cover>img { transform:scale(1.035); }
/* Tone down the existing inline placeholder artwork on this page only. */
.featured-cover>div { background:linear-gradient(135deg,#e8e6fa,#e4eff8) !important; filter:none !important; }
.featured-cover>div>i { color:#8078ba !important; font-size:2.4rem !important; }
.featured-cover>div>span { display:none; }
[data-theme="dark"] .featured-cover>div { background:linear-gradient(135deg,#292b46,#243445) !important; }
[data-theme="dark"] .featured-cover>div>i { color:#9296c5 !important; }
.featured-type { position:absolute; left:14px; bottom:14px; display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid #ffffff25; border-radius:8px; color:#fff; background:#161b30d9; font-size:.65rem; font-weight:500; }

[data-theme="dark"] .featured-type {
  background: rgba(10, 10, 10, .92);
  border-color: rgba(255,255,255,.2);
}
.featured-body { display:flex; flex-direction:column; flex:1; padding:20px; }
.featured-body h3 { font-size:1.05rem; line-height:1.5; font-weight:600; margin:0 0 6px; overflow-wrap:anywhere; }
.hero-page .featured-body h3 a { color:var(--text); text-decoration:none; }
.hero-page .featured-body h3 a:hover { color:var(--landing-accent); }
.featured-location { display:flex; align-items:center; gap:7px; color:var(--landing-muted); font-size:.77rem; margin-bottom:16px; overflow-wrap:anywhere; }
.featured-location i { font-size:.72rem; }
.featured-body .clinic-tags { gap:6px; margin:0 0 20px; }
.featured-body .clinic-tag { color:var(--landing-muted); background:var(--bg); font-size:.65rem; padding:4px 9px; border-radius:7px; overflow-wrap:anywhere; max-width:100%; }
.featured-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; border-top:1px solid var(--border); margin-top:auto; padding-top:16px; }
.featured-score { display:inline-flex; align-items:center; gap:5px; font-size:.78rem; }
.featured-score>i { color:#e5a52a; }
.featured-score>span { color:var(--landing-muted); font-size:.65rem; }
.featured-no-reviews { color:var(--landing-muted); font-size:.72rem; }
.hero-page .featured-view { color:var(--landing-accent); font-size:.73rem; font-weight:600; white-space:nowrap; }
.featured-view i { margin-left:5px; font-size:.65rem; }
.landing-browse { text-align:center; margin-top:32px; }
.landing-browse .btn { padding:12px 22px; border-radius:10px; font-size:.83rem; }
@media(max-width:950px) { .featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } }
@media(max-width:600px) { .hero-page .landing-clinics { padding:44px 0; } .landing-section-heading { flex-direction:column; align-items:flex-start; gap:16px; margin-bottom:24px; } .landing-section-heading>p { font-size:.82rem; max-width:100%; } .featured-grid { grid-template-columns:minmax(0,1fr); } .featured-cover { height:190px; } .hero-page .hero-premium-desc { font-size:.9rem; } }
@media(prefers-reduced-motion:reduce) { .featured-clinic,.featured-cover>img { transition:none; } .hero-page .marquee-track { animation:none; } }

/* Center the featured section heading on desktop and mobile. */
.landing-clinics .landing-section-heading { align-items:center; text-align:center; }

/* Hero: a clear reading column with room for the photo. */
.hero-page .landing-hero { min-height:650px; min-height:min(780px,100svh); max-height:none; overflow:hidden; }
.hero-page .landing-hero .hero-premium-inner { max-width:1200px; padding:150px 24px 90px; min-height:650px; max-height:none; justify-content:center; }
.hero-page .landing-hero .hero-left { max-width:610px; opacity:1; transform:none; animation:none; }
.hero-page .landing-hero .hero-bg-img { animation:none; filter:none; object-position:center center; }
.hero-page .landing-hero .hero-bg-overlay { background:linear-gradient(90deg,rgba(7,18,32,.91) 0%,rgba(7,18,32,.77) 31%,rgba(7,18,32,.32) 62%,rgba(7,18,32,.12) 100%) !important; }

[data-theme="dark"] .hero-page .landing-hero .hero-bg-overlay {
  background: linear-gradient(90deg,rgba(7,18,32,.95) 0%,rgba(7,18,32,.85) 31%,rgba(7,18,32,.45) 62%,rgba(7,18,32,.18) 100%) !important;
}
.landing-hero-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#c7f5ec; font-size:.73rem; font-weight:500; margin-bottom:22px; padding:7px 12px; border-radius:30px; border:1px solid #ffffff26; background:#ffffff08; }
.landing-hero-eyebrow i { color:#5eead4; }
.hero-page .landing-hero .landing-hero-title { font-size:clamp(2.7rem,4.8vw,4.3rem); font-weight:600; line-height:1.08; letter-spacing:-.045em; margin:0 0 24px; color:#fff !important; text-shadow:none; }
.hero-page .landing-hero .landing-hero-title>span { color:#5eead4; }
.hero-page .landing-hero .hero-premium-desc { max-width:480px; font-size:.98rem; line-height:1.8; color:#d3dce6 !important; margin-bottom:30px; text-shadow:none; }
.hero-page .landing-hero .hero-premium-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:0; }
.hero-page .landing-hero .hero-premium-actions a { min-height:48px; padding:13px 20px; border-radius:10px; font-size:.8rem; font-weight:600; justify-content:center; box-shadow:none; line-height:1.4; }
.hero-page .landing-hero .btn-hero-primary { background:#2dd4bf; }
.hero-page .landing-hero .btn-hero-primary:hover { background:#5eead4; transform:translateY(-2px); }
.hero-page .landing-hero .btn-hero-secondary { background:#ffffff08; border:1px solid #ffffff40; backdrop-filter:none; }
.hero-page .landing-hero .btn-hero-secondary:hover { background:#ffffff18; }
.landing-hero-services { display:flex; flex-wrap:wrap; gap:12px 22px; color:#c1ccd9; margin-top:30px; padding-top:20px; border-top:1px solid #ffffff20; width:fit-content; font-size:.69rem; }
.landing-hero-services span { display:flex; align-items:center; gap:7px; }
.landing-hero-services i { color:#7dd3c8; }
@media(max-width:900px) { .hero-page .landing-hero .hero-premium-inner { padding-top:130px; padding-bottom:64px; } .hero-page .landing-hero .hero-left { max-width:540px; } }
@media(max-width:768px) { .hero-page .landing-hero { min-height:740px; max-height:none; } .hero-page .landing-hero .hero-premium-inner { min-height:740px; max-height:none; padding:260px 24px 42px; justify-content:flex-end; } .hero-page .landing-hero .hero-bg-img { object-position:center 20%; } .hero-page .landing-hero .hero-bg-overlay { background:linear-gradient(180deg,rgba(7,18,32,.3),rgba(7,18,32,.28) 20%,rgba(7,18,32,.85) 48%,#071220 100%) !important; } .hero-page .landing-hero .landing-hero-title { font-size:clamp(2.45rem,7vw,3.5rem); } .hero-page .landing-hero .hero-premium-desc { font-size:.88rem; margin-bottom:24px; } .landing-hero-eyebrow { margin-bottom:16px; } .landing-hero-services { margin-top:24px; } }
@media(max-width:480px) { .hero-page .landing-hero .hero-premium-inner { padding-left:20px; padding-right:20px; } .hero-page .landing-hero .hero-premium-actions { flex-direction:column; align-items:stretch; } .hero-page .landing-hero .hero-premium-actions a { width:100%; white-space:normal; } .hero-desktop-break { display:none; } .landing-hero-services { gap:10px 16px; font-size:.65rem; } }
@media(prefers-reduced-motion:reduce) { .hero-page .landing-hero .hero-premium-actions a { transition:none; } }
