  html,
  body {
      max-width: 100%;
      overflow-x: hidden;
  }

  * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
  }

  :root {
      --primary-green: #377842;
      --secondary-green: #2d6335;
      --light-green: #e8f5e9;
      --accent-green: #4caf50;
      --dark-text: #1a1a1a;
      --gray-text: #666;
      --light-gray: #f8f9fa;
      --border-light: rgba(55, 120, 66, 0.15);
      --gradient-green: linear-gradient(135deg, #377842 0%, #2d6335 100%);
      --shadow-green: 0 10px 40px rgba(55, 120, 66, 0.15);
  }

  body {
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      overflow-x: hidden;
      background: linear-gradient(135deg, #f8fdf9 0%, #ffffff 100%);
  }

  /* ========== APPLICATION SECTION STYLES ========== */
  .main-container {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      /* FIXED */
      min-height: 100vh;
      padding: 0px 5px;
  }

  .content-wrapper {
      display: flex;
      flex-wrap: wrap;
      max-width: 1400px;
      width: 100%;
      border-radius: 24px;
      overflow: hidden;
      padding: 15px;
      animation: slideUp 0.8s ease-out;
  }

  @keyframes slideUp {
      from {
          opacity: 0;
          transform: translateY(30px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  .left-section {
      flex: 1;
      height: 100%;
  }

  .left-section h1 {
      font-size: 2.8em;
      font-weight: 800;
      color: var(--dark-text);
      text-align: left;
      line-height: 1.2;
      margin-bottom: 12px;
  }

  .subtitle {
      font-size: 1.1em;
      color: var(--gray-text);
      margin-bottom: 20px;
      text-align: left;
      font-weight: 400;
  }

  .right-section {
      flex: 1;
      display: flex;
      /* align-items: center; */
      justify-content: center;
      padding: 0px 5px;
  }

  .hero-image {
      max-width: 100%;
      height: auto;
      /* FIXED */
      filter: drop-shadow(0 10px 30px rgba(55, 120, 66, 0.15));
  }

  .form-card {
      background: #ffffff;
      border-radius: 24px;
      padding: 20px 35px;
      /* FIXED */
      margin: 0 auto;
      box-shadow: 0 15px 50px rgba(55, 120, 66, 0.15);
      max-width: 550px;
      /* FIXED */
      width: 100%;
      text-align: center;
      border: 1px solid rgba(55, 120, 66, 0.08);
  }

  .logo_img {
      margin: 0 0 24px 0;
      transition: transform 0.3s ease;
  }

  .logo_img:hover {
      transform: scale(1.05);
  }

  .form-card h1 {
      font-size: 30px;
      font-weight: 700;
      color: #114e1c;
      margin-bottom: 8px;
      line-height: 1.3;
  }

  .form-card h1 span {
      display: block;
  }

  .form-control {
      padding: 14px 16px 15px 70px;
      /* FIXED */
      border-radius: 14px !important;
      font-size: 1em !important;
      border: 2px solid #e0e0e0 !important;
      transition: all 0.3s ease;
      background: #fafafa;
      color: var(--dark-text) !important;
  }

  .form-control::placeholder {
      color: #999 !important;
  }

  .form-control:focus {
      border-color: var(--primary-green) !important;
      box-shadow: 0 0 0 4px rgba(55, 120, 66, 0.1) !important;
      background: #ffffff;
      color: var(--dark-text) !important;
  }

  .country-code {
      position: absolute;
      left: 18px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--dark-text);
      font-weight: 600;
      font-size: 1em;
      pointer-events: none;
      background: var(--light-green);
      padding: 4px 8px;
      border-radius: 6px;
  }

  .otp-note {
      font-size: 0.85em;
      color: #777;
      margin-top: 8px;
      margin-bottom: 20px;
      text-align: left;
      padding-left: 4px;
  }

  .text-decoration-none {
      color: var(--primary-green);
      font-weight: 600;
      text-decoration: none !important;
      transition: color 0.2s ease;
  }

  .text-decoration-none:hover {
      color: var(--secondary-green);
      text-decoration: underline !important;
  }

  .form-check {
      text-align: left;
      margin-bottom: 24px;
  }

  .form-check-input {
      width: 20px;
      height: 20px;
      border: 2px solid var(--primary-green);
      margin-top: 2px;
  }

  .form-check-input:checked {
      background-color: var(--primary-green);
      border-color: var(--primary-green);
  }

  .form-check-label {
      font-size: 0.68em;
      color: var(--gray-text);
      line-height: 1.5;
      margin-left: 8px;
  }

  .btn-apply {
      background: linear-gradient(135deg, #f9d611bf 0%, #f9d611bf 100%);
      color: rgb(0, 35, 4);
      border: none;
      padding: 12px 0px;
      border-radius: 14px;
      font-size: 1.15em;
      font-weight: 600;
      width: 100%;
      transition: all 0.3s ease;
      box-shadow: 0 4px 15px rgba(55, 120, 66, 0.3);
      cursor: pointer;
  }

  .btn-apply:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(55, 120, 66, 0.4);
  }

  .btn-apply:active {
      transform: translateY(0);
  }

  .btn-apply:disabled {
      opacity: 0.6;
      cursor: not-allowed;
      transform: none;
  }

  .hidden {
      display: none !important;
  }

  .input-error {
      border-color: #dc3545 !important;
      background: #fff5f5 !important;
  }

  .input-success {
      border-color: #28a745 !important;
      background: #f0fff4 !important;
  }

  /* OTP Box Styles - FIXED FOR VISIBILITY */
  .otp-box {
      padding: 20px !important;
      font-size: 1.4em;
      text-align: center;
      border-radius: 12px;
      border: 2px solid #e0e0e0;
      font-weight: 600;
      transition: all 0.3s ease;
      background: #ffffff !important;
      color: var(--dark-text) !important;
      caret-color: var(--primary-green);
  }

  .otp-box:focus {
      border-color: var(--primary-green) !important;
      box-shadow: 0 0 0 4px rgba(55, 120, 66, 0.1) !important;
      background: #ffffff !important;
      color: var(--dark-text) !important;
      outline: none;
  }

  .otp-box::placeholder {
      color: #ccc !important;
  }

  #otpForm h4 {
      font-size: 1.6em;
      font-weight: 700;
      color: var(--dark-text);
      margin-bottom: 12px;
  }

  #otpForm .text-muted {
      font-size: 0.95em;
      margin-bottom: 28px;
      color: var(--gray-text);
  }

  .resend-link {
      color: var(--primary-green);
      font-weight: 600;
      text-decoration: none;
      transition: color 0.2s ease;
  }

  .resend-link:hover {
      color: var(--secondary-green);
      text-decoration: underline;
  }

  /* ========== BUTTON LOADER SPINNER ========== */
  .btn-loader {
      border: 3px solid rgba(255, 255, 255, 0.5);
      border-top: 3px solid #ffffff;
      border-radius: 50%;
      width: 20px;
      height: 20px;
      animation: spin 0.8s linear infinite;
      margin-left: 10px;
      display: inline-block;
  }

  @keyframes spin {
      0% {
          transform: rotate(0deg);
      }

      100% {
          transform: rotate(360deg);
      }
  }

  .btn-loading {
      pointer-events: none;
      opacity: 0.8;
  }

  /* ========== TERMS & CONDITIONS SECTION ========== */
  .terms-section {
      background: #fafef782;
      padding: 60px 0;
      margin-top: 40px;
  }

  /* Reading Progress Bar */
  .reading-progress {
      position: fixed;
      top: 0;
      left: 0;
      height: 3px;
      background: var(--gradient-green);
      width: 0%;
      z-index: 10000;
      transition: width 0.1s ease;
  }

  /* Hero Section for Terms */
  .terms-hero {
      padding: 20px 40px 30px;
      text-align: center;
      max-width: 1000px;
      margin: 0 auto;
  }

  .terms-title {
      font-size: clamp(2rem, 5vw, 3.5rem);
      font-weight: 800;
      background: var(--gradient-green);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      margin-bottom: 20px;
      letter-spacing: -1px;
      animation: fadeInUp 0.8s ease;
  }

  @keyframes fadeInUp {
      from {
          opacity: 0;
          transform: translateY(30px);
      }

      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  /* Quick Navigation */
  .quick-nav {
      position: sticky;
      top: 0;
      background: rgba(255, 255, 255, 0.98);
      backdrop-filter: blur(20px);
      padding: 15px 40px;
      border-bottom: 2px solid var(--border-light);
      z-index: 999;
      overflow-x: auto;
      scrollbar-width: none;
      box-shadow: 0 2px 10px rgba(55, 120, 66, 0.08);
  }

  .quick-nav::-webkit-scrollbar {
      display: none;
  }

  .quick-nav-list {
      display: flex;
      gap: 12px;
      max-width: 1400px;
      margin: 0 auto;
      list-style: none;
      flex-wrap: wrap;
      justify-content: center;
  }

  .quick-nav-item {
      white-space: nowrap;
  }

  .quick-nav-link {
      padding: 10px 18px;
      border-radius: 25px;
      color: var(--gray-text);
      text-decoration: none;
      font-size: 0.85rem;
      font-weight: 600;
      transition: all 0.3s ease;
      display: inline-block;
      border: 2px solid transparent;
  }

  .quick-nav-link:hover,
  .quick-nav-link.active {
      background: var(--gradient-green);
      color: white;
      transform: translateY(-2px);
      box-shadow: 0 4px 12px rgba(55, 120, 66, 0.3);
  }

  /* Main Content Container */
  .terms-content-wrapper {
      max-width: 1200px;
      margin: 40px auto;
      padding: 0 40px 60px;
  }

  /* Layout Grid */
  .layout-grid {
      display: grid;
      grid-template-columns: 260px 1fr;
      gap: 40px;
      align-items: start;
  }

  /* Table of Contents Sidebar */
  .toc-sidebar {
      position: sticky;
      top: 100px;
      background: #ffffff;
      backdrop-filter: blur(20px);
      border: 2px solid var(--border-light);
      border-radius: 16px;
      padding: 20px;
      max-height: calc(100vh - 120px);
      overflow-y: auto;
      scrollbar-width: thin;
      scrollbar-color: var(--primary-green) transparent;
      box-shadow: var(--shadow-green);
  }

  .toc-title {
      font-size: 1rem;
      font-weight: 700;
      margin-bottom: 16px;
      color: var(--dark-text);
  }

  .toc-list {
      list-style: none;
  }

  .toc-item {
      margin-bottom: 8px;
  }

  .toc-link {
      color: var(--gray-text);
      text-decoration: none;
      font-size: 0.85rem;
      transition: all 0.3s ease;
      display: block;
      padding: 8px 12px;
      border-radius: 8px;
      position: relative;
  }

  .toc-link::before {
      content: '';
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 0;
      height: 2px;
      background: var(--primary-green);
      transition: width 0.3s ease;
  }

  .toc-link:hover,
  .toc-link.active {
      color: var(--primary-green);
      background: var(--light-green);
      padding-left: 20px;
  }

  .toc-link:hover::before,
  .toc-link.active::before {
      width: 12px;
  }

  /* Accordion Sections */
  .terms-main-content {
      min-width: 0;
  }

  .accordion-section {
      background: #ffffff;
      backdrop-filter: blur(20px);
      border: 2px solid var(--border-light);
      border-radius: 16px;
      margin-bottom: 16px;
      overflow: hidden;
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      opacity: 0;
      transform: translateY(20px);
      animation: slideInUp 0.5s ease forwards;
  }

  @keyframes slideInUp {
      to {
          opacity: 1;
          transform: translateY(0);
      }
  }

  .accordion-section:hover {
      border-color: var(--primary-green);
      box-shadow: var(--shadow-green);
  }

  .accordion-header {
      padding: 8px 24px;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      user-select: none;
      transition: all 0.3s ease;
  }

  .accordion-header:hover {
      background: var(--light-green);
  }

  .accordion-title {
      font-size: 1.1rem;
      font-weight: 700;
      color: #002903b5;
      flex: 1;
      display: flex;
      align-items: center;
      gap: 12px;
  }

  .section-icon {
      width: 44px;
      height: 44px;
      background: linear-gradient(135deg, #cab9007d 0%, #aaac00e3 100%);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.2rem;
      flex-shrink: 0;
  }

  .accordion-toggle {
      width: 34px;
      height: 34px;
      border: 2px solid var(--border-light);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
      flex-shrink: 0;
      background: white;
  }

  .accordion-toggle::before {
      content: '+';
      font-size: 1.5rem;
      font-weight: 300;
      color: var(--primary-green);
      transition: transform 0.3s ease;
  }

  .accordion-section.active .accordion-toggle {
      background: var(--gradient-green);
      border-color: transparent;
      transform: rotate(45deg);
  }

  .accordion-section.active .accordion-toggle::before {
      color: white;
  }

  .accordion-body {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .accordion-content {
      padding: 0 24px 24px;
      color: var(--gray-text);
      font-size: 0.95rem;
      line-height: 1.7;
  }

  .accordion-content h3 {
      color: var(--dark-text);
      font-size: 1.15rem;
      margin-top: 20px;
      margin-bottom: 12px;
      font-weight: 600;
  }

  .accordion-content h6 {
      color: var(--primary-green);
      font-size: 1.05rem;
      margin-top: 18px;
      margin-bottom: 10px;
      font-weight: 600;
  }

  .accordion-content p {
      margin-bottom: 14px;
  }

  .accordion-content ul {
      margin: 14px 0;
      padding-left: 22px;
  }

  .accordion-content li {
      margin-bottom: 10px;
      position: relative;
  }

  .accordion-content li::marker {
      color: var(--primary-green);
  }

  .accordion-content strong {
      color: var(--dark-text);
      font-weight: 600;
  }

  .accordion-content a {
      color: var(--primary-green);
      text-decoration: none;
      transition: all 0.3s ease;
  }

  .accordion-content a:hover {
      color: var(--secondary-green);
      text-decoration: underline;
  }

  /* Expand/Collapse All Controls */
  .accordion-controls {
      display: flex;
      gap: 12px;
      margin-bottom: 9px;
      justify-content: flex-end;
  }

  .control-btn {
      padding: 10px 20px;
      background: white;
      border: 2px solid var(--border-light);
      border-radius: 30px;
      color: var(--dark-text);
      font-size: 0.85rem;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.3s ease;
  }

  .control-btn:hover {
      background: var(--gradient-green);
      border-color: transparent;
      color: white;
      transform: translateY(-2px);
      box-shadow: 0 4px 15px rgba(55, 120, 66, 0.3);
  }

  /* Search Box */
  .search-container {
      margin-bottom: 9px;
      position: relative;
  }

  .search-box {
      width: 100%;
      padding: 14px 50px 14px 20px;
      background: white;
      backdrop-filter: blur(20px);
      border: 2px solid var(--border-light);
      border-radius: 50px;
      color: var(--dark-text);
      font-size: 0.95rem;
      transition: all 0.3s ease;
  }

  .search-box:focus {
      outline: none;
      border-color: var(--primary-green);
      box-shadow: 0 0 0 4px rgba(55, 120, 66, 0.1);
  }

  .search-icon {
      position: absolute;
      right: 22px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--gray-text);
      font-size: 1.1rem;
  }

  /* Highlight for search results */
  .highlight {
      background: rgba(76, 175, 80, 0.3);
      padding: 2px 4px;
      border-radius: 3px;
  }

  /* Contact CTA Section */
  .contact-cta {
      background: var(--gradient-green);
      border-radius: 20px;
      padding: 40px;
      text-align: center;
      margin-top: 50px;
      position: relative;
      overflow: hidden;
  }

  .contact-cta::before {
      content: '';
      position: absolute;
      top: -50%;
      right: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
      animation: rotate 15s linear infinite;
  }

  @keyframes rotate {
      from {
          transform: rotate(0deg);
      }

      to {
          transform: rotate(360deg);
      }
  }

  .contact-cta-content {
      position: relative;
      z-index: 1;
  }

  .contact-cta h3 {
      font-size: 1.8rem;
      margin-bottom: 12px;
      color: white;
  }

  .contact-cta p {
      font-size: 1rem;
      margin-bottom: 24px;
      color: rgba(255, 255, 255, 0.95);
  }

  .btn-contact {
      padding: 12px 36px;
      background: white;
      color: var(--primary-green);
      text-decoration: none;
      border-radius: 50px;
      font-weight: 700;
      font-size: 1rem;
      display: inline-block;
      transition: all 0.3s ease;
  }

  .btn-contact:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 35px rgba(0, 0, 0, 0.2);
  }

  /* ========== RESPONSIVE DESIGN ========== */

  /* Tablet Responsive */
  @media (max-width: 1024px) {
      .layout-grid {
          grid-template-columns: 1fr;
      }

      .toc-sidebar {
          position: relative;
          top: 0;
          max-height: none;
          margin-bottom: 30px;
      }

      .terms-content-wrapper {
          padding: 0 30px 50px;
      }
  }

  /* Application Section Tablet */
  @media (max-width: 991px) {
      .content-wrapper {
          flex-direction: column;
          max-width: 100%;
          padding: 0;
      }

      .left-section {
          order: 2;
      }

      .right-section {
          padding: 30px 20px 10px;
          order: 1;
      }

      .hero-image {
          max-width: 320px;
      }

      .form-card {
          margin: 0 20px;
      }
  }

  @media (max-width: 768px) {
      body {
          background: #fff !important;
      }

      .main-container {
          padding: 10px;
      }

      .left-section h1 {
          font-size: 2em;
      }

      .subtitle {
          font-size: 1em;
      }

      .form-card {
          padding: 0px;
          border-radius: 18px;
      }

      .hero-image {
          max-width: 260px;
      }

      /* Terms Section Tablet */
      .terms-section {
          padding: 40px 0;
      }

      .terms-hero {
          padding: 15px 20px 20px;
      }

      .terms-content-wrapper {
          padding: 0 16px 40px;
      }

      .quick-nav {
          padding: 12px 16px;
      }

      .quick-nav-list {
          justify-content: space-between;
          gap: 1px;
      }

      .quick-nav-link {
          padding: 8px 14px;
          font-size: 0.8rem;
      }

      .accordion-header {
          padding: 16px 18px;
      }

      .accordion-content {
          padding: 0 18px 20px;
          font-size: 0.9rem;
      }

      .section-icon {
          width: 38px;
          height: 38px;
          font-size: 1.1rem;
      }

      .accordion-title {
          font-size: 1rem;
          gap: 10px;
      }

      .accordion-toggle {
          width: 30px;
          height: 30px;
      }

      .accordion-toggle::before {
          font-size: 1.3rem;
      }

      .contact-cta {
          padding: 30px 20px;
          border-radius: 16px;
      }

      .contact-cta h3 {
          font-size: 1.5rem;
      }

      .contact-cta p {
          font-size: 0.95rem;
      }

      .accordion-controls {
          flex-direction: column;
      }

      .control-btn {
          width: 100%;
      }

      .search-box {
          padding: 12px 45px 12px 18px;
          font-size: 0.9rem;
      }

      .toc-sidebar {
          padding: 16px;
      }

      .toc-title {
          font-size: 0.95rem;
      }

      .toc-link {
          font-size: 0.82rem;
          padding: 6px 10px;
      }
  }

  /* Mobile Portrait */
  @media (max-width: 575px) {
      .main-container {
          padding: 0;
          min-height: 100vh;
          display: block;
      }

      .content-wrapper {
          border-radius: 0;
          display: flex;
          flex-direction: column;
      }

      .right-section {
          padding: 10px 10px 0;
          flex-shrink: 0;
          background: linear-gradient(180deg, #f0f9f1 0%, #ffffff 100%);
      }

      .hero-image {
          max-width: 100%;
          margin: 0 auto;
      }

      .left-section {
          position: relative;
          flex-grow: 1;
          display: flex;
          flex-direction: column;
          justify-content: center;
      }

      .form-card {
          margin: 0;
          border-radius: 18px;
          box-shadow: 0 8px 32px rgba(55, 120, 66, 0.18);
      }

      .logo_img {
          width: 150px;
          padding: 12px;
          margin-bottom: 0px;
      }

      .form-card h1 {
          font-size: 1.4em;
          margin-bottom: 8px;
      }

      .subtitle {
          font-size: 0.88em;
          margin-bottom: 16px;
      }

      .form-control {
          height: 50px !important;
          font-size: 0.92em !important;
          padding: 10px 10px 10px 55px !important;
          border-radius: 12px !important;
      }

      .otp-box {
          padding: 16px 8px !important;
      }

      .country-code {
          left: 12px;
          font-size: 0.9em;
          padding: 3px 6px;
      }

      .otp-note {
          font-size: 0.8em;
          margin-top: 6px;
          margin-bottom: 16px;
      }

      .form-check {
          margin-bottom: 18px;
      }

      .form-check-input {
          width: 17px;
          height: 17px;
          margin-top: 2px;
      }

      .form-check-label {
          font-size: 12px;
          line-height: 1.5;
      }

      .btn-apply {
          height: 50px;
          font-size: 1.05em;
          padding: 10px 0;
          border-radius: 12px;
      }

      .otp-box {
          width: 44px;
          height: 44px;
          font-size: 1.15em;
          border-radius: 10px;
      }

      #otpForm h4 {
          font-size: 1.35em;
          margin-bottom: 10px;
      }

      #otpForm .text-muted {
          font-size: 0.88em;
          margin-bottom: 22px;
      }

      .d-flex.gap-2 {
          gap: 5px !important;
      }

      /* Terms Section Mobile */
      .terms-section {
          padding: 5px 0;
          margin-top: 3px;
      }

      .terms-hero {
          padding: 10px 14px 16px;
      }

      .terms-content-wrapper {
          padding: 0 12px 30px;
      }

      .quick-nav {
          padding: 10px 2px;
          position: relative;
      }

      .accordion-section {
          margin-bottom: 12px;
          border-radius: 14px;
      }

      .accordion-header {
          padding: 14px 16px;
      }

      .accordion-title {
          font-size: 0.92rem;
          gap: 8px;
      }

      .section-icon {
          width: 36px;
          height: 36px;
          font-size: 1rem;
      }

      .accordion-toggle {
          width: 28px;
          height: 28px;
      }

      .accordion-toggle::before {
          font-size: 1.2rem;
      }

      .accordion-content {
          padding: 0 16px 18px;
          font-size: 0.88rem;
          line-height: 1.6;
      }

      .accordion-content h3 {
          font-size: 1.05rem;
          margin-top: 16px;
          margin-bottom: 10px;
      }

      .accordion-content h6 {
          font-size: 0.98rem;
          margin-top: 14px;
          margin-bottom: 8px;
      }

      .accordion-content p {
          margin-bottom: 12px;
      }

      .accordion-content ul {
          margin: 12px 0;
          padding-left: 20px;
      }

      .accordion-content li {
          margin-bottom: 8px;
      }

      .search-box {
          padding: 11px 42px 11px 16px;
          font-size: 0.88rem;
      }

      .search-icon {
          right: 18px;
          font-size: 1rem;
      }

      .accordion-controls {
          gap: 8px;
          margin-bottom: 16px;
      }

      .control-btn {
          padding: 9px 18px;
          font-size: 0.82rem;
      }

      .contact-cta {
          padding: 28px 18px;
          margin-top: 40px;
      }

      .contact-cta h3 {
          font-size: 1.3rem;
          margin-bottom: 10px;
      }

      .contact-cta p {
          font-size: 0.9rem;
          margin-bottom: 20px;
      }

      .btn-contact {
          padding: 11px 30px;
          font-size: 0.95rem;
      }

      .toc-sidebar {
          padding: 14px;
      }

      .toc-title {
          font-size: 0.9rem;
          margin-bottom: 12px;
      }

      .toc-link {
          font-size: 0.8rem;
          padding: 6px 8px;
      }

      .toc-item {
          margin-bottom: 6px;
      }
  }

  /* Extra Small Mobile */
  @media (max-width: 380px) {
      .logo_img {
          width: 150px;
      }

      .form-card h1 {
          font-size: 1.5em;
      }

      .subtitle {
          font-size: 0.84em;
      }

      .otp-box {
          width: 40px;
          height: 40px;
          font-size: 1.05em;
      }

      .form-control {
          height: 48px !important;
          font-size: 0.88em !important;
      }

      .btn-apply {
          height: 48px;
          font-size: 1em;
      }

      .form-check-label {
          font-size: 0.78em;
      }

      .d-flex.gap-2 {
          gap: 4px !important;
      }

      .accordion-title {
          font-size: 0.88rem;
      }

      .section-icon {
          width: 32px;
          height: 32px;
          font-size: 0.9rem;
      }

      .accordion-content {
          font-size: 0.85rem;
      }
  }

  /* Smooth Transitions */
  .form-control,
  .otp-box,
  .btn-apply,
  .logo_img {
      transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  /* Focus Visible for Accessibility */
  *:focus-visible {
      outline: 3px solid var(--primary-green);
      outline-offset: 2px;
  }

  /* Print Styles */
  @media print {

      .nav-header,
      .quick-nav,
      .toc-sidebar,
      .accordion-controls,
      .search-container,
      .contact-cta,
      .reading-progress {
          display: none;
      }

      .accordion-body {
          max-height: none !important;
      }

      .accordion-section {
          break-inside: avoid;
      }
  }

  /* Creative Selection Boxes */
  .selection-box {
      position: relative;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;

      gap: 6px;
      padding: 10px;

      background: #fff;
      border: 2px solid #e0e0e0;
      border-radius: 10px;

      cursor: pointer;
      transition: all 0.3s ease;

      overflow: visible;
  }

  .selection-box i {
      font-size: 14px;
      color: var(--gray-text);
  }

  .selection-box span {
      font-weight: 600;
      font-size: 0.9rem;
      color: var(--gray-text) !important;
  }

  /* Hover & Checked States */
  .selection-box:hover {
      border-color: var(--primary-green);
      background: #fff;
  }

  .btn-check:checked+.selection-box {
      border-color: var(--primary-green);
      background: #fff;
      box-shadow: 0 4px 12px rgba(55, 120, 66, 0.15);
  }

  .btn-check:checked+.selection-box i,
  .btn-check:checked+.selection-box span {
      color: #ffffff;
  }

  /* Custom Dropdown Styling */
  .custom-dropdown .form-select {
      height: 50px;
      border-radius: 0 14px 14px 0 !important;
      border: 2px solid #e0e0e0;
      background-color: #fafafa;
      font-weight: 500;
  }

  .custom-dropdown .input-group-text {
      border: 2px solid #e0e0e0;
      border-radius: 14px 0 0 14px !important;
  }

  .custom-dropdown .form-select:focus {
      border-color: var(--primary-green);
      box-shadow: none;
      background-color: #fff;
  }

  /* Full Screen Loader Overlay */
  .fullscreen-loader {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(135deg, #0f4c3a90 0%, #1a7a5f8f 100%);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      z-index: 9999;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
  }

  .fullscreen-loader.active {
      opacity: 1;
      visibility: visible;
  }

  .loader-spinner {
      position: relative;
      width: 80px;
      height: 80px;
  }

  .loader-spinner::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      border: 4px solid rgba(255, 255, 255, 0.2);
      border-radius: 50%;
      border-top-color: #ffeb3b;
      animation: spin 1s linear infinite;
  }

  .loader-spinner::after {
      content: '';
      position: absolute;
      width: 60px;
      height: 60px;
      top: 10px;
      left: 10px;
      border: 4px solid rgba(255, 255, 255, 0.2);
      border-radius: 50%;
      border-top-color: #fff;
      animation: spin 0.7s linear infinite reverse;
  }

  .loader-text {
      margin-top: 30px;
      color: #fff;
      font-size: 18px;
      font-weight: 500;
      letter-spacing: 1px;
      animation: pulse 1.5s ease-in-out infinite;
  }

  .loader-dots {
      display: inline-block;
      width: 20px;
      text-align: left;
  }

  .loader-dots::after {
      content: '.';
      animation: dots 1.5s steps(4, end) infinite;
  }

  @keyframes spin {
      to {
          transform: rotate(360deg);
      }
  }

  @keyframes pulse {

      0%,
      100% {
          opacity: 1;
      }

      50% {
          opacity: 0.6;
      }
  }

  @keyframes dots {

      0%,
      20% {
          content: '.';
      }

      40% {
          content: '..';
      }

      60%,
      100% {
          content: '...';
      }
  }

  @media (max-width: 576px) {
      .loader-spinner {
          width: 60px;
          height: 60px;
      }

      .loader-spinner::after {
          width: 45px;
          height: 45px;
          top: 7.5px;
          left: 7.5px;
      }

      .loader-text {
          font-size: 16px;
          margin-top: 20px;
      }
  }



  /* DEFAULT IMAGE VISIBLE */
  .icon-active {
      opacity: 0;
      transform: scale(0.9);
  }

  /* WHEN SELECTED */
  .btn-check:checked+.selection-box .icon-default {
      opacity: 0;
  }

  .btn-check:checked+.selection-box .icon-active {
      opacity: 1;
      transform: scale(1);
  }


  .check-icon {
      position: absolute;
      top: -8px;
      right: -8px;

      width: 22px;
      height: 22px;
      border-radius: 50%;

      background: #28a745;
      color: #fff;
      border: 2px solid #377842;

      display: flex;
      align-items: center;
      justify-content: center;

      font-size: 10px;

      opacity: 0;
      transform: scale(0.6);

      transition: all 0.25s ease;
  }

  /* SHOW ON SELECT */
  .btn-check:checked+.selection-box .check-icon {
      opacity: 1;
      transform: scale(1);
  }

  .selection-box {
      position: relative;
  }

  .selection-box {
      overflow: visible;
  }



  .icon-default {
      transition: all 0.3s ease;
  }

  /* WHEN SELECTED */
  .btn-check:checked+.selection-box .icon-default {
      opacity: 0;
  }

  .btn-check:checked+.selection-box .icon-active {
      opacity: 1;
  }




  /* ===== FIXED IMAGE SYSTEM ===== */

  .icon-wrapper {
      position: relative;
      width: 36px;
      height: 36px;
  }

  /* STACK BOTH IMAGES PERFECTLY */
  .icon-wrapper img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: contain;

      transition: opacity 0.25s ease, transform 0.25s ease;
  }

  /* DEFAULT IMAGE */
  .icon-default {
      opacity: 1;
  }

  /* ACTIVE IMAGE */
  .icon-active {
      opacity: 0;
      transform: scale(0.95);
  }

  /* SWITCH ON SELECT */
  .btn-check:checked+.selection-box .icon-default {
      opacity: 0;
  }

  .btn-check:checked+.selection-box .icon-active {
      opacity: 1;
      transform: scale(1);
  }

  .selection-box img {
      width: 40px;
  }

  .icon-wrapper span {
      color: #2d6335 !important;
  }


  .selection-box .icon-wrapper span {
      color: #2d6335 !important;
  }


  .form-label {
      font-size: 14px;
  }


  /* Images only for mobile */
  @media (min-width: 992px) {
      .img-cont {
          display: none !important;
      }
  }

  @media (max-width: 575px) {

      .img-cont {
          position: relative;
          width: 100%;
          overflow: hidden;
      }

      .img-cont img {
          width: 100%;
          transition: opacity 0.35s ease, transform 0.35s ease;
      }

      .img-cont img.d-none {
          opacity: 0;
          transform: scale(0.97);
          position: absolute;
      }

      .img-cont img:not(.d-none) {
          opacity: 1;
          transform: scale(1);
          position: relative;
      }

      .img-cont::after {
          content: "";
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 32px;
          /* slightly taller for smoother fade */

          background: linear-gradient(to bottom,
                  rgba(255, 255, 255, 0) 0%,
                  rgba(255, 255, 255, 0.15) 30%,
                  rgba(255, 255, 255, 0.6) 60%,
                  rgba(255, 255, 255, 0.92) 85%,
                  #ffffff 100%);

          pointer-events: none;
      }

      .right-section {
          display: none;
      }

      #loginForm {
          padding: 5px 15px;
      }

      .form-check-label {
          font-size: 0.68em;
          color: #9e9c9c;
          line-height: 1.5;
          margin-left: 8px;
      }

      .text-decoration-none {
          color: #83a689;
          font-weight: 600;
      }

      .form-label {
          font-size: 12px;
          color: #acacac !important;
          margin: 0.5rem 0rem !important;

      }

      .selection-box img {
          width: 25px;
      }

      .selection-box span {
          font-size: 0.78rem;
      }

      .selection-box {
          gap: 0px;
          padding: 5px;
      }

      .form-card h1 span {
          display: none;
      }
      #loginForm .mb-4{
        margin-bottom: 0.9rem !important;
      }
      .text-danger{
        font-size: 0.6rem;
        margin: 0.2rem 0rem !important;
      }
  }