/* ESG Full Sections */
    .esg-full {
      padding: 7rem 2rem;
      position: relative;
      overflow: hidden;
    }
    .esg-full.e-section { background: linear-gradient(145deg, #0d1a0a 0%, #1a3014 100%); }
    .esg-full.s-section { background: linear-gradient(145deg, #0a1412 0%, #1a2e2a 100%); }
    .esg-full.g-section { background: linear-gradient(145deg, #0a1018 0%, #1a2a3a 100%); }

    .esg-full .section-label {
      position: absolute; top: 3rem; right: 3rem;
      font-size: 10rem; font-weight: 900;
      opacity: .05; line-height: 1; color: #fff;
      pointer-events: none;
    }

    .esg-header { display:grid; grid-template-columns:auto 1fr; gap:2rem; align-items:start; margin-bottom:3.5rem; }
    .esg-big-letter {
      width: 90px; height: 90px; border-radius: 24px;
      display: flex; align-items: center; justify-content: center;
      font-size: 3.5rem; font-weight: 900; color: #fff;
      flex-shrink: 0;
    }
    .esg-big-letter.e { background: linear-gradient(135deg, #3A5E2E, #4D766E); }
    .esg-big-letter.s { background: linear-gradient(135deg, #4D766E, #6290B1); }
    .esg-big-letter.g { background: linear-gradient(135deg, #6290B1, #3A5E2E); }

    .esg-header-text h2 { font-size:clamp(1.8rem,3vw,2.8rem); font-weight:900; color:#fff; margin-bottom:.4rem; line-height:1.1; }
    .esg-header-text .subtitle { font-size:.9rem; color:rgba(255,255,255,.5); font-weight:500; }

    .esg-items-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.2rem; }
    .esg-item {
      background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
      border-radius:16px; padding:1.4rem 1.3rem;
      display:flex; gap:1rem; align-items:flex-start;
      transition:background .3s, border-color .3s, transform .3s;
    }
    .esg-item:hover { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14); transform:translateX(4px); }
    .esg-item-icon {
      width:47px; height:47px; border-radius:10px; flex-shrink:0;
      display:flex; align-items:center; justify-content:center;
    }
    .e-section .esg-item-icon { background:rgba(138,153,58,.2); color: #ffffff; }
    .s-section .esg-item-icon { background:rgba(77,118,110,.25); color: #ffffff; }
    .g-section .esg-item-icon { background:rgba(98,144,177,.2); color: #ffffff; }
    .esg-item h4 { font-size:.88rem; font-weight:700; color:#fff; margin-bottom:.3rem; }
    .esg-item p  { font-size:.8rem; color:rgba(255,255,255,.55); line-height:1.6; }

    .esg-feature {
      display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; margin-bottom:3rem;
    }
    .esg-img { border-radius:20px; overflow:hidden; }
    .esg-img img { width:100%; aspect-ratio:16/10; object-fit:cover; }

    /* Horizontal timeline for ESG cycle */
    .esg-cycle {
      display:grid; grid-template-columns:repeat(4,1fr);
      position:relative; gap:0;
    }
    .esg-cycle::before {
      content:''; position:absolute; top:2.2rem; left:10%; right:10%; height:1px;
      background:linear-gradient(to right, var(--verde-luz), var(--azul)); z-index:0;
    }
    .cycle-step { text-align:center; padding:0 1rem; position:relative; z-index:1; }
    .cycle-dot {
      width:44px; height:44px; border-radius:50%;
      background:var(--grad); margin:0 auto 1.2rem;
      display:flex; align-items:center; justify-content:center;
      font-size:1rem; font-weight:800; color:#fff;
      box-shadow:0 0 0 4px rgba(138,153,58,.15);
    }
    .cycle-step h4 { font-size:.85rem; font-weight:700; color:#fff; margin-bottom:.4rem; }
    .cycle-step p { font-size:.78rem; color:rgba(255,255,255,.5); line-height:1.5; }

    @media(max-width:768px){
      .esg-header{grid-template-columns:1fr;}
      .esg-feature{grid-template-columns:1fr;}
      .esg-cycle{grid-template-columns:repeat(2,1fr);}
      .esg-cycle::before{display:none;}
    }