:root {
  --navy: #0b2f6b;
  --navy-dark: #071f48;
  --gold: #e8a310;
  --gold-soft: #fff6dd;
  --ink: #1d2433;
  --muted: #5b6475;
}

body {
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--ink);
  background: #fff;
}

h1, h2, h3, h4, h5 { color: var(--navy); font-weight: 700; }

/* Navbar */
.navbar { background: #fff; box-shadow: 0 2px 12px rgba(11, 47, 107, 0.08); }
.navbar-brand img { height: 52px; width: auto; }
.brand-text { font-weight: 800; color: var(--navy); letter-spacing: 0.5px; line-height: 1.1; }
.brand-text small { display: block; color: var(--gold); font-weight: 700; letter-spacing: 4px; font-size: 0.65rem; }
.nav-link { color: var(--navy) !important; font-weight: 600; }
.nav-link:hover, .nav-link.active { color: var(--gold) !important; }

/* Buttons */
.btn-gold { background: var(--gold); color: var(--navy-dark); font-weight: 700; border: 0; padding: 0.7rem 1.6rem; border-radius: 50px; }
.btn-gold:hover { background: #cf900a; color: var(--navy-dark); }
.btn-navy { background: var(--navy); color: #fff; font-weight: 700; border: 0; padding: 0.7rem 1.6rem; border-radius: 50px; }
.btn-navy:hover { background: var(--navy-dark); color: #fff; }
.btn-outline-light { border-radius: 50px; font-weight: 700; padding: 0.7rem 1.6rem; }

/* Hero */
.hero {
  background: linear-gradient(135deg, var(--navy-dark) 0%, var(--navy) 60%, #1a4a9a 100%);
  color: #fff;
  padding: 90px 0 100px;
  position: relative;
  overflow: hidden;
}
.hero::after {
  content: ""; position: absolute; right: -120px; top: -120px;
  width: 380px; height: 380px; border-radius: 50%;
  border: 40px solid rgba(232, 163, 16, 0.25);
}
.hero h1 { color: #fff; font-size: clamp(2rem, 5vw, 3.4rem); }
.hero .tagline { color: var(--gold); font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.hero p.lead { color: #dbe5fa; max-width: 560px; }

.page-header {
  background: linear-gradient(135deg, var(--navy-dark), var(--navy));
  color: #fff; padding: 60px 0; text-align: center;
}
.page-header h1 { color: #fff; }
.page-header p { color: var(--gold); margin: 0; font-weight: 600; letter-spacing: 1px; }

/* Sections */
section { padding: 70px 0; }
.section-title { text-align: center; margin-bottom: 40px; }
.section-title h2::after {
  content: ""; display: block; width: 70px; height: 4px; background: var(--gold);
  margin: 12px auto 0; border-radius: 4px;
}
.bg-soft { background: var(--gold-soft); }

/* Cards */
.card-box {
  background: #fff; border: 0; border-radius: 16px; padding: 28px 24px; height: 100%;
  box-shadow: 0 6px 24px rgba(11, 47, 107, 0.09);
  border-top: 5px solid var(--gold);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card-box:hover { transform: translateY(-5px); box-shadow: 0 12px 30px rgba(11, 47, 107, 0.15); }
.card-box .icon {
  width: 54px; height: 54px; border-radius: 50%; background: var(--navy); color: var(--gold);
  display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin-bottom: 16px;
}
.card-box ul { padding-left: 1.1rem; color: var(--muted); }
.level-badge { background: var(--gold); color: var(--navy-dark); font-weight: 700; border-radius: 50px; padding: 3px 12px; font-size: 0.75rem; }

/* Blog */
.blog-post { background: #fff; border-radius: 16px; padding: 30px; box-shadow: 0 6px 24px rgba(11, 47, 107, 0.09); margin-bottom: 30px; border-left: 6px solid var(--gold); }
.blog-post table { margin-top: 10px; }
.blog-post th { background: var(--navy); color: #fff; }
.example { background: var(--gold-soft); border-radius: 10px; padding: 10px 14px; margin: 6px 0; }

/* Contact */
.contact-info li { margin-bottom: 14px; list-style: none; }
.contact-info i { color: var(--gold); margin-right: 10px; }
.form-control:focus, .form-select:focus { border-color: var(--gold); box-shadow: 0 0 0 0.2rem rgba(232, 163, 16, 0.25); }

/* Footer */
footer { background: var(--navy-dark); color: #c9d4ee; padding: 40px 0 20px; }
footer h5 { color: var(--gold); }
footer a { color: #c9d4ee; text-decoration: none; }
footer a:hover { color: var(--gold); }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.15); margin-top: 24px; padding-top: 16px; text-align: center; font-size: 0.9rem; }

/* Floating WhatsApp button */
.wa-float {
  position: fixed; right: 20px; bottom: 20px; width: 58px; height: 58px; border-radius: 50%;
  background: #25d366; color: #fff; font-size: 30px; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25); z-index: 1000; text-decoration: none;
}
.wa-float:hover { color: #fff; transform: scale(1.07); }
