/* MediRoute — Global Styles */
:root {
  --primary: #0a2540;
  --accent: #00c896;
  --accent2: #ff6b35;
  --gold: #f5c842;
  --bg: #f0f4f8;
  --card: #ffffff;
  --border: #e2e8f0;
  --text: #1e293b;
  --gray: #64748b;
  --light-bg: #f0f7f4;
  --red: #e53935;
  --green: #16a34a;
  --shadow: 0 4px 24px rgba(10,37,64,0.10);
  --shadow-lg: 0 12px 48px rgba(10,37,64,0.16);
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'DM Sans',sans-serif; color:var(--text); background:#fff; overflow-x:hidden; }

/* NAV */
nav { position:sticky; top:0; z-index:200; background:rgba(10,37,64,0.98); backdrop-filter:blur(14px); height:68px; display:flex; align-items:center; padding:0 5%; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,0.07); }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.logo-icon { width:36px; height:36px; background:var(--accent); border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:18px; }
.logo-name { font-family:'Playfair Display',serif; color:#fff; font-size:20px; font-weight:700; }
.nav-links { display:flex; gap:26px; align-items:center; }
.nav-links a { color:rgba(255,255,255,0.72); text-decoration:none; font-size:14px; font-weight:500; transition:color .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--accent); }
.nav-cta { background:var(--accent) !important; color:var(--primary) !important; padding:9px 20px; border-radius:8px; font-weight:700 !important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.hamburger span { width:22px; height:2px; background:#fff; border-radius:2px; }
.mobile-menu { position:fixed; top:68px; left:0; right:0; background:var(--primary); padding:16px 5%; display:none; flex-direction:column; z-index:199; border-top:1px solid rgba(255,255,255,0.1); }
.mobile-menu.open { display:flex; }
.mobile-menu a { color:rgba(255,255,255,.8); text-decoration:none; font-size:15px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.07); }

/* BUTTONS */
.btn-primary { background:var(--accent); color:var(--primary); padding:14px 28px; border-radius:10px; font-size:15px; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; gap:8px; border:none; cursor:pointer; font-family:'DM Sans',sans-serif; transition:all .2s; }
.btn-primary:hover { background:#00b085; transform:translateY(-1px); box-shadow:0 8px 28px rgba(0,200,150,.3); }
.btn-outline { background:transparent; color:var(--primary); padding:14px 28px; border:2px solid var(--border); border-radius:10px; font-size:15px; font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:8px; cursor:pointer; font-family:'DM Sans',sans-serif; transition:all .2s; }
.btn-outline:hover { border-color:var(--accent); color:var(--accent); }

/* SECTION */
.section-badge { display:inline-block; background:var(--light-bg); color:var(--accent); padding:4px 13px; border-radius:100px; font-size:12px; font-family:'Space Mono',monospace; letter-spacing:1px; margin-bottom:14px; font-weight:700; }
h2.section-title { font-family:'Playfair Display',serif; font-size:clamp(30px,4vw,48px); font-weight:700; color:var(--primary); line-height:1.15; margin-bottom:14px; }
.section-sub { font-size:16px; color:var(--gray); max-width:560px; line-height:1.7; margin-bottom:44px; }

/* FOOTER */
footer { background:var(--primary); color:rgba(255,255,255,.65); padding:56px 5% 36px; }
.footer-inner { max-width:1280px; margin:0 auto; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:44px; }
.footer-tagline { font-size:14px; color:rgba(255,255,255,.45); margin-top:12px; line-height:1.7; max-width:260px; }
.footer-col h4 { color:#fff; font-size:14px; font-weight:700; margin-bottom:14px; }
.footer-col a { display:block; color:rgba(255,255,255,.5); text-decoration:none; font-size:13px; margin-bottom:9px; transition:color .2s; }
.footer-col a:hover { color:var(--accent); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
.footer-bottom p { font-size:12px; }
.social-links { display:flex; gap:10px; }
.social-link { width:34px; height:34px; border-radius:8px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; color:#fff; text-decoration:none; font-size:15px; transition:background .2s; }
.social-link:hover { background:var(--accent); color:var(--primary); }
.wa-float { position:fixed; bottom:26px; right:26px; z-index:999; width:56px; height:56px; border-radius:50%; background:#25d366; display:flex; align-items:center; justify-content:center; font-size:26px; box-shadow:0 6px 28px rgba(37,211,102,.45); text-decoration:none; transition:transform .2s; }
.wa-float:hover { transform:scale(1.1); }

/* CARDS COMMON */
.card { background:var(--card); border-radius:16px; border:1px solid var(--border); }
.card-body { padding:22px; }

/* ANIM */
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
.fade-in { animation:fadeUp .5s ease both; }

/* RESPONSIVE */
@media(max-width:900px) { .footer-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:600px) { .footer-grid { grid-template-columns:1fr; } .nav-links { display:none; } .hamburger { display:flex; } }
