/* ===== RESET ===== */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Poppins', sans-serif; color: #1a1a2e; background: #fff; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }

/* Cap font weight globally — no bold heavier than semi-bold */
strong, b { font-weight: 600; }

/* ===== LAYOUT ===== */
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 28px; }

/* ===== SCROLL REVEAL ===== */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* ===== FADE-UP ANIMATION ===== */
.fade-up { opacity: 0; transform: translateY(28px); transition: opacity .6s cubic-bezier(.4,0,.2,1), transform .6s cubic-bezier(.4,0,.2,1); }
.fade-up.in-view { opacity: 1; transform: translateY(0); }
.du1 { transition-delay: .08s; }
.du2 { transition-delay: .16s; }
.du3 { transition-delay: .24s; }

/* ===== PILLS / BADGES ===== */
.pill {
  display: inline-block;
  font-size: .7rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  padding: .4rem 1rem; border-radius: 50px; margin-bottom: 1.2rem;
}
.pill-orange { background: var(--orange); color: #fff; }
.pill-blue   { background: rgba(74,127,193,.75); color: #fff; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.pill-cyan   { background: var(--cyan); color: #0a0f1e; }
.pill-teal   { background: rgba(0,158,227,.88); color: #fff; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }

/* ===== SHARED SECTION HEAD ===== */
.sec-head { text-align: center; max-width: 620px; margin: 0 auto 2.8rem; }
.sec-head h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); font-weight: 600; color: var(--navy); margin-bottom: .8rem; }
.sec-head p  { font-size: .93rem; color: var(--muted); line-height: 1.7; }

/* ===== UTILITIES ===== */
.center-btn { text-align: center; }
.parallax-bg { will-change: transform; transition: none; }

/* ===== BREADCRUMB ===== */
.breadcrumb {
  display: flex; align-items: center; gap: 8px;
  font-size: .8rem; color: rgba(255,255,255,.6); margin-bottom: 20px;
}
.breadcrumb a { color: rgba(255,255,255,.6); transition: color .2s; }
.breadcrumb a:hover { color: #009EE3; }
.breadcrumb span { color: rgba(255,255,255,.35); }
.breadcrumb strong { color: rgba(255,255,255,.9); font-weight: 500; }
