/*
      ============================================================
      DESIGN SYSTEM
      Clinic-grade palette, restrained accents
      ============================================================
    */
    :root {
      --bg: #f5f7f8;
      --surface: #ffffff;
      --surface-soft: #f0f3f4;
      --border: #e3e8eb;

      --text: #111827;
      --muted: #5e6b72;

      /*--primary: #1470af;*/
      --primary: #e4ca7d;
	  --primary-text: #404040;
	  --primary-text-light: #ffffff;
      --primary-dark: #404040;
      --primary-light: #ffffff;

      --secondary: #404040;
	  --secondary-text: #ffffff;
      /*--secondary-dark: #1470af;*/
      --secondary-dark: #e4ca7d;

      /*--accent: #1470af;*/
      --accent: #e4ca7d;

      --radius-lg: 22px;
      --radius-md: 16px;

      --shadow-strong: 0 24px 70px rgba(16, 24, 40, 0.16);
      --shadow: 0 16px 50px rgba(16, 24, 40, 0.12);
      --shadow-soft: 0 10px 28px rgba(16, 24, 40, 0.10);
    }

    body {
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
      background: var(--bg);
      color: var(--text);
    }
	
	
  /* Smooth scroll for browsers that support it */
  html {
    scroll-behavior: smooth;
  }

  /* Prevent section headings from hiding under fixed navbar */
  section[id] {
    scroll-margin-top: 96px;
  }

    /*
      ============================================================
      TYPOGRAPHY AND SPACING
      Strong headings, lots of breathing room
      ============================================================
    */
    h1, h2, h3 {
      font-weight: 650;
      letter-spacing: -0.5px;
      margin: 0;
    }

    .section {
      padding: 110px 0;
    }

    .section-title {
      margin-bottom: 56px;
    }

    .section-title h2 {
      font-size: 2.6rem;
      line-height: 1.1;
    }

    .section-title p {
      margin-top: 14px;
      max-width: 820px;
      color: var(--muted);
      font-size: 1.12rem;
      line-height: 1.7;
    }

    /*
      ============================================================
      NAVBAR
      Minimal, clinical, sticky
      ============================================================
    */
    .navbar {
      background: rgba(255, 255, 255, 0.92);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid var(--border);
    }

    .navbar-brand {
      font-weight: 700;
      letter-spacing: -0.2px;
      color: var(--text);
    }

    .nav-link,
    .menu-item a {
      color: var(--text);
    }

    .nav-link:hover,
    .menu-item:hover a {
      color: var(--primary);
    }
	
	
	
	/*
    NAV ACTIVE STYLES
    - Makes the active link look prominent and professional
    - Works for both click and scroll updates
  */


  /* Base nav link look */
  #topNav .nav-link {
    font-weight: 650;
    color: #0f1720;
    opacity: 0.85;
    position: relative;
    padding: 10px 10px;
    border-radius: 999px;
    transition: background 140ms ease, color 140ms ease, opacity 140ms ease;
  }

  #topNav .nav-link:hover {
    opacity: 1;
    /* color: #1f4e5f; */
    /* background: rgba(31, 78, 95, 0.08); */
  }

  /* Active state */
  #topNav .nav-link.active {
    opacity: 1;
    color: var(--primary-text);
    /* background: rgba(31, 78, 95, 0.12); */
  }

  /* Optional underline accent for active */
  #topNav .nav-link:hover::after,
#topNav .nav-link.active::after  {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 6px;
    height: 2px;
    border-radius: 999px;
    background: rgba(217, 191, 143, 0.95);
  }

    /*
      ============================================================
      BUTTONS
      One primary, one outline
      ============================================================
    */
    .btn-primary {
      background: var(--primary);
	  color: var(--primary-text);
      border-color: var(--primary);
      border-radius: 999px;
      padding: 14px 34px;
      font-weight: 600;
    }

    .btn-primary:hover {
      background: var(--primary-dark);
      border-color: var(--primary-dark);
      /*color: var(--primary-light);*/
    }
    
    .btn-check:checked+.btn, 
    .btn.active, 
    .btn.show, 
    .btn:first-child:active, 
    :not(.btn-check)+.btn:active {
        background: var(--primary);
	  color: var(--primary-text);
	  border-color: var(--primary);
    }

    .btn-outline-primary {
      color: #ffffff;
      border-color: rgba(255, 255, 255, 0.60);
      border-radius: 999px;
      padding: 14px 34px;
      font-weight: 600;
    }

    .btn-outline-primary:hover {
      background: rgba(255, 255, 255, 0.10);
      border-color: rgba(255, 255, 255, 0.75);
      color: #ffffff;
    }
	
	
    .btn-secondary {
      background: var(--secondary);
	  color: var(--secondary-text);
      border-color: var(--secondary);
      border-radius: 999px;
      padding: 14px 34px;
      font-weight: 600;
	  font-size: 1rem;
    }

    .btn-secondary:hover {
      background: var(--secondary-dark);
      border-color: var(--secondary-dark);
      /*color: #404040;*/
    }

    .btn-outline-secondary {
      color: #404040;
      border-color: var(--secondary);
      border-radius: 999px;
      padding: 14px 34px;
      font-weight: 600;
    }

    .btn-outline-secondary:hover {
      background: var(--secondary);
      border-color: var(--secondary-dark);
      color: #ffffff;
    }

    /*
      ============================================================
      HERO
      Big, authoritative, left-aligned, minimal content
      ============================================================
    */
    .hero {
      min-height: 92vh;
      display: flex;
      align-items: center;

      /* Image overlay tuned for readability and authority */
      background:
        linear-gradient(
          rgba(228, 202, 125, 0.86),
          rgba(0, 0, 00, 0.76)
        ),
        url("../images/hero-cardiology.jpg");
      /*background:*/
      /*  linear-gradient(*/
      /*    rgba(20, 112, 175, 0.56),*/
      /*    rgba(0, 0, 0, 0.86)*/
      /*  ),*/
      /*  url("../images/hero-cardiology.jpg");*/
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;

      color: #ffffff;
      padding: 220px 0 80px;
    }

    .hero h1 {
      font-size: 4.6rem;
      line-height: 1.06;
      max-width: 980px;
    }

    .hero p {
      margin-top: 18px;
      max-width: 860px;
      font-size: 1.28rem;
      line-height: 1.65;
      opacity: 0.95;
    }

    /* A small credibility bar that looks medical, not marketing */
    .cred-bar {
      margin-top: 28px;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
    }

    .cred-pill {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 10px 14px;
      border-radius: 999px;
      border: 1px solid rgba(255, 255, 255, 0.28);
      background: rgba(255, 255, 255, 0.06);
      font-size: 0.98rem;
      opacity: 0.96;
    }

    .cred-pill i {
      font-size: 1.1rem;
      color: rgba(255, 255, 255, 0.95);
    }

    /* Hero floating panel for quick contact signals */
    .hero-side {
      margin-top: 34px;
      border-radius: var(--radius-lg);
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(255, 255, 255, 0.22);
      padding: 18px 18px;
      max-width: 520px;
    }

    .hero-side .label {
      color: rgba(255, 255, 255, 0.75);
      font-size: 0.95rem;
      margin-bottom: 6px;
    }

    .hero-side a {
      color: #ffffff;
      text-decoration: none;
      font-weight: 650;
    }

    .hero-side a:hover {
      text-decoration: underline;
    }

    /*
      ============================================================
      WHY SECTION
      Visually dominant, image-left + content card-right
      Avoids marketing card grid feel
      ============================================================
    */
    .why {
      background: var(--surface-soft);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
    }

    .why-wrap {
      border-radius: var(--radius-lg);
      overflow: hidden;
      box-shadow: var(--shadow);
      border: 1px solid var(--border);
      background: var(--surface);
    }

    .why-image {
      min-height: 520px;
      background: url("../images/why-monitoring.jpg");
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
    }

    .why-content {
      padding: 44px 44px;
    }

    /* Accent line that feels clinical and premium */
    .accent-line {
      width: 56px;
      height: 6px;
      border-radius: 999px;
      background: var(--accent);
      margin-bottom: 16px;
    }

    .why-content h2 {
      font-size: 2.55rem;
      line-height: 1.12;
    }

    .why-points {
      margin-top: 22px;
      display: grid;
      grid-template-columns: 1fr;
      gap: 14px;
    }

    .why-point {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 14px 16px;
      border-radius: var(--radius-md);
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.70);
    }

    .why-point i {
      color: var(--primary);
      font-size: 1.25rem;
      margin-top: 2px;
      flex: 0 0 auto;
    }

    .why-point .t {
      font-weight: 650;
      margin-bottom: 2px;
    }

    .why-point .d {
      color: var(--muted);
      line-height: 1.55;
    }

    /*
      ============================================================
      HOW SECTION
      Intentionally simple, quiet, easy
      Three steps only
      ============================================================
    */
    .how {
      background: var(--surface);
    }

    .steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }

    .step-card {
      border-radius: var(--radius-lg);
      border: 1px solid var(--border);
      background: #ffffff;
      box-shadow: var(--shadow-soft);
      padding: 26px 26px;
      height: 100%;
      transition: transform 180ms ease, box-shadow 180ms ease;
    }

    .step-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
    }

    .step-num {
      width: 46px;
      height: 46px;
      border-radius: 999px;
      background: var(--primary);
      color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 750;
      margin-bottom: 14px;
      font-size: 1.05rem;
    }

    .step-card h3 {
      font-size: 1.25rem;
      margin-bottom: 8px;
    }

    .step-card p {
      margin: 0;
      color: var(--muted);
      line-height: 1.6;
      font-size: 1.02rem;
    }
	
	
	
	/*
    FAQ SECTION STYLES
    - Clean, premium, professional
    - Matches the clinic-grade design language used elsewhere
    - Scoped to .faq-section to avoid affecting other sections
  */

  .faq-section {
    background: #f5f7f8;
    border-top: 1px solid #e3e8eb;
  }

  .faq-heading h2 {
    font-size: 2.8rem;
    font-weight: 750;
    letter-spacing: -0.6px;
    color: #0f1720;
    margin: 0;
  }

  .faq-heading p {
    margin-top: 12px;
    font-size: 1.12rem;
    color: #5e6b72;
    max-width: 860px;
  }

  .faq-accordion {
    margin-top: 34px;
    border-radius: 22px;
    border: 1px solid #e3e8eb;
    background: #ffffff;
    box-shadow: 0 18px 60px rgba(16, 24, 40, 0.10);
    overflow: hidden;
  }

  .faq-section .accordion-item {
    /* border: 0; */
  }

  .faq-section .accordion-button {
    padding: 20px 22px;
    font-weight: 750;
    color: #0f1720;
    background: #ffffff;
  }

  .faq-section .accordion-button:focus {
    box-shadow: 0 0 0 0.22rem rgba(31, 78, 95, 0.12);
    border-color: rgba(31, 78, 95, 0.35);
  }

  .faq-section .accordion-button:not(.collapsed) {
    color: #1f4e5f;
    background: rgba(31, 78, 95, 0.04);
  }

  .faq-section .accordion-body {
    padding: 0 22px 20px 22px;
    color: #5e6b72;
    line-height: 1.7;
    font-size: 1.05rem;
  }

  .faq-cta {
    margin-top: 26px;
  }

  .faq-cta-card {
    border-radius: 22px;
    border: 1px solid #e3e8eb;
    background: #ffffff;
    box-shadow: 0 18px 60px rgba(16, 24, 40, 0.08);
    padding: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
	background: var(--primary);
  }

  .faq-cta-text {
    font-weight: 650;
    color: #0f1720;
  }

  .faq-cta-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }

  .faq-cta-actions .btn {
    border-radius: 999px;
    padding: 12px 22px;
    font-weight: 650;
  }

  @media (max-width: 575px) {
    .faq-heading h2 {
      font-size: 2.2rem;
    }
  }
	
	
	

    /*
      ============================================================
      CONTACT SECTION
      Compulsory form, designed like a destination
      ============================================================
    */
    .contact {
      background:
        linear-gradient(rgba(245, 247, 248, 1), rgba(245, 247, 248, 1)),
        url("../images/contact-clinic.jpg");
	  background: #ffffff;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;

      border-top: 1px solid var(--border);
    }

    .contact-shell {
      border-radius: var(--radius-lg);
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.94);
      box-shadow: var(--shadow-strong);
      overflow: hidden;
    }

    .contact-left {
      padding: 42px 42px;
      background: #ffffff;
    }

    .contact-right {
      padding: 42px 42px;
      background:
        linear-gradient(135deg, rgba(31, 78, 95, 0.06), rgba(217, 191, 143, 0.12));
      border-left: 1px solid var(--border);
    }

    .contact-right h3 {
      font-size: 1.5rem;
      margin-bottom: 14px;
    }

    .contact-detail {
      border-radius: var(--radius-md);
      border: 1px solid var(--border);
      background: rgba(255, 255, 255, 0.70);
      padding: 16px 16px;
      margin-bottom: 12px;
    }

    .contact-detail .k {
      color: var(--muted);
      font-size: 0.95rem;
      margin-bottom: 2px;
    }

    .contact-detail .v a {
      color: var(--primary);
      text-decoration: none;
      font-weight: 650;
    }

    .contact-detail .v a:hover {
      text-decoration: underline;
    }

    .form-control, .form-select {
      border-radius: 14px;
      border: 1px solid var(--border);
      padding: 14px 14px;
    }

    .form-control:focus, .form-select:focus {
      border-color: rgba(31, 78, 95, 0.35);
      box-shadow: 0 0 0 0.22rem rgba(31, 78, 95, 0.12);
    }

    .form-label {
      font-weight: 650;
      margin-bottom: 8px;
    }

    /*
      ============================================================
      FOOTER
      ============================================================
    */
    footer {
      background: #0f1720;
      color: rgba(255, 255, 255, 0.78);
      padding: 30px 0;
    }

    footer a {
      color: rgba(255, 255, 255, 0.78);
      text-decoration: none;
    }

    footer a:hover {
      color: #ffffff;
      text-decoration: underline;
    }

    /*
      ============================================================
      RESPONSIVE
      Keep hero big, keep steps readable
      ============================================================
    */
    @media (max-width: 991px) {
      .hero {
        min-height: 82vh;
        padding: 110px 0 70px;
      }

      .hero h1 {
        font-size: 2.75rem;
      }

      .hero p {
        font-size: 1.12rem;
      }

      .why-content {
        padding: 34px 24px;
      }

      .steps {
        grid-template-columns: 1fr;
      }

      .contact-right {
        border-left: 0;
        border-top: 1px solid var(--border);
      }
    }

    @media (max-width: 575px) {
      .hero h1 {
        font-size: 2.25rem;
      }

      .section {
        padding: 86px 0;
      }
    }