:root {
  /* LIGHT Theme Palette (Optiplus customized variable names) */
  --op-opti-bg: #FAFBFD;             /* Clean sky-tinted white */
  --op-opti-paper: #FFFFFF;          /* Pure card surface */
  --op-opti-paper-alt: #F1F5F9;      /* Tinted surface for feedback cards */
  --op-opti-accent: #0D9488;         /* Primary Medical-Teal accent */
  --op-opti-accent-hover: #0F766E;   /* Darker teal for interaction */
  --op-opti-accent-light: #E0F2FE;   /* Soothing sky blue-teal tint */
  --op-opti-text-head: #0F172A;      /* Deep primary dark blue-gray */
  --op-opti-text-body: #475569;      /* Balanced secondary slate gray */
  --op-opti-radius: 16px;            /* Soft style border radius */
  
  /* Shadow Depth: raised */
  --op-opti-shadow: 0 10px 25px -5px rgba(13, 148, 136, 0.08), 0 8px 10px -6px rgba(13, 148, 136, 0.08);
  --op-opti-shadow-hover: 0 20px 35px -8px rgba(13, 148, 136, 0.12), 0 12px 16px -8px rgba(13, 148, 136, 0.12);

  /* Fonts */
  --op-opti-font-heading: 'Montserrat', sans-serif;
  --op-opti-font-text: 'Poppins', sans-serif;
}

/* Base Body settings conform to instructions */
body {
  font-family: var(--op-opti-font-text);
  background-color: var(--op-opti-bg);
  color: var(--op-opti-text-body);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

/* Limit main content width only, header and footer stay 100% full span */
.op-inner-width {
  width: 100%;
  max-width: 1140px; /* Calculated container-width */
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* Header customization - Dark contrast look */
.op-header-container {
  background-color: var(--op-opti-text-head);
  width: 100%;
  z-index: 20;
}

/* Headline casing style: uppercase */
.op-hero-title, 
.op-features-title, 
.op-testimonials-title {
  font-family: var(--op-opti-font-heading);
  color: var(--op-opti-text-head);
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: -0.015em;
}

.op-subtext {
  color: var(--op-opti-text-body);
  line-height: 1.6;
}

/* Bullet markers styling */
.op-bullet-badge {
  background-color: var(--op-opti-accent-light);
  color: var(--op-opti-accent-hover);
  border-radius: var(--op-opti-radius);
  border: 1px solid rgba(13, 148, 136, 0.15);
}

.op-paragr-desc {
  color: var(--op-opti-text-body);
  font-size: 1.05rem;
}

/* Sticky CTA block */
.op-cta-holder {
  background-color: var(--op-opti-paper);
  border: 1px solid rgba(13, 148, 136, 0.12);
  box-shadow: var(--op-opti-shadow);
  border-radius: var(--op-opti-radius);
  transition: box-shadow 0.3s ease;
}

/* Price representation: badge (accent background) */
.op-price-tag-badge {
  background-color: var(--op-opti-accent-light);
  color: var(--op-opti-accent-hover);
  padding: 0.75rem 1.5rem;
  border-radius: var(--op-opti-radius);
  border: 1px solid rgba(13, 148, 136, 0.2);
  min-width: 150px;
}

/* Action button inside CTA card */
.op-cart-action {
  background-color: var(--op-opti-accent);
  color: var(--op-opti-paper);
  border-radius: var(--op-opti-radius);
  box-shadow: 0 4px 14px rgba(13, 148, 136, 0.3);
}

.op-cart-action:hover {
  background-color: var(--op-opti-accent-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(13, 148, 136, 0.4);
}

.op-cart-action:active {
  transform: translateY(1px);
}

/* Guarantee custom border */
.op-shield-badge {
  border-color: rgba(13, 148, 136, 0.2);
  background-color: rgba(224, 242, 254, 0.3);
}

/* Features Grid details (Large icons in circle background) */
.op-features-wrapper {
  background-color: var(--op-opti-paper);
  border-top: 1px solid rgba(13, 148, 136, 0.05);
  border-bottom: 1px solid rgba(13, 148, 136, 0.05);
}

.op-feature-element {
  background-color: var(--op-opti-bg);
  border: 1px solid rgba(13, 148, 136, 0.05);
  box-shadow: var(--op-opti-shadow);
}

.op-feature-element:hover {
  transform: translateY(-4px);
  box-shadow: var(--op-opti-shadow-hover);
  background-color: var(--op-opti-paper);
}

/* Testimonials custom layout & quote styling */
.op-testimonials-wrapper {
  background-color: var(--op-opti-bg);
}

.op-testimonial-element {
  background-color: var(--op-opti-paper-alt); /* Slightly darker slate than pure paper */
  box-shadow: var(--op-opti-shadow);
  border-radius: var(--op-opti-radius);
  border: 1px solid rgba(13, 148, 136, 0.03);
}

.op-testimonial-element:hover {
  background-color: var(--op-opti-paper);
  box-shadow: var(--op-opti-shadow-hover);
}

/* Footer Contrast look - matching WCAG rule (dark background) */
.op-footer-section {
  background-color: var(--op-opti-text-head);
  color: var(--op-opti-paper);
  border-top: 4px solid var(--op-opti-accent);
}

/* Footer address styling override */
address strong {
  font-family: var(--op-opti-font-heading);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .op-hero-title {
    font-size: 2rem !important;
  }
  .op-split-core {
    flex-direction: column-reverse;
  }
  .op-cta-holder {
    position: static !important;
    margin-bottom: 2rem;
  }
}