/* ── Design Tokens ────────────────────────────────────────────── */
    :root {
      --color-primary:   #0F5132;
      --color-primary-l: #1a7a4d;
      --color-accent:    #FFB800;
      --color-accent-l:  #ffc933;
      --color-bg-alt:    #F5F5F5;
      --color-text:      #1a1a1a;
      --color-muted:     #666666;
      --font-heading:    'Sora', sans-serif;
      --font-body:       'DM Sans', sans-serif;

      --solar-green: #0F5132;
      --solar-green-mid: #1a7a4d;
      --solar-yellow: #FFB800;
      --solar-yellow-light: #ffc933;
      --solar-dark: #1a1a1a;
      --solar-gray: #666666;
      --solar-bg: #F5F5F5;  
    }
 
    /* ── Base ─────────────────────────────────────────────────────── */
    body {
      font-family: var(--font-body); 
    }
    h1, h2, h3, h4, h5, h6 {
      font-family: var(--font-heading);
      column-rule: var(--dark-color) !important;
      color: var(--color-text);
    }
 
    /* ── Utility overrides ────────────────────────────────────────── */
    .text-primary    { color: var(--color-primary)   !important; }
    .bg-primary      { background-color: var(--color-primary)   !important; }
    .bg-accent       { background-color: var(--color-accent)    !important; }
    .bg-alt          { background-color: var(--color-bg-alt)    !important; }
    .text-muted-custom { color: var(--color-muted)   !important; }
 
    /* ── Label badge ──────────────────────────────────────────────── */
    .section-label {
      font-family: var(--font-body);
      font-size: .75rem;
      font-weight: 600;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: var(--color-primary);
    }
 
    /* ── Hero ─────────────────────────────────────────────────────── */
    .hero-about {
      position: relative;
      min-height: 70vh;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }
    .hero-about__img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .hero-about__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, rgba(15,81,50,.9), rgba(15,81,50,.6));
    }
    .hero-about__content {
      position: relative;
      z-index: 2;
    }
    .hero-about__title {
      font-size: clamp(2.2rem, 5vw, 4rem);
      font-weight: 700;
      line-height: 1.2;
    }
    .hero-about__subtitle {
      font-family: var(--font-body);
      font-size: 1.2rem;
      max-width: 680px;
      margin-inline: auto;
    }
 
    /* ── Our Story ────────────────────────────────────────────────── */
    .story-img-wrapper {
      position: relative;
    }
    .story-img-wrapper img {
      border-radius: 1rem;
      box-shadow: 0 25px 60px rgba(0,0,0,.15);
      position: relative;
      z-index: 1;
    }
    .story-img-decor {
      position: absolute;
      bottom: -1.5rem;
      right: -1.5rem;
      width: 12rem;
      height: 12rem;
      border-radius: 1rem;
      background: linear-gradient(135deg, var(--color-accent), var(--color-accent-l));
      z-index: 0;
    }
    .stat-num {
      font-family: var(--font-heading);
      font-size: 2.25rem;
      font-weight: 700;
      color: var(--color-primary);
    }
    .stat-label {
      font-size: .85rem;
      color: var(--color-muted);
    }
 
    /* ── Mission / Vision cards ───────────────────────────────────── */
    .mv-card {
      border-radius: 1.25rem;
      padding: 2.5rem;
      box-shadow: 0 4px 30px rgba(0,0,0,.08);
    }
    .mv-icon {
      width: 4rem;
      height: 4rem;
      border-radius: .75rem;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
    }
    .mv-icon--green  { background: linear-gradient(135deg, var(--color-primary), var(--color-primary-l)); }
    .mv-icon--yellow { background: linear-gradient(135deg, var(--color-accent),  var(--color-accent-l));  }
 
    /* ── Values ───────────────────────────────────────────────────── */
    .value-card {
      text-align: center;
      transition: transform .3s;
    }
    .value-card:hover { transform: scale(1.05); }
    .value-icon {
      width: 5rem;
      height: 5rem;
      border-radius: 1rem;
      background: linear-gradient(135deg, var(--color-primary), var(--color-primary-l));
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      margin: 0 auto 1.5rem;
      transition: box-shadow .3s;
    }
    .value-card:hover .value-icon { box-shadow: 0 12px 30px rgba(15,81,50,.35); }
 
    /* ── Timeline ─────────────────────────────────────────────────── */
    .timeline-wrap { position: relative; }
    .timeline-line {
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      width: 4px;
      height: 100%;
      background: rgba(15,81,50,.15);
    }
    .timeline-row { margin-bottom: 3rem; }
    .timeline-card {
      background: #fff;
      border-radius: .9rem;
      padding: 1.5rem;
      box-shadow: 0 4px 20px rgba(0,0,0,.08);
    }
    .timeline-year {
      font-family: var(--font-heading);
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--color-accent);
    }
    .timeline-dot {
      width: 2rem;
      height: 2rem;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--color-primary), var(--color-primary-l));
      border: 4px solid #fff;
      box-shadow: 0 4px 12px rgba(0,0,0,.15);
      flex-shrink: 0;
    }
 
    /* ── Certifications ───────────────────────────────────────────── */
    .cert-item {
      border-radius: .75rem;
      padding: 1.25rem 1.5rem;
      background: var(--color-bg-alt);
      display: flex;
      align-items: center;
      gap: 1rem;
      transition: box-shadow .3s;
    }
    .cert-item:hover { box-shadow: 0 6px 20px rgba(0,0,0,.1); }
    .cert-icon {
      width: 2.5rem;
      height: 2.5rem;
      border-radius: .5rem;
      background: linear-gradient(135deg, var(--color-primary), var(--color-primary-l));
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      flex-shrink: 0;
    }
 
    /* ── CTA ──────────────────────────────────────────────────────── */
    .cta-section {
      background: linear-gradient(to right, var(--color-primary), var(--color-primary-l));
    }
    .btn-accent {
      background-color: var(--color-accent) !important;
      color: var(--color-text) !important;
      font-weight: 600;
      border: none;
      padding: .9rem 2rem;
      border-radius: .5rem;
      transition: background-color .3s, transform .3s, box-shadow .3s;
    }
    .btn-accent:hover {
      background-color: var(--color-accent-l) !important;
      transform: scale(1.04);
      box-shadow: 0 10px 25px rgba(0,0,0,.2);
    }
    .btn-outline-white {
      background: rgba(255,255,255,.1) !important;
      color: #fff !important;
      font-weight: 600;
      border: 2px solid #fff !important;
      padding: .9rem 2rem;
      border-radius: .5rem;
      backdrop-filter: blur(4px);
      transition: background-color .3s, box-shadow .3s;
    }
    .btn-outline-white:hover {
      background: rgba(255,255,255,.22) !important;
      box-shadow: 0 10px 25px rgba(0,0,0,.2);
    }
 
    /* ── Fade-in animation ────────────────────────────────────────── */
    .fade-up {
      opacity: 0;
      transform: translateY(28px);
      transition: opacity .65s ease, transform .65s ease;
    }
    .fade-up.visible {
      opacity: 1;
      transform: translateY(0);
    }
    .fade-left  { opacity: 0; transform: translateX(-28px); transition: opacity .65s ease, transform .65s ease; }
    .fade-right { opacity: 0; transform: translateX( 28px); transition: opacity .65s ease, transform .65s ease; }
    .fade-left.visible, .fade-right.visible { opacity: 1; transform: translateX(0); }
 
    /* stagger helpers */
    .delay-1 { transition-delay: .1s; }
    .delay-2 { transition-delay: .2s; }
    .delay-3 { transition-delay: .3s; }
    .delay-4 { transition-delay: .4s; }
    .delay-5 { transition-delay: .5s; }


    /* Hero */
    .hero-section {
      min-height: 70vh !important;
      position: relative !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      overflow: hidden !important;
    }
 
    .hero-bg {
      position: absolute !important;
      inset: 0 !important;
      object-fit: cover !important;
      width: 100% !important;
      height: 100% !important;
    }
 
    .hero-overlay {
      position: absolute !important;
      inset: 0 !important;
      background: linear-gradient(to right, rgba(15,81,50,0.90), rgba(15,81,50,0.60)) !important;
    }
 
    .hero-title {
      font-size: clamp(2.5rem, 5vw, 4rem) !important;
      font-weight: 700 !important;
      line-height: 1.2 !important;
    }
 
    /* Accent colors */
    .bg-solar-green {
      background-color: var(--solar-green) !important;
    }
 
    .bg-solar-yellow {
      background-color: var(--solar-yellow) !important;
    }
 
    .text-solar-green {
      color: var(--solar-green) !important;
    }
 
    .text-solar-yellow {
      color: var(--solar-yellow) !important;
    }
 
    .text-solar-gray {
      color: var(--solar-gray) !important;
    }
 
    .text-solar-dark {
      color: var(--solar-dark) !important;
    }
 
    /* Gradient icon boxes */
    .icon-box-green {
      background: linear-gradient(135deg, var(--solar-green), var(--solar-green-mid)) !important;
      width: 64px !important;
      height: 64px !important;
      border-radius: 16px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      color: #fff !important;
      font-size: 1.75rem !important;
      flex-shrink: 0 !important;
    }
 
    .icon-box-yellow {
      background: linear-gradient(135deg, var(--solar-yellow), var(--solar-yellow-light)) !important;
      width: 64px !important;
      height: 64px !important;
      border-radius: 16px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      color: var(--solar-dark) !important;
      font-size: 1.75rem !important;
      flex-shrink: 0 !important;
    }
 
    .icon-box-sm {
      width: 48px !important;
      height: 48px !important;
      border-radius: 12px !important;
      font-size: 1.25rem !important;
    }
 
    .icon-box-process {
      width: 64px !important;
      height: 64px !important;
      border-radius: 14px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: linear-gradient(135deg, var(--solar-green), var(--solar-green-mid)) !important;
      color: #fff !important;
      font-size: 1.5rem !important;
    }
 
    /* Check circle */
    .check-circle {
      width: 20px !important;
      height: 20px !important;
      min-width: 20px !important;
      background-color: var(--solar-green) !important;
      border-radius: 50% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      color: #fff !important;
      font-size: 0.65rem !important;
    }
 
    /* Service image */
    .service-img {
      width: 100% !important;
      height: 500px !important;
      object-fit: cover !important;
      border-radius: 16px !important;
      box-shadow: 0 25px 50px rgba(0,0,0,0.15) !important;
    }
 
    .service-img-wrapper {
      position: relative !important;
    }
 
    .service-img-accent-green {
      position: absolute !important;
      bottom: -24px !important;
      right: -24px !important;
      width: 192px !important;
      height: 192px !important;
      border-radius: 16px !important;
      z-index: -1 !important;
      background: linear-gradient(135deg, var(--solar-green), var(--solar-green-mid)) !important;
    }
 
    .service-img-accent-yellow {
      position: absolute !important;
      bottom: -24px !important;
      right: -24px !important;
      width: 192px !important;
      height: 192px !important;
      border-radius: 16px !important;
      z-index: -1 !important;
      background: linear-gradient(135deg, var(--solar-yellow), var(--solar-yellow-light)) !important;
    }
 
    /* Process card */
    .process-card {
      background: #fff !important;
      border-radius: 16px !important;
      padding: 2rem !important;
      box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
      height: 100% !important;
      transition: box-shadow 0.3s ease !important;
    }
 
    .process-card:hover {
      box-shadow: 0 8px 40px rgba(0,0,0,0.15) !important;
    }
 
    .process-step-num {
      font-size: 3rem !important;
      font-weight: 700 !important;
      color: var(--solar-yellow) !important;
      opacity: 0.2 !important;
      line-height: 1 !important;
      font-family: var(--font-heading) !important;
        margin-bottom: 6px;
    }
 
    /* Additional service card */
    .add-service-card {
      background-color: var(--solar-bg) !important;
      border-radius: 12px !important;
      padding: 2rem !important;
      transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    }
 
    .add-service-card:hover {
      transform: translateY(-4px) !important;
      box-shadow: 0 8px 32px rgba(0,0,0,0.1) !important;
    }
 
    /* CTA section */
    .cta-section {
      background: linear-gradient(to right, var(--solar-green), var(--solar-green-mid)) !important;
    }
 
    /* Buttons */
    .btn-solar-yellow {
      background-color: var(--solar-yellow) !important;
      color: var(--solar-dark) !important;
      border: none !important;
      font-weight: 600 !important;
      padding: 0.75rem 2rem !important;
      border-radius: 8px !important;
      transition: background-color 0.3s, transform 0.2s, box-shadow 0.3s !important;
    }
 
    .btn-solar-yellow:hover {
      background-color: var(--solar-yellow-light) !important;
      color: var(--solar-dark) !important;
      transform: scale(1.05) !important;
      box-shadow: 0 8px 24px rgba(255,184,0,0.35) !important;
    }
 
    .btn-solar-outline {
      background-color: rgba(255,255,255,0.1) !important;
      color: #fff !important;
      border: 2px solid #fff !important;
      font-weight: 600 !important;
      padding: 0.75rem 2rem !important;
      border-radius: 8px !important;
      transition: background-color 0.3s, box-shadow 0.3s !important;
      backdrop-filter: blur(4px) !important;
    }
 
    .btn-solar-outline:hover {
      background-color: rgba(255,255,255,0.2) !important;
      color: #fff !important;
      box-shadow: 0 8px 24px rgba(255,255,255,0.2) !important;
    }
 
    /* Tracking */
    .tracking-widest {
      letter-spacing: 0.15em !important;
    }
 
    /* Section heading */
    .section-heading {
      font-size: clamp(2rem, 4vw, 3rem) !important;
      font-weight: 700 !important;
      color: var(--solar-dark) !important;
    }
 
    /* Arrow connector (process) */
    .process-arrow {
      position: absolute !important;
      top: 50% !important;
      right: -16px !important;
      transform: translateY(-50%) !important;
      z-index: 10 !important;
      color: var(--solar-yellow) !important;
      font-size: 1.75rem !important;
    }
 
    @media (max-width: 991px) {
      .process-arrow {
        display: none !important;
      }
      .service-img {
        height: 320px !important;
      }
    }
 
    @media (max-width: 575px) {
      .service-img {
        height: 220px !important;
      }
    }

    /* ── Highlight badge strip ── */
    .highlight-badge {
      display: inline-flex !important;
      align-items: center !important;
      gap: 8px !important;
      background: rgba(255,255,255,0.12) !important;
      border: 1px solid rgba(255,255,255,0.30) !important;
      border-radius: 50px !important;
      padding: 0.45rem 1.1rem !important;
      font-size: 0.9rem !important;
      color: #fff !important;
      font-family: var(--font-body) !important;
      backdrop-filter: blur(4px) !important;
    }
 
    .highlight-badge i {
      color: var(--solar-yellow) !important;
    }
 
    /* ── Shared text utilities ── */
    .text-solar-green  { color: var(--solar-green)  !important; }
    .text-solar-yellow { color: var(--solar-yellow) !important; }
    .text-solar-gray   { color: var(--solar-gray)   !important; }
    .text-solar-dark   { color: var(--solar-dark)   !important; }
 
    .tracking-widest { letter-spacing: 0.15em !important; }
 
    .section-heading {
      font-size: clamp(2rem, 4vw, 3rem) !important;
      font-weight: 700 !important;
      color: var(--solar-dark) !important;
    }
 
    /* ── Icon boxes ── */
    .icon-box-green {
      background: linear-gradient(135deg, var(--solar-green), var(--solar-green-mid)) !important;
      border-radius: 14px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      color: #fff !important;
      flex-shrink: 0 !important;
    }
 
    .icon-box-lg {
      width: 64px !important;
      height: 64px !important;
      font-size: 1.75rem !important;
    }
 
    .icon-box-md {
      width: 52px !important;
      height: 52px !important;
      font-size: 1.4rem !important;
    }
 
    /* ── Feature list item ── */
    .feature-item {
      display: flex !important;
      align-items: flex-start !important;
      gap: 14px !important;
      padding: 1rem 0 !important;
      border-bottom: 1px solid rgba(0,0,0,0.07) !important;
    }
 
    .feature-item:last-child {
      border-bottom: none !important;
    }
 
    .feature-item-icon {
      width: 42px !important;
      height: 42px !important;
      min-width: 42px !important;
      background: linear-gradient(135deg, var(--solar-green), var(--solar-green-mid)) !important;
      border-radius: 10px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      color: #fff !important;
      font-size: 1.1rem !important;
    }
 
    /* ── Stat cards ── */
    .stat-card {
      background: #fff !important;
      border-radius: 16px !important;
      padding: 1.5rem !important;
      text-align: center !important;
      box-shadow: 0 4px 24px rgba(0,0,0,0.07) !important;
      border: 1px solid rgba(0,0,0,0.05) !important;
      transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    }
 
    .stat-card:hover {
      transform: translateY(-4px) !important;
      box-shadow: 0 10px 36px rgba(0,0,0,0.12) !important;
    }
 
    .stat-card .stat-value {
      font-size: 2rem !important;
      font-weight: 700 !important;
      color: var(--solar-green) !important;
      font-family: var(--font-heading) !important;
      line-height: 1.1 !important;
    }
 
    .stat-card .stat-label {
      font-size: 0.85rem !important;
      color: var(--solar-gray) !important;
      margin-top: 4px !important;
    }
 
    .stat-card .stat-icon {
      width: 44px !important;
      height: 44px !important;
      background: linear-gradient(135deg, rgba(15,81,50,0.10), rgba(26,122,77,0.15)) !important;
      border-radius: 50% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      margin: 0 auto 0.75rem !important;
      color: var(--solar-green) !important;
      font-size: 1.2rem !important;
    }
 
    /* ── Product image ── */
    .product-img {
      width: 100% !important;
      height: 480px !important;
      object-fit: cover !important;
      border-radius: 16px !important;
      box-shadow: 0 25px 50px rgba(0,0,0,0.13) !important; 
    }
 
    .product-img-wrapper {
      position: sticky !important;
      top: 112px;
    }
 
    .product-img-accent {
      position: absolute !important;
      bottom: -24px !important;
      left: -24px !important;
      width: 180px !important;
      height: 180px !important;
      border-radius: 16px !important;
      z-index: -1 !important;
      background: linear-gradient(135deg, var(--solar-yellow), var(--solar-yellow-light)) !important;
    }
 
    /* ── Process section ── */
    .process-step-card {
      background: #fff !important;
      border-radius: 16px !important;
      padding: 2rem !important;
      height: 100% !important;
      box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
      transition: box-shadow 0.3s ease !important;
      text-align: center !important;
    }
 
    .process-step-card:hover {
      box-shadow: 0 10px 40px rgba(0,0,0,0.13) !important;
    }
 
    .process-step-num {
      font-size: 3.5rem !important;
      font-weight: 700 !important;
      color: var(--solar-yellow) !important;
      opacity: 0.18 !important;
      line-height: 1 !important;
      font-family: var(--font-heading) !important;
    }
 
    .process-step-icon {
      width: 68px !important;
      height: 68px !important;
      background: linear-gradient(135deg, var(--solar-green), var(--solar-green-mid)) !important;
      border-radius: 50% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      color: #fff !important;
      font-size: 1.6rem !important;
      margin: 0 auto 1.25rem !important;
    }
 
    .process-arrow {
      position: absolute !important;
      top: 50% !important;
      right: -14px !important;
      transform: translateY(-50%) !important;
      z-index: 10 !important;
      color: var(--solar-yellow) !important;
      font-size: 1.75rem !important;
    }
 
    /* ── CTA strip ── */
    .cta-strip {
      background: linear-gradient(to right, var(--solar-green), var(--solar-green-mid)) !important;
    }
 
    /* ── Buttons ── */
    .btn-solar-yellow {
      background-color: var(--solar-yellow) !important;
      color: var(--solar-dark) !important;
      border: none !important;
      font-weight: 600 !important;
      padding: 0.75rem 2rem !important;
      border-radius: 8px !important;
      transition: background-color 0.3s, transform 0.2s, box-shadow 0.3s !important;
      font-family: var(--font-body) !important;
    }
 
    .btn-solar-yellow:hover {
      background-color: var(--solar-yellow-light) !important;
      color: var(--solar-dark) !important;
      transform: scale(1.05) !important;
      box-shadow: 0 8px 24px rgba(255,184,0,0.35) !important;
    }
 
    .btn-solar-outline-white {
      background-color: rgba(255,255,255,0.10) !important;
      color: #fff !important;
      border: 2px solid #fff !important;
      font-weight: 600 !important;
      padding: 0.75rem 2rem !important;
      border-radius: 8px !important;
      transition: background-color 0.3s, box-shadow 0.3s !important;
      font-family: var(--font-body) !important;
    }
 
    .btn-solar-outline-white:hover {
      background-color: rgba(255,255,255,0.22) !important;
      color: #fff !important;
      box-shadow: 0 8px 24px rgba(255,255,255,0.18) !important;
    }
 
    .btn-solar-green {
      background-color: var(--solar-green) !important;
      color: #fff !important;
      border: none !important;
      font-weight: 600 !important;
      padding: 0.75rem 2rem !important;
      border-radius: 8px !important;
      transition: background-color 0.3s, transform 0.2s, box-shadow 0.3s !important;
      font-family: var(--font-body) !important;
    }
 
    .btn-solar-green:hover {
      background-color: var(--solar-green-mid) !important;
      color: #fff !important;
      transform: scale(1.05) !important;
      box-shadow: 0 8px 24px rgba(15,81,50,0.30) !important;
    }
 
    /* ── Check circle ── */
    .check-circle {
      width: 20px !important;
      height: 20px !important;
      min-width: 20px !important;
      background-color: var(--solar-green) !important;
      border-radius: 50% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      color: #fff !important;
      font-size: 0.65rem !important;
    }
 
    /* ── Responsive tweaks ── */
    @media (max-width: 991px) {
      .process-arrow { display: none !important; }
      .product-img  { height: 340px !important; }
    }
 
    @media (max-width: 575px) {
      .product-img { height: 240px !important; }
    }

    /* Kit component cards */
  .kit-card {
    background: var(--solar-bg) !important;
    border-radius: 14px !important;
    padding: 1.4rem !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  }

  .kit-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 32px rgba(0,0,0,0.10) !important;
  }

  .kit-card-icon {
    width: 48px !important;
    height: 48px !important;
    background: linear-gradient(135deg, var(--solar-green), var(--solar-green-mid)) !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 1.25rem !important;
    margin-bottom: 0.9rem !important;
  }

  /* Before & After cards */
  .before-after-card {
    background: #fff !important;
    border-radius: 16px !important;
    padding: 1.75rem !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
  }

  .before-card {
    border-top: 4px solid #dc3545 !important;
  }

  .after-card {
    border-top: 4px solid var(--solar-green) !important;
  }

  .before-after-label {
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    display: flex !important;
    align-items: center !important;
    font-family: var(--font-body) !important;
  }

  .before-label {
    color: #dc3545 !important;
  }

  .after-label {
    color: var(--solar-green) !important;
  }

  /* Savings indicator card */
  .savings-card {
    background: linear-gradient(135deg, var(--solar-green), var(--solar-green-mid)) !important;
    border-radius: 16px !important;
    padding: 1.75rem 2rem !important;
    box-shadow: 0 8px 32px rgba(15,81,50,0.25) !important;
  }

  .savings-icon {
    width: 60px !important;
    height: 60px !important;
    background: rgba(255,255,255,0.18) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--solar-yellow) !important;
    font-size: 1.6rem !important;
  }

  .savings-amount {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--solar-yellow) !important;
    font-family: var(--font-heading) !important;
    line-height: 1.1 !important;
  }

   /* ── Variant Cards ── */
  .variant-card {
    background: #fff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07) !important;
    border: 1px solid rgba(0,0,0,0.05) !important;
    display: flex !important;
    flex-direction: column !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  }

  .variant-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.12) !important;
  }

  .variant-card-img {
    position: relative !important;
    height: 200px !important;
    overflow: hidden !important;
  }

  .variant-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
  }

  .variant-card:hover .variant-card-img img {
    transform: scale(1.05) !important;
  }

  .variant-badge {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    background: var(--solar-yellow) !important;
    color: var(--solar-dark) !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    padding: 4px 10px !important;
    border-radius: 50px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
  }

  .variant-card-body {
    padding: 1.5rem !important;
    flex: 1 !important;
  }

  .variant-icon {
    width: 48px !important;
    height: 48px !important;
    background: linear-gradient(135deg, var(--solar-green), var(--solar-green-mid)) !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 1.25rem !important;
    margin-bottom: 0.85rem !important;
  }

  .variant-wattage {
    display: inline-block !important;
    background: rgba(15,81,50,0.10) !important;
    color: var(--solar-green) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    padding: 3px 10px !important;
    border-radius: 50px !important;
    letter-spacing: 0.05em !important;
  }

  .variant-card-footer {
    padding: 0.85rem 1.5rem !important;
    border-top: 1px solid rgba(0,0,0,0.07) !important;
    background: var(--solar-bg) !important;
  }

  .variant-application {
    font-size: 0.82rem !important;
    color: var(--solar-gray) !important;
    font-weight: 600 !important;
  }

  /* ── Application Cards ── */
  .application-card {
    background: #fff !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.07) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .application-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 36px rgba(0,0,0,0.12) !important;
  }

  .application-card-img {
    position: relative !important;
    height: 180px !important;
    overflow: hidden !important;
  }

  .application-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease !important;
  }

  .application-card:hover .application-card-img img {
    transform: scale(1.06) !important;
  }

  .application-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to top, rgba(15,81,50,0.72), transparent) !important;
    display: flex !important;
    align-items: flex-end !important;
    padding: 1rem !important;
  }

  .application-icon {
    width: 40px !important;
    height: 40px !important;
    background: var(--solar-yellow) !important;
    border-radius: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--solar-dark) !important;
    font-size: 1.1rem !important;
  }

  .application-card-body {
    padding: 1.25rem !important;
    flex: 1 !important;
  }

  /* Contact info cards */
  .contact-info-card {
    background: #F5F5F5;
    border-radius: 1rem;
    padding: 1.5rem;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    cursor: default;
    color: inherit;
    height: 100%;
  }
  a.contact-info-card:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.1);
    transform: translateY(-4px);
  }
  .contact-info-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, var(--solar-green), #1a7a4d);
    border-radius: 0.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.25rem;
    margin-bottom: 1rem;
    transition: transform 0.3s ease;
  }
  a.contact-info-card:hover .contact-info-icon {
    transform: scale(1.1);
  }

  /* Form inputs */
  .contact-input {
    display: block;
    width: 100%;
    padding: 0.75rem 1rem;
    background: #F5F5F5;
    border: 2px solid transparent;
    border-radius: 0.5rem;
    font-size: 0.95rem;
    transition: border-color 0.25s ease;
    outline: none;
    font-family: var(--font-body);
  }
  .contact-input:focus {
    border-color: var(--solar-green);
    background: #fff;
  }

  /* Success message */
  .contact-success {
    background: var(--solar-green);
    border-radius: 1rem;
    padding: 2.5rem;
  }

  /* Map */
  .contact-map-placeholder {
    height: 300px;
    background: #e8f5e9;
  }

  /* Office cards */
  .office-card {
    background: #F5F5F5;
    border-radius: 1rem;
    padding: 1.5rem;
    height: 100%;
    transition: box-shadow 0.3s ease;
  }
  .office-card:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.1);
  }
  .hover-green:hover {
    color: var(--solar-green) !important;
  }

  /* FAQ accordion overrides */
  .contact-faq .accordion-button:not(.collapsed) {
    background: var(--solar-green);
    color: #fff !important;
    box-shadow: none;
  }
  .contact-faq .accordion-button:not(.collapsed)::after {
    filter: brightness(0) invert(1);
  }
  .contact-faq .accordion-button:focus {
    box-shadow: none;
  }
  .contact-faq .accordion-button {
    background: #fff;
    font-family: var(--font-heading);
    font-size: 1.05rem;
  }


  .enq-content {
  border: none;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.18);
}
 
.enq-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 1.25rem 1.5rem 1rem;
  background: linear-gradient(135deg, var(--solar-green, #0F5132), #1a7a4d);
}
.enq-title {
  font-family: var(--font-heading);
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  margin: 0;
}
.enq-sub {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.75);
  margin: 0.2rem 0 0;
}
.enq-close {
  background: rgba(255,255,255,0.15);
  border: none;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.75rem;
  cursor: pointer;
  flex-shrink: 0;
  margin-left: 0.75rem;
  transition: background 0.2s;
}
.enq-close:hover { background: rgba(255,255,255,0.3); }
 
.enq-body {
  padding: 1.25rem 1.5rem 1.5rem;
  background: #fff;
}
 
.enq-field {
  margin-bottom: 0.9rem;
}
.enq-field label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #444;
  margin-bottom: 0.3rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.enq-input {
  display: block;
  width: 100%;
  padding: 0.55rem 0.85rem;
  background: #f5f5f5;
  border: 2px solid transparent;
  border-radius: 0.45rem;
  font-size: 0.88rem;
  font-family: var(--font-body);
  color: #1a1a1a;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
  resize: none;
  appearance: none;
  -webkit-appearance: none;
}
.enq-input:focus {
  border-color: var(--solar-green, #0F5132);
  background: #fff;
}
 
.enq-submit {
  width: 100%;
  margin-top: 0.25rem;
  padding: 0.7rem;
  background: var(--solar-yellow, #FFB800);
  color: #1a1a1a;
  border: none;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  font-weight: 700;
  font-family: var(--font-body);
  cursor: pointer;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
}
.enq-submit:hover {
  background: #ffc933;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(255,184,0,0.35);
}
 
/* Success state */
.enq-success {
  text-align: center;
  padding: 1.5rem 0;
  color: var(--solar-green, #0F5132);
}
.enq-success i {
  font-size: 2.5rem;
  display: block;
  margin-bottom: 0.6rem;
}
.enq-success p {
  font-size: 0.95rem;
  font-weight: 600;
  color: #333;
  margin: 0;
}