  :root {
      --blue-dark: #1E3A8A;
      --blue: #2563EB;
      --green: #10B981;
      --light: #F9FAFB;
      --ink: #0f172a;
      --muted: #475569;
      --card-shadow: 0 8px 24px rgba(0, 0, 0, .08);
  }

  body {
      font-family: 'Roboto', 'Noto Sans Devanagari', system-ui, -apple-system, Segoe UI, Arial, sans-serif;
      background: linear-gradient(180deg, #f6f8ff 0%, #ffffff 40%, #f9fbff 100%);
      color: var(--ink);
  }

  /* Hero Section */
  .hero {
      position: relative;
      min-height: 68vh;
      background:
          linear-gradient(to bottom right, rgba(30, 58, 138, .75), rgb(135 76 135 / 65%)), url('https://via.placeholder.com/1200x600?text=Exam+Simulation+Hero') center / cover no-repeat;
      color: #fff;
      display: flex;
      align-items: center;
      overflow: hidden;
  }

  .hero-wave {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100px;
      z-index: 1;
  }

  .hero .container {
      z-index: 2;
  }

  .hero-title {
      font-weight: 700;
      line-height: 1.15;
      font-size: clamp(30px, 6vw, 50px);
      text-shadow: 0 4px 18px rgba(0, 0, 0, .35);
  }

  .hero-subtitle {
      font-weight: 500;
      font-size: clamp(18px, 4vw, 28px);
      opacity: .95;
      margin-bottom: 24px;
  }

  .hero-cta .btn {
      border-radius: 12px;
      padding: 12px 26px;
      font-weight: 600;
      box-shadow: 0 10px 22px rgba(0, 0, 0, .16);
  }


  /* Sticky Quick-Nav */
  .quick-nav {
      position: sticky;
      top: 59px;
      z-index: 101;
      background: #ffffffe1;
      backdrop-filter: blur(6px);
      box-shadow: 0 6px 16px rgba(0, 0, 0, .08);
  }

  .quick-nav .nav-link {
      font-weight: 700;
      color: var(--blue-dark);
      padding: 8px 16px;
      border-radius: 10px;
      margin: 0 2px;
  }

  .quick-nav .nav-link:hover {
      color: var(--green);
      background: #eff6ff;
  }

  /* Mobile quick-nav button */
  .quick-nav-mobile-btn {
      display: none;
      position: fixed;
      bottom: 12px;
      right: 12px;
      z-index: 1200;
      background: var(--blue);
      color: #fff;
      font-weight: 700;
      padding: 14px 22px;
      border-radius: 35px;
      box-shadow: 0 10px 26px rgba(37, 99, 235, 0.13);
      font-size: 20px;
      border: none;
      outline: none;
      cursor: pointer;
  }

  .quick-nav-popup {
      display: none;
      position: fixed;
      bottom: 70px;
      right: 16px;
      z-index: 1201;
      background: #fff;
      padding: 18px 18px;
      border-radius: 14px;
      box-shadow: 0 12px 36px rgba(30, 58, 138, .14);
      width: 220px;
      max-width: 93vw;
  }

  .quick-nav-popup .nav-link {
      display: block;
      margin-bottom: 8px;
  }

  @media (max-width: 768px) {
      .quick-nav {
          display: none;
      }

      .quick-nav-mobile-btn {
          display: block;
      }
  }

  /* Step Sections */
  section.step {
      padding: 64px 0;
      position: relative;
  }

  .step .step-content {
      background: #fff;
      border-left: 10px solid var(--blue);
      border-radius: 20px;
      box-shadow: var(--card-shadow);
      padding: 32px 28px;
      min-height: 280px;
      position: relative;
      z-index: 2;
  }

  /* Accent left border color per block */
  .accent-blue .step-content {
      border-left-color: var(--blue);
  }

  .accent-green .step-content {
      border-left-color: var(--green);
  }

  .accent-indigo .step-content {
      border-left-color: var(--blue-dark);
  }

  .accent-slate .step-content {
      border-left-color: #64748b;
  }

  /* Step number pill badge (circular) */
  .pill {
      display: inline-block;
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: #eef2ff;
      color: var(--blue-dark);
      font-size: 19px;
      font-weight: 800;
      letter-spacing: .5px;
      margin-bottom: 10px;
      box-shadow: 0 4px 14px rgba(37, 99, 235, .12);
      display: flex;
      align-items: center;
      justify-content: center;
  }

  /* Icon styling + animate */
  .step .step-icon {
      font-size: 36px;
      width: 52px;
      height: 52px;
      border-radius: 14px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-right: 10px;
      background: var(--blue);
      color: #fff;
      box-shadow: 0 8px 18px rgba(37, 99, 235, .20);
      transition: all .28s cubic-bezier(.5, 1.7, .5, .87);
  }

  .step .step-icon:hover {
      transform: scale(1.14) rotate(-7deg);
      box-shadow: 0 14px 36px rgba(30, 58, 138, .2);
      background: var(--green);
      color: #fff;
  }

  .accent-green .step-icon {
      background: var(--green);
  }

  .accent-indigo .step-icon {
      background: var(--blue-dark);
  }

  .accent-slate .step-icon {
      background: #64748b;
  }

  .step h2 {
      font-weight: 700;
      font-size: clamp(20px, 4vw, 26px);
      color: var(--ink);
      margin-bottom: 12px;
      margin-top: 0;
  }

  .step p {
      font-size: clamp(16px, 3.6vw, 19px);
      line-height: 1.85;
      color: #26314a;
      margin-bottom: 0;
      letter-spacing: .2px;
  }

  /* Image styling + overlay caption */
  .img-wrap {
      position: relative;
      box-shadow: none;
      z-index: 2;
      margin-bottom: 18px;
  }

  .img-wrap img {
      border-radius: 20px;
      width: 100%;
      height: auto;
      box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
      transition: opacity 0.3s;
      object-fit: cover;
      min-height: 180px;
      max-height: 330px;
  }

  .img-overlay {
      position: absolute;
      left: 14px;
      bottom: 14px;
      background: rgba(37, 99, 235, .67);
      color: #fff;
      padding: 6px 20px;
      border-radius: 14px;
      font-size: 15px;
      font-weight: 700;
      opacity: .95;
      box-shadow: 0 4px 12px rgba(16, 185, 129, .13);
  }

  /* RevealOnScroll animation */
  .reveal {
      opacity: 0;
      transform: translateY(32px);
      transition: all .8s ease;
  }

  .reveal.visible {
      opacity: 1;
      transform: none;
  }

  .reveal-left {
      transform: translateX(-34px);
  }

  .reveal-right {
      transform: translateX(34px);
  }

  .visible.reveal-left,
  .visible.reveal-right {
      transform: none;
  }

  .section-soft {
      background: #f7f9ff;
  }

  .section-soft-alt {
      background: #f3fbf8;
  }

  /* CTA Band */
  .cta-band {
      background: linear-gradient(90deg, var(--blue-dark), var(--blue));
      color: #fff;
  }

  .cta-band .btn {
      border-radius: 14px;
      font-weight: 700;
      padding: 18px 26px;
      font-size: 20px;
      margin: 8px 6px;
      min-width: 180px;
      box-shadow: 0 6px 18px rgba(0, 0, 0, .13);
  }

  @media(max-width:600px) {
      .cta-band .btn {
          min-width: 100%;
          padding: 14px 0;
          font-size: 18px;
      }
  }

  /* Responsive tweaks */
  @media (max-width: 767.98px) {
      section.step {
          margin-bottom: 20px;
      }

      .step .row>[class*="col-"] {
          margin-bottom: 18px;
      }

      .hero {
          min-height: 52vh;
      }
  }