/* ================================================================
   IHDRMS — Modern Tech Design  (PAGASA brand: Blue · Gold · Black)
   ================================================================ */

/* ── Design Tokens ───────────────────────────────────────────── */
:root {
  --black:        #09090f;
  --dark:         #10121a;
  --dark-card:    #181c27;
  --dark-border:  rgba(255,255,255,0.07);
  --blue:         #1d4ed8;
  --blue-bright:  #3b82f6;
  --blue-glow:    rgba(59,130,246,0.22);
  --gold:         #f59e0b;
  --gold-dark:    #d97706;
  --white:        #ffffff;
  --off-white:    #f1f5f9;
  --muted:        #94a3b8;
  --text-dark:    #0f172a;
  --text-mid:     #475569;
  --border-light: #e2e8f0;
  --shadow:       0 4px 24px rgba(0,0,0,0.10);
  --shadow-blue:  0 0 28px rgba(59,130,246,0.22);
}

/* ── Global ──────────────────────────────────────────────────── */
html { scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; }

/* Only the homepage gets the full dark treatment */
body.is-home-page .public-page { background: var(--black); }

/* Fix: sticky navbar means no top margin needed on main content */
.public-main-content { margin-top: 0 !important; }

/* ================================================================
   NAVBAR — dark, blue active underline, gold LOGIN
   ================================================================ */
.public-navbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 1050 !important;
  background: var(--black) !important;
  border-bottom: 1px solid var(--dark-border) !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.public-navbar .container {
  min-height: 60px !important;
  display: flex !important;
  align-items: center !important;
}

.navbar-brand-logos {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.navbar-brand-logos img {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(255,255,255,0.14) !important;
}
.navbar-brand-logos div,
.navbar-brand-logos span {
  color: var(--white) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  letter-spacing: .4px !important;
}

.public-navbar .nav-link {
  color: rgba(255,255,255,0.55) !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .6px !important;
  text-transform: uppercase !important;
  padding: 20px 12px !important;
  position: relative !important;
  transition: color .18s !important;
}
.public-navbar .nav-link::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 12px !important; right: 12px !important;
  height: 2px !important;
  background: var(--blue-bright) !important;
  transform: scaleX(0) !important;
  transition: transform .2s ease !important;
}
.public-navbar .nav-link:hover,
.public-navbar .nav-link.active { color: var(--white) !important; }
.public-navbar .nav-link:hover::after,
.public-navbar .nav-link.active::after { transform: scaleX(1) !important; }

.btn-login {
  background: var(--gold) !important;
  color: var(--black) !important;
  border: none !important;
  padding: 9px 22px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  font-size: .75rem !important;
  letter-spacing: .8px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background .18s !important;
}
.btn-login i { color: var(--black) !important; }
.btn-login:hover {
  background: var(--blue-bright) !important;
  color: var(--white) !important;
}
.btn-login:hover i { color: var(--white) !important; }

/* ================================================================
   HERO — dark, dot-grid bg, blue glow
   ================================================================ */
section.hero {
  background: var(--black) !important;
  background-image:
    radial-gradient(ellipse 60% 50% at 65% 50%, rgba(29,78,216,0.14) 0%, transparent 70%),
    radial-gradient(rgba(255,255,255,0.035) 1px, transparent 1px) !important;
  background-size: auto, 26px 26px !important;
  min-height: 72vh !important;
  padding: 72px 0 60px !important;
  display: flex !important;
  align-items: center !important;
  clip-path: none !important;
  overflow: visible !important;
  position: relative !important;
}
section.hero::before,
section.hero::after { display: none !important; }
.hero-gradient-overlay { display: none !important; }

/* DOST-PAGASA eyebrow label */
.hero-badge {
  background: none !important;
  border: none !important;
  color: var(--muted) !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  animation: none !important;
}
.hero-badge::before {
  content: '' !important;
  width: 24px !important;
  height: 1.5px !important;
  background: var(--blue-bright) !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

/* Massive heading */
section.hero h1 {
  color: var(--white) !important;
  font-size: clamp(3rem, 6vw, 5.5rem) !important;
  font-weight: 900 !important;
  line-height: 1.0 !important;
  letter-spacing: -2.5px !important;
  margin-bottom: 28px !important;
  animation: none !important;
  text-transform: uppercase !important;
}

/* "HMDAS" — electric blue */
section.hero h1 > span:first-child,
section.hero h1 span.text-primary,
section.hero h1 span.text-info {
  color: var(--blue-bright) !important;
}

section.hero > .container > .row > .col-lg-7 > p {
  color: var(--muted) !important;
  font-size: .975rem !important;
  line-height: 1.8 !important;
  max-width: 460px !important;
  margin-bottom: 40px !important;
  animation: none !important;
}
section.hero .d-flex.gap-3 { animation: none !important; }

/* Hero CTA — primary: gold fill */
.btn-hero-primary {
  background: var(--gold) !important;
  color: var(--black) !important;
  border: none !important;
  padding: 15px 36px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  font-size: .8rem !important;
  letter-spacing: .9px !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  transition: background .18s, box-shadow .18s !important;
  box-shadow: 0 0 24px rgba(245,158,11,0.35) !important;
}
.btn-hero-primary i { color: var(--black) !important; }
.btn-hero-primary:hover {
  background: var(--gold-dark) !important;
  color: var(--black) !important;
  box-shadow: 0 0 36px rgba(245,158,11,0.5) !important;
  transform: none !important;
}

/* Hero CTA — secondary: ghost */
.btn-hero-secondary {
  background: transparent !important;
  color: rgba(255,255,255,0.7) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  padding: 14px 34px !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  font-size: .8rem !important;
  letter-spacing: .7px !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  transition: border-color .18s, color .18s, background .18s !important;
}
.btn-hero-secondary:hover {
  border-color: var(--blue-bright) !important;
  color: var(--white) !important;
  background: rgba(59,130,246,0.08) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Logos — glowing rings */
.floating-logos {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  animation: none !important;
}
.floating-logos::before { display: none !important; }

.floating-logos img {
  width: 130px !important;
  height: 130px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(59,130,246,0.28) !important;
  background: var(--dark-card) !important;
  padding: 14px !important;
  box-shadow: 0 0 32px rgba(59,130,246,0.16) !important;
  object-fit: contain !important;
  margin-right: 0 !important;
  z-index: auto !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
}
.floating-logos img:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 8px 40px rgba(59,130,246,0.32) !important;
}

/* ================================================================
   ADVISORY TICKER — marquee strip below navbar
   ================================================================ */

/* Hide the original advisory section in the page body */
.public-main-content > div > .container:has(.advisory-banner) {
  display: none !important;
}

/* Ticker container */
.advisory-ticker {
  position: sticky !important;
  top: 60px !important;
  z-index: 1040 !important;
  display: flex !important;
  align-items: stretch !important;
  height: 34px !important;
  background: var(--dark) !important;
  border-bottom: 1px solid rgba(59,130,246,0.18) !important;
  overflow: hidden !important;
  transition: max-height .3s ease, opacity .3s ease !important;
  max-height: 34px !important;
}

/* Gold "ADVISORY" label on the left */
.ticker-label {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 0 16px !important;
  background: var(--gold) !important;
  color: var(--black) !important;
  font-size: .58rem !important;
  font-weight: 900 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  border-right: 2px solid rgba(0,0,0,0.12) !important;
}
.ticker-label i {
  font-size: .65rem !important;
  color: var(--black) !important;
}

/* Scrolling track wrapper — clips the animation */
.ticker-track-wrap {
  flex: 1 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  mask-image: linear-gradient(to right, transparent 0%, black 32px, black calc(100% - 32px), transparent 100%) !important;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 32px, black calc(100% - 32px), transparent 100%) !important;
}

/* The moving strip — contains 2 copies for seamless loop */
.ticker-track {
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  will-change: transform !important;
  animation: ticker-scroll 38s linear infinite !important;
}
.ticker-track:hover { animation-play-state: paused !important; }

.ticker-item {
  display: inline-block !important;
  color: rgba(255,255,255,0.6) !important;
  font-size: .76rem !important;
  padding: 0 48px 0 16px !important;
  letter-spacing: .2px !important;
}

.ticker-separator {
  display: inline-block !important;
  color: var(--gold) !important;
  font-size: .6rem !important;
  padding: 0 16px !important;
  opacity: .5 !important;
}

@keyframes ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Dismiss button */
.ticker-close {
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  background: none !important;
  border: none !important;
  border-left: 1px solid rgba(255,255,255,0.07) !important;
  color: rgba(255,255,255,0.3) !important;
  font-size: .9rem !important;
  cursor: pointer !important;
  transition: color .18s, background .18s !important;
  padding: 0 !important;
}
.ticker-close:hover {
  color: var(--white) !important;
  background: rgba(255,255,255,0.06) !important;
}

/* ================================================================
   SECTION STRUCTURE — scoped to homepage only
   ================================================================ */
body.is-home-page .public-main-content > div > section:not(.hero):not(.bg-light-custom) {
  background: var(--off-white) !important;
  padding: 80px 0 64px !important;
  position: static !important;
}
body.is-home-page .public-main-content > div > section:not(.hero):not(.bg-light-custom)::before {
  display: none !important;
}

/* Section header — homepage only overrides */
body.is-home-page .section-header {
  text-align: left !important;
  margin-bottom: 48px !important;
}
body.is-home-page .section-badge {
  display: inline-block !important;
  background: none !important;
  color: var(--blue-bright) !important;
  border: none !important;
  padding: 0 !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}
body.is-home-page .section-header h2 {
  color: var(--text-dark) !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  font-weight: 900 !important;
  letter-spacing: -1.5px !important;
  line-height: 1.08 !important;
  margin-bottom: 16px !important;
  text-transform: uppercase !important;
  max-width: 700px !important;
}
body.is-home-page .section-header p {
  color: var(--text-mid) !important;
  font-size: .92rem !important;
  max-width: 420px !important;
  margin: 0 !important;
  line-height: 1.75 !important;
  text-align: left !important;
}

/* ================================================================
   REQUEST CARDS — homepage only
   ================================================================ */
body.is-home-page .row.g-4 { align-items: stretch !important; }

body.is-home-page .php-request-card {
  background: var(--white) !important;
  border: 1px solid var(--border-light) !important;
  border-radius: 8px !important;
  box-shadow: var(--shadow) !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden !important;
  transition: border-color .2s, box-shadow .2s, transform .2s !important;
}
.php-request-card:hover {
  border-color: var(--blue-bright) !important;
  box-shadow: 0 8px 40px rgba(59,130,246,0.13), 0 0 0 1px var(--blue-bright) !important;
  transform: translateY(-3px) !important;
}

/* Top accent strip */
.php-request-card::before {
  content: '' !important;
  display: block !important;
  height: 3px !important;
  width: 100% !important;
  flex-shrink: 0 !important;
  position: static !important;
  border-radius: 0 !important;
}
.php-request-card.student::before       { background: var(--gold) !important; }
.php-request-card.agency::before        { background: var(--blue-bright) !important; }
.php-request-card.certification::before { background: var(--blue) !important; }

/* Icon box */
.request-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.3rem !important;
  flex-shrink: 0 !important;
  margin: 28px 28px 0 28px !important;
  transition: transform .25s ease !important;
}
.php-request-card.student    .request-icon { background: rgba(245,158,11,.1) !important; color: var(--gold-dark) !important; }
.php-request-card.agency     .request-icon { background: rgba(59,130,246,.1) !important; color: var(--blue-bright) !important; }
.php-request-card.certification .request-icon { background: rgba(29,78,216,.08) !important; color: var(--blue) !important; }
.php-request-card:hover .request-icon { transform: scale(1.08) !important; }

/* FREE badge */
.badge-free {
  margin: 12px 28px 0 28px !important;
  display: inline-block !important;
  background: rgba(245,158,11,.08) !important;
  border: 1px solid rgba(245,158,11,.28) !important;
  color: var(--gold-dark) !important;
  border-radius: 4px !important;
  padding: 2px 10px !important;
  font-size: .62rem !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

/* Official certification badge */
.badge-official,
.php-request-card.certification .badge-official {
  background: rgba(29,78,216,.07) !important;
  background-image: none !important;
  color: var(--blue) !important;
  border: 1px solid rgba(29,78,216,.18) !important;
  border-radius: 4px !important;
  display: inline-block !important;
  width: auto !important;
  max-width: calc(100% - 56px) !important;
  font-size: .6rem !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  margin: 12px 28px 0 28px !important;
}

/* Card heading */
.php-request-card h3 {
  color: var(--text-dark) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  margin: 12px 28px 0 28px !important;
  padding: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: -.3px !important;
}
.php-request-card h3::after {
  content: '' !important;
  display: block !important;
  width: 32px !important;
  height: 2px !important;
  margin-top: 10px !important;
}
.php-request-card.student h3::after       { background: var(--gold) !important; }
.php-request-card.agency h3::after        { background: var(--blue-bright) !important; }
.php-request-card.certification h3::after { background: var(--blue) !important; }

/* Steps list */
.steps-list {
  margin: 20px 28px 0 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
}

.step-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  font-size: .845rem !important;
  color: var(--text-mid) !important;
  line-height: 1.65 !important;
}
.step-item:last-child { border-bottom: none !important; }

/* Step badges — pill, fits "Step 1" */
.step-badge {
  flex-shrink: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  height: 20px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .56rem !important;
  font-weight: 900 !important;
  padding: 0 8px !important;
  letter-spacing: .3px !important;
  white-space: nowrap !important;
  margin-top: 3px !important;
  border: 1.5px solid !important;
  overflow: hidden !important;
}
.php-request-card.student    .step-badge             { border-color: var(--gold) !important; color: var(--gold-dark) !important; background: rgba(245,158,11,.08) !important; }
.php-request-card.agency     .step-badge,
.php-request-card.agency     .agency-badge           { border-color: var(--blue-bright) !important; color: var(--blue) !important; background: rgba(59,130,246,.08) !important; }
.php-request-card.certification .step-badge,
.php-request-card.certification .cert-badge          { border-color: var(--blue) !important; color: var(--blue) !important; background: rgba(29,78,216,.07) !important; }

/* Note box */
.note-box {
  margin: 16px 28px 0 28px !important;
  background: #f8fafc !important;
  border-left: 2px solid var(--blue-bright) !important;
  border-radius: 0 4px 4px 0 !important;
  padding: 10px 14px !important;
  font-size: .78rem !important;
  color: var(--text-mid) !important;
  line-height: 1.6 !important;
}
.note-box i { color: var(--blue-bright) !important; }

/* Paragraphs inside card */
.php-request-card > p:not(.note-box p) {
  margin: 12px 28px 0 28px !important;
  font-size: .78rem !important;
  color: var(--text-mid) !important;
  line-height: 1.55 !important;
  padding: 0 !important;
}

/* Student / cert CTA button (btn-success) — homepage only */
body.is-home-page .btn.btn-success.btn-lg.rounded-pill {
  display: block !important;
  margin: 24px 28px 28px 28px !important;
  background: var(--text-dark) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 14px 20px !important;
  font-weight: 700 !important;
  font-size: .75rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  transition: background .18s !important;
  box-shadow: none !important;
}
body.is-home-page .btn.btn-success.btn-lg.rounded-pill:hover {
  background: var(--blue-bright) !important;
  color: var(--white) !important;
  transform: none !important;
  box-shadow: var(--shadow-blue) !important;
}

/* Agency CTA button (btn-primary) */
.php-request-card.agency button.btn-primary,
.php-request-card button.btn.btn-primary.btn-lg,
.php-request-card.agency button.btn.btn-primary.btn-lg.rounded-pill {
  display: block !important;
  width: calc(100% - 56px) !important;
  margin: 24px 28px 28px 28px !important;
  background: var(--blue-bright) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 14px 20px !important;
  font-weight: 700 !important;
  font-size: .75rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  transition: background .18s, box-shadow .18s !important;
  box-shadow: 0 0 18px rgba(59,130,246,0.28) !important;
}
.php-request-card button.btn.btn-primary.btn-lg:hover,
.php-request-card.agency button.btn.btn-primary.btn-lg.rounded-pill:hover {
  background: var(--blue) !important;
  color: var(--white) !important;
  transform: none !important;
  box-shadow: 0 0 32px rgba(59,130,246,0.45) !important;
}

/* Quick links (agency card documents) */
.quick-links {
  list-style: none !important;
  padding: 0 !important;
  margin: 12px 28px 0 28px !important;
}
.quick-links a {
  background: transparent !important;
  color: var(--text-mid) !important;
  font-size: .78rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 0 !important;
  border-bottom: 1px solid #f1f5f9 !important;
  transition: color .16s, padding-left .16s !important;
}
.quick-links a:hover {
  color: var(--blue-bright) !important;
  padding-left: 4px !important;
  background: transparent !important;
}
.quick-links a i { color: #cbd5e1 !important; font-size: .72rem !important; }
.quick-links li:last-child a { border-bottom: none !important; }

.dropdown-item { background: transparent !important; color: var(--text-dark) !important; }

/* ================================================================
   CERTIFICATION — dark with dot grid (homepage only)
   ================================================================ */
body.is-home-page section.bg-light-custom {
  background: var(--dark) !important;
  padding: 80px 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

/* dot grid overlay */
body.is-home-page section.bg-light-custom::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: radial-gradient(rgba(255,255,255,0.03) 1px, transparent 1px) !important;
  background-size: 26px 26px !important;
  display: block !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
body.is-home-page section.bg-light-custom > * { position: relative !important; z-index: 1 !important; }

/* Section header on dark (homepage certification section) */
body.is-home-page section.bg-light-custom .section-header { text-align: center !important; }
body.is-home-page section.bg-light-custom .section-badge { color: var(--blue-bright) !important; opacity: .7 !important; }
body.is-home-page section.bg-light-custom h2 {
  color: var(--white) !important;
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
body.is-home-page section.bg-light-custom .section-header p {
  color: var(--muted) !important;
  text-align: center !important;
  max-width: 520px !important;
  margin: 0 auto !important;
}

/* Certification card */
.php-request-card.certification {
  background: var(--white) !important;
  border: 1px solid rgba(59,130,246,0.14) !important;
  border-radius: 8px !important;
  box-shadow: 0 24px 64px rgba(0,0,0,0.45), 0 0 0 1px rgba(59,130,246,0.08) !important;
}
.php-request-card.certification:hover {
  border-color: var(--blue-bright) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,0.45), 0 0 0 2px var(--blue-bright), var(--shadow-blue) !important;
  transform: translateY(-3px) !important;
}

/* Fee/processing boxes */
.php-request-card.certification .row.mb-4 {
  margin: 16px 28px 0 28px !important;
  --bs-gutter-x: 0 !important;
}
.php-request-card.certification .row.mb-4 > .col-md-6 { padding: 0 !important; }
.php-request-card.certification .row.mb-4 > .col-md-6 > div {
  background: #f8fafc !important;
  border: 1px solid var(--border-light) !important;
  padding: 16px 14px !important;
  text-align: center !important;
}
.php-request-card.certification .row.mb-4 > .col-md-6:first-child > div {
  border-top: 2px solid var(--gold) !important;
  border-radius: 4px 0 0 4px !important;
}
.php-request-card.certification .row.mb-4 > .col-md-6:last-child > div {
  border-top: 2px solid var(--blue-bright) !important;
  border-left: none !important;
  border-radius: 0 4px 4px 0 !important;
}
.php-request-card.certification h6 {
  font-size: .6rem !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  font-weight: 700 !important;
  color: var(--text-mid) !important;
  margin-bottom: 8px !important;
}
.php-request-card.certification .row.mb-4 .col-md-6:first-child p,
.php-request-card.certification .row.mb-4 .col-md-6:first-child i {
  color: var(--gold-dark) !important;
  font-size: 1.6rem !important;
  font-weight: 900 !important;
  margin-bottom: 2px !important;
  line-height: 1.1 !important;
}
.php-request-card.certification .row.mb-4 .col-md-6:first-child i { font-size: 1rem !important; }
.php-request-card.certification .row.mb-4 .col-md-6:last-child p,
.php-request-card.certification .row.mb-4 .col-md-6:last-child i {
  color: var(--blue-bright) !important;
  font-size: 1.3rem !important;
  font-weight: 900 !important;
  margin-bottom: 2px !important;
  line-height: 1.2 !important;
}
.php-request-card.certification .row.mb-4 .col-md-6:last-child i { font-size: 1rem !important; }
.php-request-card.certification .row.mb-4 small {
  font-size: .7rem !important;
  color: var(--text-mid) !important;
  display: block !important;
}

/* Certification CTA */
.php-request-card.certification button.btn {
  margin: 16px 28px 28px 28px !important;
  background: var(--blue-bright) !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 14px 28px !important;
  font-weight: 700 !important;
  font-size: .75rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--white) !important;
  transition: background .18s, box-shadow .18s !important;
  display: block !important;
  width: calc(100% - 56px) !important;
  text-align: center !important;
  box-shadow: 0 0 18px rgba(59,130,246,0.3) !important;
}
.php-request-card.certification button.btn:hover {
  background: var(--blue) !important;
  color: var(--white) !important;
  transform: none !important;
  box-shadow: 0 0 32px rgba(59,130,246,0.5) !important;
}

/* ================================================================
   FOOTER — near-black, blue hover
   ================================================================ */
footer.public-footer {
  background: var(--black) !important;
  color: var(--muted) !important;
  border-top: 1px solid var(--dark-border) !important;
  padding-top: 60px !important;
}
.footer-logos {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}
.footer-logos img {
  width: 32px !important; height: 32px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  object-fit: contain !important;
}
footer h4 {
  color: var(--white) !important;
  font-weight: 800 !important;
  font-size: .95rem !important;
  letter-spacing: .5px !important;
  margin: 0 !important;
  text-transform: uppercase !important;
}
.footer-description {
  font-size: .8rem !important;
  color: rgba(255,255,255,0.36) !important;
  line-height: 1.75 !important;
  margin-bottom: 20px !important;
  max-width: 240px !important;
}
.footer-social-links { display: flex !important; gap: 6px !important; }
.footer-social-links a {
  width: 34px !important; height: 34px !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  color: rgba(255,255,255,0.4) !important;
  font-size: .85rem !important;
  text-decoration: none !important;
  transition: all .18s !important;
}
.footer-social-links a:hover {
  background: var(--blue-bright) !important;
  border-color: var(--blue-bright) !important;
  color: var(--white) !important;
  transform: none !important;
}
.footer-section-title {
  color: var(--white) !important;
  font-size: .65rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 2.5px !important;
  margin-bottom: 18px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}
.footer-links { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.footer-links li { margin-bottom: 9px !important; }
.footer-links a {
  color: rgba(255,255,255,0.4) !important;
  font-size: .82rem !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: color .16s !important;
}
.footer-links a:hover { color: var(--blue-bright) !important; }
.footer-links li > div,
.footer-links li > span {
  color: rgba(255,255,255,0.4) !important;
  font-size: .82rem !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}
.footer-links li i { color: rgba(255,255,255,0.28) !important; width: 14px !important; flex-shrink: 0 !important; margin-top: 3px !important; }
.footer-divider {
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  padding-top: 24px !important;
  margin-top: 40px !important;
}
.footer-divider a {
  color: rgba(255,255,255,0.42) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 16px !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 4px !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
  transition: border-color .18s, color .18s !important;
}
.footer-divider a:hover {
  border-color: var(--blue-bright) !important;
  color: var(--blue-bright) !important;
}
.footer-copyright p {
  font-size: .74rem !important;
  color: rgba(255,255,255,0.18) !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(255,255,255,0.05) !important;
  letter-spacing: .3px !important;
}

/* ================================================================
   SCROLL ANIMATIONS
   ================================================================ */
.enh-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .5s ease, transform .5s ease;
}
.enh-reveal.enh-visible { opacity: 1; transform: translateY(0); }
.enh-reveal-delay-1 { transition-delay: .08s; }
.enh-reveal-delay-2 { transition-delay: .16s; }
.enh-reveal-delay-3 { transition-delay: .26s; }

/* ================================================================
   MOBILE HAMBURGER MENU — white outline, transparent bg
   Only applied at mobile/tablet breakpoints (< 992px)
   ================================================================ */
@media (max-width: 991.98px) {
  .public-navbar .navbar-toggler {
    background: transparent !important;
    border: 2px solid #ffffff !important;
    border-radius: 12px !important;
    padding: 8px 10px !important;
    box-shadow: none !important;
    transition: opacity .18s !important;
  }
  .public-navbar .navbar-toggler:focus {
    box-shadow: none !important;
    outline: none !important;
  }
  .public-navbar .navbar-toggler:hover {
    opacity: .75 !important;
  }
  .public-navbar .navbar-toggler:active {
    opacity: .55 !important;
  }
  /* White hamburger lines — override Bootstrap's default dark SVG icon */
  .public-navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    width: 22px !important;
    height: 22px !important;
    display: block !important;
  }
}
