@charset "utf-8";
/* CSS Document */

/* Hero Banner Section */
    .wl-hero {
      position: relative;
      min-height: 480px;
      background: url('../assets/banner-weight-loss.jpg') no-repeat center right;
      background-size: cover;
      display: flex;
      align-items: center;
      border-bottom: 1px solid #edf1ee;
    }
    
    /* Overlay to ensure text readability against the banner */
    .wl-hero::before {
      content: "";
      position: absolute;
      inset: 0;
/*      background: linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.85) 45%, rgba(255, 255, 255, 0) 100%);*/
      background: linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.85) 45%, rgba(255, 255, 255, 0) 100%);
      z-index: 1;
    }
    
    .wl-hero-content {
      position: relative;
      z-index: 2;
      max-width: 600px;
      padding: 20px;
    }
    
    .wl-hero-content h1 {
      font-family: var(--heading);
      font-size: 46px;
      line-height: 1.15;
      margin-bottom: 18px;
      color: var(--ink);
    }
    
    .wl-hero-content h1 span {
      color: var(--red);
    }
    
    .wl-hero-content p {
      font-size: 18px;
      color: var(--muted);
      margin-bottom: 30px;
      line-height: 1.6;
    }

    /* Intro Split Layout Section */
    .wl-intro {
      padding: 80px 0;
      background: #fff;
    }
    
    .wl-intro-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
    }
    
    .wl-intro-image {
      position: relative;
    }
    
    .wl-intro-image img {
      width: 100%;
      border-radius: 12px;
      box-shadow: 0 24px 50px rgba(0, 109, 51, 0.15);
      border: 4px solid #fff;
    }

    /* Decorative shape behind image */
    .wl-intro-image::after {
      content: "";
      position: absolute;
      top: -20px;
      left: -20px;
      width: 100%;
      height: 100%;
      background: var(--green-soft);
      border-radius: 12px;
      z-index: -1;
    }
    
    .wl-intro-text h2 {
      font-family: var(--heading);
      font-size: 38px;
      margin: 0 0 20px;
      line-height: 1.2;
    }
    
    .wl-intro-text p {
      margin-bottom: 20px;
      color: var(--muted);
    }
    
    .wl-list {
      list-style: none;
      padding: 0;
      margin: 30px 0;
      display: grid;
      gap: 15px;
    }
    
    .wl-list li {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      font-size: 16px;
      font-weight: 600;
      color: var(--ink);
    }
    
    .wl-list li svg {
      width: 24px;
      height: 24px;
      color: var(--red);
      flex-shrink: 0;
      margin-top: 2px;
    }

    /* Features/Cards Section */
    .wl-programs {
      padding: 80px 0;
      background: var(--soft);
    }
    
    .wl-cards {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: 30px;
      margin-top: 50px;
    }
    
    .wl-card {
      background: #fff;
      padding: 40px 30px;
      border-radius: 12px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
      border-top: 4px solid var(--green);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      text-align: center;
    }
    
    .wl-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 20px 40px rgba(0, 109, 51, 0.12);
    }
    
    .wl-card-icon {
      width: 60px;
      height: 60px;
      background: var(--green-soft);
      color: var(--green);
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 20px;
    }
    
    .wl-card-icon svg {
      width: 30px;
      height: 30px;
    }
    
    .wl-card h3 {
      font-family: var(--heading);
      font-size: 22px;
      margin-bottom: 15px;
      color: var(--green-deep);
    }
    
    .wl-card p {
      color: var(--muted);
      font-size: 15px;
      line-height: 1.7;
      margin: 0;
    }

    /* Responsive adjustments */
    @media (max-width: 1040px) {
      .wl-hero-content h1 { font-size: 38px; }
      .wl-intro-grid { gap: 40px; }
    }
    
    @media (max-width: 820px) {
      .wl-hero {
        min-height: 400px;
        background-position: center;
      }
      .wl-hero::before {
        background: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.85) 60%, rgba(255,255,255,0.4) 100%);
      }
      .wl-hero-content {
        padding: 40px 20px;
        text-align: center;
        margin: 0 auto;
      }
      .wl-hero-content h1 { font-size: 32px; }
      .wl-intro { padding: 50px 0; }
      .wl-intro-grid { grid-template-columns: 1fr; }
      .wl-intro-text { text-align: center; }
      .wl-list li { text-align: left; }
      .wl-intro-image::after { display: none; }
      .wl-programs { padding: 50px 0; }
    }