:root{
  --green-950:#042716;
  --green-900:#06351e;
  --green-800:#084625;
  --green-700:#0f6938;
  --green-600:#198448;
  --gold:#c7953a;
  --ink:#103820;
  --muted:#52665b;
  --line:#d9e7dc;
  --soft:#fbfaf6;
}
*{box-sizing:border-box}
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{margin:0;font-family:"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.32}
.site-header{box-shadow:0 1px 0 rgba(0,0,0,.06);position:relative;z-index:5}.brand-logo{width:255px;max-width:42vw;height:auto}.navbar{border-bottom:1px solid #eee}.nav-link{font-size:14px;font-weight:650;color:#101c16!important;padding:10px 0!important}.nav-link.active{color:#b87c1a!important;border-bottom:2px solid var(--gold)}.access-btn{background:var(--green-900);color:#fff!important;border-radius:7px;padding:10px 16px;font-weight:700;box-shadow:0 9px 16px rgba(4,39,22,.17)}.access-btn:hover{background:var(--green-700)}
.allies-strip{padding:12px 0 18px;background:#fff}.allies-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-bottom:12px;color:#304238;font-size:11px;letter-spacing:.02em}.allies-title span{height:1px;background:#d6d1c4}.partner-row .col{text-align:center}.partner-row img{max-width:145px;max-height:58px;width:auto;height:auto;object-fit:contain;filter:saturate(1.02)}.partner-row .col:nth-child(3) img,.partner-row .col:nth-child(4) img{max-height:64px}.partner-row .col:nth-child(5) img{max-height:54px}.partner-row .col:nth-child(7) img{max-height:60px}
.hero{width:100%;overflow:hidden;border-top:1px solid #eef0ea;border-bottom:1px solid #e5e5da}.hero img{width:100%;display:block;height:auto}
.intro-cards{background:#fff}.info-card{display:grid;grid-template-columns:78px 1fr;gap:16px;align-items:center;border:1.5px solid #e1c99a;border-radius:14px;background:#fffdf9;padding:20px 18px;min-height:145px}.info-card h3{font-size:17px;line-height:1.18;font-weight:800;color:#09391f;margin:0 0 8px}.info-card p{font-size:11px;margin:0;color:#27382f}.icon-box{width:66px;height:66px;border:4px solid var(--green-900);color:var(--green-900);border-radius:6px;display:grid;place-items:center;font-size:34px;font-weight:900;line-height:1}.info-card:nth-child(2) .icon-box,.info-card:nth-child(3) .icon-box,.info-card:nth-child(4) .icon-box{border:none;font-size:60px;color:var(--green-700)}
.section-title{display:flex;align-items:center;justify-content:center;gap:22px;text-align:center;margin:14px 0 22px}.section-title span{display:block;width:95px;height:2px;background:var(--gold)}.section-title h2{font-size:34px;line-height:1.1;font-weight:850;color:var(--green-900);margin:0}.section-title.compact h2{font-size:32px}.module-img{width:100%;height:100%;object-fit:contain;border-radius:14px;display:block;filter:drop-shadow(0 9px 12px rgba(0,0,0,.06))}.components{background:#fff}.actors{background:#fff}.actor-card{height:100%;background:#fff;border:1px solid #e2e7e3;border-radius:13px;overflow:hidden;text-align:center;box-shadow:0 8px 16px rgba(8,48,25,.05)}.actor-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.actor-card h3{font-size:14px;font-weight:800;line-height:1.12;color:#153821;margin:12px 8px 2px}.actor-card p{font-size:11px;color:#2b3c32;margin:0 8px 14px;line-height:1.2}.benefits{background:#fff}.benefit-row{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #e6eee8;border-bottom:1px solid #e6eee8}.benefit-row div{display:flex;align-items:center;gap:12px;padding:13px 14px;border-right:1px solid #e3ebe5;min-height:70px}.benefit-row div:last-child{border-right:0}.benefit-row b{width:44px;height:44px;border:2px solid var(--green-700);border-radius:50%;display:grid;place-items:center;color:var(--green-700);font-size:21px;flex:0 0 auto}.benefit-row span{font-size:11px;font-weight:700;color:#1b3827}
.footer{background:radial-gradient(circle at 80% 80%,rgba(164,128,39,.16),transparent 25%),linear-gradient(135deg,#063017,#073c20 60%,#052515);color:#fff;padding:34px 0 0}.footer-brand img{max-width:230px;width:100%;filter:brightness(1.02)}.footer p{font-size:13px;color:#e0eee4;margin:8px 0}.footer-col{border-left:1px solid rgba(255,255,255,.28);padding-left:30px}.footer h4{font-size:16px;font-weight:800;margin:0 0 14px;color:#fff}.footer-col a{display:block;color:#e0eee4;font-size:13px;margin:4px 0;text-decoration:none}.footer-coop{border-left:1px solid rgba(255,255,255,.28);padding-left:35px}.flags{display:flex;gap:9px;margin-top:14px}.flags.big{margin-top:18px}.flag-co,.flag-jp{width:44px;height:30px;border-radius:3px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.25);overflow:hidden;display:grid}.flag-co{grid-template-rows:2fr 1fr 1fr}.flag-co i:nth-child(1){background:#f7d116}.flag-co i:nth-child(2){background:#003893}.flag-co i:nth-child(3){background:#ce1126}.flag-jp{place-items:center}.flag-jp i{width:13px;height:13px;border-radius:50%;background:#bc002d}.big .flag-co,.big .flag-jp{width:56px;height:38px}.big .flag-jp i{width:17px;height:17px}.handshake{font-size:68px;opacity:.22;text-align:right;margin-top:-30px}.copyright{text-align:center;font-size:11px;color:#dcece1;border-top:1px solid rgba(255,255,255,.18);padding:14px 0;margin-top:24px}
@media (max-width:1199px){.brand-logo{width:220px}.section-title h2{font-size:28px}.benefit-row{grid-template-columns:repeat(3,1fr)}}
@media (max-width:991px){.navbar-collapse{padding-top:14px}.access-btn{margin-top:12px}.partner-row img{max-width:120px}.info-card{grid-template-columns:68px 1fr}.footer-col,.footer-coop{border-left:0;padding-left:12px}.benefit-row{grid-template-columns:repeat(2,1fr)}}
@media (max-width:575px){.brand-logo{width:185px}.section-title{gap:10px}.section-title span{width:45px}.section-title h2{font-size:23px}.info-card{grid-template-columns:1fr;text-align:center}.icon-box{margin:auto}.benefit-row{grid-template-columns:1fr}.benefit-row div{border-right:0;border-bottom:1px solid #e3ebe5}.actor-card h3{font-size:12px}.actor-card p{font-size:11px}.partner-row img{max-width:96px}.allies-title{gap:8px}}

/* Ajustes de fidelidad al mockup */
.allies-strip{padding:8px 0 12px;}
.partner-row{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:nowrap;width:100%;}
.partner-row img{display:block;width:auto;height:auto;max-height:54px;max-width:150px;object-fit:contain;}
.partner-row img:nth-child(1){max-height:56px;max-width:110px;}
.partner-row img:nth-child(2){max-height:56px;max-width:160px;}
.partner-row img:nth-child(3){max-height:72px;max-width:135px;}
.partner-row img:nth-child(4){max-height:72px;max-width:100px;}
.partner-row img:nth-child(5){max-height:50px;max-width:85px;}
.partner-row img:nth-child(6){max-height:55px;max-width:155px;}
.partner-row img:nth-child(7){max-height:58px;max-width:150px;}
.info-card{grid-template-columns:92px 1fr;gap:18px;padding:18px 22px;min-height:134px;}
.icon-box,.info-card:nth-child(2) .icon-box,.info-card:nth-child(3) .icon-box,.info-card:nth-child(4) .icon-box{width:78px;height:78px;border:0;border-radius:0;background:transparent;display:flex;align-items:center;justify-content:center;}
.icon-box img{max-width:78px;max-height:78px;width:auto;height:auto;display:block;object-fit:contain;}
.info-card:nth-child(4) .icon-box img{max-width:86px;max-height:86px;}
.components .row{align-items:stretch;}
.components .col-lg-4{display:flex;}
.module-img{height:100%;min-height:360px;max-height:390px;object-fit:contain;background:#fff;border-radius:14px;margin:auto;}
.benefit-row b{display:none;}
.benefit-row img{width:52px;height:52px;object-fit:contain;flex:0 0 auto;}
.benefit-row div{gap:14px;}
.footer-brand>img{display:none;}
.footer-satreps-logo{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.footer-mark{width:54px;height:54px;border:2px solid #b9974c;border-radius:50%;display:grid;place-items:center;color:#b9974c;font-size:26px;line-height:1;}
.footer-satreps-logo strong{display:block;color:#93be45;font-size:28px;line-height:1;font-weight:900;letter-spacing:.02em;}
.footer-satreps-logo small{display:block;color:#f1f6e6;font-size:10px;font-weight:700;letter-spacing:.02em;margin-top:2px;}
@media (max-width:1199px){.partner-row{gap:14px}.partner-row img{max-width:120px}.module-img{min-height:310px}}
@media (max-width:991px){.partner-row{flex-wrap:wrap;justify-content:center}.partner-row img{max-width:120px}.module-img{min-height:auto;max-height:none}.info-card{grid-template-columns:82px 1fr}}
@media (max-width:575px){.info-card{grid-template-columns:1fr}.icon-box{margin:auto}.partner-row{gap:18px}.partner-row img{max-width:100px}.benefit-row img{width:46px;height:46px}}


/* Correcciones finales solicitadas */
.components .row.g-4{align-items:stretch;}
.components .col-lg-4{display:flex;align-items:stretch;justify-content:center;}
.module-img{
  width:100%;
  height:390px;
  object-fit:contain;
  object-position:center center;
  background:#fff;
  border-radius:14px;
}
.footer-mark{display:none;}
.footer-icon{
  width:58px;
  height:58px;
  object-fit:contain;
  flex:0 0 auto;
}
.footer-satreps-logo{align-items:center;}
@media (max-width:1199px){.module-img{height:340px;}}
@media (max-width:991px){.module-img{height:auto;max-height:none;}}


/* Corrección footer: evita solapes y centra banderas */
.footer .row{
  display:grid;
  grid-template-columns: 1.15fr .78fr 1.22fr 1.35fr;
  column-gap:42px;
  row-gap:28px;
  align-items:start;
}
.footer .row > [class*="col-"]{
  width:auto;
  max-width:none;
  flex:none;
  padding-left:0;
  padding-right:0;
  min-width:0;
}
.footer-brand{
  text-align:left;
  padding-right:22px;
}
.footer-satreps-logo{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:18px;
  max-width:100%;
}
.footer-icon{
  width:62px;
  height:62px;
  object-fit:contain;
  flex:0 0 62px;
  background:transparent;
}
.footer-satreps-logo strong{
  display:block;
  color:#93be45;
  font-size:31px;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
}
.footer-satreps-logo small{
  display:block;
  color:#fff;
  font-size:13px;
  line-height:1.15;
  font-weight:800;
  margin-top:4px;
  white-space:nowrap;
}
.footer-brand .flags{
  justify-content:center;
  width:100%;
  margin-top:22px;
}
.footer-coop .flags{
  justify-content:center;
  max-width:230px;
}
.footer-col,
.footer-coop{
  border-left:1px solid rgba(255,255,255,.24);
  padding-left:34px!important;
}
.footer-col a{font-size:14px;margin:7px 0;}
.footer p{font-size:14px;line-height:1.45;}
.footer h4{font-size:20px;line-height:1.15;margin-bottom:18px;}
.handshake{margin-right:28px;}
@media (max-width:1199px){
  .footer .row{grid-template-columns:1fr 1fr;}
  .footer-col,.footer-coop{border-left:0;padding-left:0!important;}
}
@media (max-width:575px){
  .footer .row{grid-template-columns:1fr;}
  .footer-brand{text-align:center;padding-right:0;}
  .footer-satreps-logo{justify-content:center;}
  .footer-coop .flags{max-width:none;}
}


/* HERO final: se comporta como el resto del sitio.
   No se fuerza a 100vw, no se recorta y respeta el ancho real del mockup.
   Así, al cambiar el zoom del navegador, el hero crece o se reduce con la página. */
.hero{
  display:block;
  width:100%;
  max-width:1375px;
  margin:0 auto;
  overflow:visible;
  border-top:1px solid #eef0ea;
  border-bottom:1px solid #e5e5da;
  background:#fff;
}
.hero img{
  display:block;
  width:100%;
  height:auto;
  max-width:1375px;
  margin:0 auto;
  object-fit:contain;
  object-position:center top;
}
img{max-width:100%;}


/* Ajuste footer: usar el mismo logo institucional del header sin texto adicional */
.footer-satreps-logo{
  display:block;
  margin-bottom:18px;
}
.footer-logo-institutional{
  display:block;
  width:min(230px, 100%);
  height:auto;
  object-fit:contain;
  background:#fff;
}
.footer-icon,
.footer-satreps-logo span,
.footer-satreps-logo strong,
.footer-satreps-logo small{
  display:none!important;
}
@media (max-width:575px){
  .footer-logo-institutional{
    margin-left:auto;
    margin-right:auto;
    width:min(250px, 86vw);
  }
}

/* Módulos interactivos reconstruidos en HTML/CSS */
.module-cards-row{align-items:stretch;}
.platform-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:620px;
  padding:28px 28px 30px;
  border:2px solid rgba(15,105,56,.34);
  border-radius:22px;
  background:linear-gradient(145deg,#ffffff 0%,#fbfdfb 58%,#f5faf6 100%);
  box-shadow:0 10px 26px rgba(6,53,30,.08);
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  cursor:pointer;
}
.platform-card:hover{
  transform:translateY(-8px);
  box-shadow:0 22px 42px rgba(6,53,30,.18);
  border-color:rgba(15,105,56,.68);
}
.platform-card-blue{border-color:rgba(0,84,145,.30);}
.platform-card-blue:hover{border-color:rgba(0,84,145,.62);}
.card-heading{display:grid;grid-template-columns:88px 1fr;gap:18px;align-items:center;margin-bottom:18px;min-height:82px;}
.step-badge{
  width:78px;height:78px;border-radius:50%;display:grid;place-items:center;
  color:#fff;font-size:48px;font-weight:900;line-height:1;
  box-shadow:inset 0 -8px 18px rgba(0,0,0,.16),0 8px 18px rgba(0,0,0,.10);
}
.step-badge.green{background:linear-gradient(145deg,#198448,#075420);}
.step-badge.blue{background:linear-gradient(145deg,#0b6fa5,#064774);}
.card-heading h3{margin:0;font-size:25px;line-height:1.12;font-weight:900;color:#07391f;}
.platform-card-blue .card-heading h3{color:#064774;}
.grassfed-visual{display:grid;grid-template-columns:1.12fr .9fr;align-items:center;gap:12px;margin:2px 0 18px;min-height:245px;}
.grassfed-seal{width:100%;max-width:245px;justify-self:center;filter:drop-shadow(0 10px 10px rgba(0,0,0,.12));}
.grassfed-phone{width:100%;max-width:190px;justify-self:center;filter:drop-shadow(0 14px 12px rgba(0,0,0,.16));}
.growth-visual{display:grid;grid-template-columns:1fr .82fr;align-items:center;gap:18px;margin:8px 0 14px;min-height:285px;}
.growth-chart{width:100%;max-width:250px;justify-self:center;border-radius:14px;filter:drop-shadow(0 7px 9px rgba(0,84,145,.08));}
.growth-map{width:100%;max-width:210px;justify-self:center;filter:drop-shadow(0 8px 10px rgba(0,0,0,.08));}
.rotation-visual{
  height:285px;
  margin:4px -28px 10px;
  background-image:linear-gradient(to bottom,rgba(255,255,255,0) 62%,rgba(255,255,255,.96) 100%),url('assets/rotacion-potreros.png');
  background-size:cover;
  background-position:center top;
  border-top:1px solid rgba(15,105,56,.10);
  border-bottom:1px solid rgba(15,105,56,.08);
}
.module-checklist{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:12px;font-size:17px;font-weight:600;color:#183525;}
.module-checklist li{display:flex;align-items:center;gap:12px;}
.module-checklist li::before{content:'✓';width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:#fff;font-size:14px;font-weight:900;flex:0 0 auto;}
.green-list li::before{background:#0f6938;}
.blue-list li::before{background:#075c93;}
.rotation-list{margin-top:0;}
.card-actions{display:grid;gap:12px;margin-top:auto;padding:0 34px;}
.card-actions.single{padding:0 54px;}
.module-btn{
  display:flex;align-items:center;justify-content:center;gap:18px;
  min-height:56px;padding:10px 16px;border-radius:10px;text-decoration:none!important;
  color:#fff!important;font-size:18px;font-weight:850;line-height:1.1;text-align:center;
  box-shadow:0 7px 13px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
  cursor:pointer;
}
.module-btn span{margin-left:auto;font-size:30px;line-height:1;}
.module-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 13px 22px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.20);filter:saturate(1.07);}
.green-btn{background:linear-gradient(180deg,#0c7439 0%,#064d25 100%);}
.green-btn.secondary{background:linear-gradient(180deg,#118946 0%,#07632e 100%);}
.blue-btn{background:linear-gradient(180deg,#096aa5 0%,#054d7f 100%);}
.platform-card::after{content:'☝';position:absolute;right:18px;bottom:4px;font-size:32px;opacity:.9;filter:drop-shadow(0 2px 2px rgba(0,0,0,.14));pointer-events:none;transition:transform .25s ease;}
.platform-card:hover::after{transform:translateY(-4px) rotate(-8deg);}
@media (max-width:1399px){
  .platform-card{padding:24px 22px;min-height:590px;}
  .card-heading{grid-template-columns:76px 1fr;gap:14px;}
  .step-badge{width:68px;height:68px;font-size:42px;}
  .card-heading h3{font-size:21px;}
  .module-checklist{font-size:14px;gap:10px;}
  .card-actions{padding:0 20px;}
  .card-actions.single{padding:0 32px;}
  .rotation-visual{margin-left:-22px;margin-right:-22px;}
}
@media (max-width:991px){
  .platform-card{min-height:auto;max-width:620px;margin:0 auto;}
  .grassfed-seal{max-width:250px}.grassfed-phone{max-width:185px}
  .growth-chart{max-width:260px}.growth-map{max-width:220px}
}
@media (max-width:575px){
  .platform-card{padding:20px 16px;border-radius:18px;}
  .card-heading{grid-template-columns:62px 1fr;gap:12px;}
  .step-badge{width:58px;height:58px;font-size:34px;}
  .card-heading h3{font-size:19px;}
  .grassfed-visual,.growth-visual{grid-template-columns:1fr;min-height:auto;gap:10px;}
  .grassfed-seal{max-width:220px}.grassfed-phone{max-width:160px}
  .growth-chart{max-width:240px}.growth-map{max-width:190px}
  .rotation-visual{height:230px;margin-left:-16px;margin-right:-16px;}
  .card-actions,.card-actions.single{padding:0;}
  .module-btn{font-size:16px;min-height:52px;}
  .platform-card::after{display:none;}
}


/* Ajuste visual solicitado: tarjetas más compactas y parecidas a la maqueta original */
.components{padding-top:8px;}
.module-cards-row{align-items:stretch;}
.platform-card{
  min-height:500px;
  padding:18px 20px 20px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 22px rgba(6,53,30,.08);
}
.platform-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(6,53,30,.16);
}
.card-heading{
  grid-template-columns:58px 1fr;
  gap:14px;
  margin-bottom:10px;
  min-height:58px;
}
.step-badge{
  width:56px;
  height:56px;
  font-size:34px;
  box-shadow:inset 0 -5px 12px rgba(0,0,0,.14),0 6px 14px rgba(0,0,0,.09);
}
.card-heading h3{
  font-size:18px;
  line-height:1.15;
  letter-spacing:-.2px;
}
.grassfed-visual{
  grid-template-columns:1.12fr .88fr;
  min-height:195px;
  gap:8px;
  margin:0 0 8px;
}
.grassfed-seal{
  max-width:205px;
  filter:none;
  mix-blend-mode:multiply;
}
.grassfed-phone{
  max-width:155px;
  filter:drop-shadow(0 8px 9px rgba(0,0,0,.12));
  mix-blend-mode:multiply;
}
.growth-visual{
  min-height:225px;
  gap:10px;
  margin:0 0 8px;
}
.growth-chart{
  max-width:205px;
  filter:none;
  mix-blend-mode:multiply;
}
.growth-map{
  max-width:175px;
  filter:none;
  mix-blend-mode:multiply;
}
.module-checklist{
  gap:7px;
  font-size:13.5px;
  font-weight:600;
  margin-bottom:14px;
}
.module-checklist li{gap:9px;}
.module-checklist li::before{
  width:18px;
  height:18px;
  font-size:11px;
}
.card-actions{
  gap:8px;
  padding:0 32px;
}
.card-actions.single{padding:0 46px;}
.module-btn{
  min-height:36px;
  padding:8px 16px;
  border-radius:8px;
  font-size:14.5px;
  font-weight:820;
  box-shadow:0 5px 10px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.15);
}
.module-btn span{
  font-size:22px;
}
.platform-card::after{
  right:10px;
  bottom:-2px;
  font-size:24px;
}

/* Tarjeta 3: la imagen vuelve a sentirse como fondo del recuadro */
.rotation-card{
  background-image:linear-gradient(to bottom, #fff 0 18%, rgba(255,255,255,.58) 36%, rgba(255,255,255,.20) 54%, rgba(255,255,255,.90) 77%, #fff 100%), url('assets/rotacion-potreros.png');
  background-size:cover;
  background-position:center 72px;
  background-repeat:no-repeat;
}
.rotation-card .rotation-visual{display:none;}
.rotation-card .rotation-list{
  margin-top:258px;
  position:relative;
  z-index:1;
}
.rotation-card .card-actions{position:relative;z-index:1;}

@media (max-width:1399px){
  .platform-card{min-height:475px;padding:16px 18px 18px;}
  .card-heading{grid-template-columns:52px 1fr;gap:12px;min-height:52px;}
  .step-badge{width:50px;height:50px;font-size:30px;}
  .card-heading h3{font-size:16.5px;}
  .grassfed-visual{min-height:178px;}
  .grassfed-seal{max-width:185px;}
  .grassfed-phone{max-width:142px;}
  .growth-visual{min-height:205px;}
  .growth-chart{max-width:186px;}
  .growth-map{max-width:158px;}
  .module-checklist{font-size:12.8px;gap:6px;}
  .card-actions{padding:0 24px;}
  .card-actions.single{padding:0 38px;}
  .module-btn{font-size:13.5px;min-height:39px;}
  .rotation-card{background-position:center 65px;}
  .rotation-card .rotation-list{margin-top:238px;}
}
@media (max-width:991px){
  .platform-card{max-width:560px;min-height:auto;}
  .card-heading h3{font-size:18px;}
  .grassfed-visual{min-height:auto;}
  .grassfed-seal{max-width:205px;}
  .grassfed-phone{max-width:155px;}
  .growth-visual{min-height:auto;}
  .growth-chart{max-width:205px;}
  .growth-map{max-width:175px;}
  .rotation-card{min-height:500px;background-position:center 76px;}
  .rotation-card .rotation-list{margin-top:260px;}
}
@media (max-width:575px){
  .platform-card{padding:16px 14px 18px;}
  .card-heading{grid-template-columns:48px 1fr;}
  .step-badge{width:46px;height:46px;font-size:27px;}
  .card-heading h3{font-size:16px;}
  .grassfed-visual,.growth-visual{grid-template-columns:1fr 1fr;}
  .grassfed-seal{max-width:155px;}
  .grassfed-phone{max-width:120px;}
  .growth-chart{max-width:155px;}
  .growth-map{max-width:125px;}
  .module-checklist{font-size:13px;}
  .card-actions,.card-actions.single{padding:0 10px;}
  .module-btn{font-size:13.5px;min-height:40px;}
  .rotation-card{min-height:480px;background-position:center 70px;}
  .rotation-card .rotation-list{margin-top:245px;}
}

/* Ajuste final: proporciones más cercanas al diseño original */
.components .section-title h2{
  font-size:clamp(1.55rem,2.5vw,2.35rem);
}
.platform-card{
  min-height:452px !important;
  padding:15px 18px 17px !important;
  border-radius:17px !important;
}
.card-heading{
  grid-template-columns:48px 1fr !important;
  gap:11px !important;
  min-height:48px !important;
  margin-bottom:8px !important;
}
.step-badge{
  width:46px !important;
  height:46px !important;
  font-size:28px !important;
  box-shadow:inset 0 -4px 10px rgba(0,0,0,.14),0 5px 12px rgba(0,0,0,.08) !important;
}
.card-heading h3{
  font-size:15.2px !important;
  line-height:1.15 !important;
  letter-spacing:-.15px !important;
}
.grassfed-visual{
  min-height:170px !important;
  grid-template-columns:1.08fr .92fr !important;
  gap:5px !important;
  margin:0 0 7px !important;
}
.grassfed-seal{
  max-width:176px !important;
  filter:drop-shadow(0 8px 9px rgba(0,0,0,.08)) !important;
  mix-blend-mode:normal !important;
}
.grassfed-phone{
  max-width:132px !important;
  filter:drop-shadow(0 8px 9px rgba(0,0,0,.12)) !important;
  mix-blend-mode:normal !important;
}
.growth-visual{
  min-height:192px !important;
  grid-template-columns:1fr .78fr !important;
  gap:6px !important;
  margin:0 0 7px !important;
}
.growth-chart{
  max-width:172px !important;
  filter:drop-shadow(0 6px 8px rgba(0,84,145,.08)) !important;
  mix-blend-mode:normal !important;
}
.growth-map{
  max-width:142px !important;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.05)) !important;
  mix-blend-mode:normal !important;
}
.module-checklist{
  font-size:12px !important;
  line-height:1.18 !important;
  gap:5px !important;
  font-weight:520 !important;
  margin-bottom:11px !important;
}
.module-checklist li{gap:7px !important;}
.module-checklist li::before{
  width:16px !important;
  height:16px !important;
  font-size:10.5px !important;
}
.card-actions{
  gap:7px !important;
  padding:0 34px !important;
}
.card-actions.single{padding:0 48px !important;}
.module-btn{
  min-height:34px !important;
  padding:6px 14px !important;
  border-radius:7px !important;
  font-size:12.8px !important;
  font-weight:780 !important;
}
.module-btn span{font-size:18px !important;}
.platform-card::after{font-size:20px !important;right:9px !important;bottom:-3px !important;}

/* Tarjeta 3: imagen como fondo, labels en negro y con menos lavado visual */
.rotation-card{
  background-image:linear-gradient(to bottom, #fff 0 20%, rgba(255,255,255,.30) 31%, rgba(255,255,255,.06) 52%, rgba(255,255,255,.72) 76%, #fff 100%), url('assets/rotacion-potreros.png') !important;
  background-size:cover !important;
  background-position:center 58px !important;
}
.rotation-card .rotation-list{
  color:#000 !important;
  margin-top:226px !important;
  text-shadow:0 1px 1px rgba(255,255,255,.35);
}
.rotation-card .rotation-list li{color:#000 !important;}

@media (min-width:1400px){
  .module-cards-row{max-width:1480px;margin-left:auto;margin-right:auto;}
}
@media (max-width:1399px){
  .platform-card{min-height:430px !important;padding:14px 16px 16px !important;}
  .card-heading{grid-template-columns:44px 1fr !important;gap:10px !important;min-height:44px !important;}
  .step-badge{width:42px !important;height:42px !important;font-size:25px !important;}
  .card-heading h3{font-size:14px !important;}
  .grassfed-visual{min-height:158px !important;}
  .grassfed-seal{max-width:160px !important;}
  .grassfed-phone{max-width:120px !important;}
  .growth-visual{min-height:178px !important;}
  .growth-chart{max-width:158px !important;}
  .growth-map{max-width:132px !important;}
  .module-checklist{font-size:11.3px !important;gap:4px !important;}
  .module-btn{font-size:12px !important;min-height:32px !important;}
  .rotation-card{background-position:center 54px !important;}
  .rotation-card .rotation-list{margin-top:208px !important;}
}
@media (max-width:991px){
  .platform-card{max-width:520px !important;min-height:auto !important;}
  .card-heading h3{font-size:15px !important;}
  .module-checklist{font-size:12.5px !important;}
  .rotation-card{min-height:452px !important;background-position:center 58px !important;}
  .rotation-card .rotation-list{margin-top:220px !important;}
}
@media (max-width:575px){
  .card-heading{grid-template-columns:42px 1fr !important;}
  .step-badge{width:40px !important;height:40px !important;font-size:24px !important;}
  .card-heading h3{font-size:14.5px !important;}
  .grassfed-seal{max-width:145px !important;}
  .grassfed-phone{max-width:108px !important;}
  .growth-chart{max-width:145px !important;}
  .growth-map{max-width:118px !important;}
  .card-actions,.card-actions.single{padding:0 12px !important;}
}

/* ===== Ajustes finales solicitados: logos, menú y módulos ===== */
.navbar-brand{padding:0;}
.brand-logo{
  width:auto !important;
  height:76px !important;
  max-width:none !important;
  object-fit:contain;
}
.access-dropdown{display:inline-block;}
.access-dropdown .access-btn{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:2px;
  border:0;
}
.access-menu{
  border:0;
  border-radius:10px;
  padding:8px;
  min-width:220px;
  box-shadow:0 16px 32px rgba(4,39,22,.18);
}
.access-menu .dropdown-item{
  border-radius:7px;
  padding:10px 12px;
  font-size:14px;
  font-weight:750;
  color:var(--green-900);
}
.access-menu .dropdown-item:hover,
.access-menu .dropdown-item:focus{
  background:#edf7f0;
  color:var(--green-700);
}

/* Al quitar los recuadros introductorios, se mantiene una separación limpia */
.components{padding-top:28px;}

/* Footer: nuevo logo gris recortado */
.footer-logo-colombian-beef{
  width:118px !important;
  max-width:118px !important;
  height:auto !important;
  object-fit:contain;
  filter:none !important;
  display:block;
}
.footer-satreps-logo{justify-content:flex-start;}

/* Tarjeta 1: queda solo un botón, centrado y equilibrado */
.platform-card-green .card-actions:has(.module-btn:only-child){
  padding:0 42px !important;
}
.platform-card-green .card-actions .module-btn:only-child{
  width:100%;
}

/* Aumentar el celular aproximadamente 40% */
.grassfed-phone{
  max-width:185px !important;
}
.grassfed-visual{
  grid-template-columns:1fr 1.03fr !important;
  gap:8px !important;
}
@media (max-width:1399px){
  .grassfed-phone{max-width:168px !important;}
  .grassfed-visual{grid-template-columns:1fr 1fr !important;}
}
@media (max-width:991px){
  .brand-logo{height:64px !important;}
  .access-dropdown{margin-top:12px;}
  .grassfed-phone{max-width:165px !important;}
}
@media (max-width:575px){
  .brand-logo{height:58px !important;}
  .platform-card-green .card-actions:has(.module-btn:only-child){padding:0 16px !important;}
  .grassfed-phone{max-width:140px !important;}
}
.platform-card-green .card-actions.single{padding:0 42px !important;}
@media (max-width:575px){.platform-card-green .card-actions.single{padding:0 16px !important;}}

/* ===== Correcciones finales: posición logos y estado del desplegable ===== */
.site-header .navbar .container-xxl{
  display:flex;
  align-items:center;
}
.site-header .navbar-brand{
  min-width:145px;
  display:flex !important;
  justify-content:center;
  align-items:center;
  padding:0 !important;
  margin-right:22px;
}
.site-header .brand-logo{
  height:92px !important;
  width:auto !important;
  max-width:145px !important;
  object-fit:contain;
  object-position:center;
  display:block;
}

/* Mantener el botón verde visible mientras el menú está abierto o enfocado */
.access-dropdown .access-btn,
.access-dropdown .access-btn:hover,
.access-dropdown .access-btn:focus,
.access-dropdown .access-btn:active,
.access-dropdown .access-btn.show,
.access-dropdown .access-btn[aria-expanded="true"],
.access-dropdown.show .access-btn,
.btn.access-btn:first-child:active{
  background:var(--green-900) !important;
  color:#fff !important;
  border-color:var(--green-900) !important;
  box-shadow:0 9px 16px rgba(4,39,22,.17) !important;
}
.access-dropdown .access-btn::after{
  color:#fff !important;
  opacity:1 !important;
}
.access-dropdown .access-menu{
  margin-top:8px !important;
  z-index:9999;
}

/* Centrar y aumentar un poco el logo inferior izquierdo */
.footer-brand{
  text-align:center;
}
.footer-satreps-logo{
  justify-content:center !important;
  align-items:center !important;
  width:100%;
}
.footer-logo-colombian-beef{
  width:152px !important;
  max-width:152px !important;
  margin:0 auto 8px auto !important;
  display:block !important;
}

@media (max-width:991px){
  .site-header .navbar-brand{min-width:122px;margin-right:0;}
  .site-header .brand-logo{height:78px !important;max-width:122px !important;}
}
@media (max-width:575px){
  .site-header .brand-logo{height:68px !important;max-width:110px !important;}
  .footer-logo-colombian-beef{width:132px !important;max-width:132px !important;}
}


/* User requested logo fix */
.site-header .navbar-brand{
  display:flex;
  justify-content:center;
  align-items:center;
  min-width:170px !important;
}
.site-header .brand-logo{
  height:92px !important;
  width:auto !important;
  max-width:160px !important;
}
.footer-logo-colombian-beef{
  width:92px !important;
  max-width:92px !important;
}
@media (max-width:991px){
 .site-header .brand-logo{height:74px !important;max-width:130px !important;}
}

/* ===== Ajuste solicitado: logos header/footer ===== */
.site-header .navbar-brand{
  min-width:240px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  padding:0 !important;
  margin-right:28px !important;
}
.site-header .brand-logo{
  height:106px !important;
  width:auto !important;
  max-width:190px !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
}
.footer-logo-colombian-beef{
  width:78px !important;
  max-width:78px !important;
  height:auto !important;
  margin:0 auto 8px auto !important;
  display:block !important;
}
@media (max-width:991px){
  .site-header .navbar-brand{min-width:170px !important;margin-right:8px !important;}
  .site-header .brand-logo{height:86px !important;max-width:150px !important;}
  .footer-logo-colombian-beef{width:72px !important;max-width:72px !important;}
}
@media (max-width:575px){
  .site-header .navbar-brand{min-width:135px !important;margin-right:0 !important;}
  .site-header .brand-logo{height:74px !important;max-width:125px !important;}
  .footer-logo-colombian-beef{width:66px !important;max-width:66px !important;}
}

/* ===== Ajustes conservando estilo actual ===== */
.site-header .navbar-brand{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:16px !important;
  min-width:330px !important;
  margin-right:22px !important;
}
.brand-logo-new{
  display:block;
  width:auto !important;
  height:92px !important;
  max-width:76px !important;
  object-fit:contain;
}
.brand-copy{display:flex;flex-direction:column;line-height:1.08;white-space:nowrap;}
.brand-copy strong{font-size:20px;font-weight:900;color:var(--green-900);letter-spacing:-.2px;}
.brand-copy span{font-size:14px;font-weight:850;color:var(--gold);margin-top:6px;}
@media (max-width:1199px){
  .site-header .navbar-brand{min-width:250px !important;gap:10px !important;}
  .brand-logo-new{height:78px !important;max-width:64px !important;}
  .brand-copy strong{font-size:17px;}.brand-copy span{font-size:11px;}
}
@media (max-width:575px){
  .site-header .navbar-brand{min-width:auto !important;}
  .brand-logo-new{height:62px !important;max-width:52px !important;}
  .brand-copy strong{font-size:14px;}.brand-copy span{font-size:10px;}
}

/* Fila de aliados: se agrega SATREPS sin romper la distribución */
.partner-row{justify-content:center !important;gap:30px !important;}
.partner-row img{max-height:52px !important;max-width:145px !important;}
.partner-row img[alt="SATREPS"]{max-width:150px !important;max-height:56px !important;}
@media (max-width:991px){.partner-row{flex-wrap:wrap !important;gap:22px !important;}}

/* Nota del proyecto bajo el hero, sin rehacer visualmente la sección */
.hero-project-note{background:#fff;padding:14px 0 8px;border-bottom:1px solid #edf0e9;}
.hero-project-note p{margin:0 auto;max-width:1180px;color:var(--green-900);font-size:17px;font-weight:650;line-height:1.45;text-align:center;}
.hero-project-note p::before{content:'SATREPS';display:inline-block;margin-right:10px;padding:3px 9px;border-radius:999px;background:#edf7f0;color:var(--green-700);font-size:11px;font-weight:900;letter-spacing:.04em;vertical-align:middle;}

/* Componente 1: sello oficial negro en círculo */
.grassfed-seal{object-fit:contain !important;max-width:155px !important;}
.grassfed-phone{max-width:185px !important;}
@media (max-width:1399px){.grassfed-seal{max-width:142px !important}.grassfed-phone{max-width:168px !important}}

/* Sección de contacto con estilo de la página actual */
.contact-section{background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);}
.contact-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:stretch;background:#fff;border:1px solid #e3ebe5;border-radius:22px;box-shadow:0 14px 32px rgba(6,53,30,.08);padding:32px;max-width:1120px;margin:0 auto;}
.contact-info-block{background:linear-gradient(145deg,var(--green-900),var(--green-700));border-radius:18px;color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:center;}
.contact-info-block h3{font-size:32px;font-weight:900;margin:0 0 14px;}
.contact-info-block p{font-size:16px;line-height:1.55;margin-bottom:16px;color:#eef8f1;}
.contact-mini-list{margin-top:12px;display:grid;gap:8px;}
.contact-mini-list p{margin:0;font-size:14px;color:#fff;}
.contact-form{display:grid;gap:14px;}
.form-row{display:grid;gap:6px;}
.form-row label{font-size:14px;font-weight:800;color:var(--green-900);}
.form-row input,.form-row textarea{width:100%;border:1px solid #dce7df;border-radius:10px;padding:12px 13px;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;}
.form-row input:focus,.form-row textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 3px rgba(15,105,56,.10);}
.captcha-box{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;padding:12px 16px;border:1px solid #dce7df;border-radius:8px;background:#fafafa;color:#1d2b22;font-size:14px;}
.captcha-box span{width:22px;height:22px;border:2px solid #87958c;background:#fff;display:inline-block;}
.contact-submit{border:0;border-radius:10px;background:linear-gradient(180deg,#0c7439 0%,#064d25 100%);color:#fff;font-size:16px;font-weight:850;min-height:46px;padding:10px 22px;box-shadow:0 7px 13px rgba(0,0,0,.18);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;justify-self:start;}
.contact-submit:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(0,0,0,.22);}
.contact-submit span{margin-left:10px;}
@media (max-width:991px){.contact-panel{grid-template-columns:1fr;padding:22px}.contact-info-block{padding:24px}.contact-info-block h3{font-size:26px}}

/* Footer: dos logos lado a lado, manteniendo bloque existente */
.footer-logo-pair{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:18px;}
.footer-logo-grassfed{width:70px;height:auto;object-fit:contain;display:block;}
.footer-logo-satreps{width:150px;height:auto;object-fit:contain;display:block;background:#fff;border-radius:2px;}
.footer-brand{text-align:center;}
.footer-brand p{max-width:320px;margin-left:auto;margin-right:auto;}
@media (max-width:575px){.footer-logo-pair{gap:12px}.footer-logo-grassfed{width:58px}.footer-logo-satreps{width:135px}}

/* ===== Ajustes solicitados: contacto bajo demanda, hero interactivo y footer sin solapes ===== */
.hero-code{
  position:relative;
  line-height:0;
}
.hero-code img{
  position:relative;
  z-index:1;
}
.hero-inline-note{
  position:absolute;
  z-index:2;
  left:3.6%;
  top:46%;
  width:min(43%, 720px);
  line-height:1.25;
  pointer-events:none;
}
.hero-inline-note p{
  margin:0;
  color:#1d2b22;
  font-size:clamp(10px, 1.1vw, 18px);
  font-weight:650;
  text-shadow:0 1px 2px rgba(255,255,255,.7);
}
.hero-hotspot{
  position:absolute;
  z-index:3;
  display:block;
  border-radius:12px;
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease;
}
.hero-hotspot:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.18);
  background-color:rgba(255,255,255,.06);
}
.hero-hotspot-primary{
  left:3.7%;
  top:63.2%;
  width:18.5%;
  height:7.2%;
}
.hero-hotspot-secondary{
  left:24.5%;
  top:63.2%;
  width:20.4%;
  height:7.2%;
}
.hero-project-note{display:none!important;}

/* Contacto: no se muestra dentro de la página principal; aparece al hacer click en Contacto */
.contact-section{
  display:none;
  background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);
}
.contact-section:target{
  display:block;
  scroll-margin-top:120px;
}

/* Footer: logos del bloque izquierdo contenidos, centrados y sin invadir columnas vecinas */
.footer-brand{
  overflow:hidden;
  padding-left:18px!important;
  padding-right:18px!important;
}
.footer-logo-pair{
  width:100%;
  max-width:250px;
  margin:0 auto 16px auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  flex-wrap:nowrap;
}
.footer-logo-pair img{
  flex:0 1 auto;
  object-fit:contain!important;
  display:block!important;
}
.footer-logo-grassfed{
  width:74px!important;
  max-width:74px!important;
  height:auto!important;
}
.footer-logo-satreps{
  width:145px!important;
  max-width:145px!important;
  height:auto!important;
  background:#fff;
}
.footer-brand p{
  max-width:285px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media (max-width:1199px){
  .footer-logo-pair{max-width:300px;}
  .footer-logo-grassfed{width:78px!important;max-width:78px!important;}
  .footer-logo-satreps{width:155px!important;max-width:155px!important;}
}
@media (max-width:575px){
  .hero-inline-note{left:4%;top:46%;width:50%;}
  .hero-inline-note p{font-size:8px;}
  .footer-logo-pair{max-width:240px;gap:10px!important;}
  .footer-logo-grassfed{width:62px!important;max-width:62px!important;}
  .footer-logo-satreps{width:132px!important;max-width:132px!important;}
}


/* ===== Hero editable en HTML/CSS sobre fondo limpio ===== */
.hero.hero-code{
  position:relative !important;
  width:100% !important;
  max-width:1375px !important;
  margin:0 auto !important;
  min-height:clamp(430px, 45vw, 619px) !important;
  aspect-ratio:1375 / 619;
  overflow:hidden !important;
  border-top:1px solid #eef0ea;
  border-bottom:1px solid #e5e5da;
  background-image:url('assets/hero-bg-clean.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  line-height:1.32 !important;
}
.hero.hero-code > img,
.hero-inline-note,
.hero-hotspot{display:none!important;}
.hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.78) 26%, rgba(255,255,255,.24) 49%, rgba(255,255,255,0) 71%),
    linear-gradient(180deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 70%, rgba(0,0,0,.04) 100%);
}
.hero-content-wrap{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  min-height:inherit;
  display:flex;
  align-items:center;
  padding:clamp(28px, 4vw, 64px) clamp(24px, 5.2vw, 72px);
}
.hero-text-panel{
  width:min(47%, 610px);
  color:var(--green-900);
}
.hero-text-panel h1{
  margin:0;
  color:var(--green-900);
  font-size:clamp(31px, 4.25vw, 61px);
  line-height:1.12;
  font-weight:900;
  letter-spacing:-1.2px;
  text-shadow:0 2px 4px rgba(255,255,255,.58);
}
.hero-title-line{
  width:50px;
  height:3px;
  background:var(--gold);
  margin:clamp(10px, 1.2vw, 16px) 0 12px;
}
.hero-description{
  max-width:590px;
  margin:0;
  color:#14271d;
  font-size:clamp(12.5px, 1.22vw, 17px);
  line-height:1.52;
  font-weight:600;
  text-shadow:0 1px 2px rgba(255,255,255,.78);
}
.hero-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:clamp(16px, 2vw, 25px);
}
.hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  min-width:180px;
  min-height:42px;
  padding:10px 16px;
  border-radius:8px;
  text-decoration:none!important;
  font-size:14px;
  font-weight:850;
  line-height:1;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease, background .22s ease;
  cursor:pointer;
  box-shadow:0 7px 14px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.18);
}
.hero-btn span{font-size:20px;line-height:1;margin-left:auto;}
.hero-btn-primary{background:linear-gradient(180deg,#0d7337 0%,#064b24 100%);color:#fff!important;}
.hero-btn-secondary{background:linear-gradient(180deg,#d99a25 0%,#b87312 100%);color:#fff!important;}
.hero-btn:hover{transform:translateY(-4px);box-shadow:0 14px 24px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.25);filter:saturate(1.08);}
.hero-tags{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:nowrap;
  margin-top:clamp(18px, 2.2vw, 28px);
}
.hero-tags span{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:7px 11px;
  border-radius:8px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(13,75,36,.12);
  color:#173a26;
  font-size:11px;
  font-weight:800;
  backdrop-filter:blur(3px);
  box-shadow:0 5px 12px rgba(6,53,30,.08);
}
.hero-tags strong{font-size:16px;color:var(--green-900);line-height:1;}
@media (max-width:1199px){
  .hero.hero-code{min-height:clamp(400px, 47vw, 560px) !important;}
  .hero-text-panel{width:min(52%, 560px);}
  .hero-btn{min-width:190px;min-height:44px;font-size:14px;}
  .hero-tags span{font-size:11px;min-height:38px;padding:8px 11px;}
}
@media (max-width:991px){
  .hero.hero-code{aspect-ratio:auto;min-height:620px !important;background-position:62% center;}
  .hero-overlay{background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.78) 55%,rgba(255,255,255,.20) 100%);}
  .hero-content-wrap{align-items:flex-start;padding:42px 28px;}
  .hero-text-panel{width:min(100%, 620px);}
  .hero-text-panel h1{font-size:clamp(31px, 7.5vw, 48px);}
  .hero-description{font-size:14px;}
}
@media (max-width:575px){
  .hero.hero-code{min-height:690px !important;background-position:68% center;}
  .hero-content-wrap{padding:34px 20px;}
  .hero-text-panel h1{font-size:30px;letter-spacing:-.5px;}
  .hero-description{font-size:13.5px;line-height:1.48;}
  .hero-actions{gap:10px;}
  .hero-btn{width:100%;min-width:0;min-height:44px;font-size:13.5px;}
  .hero-tags{gap:8px;}
  .hero-tags span{width:100%;justify-content:flex-start;}
}


/* ===== Ajustes finales: vista Contacto tipo pantalla única, logo hacia la derecha y hero más compacto ===== */
body.contact-mode main{
  display:none !important;
}
body.contact-mode .contact-section{
  display:block !important;
  padding-top:42px !important;
  padding-bottom:56px !important;
  min-height:calc(100vh - 210px);
}
body.contact-mode .contact-section:target{
  display:block !important;
}
.site-header .navbar-brand{
  margin-left:42px !important;
}
.hero.hero-code .hero-actions{
  gap:14px !important;
  margin-top:18px !important;
}
.hero.hero-code .hero-btn{
  min-width:160px !important;
  min-height:38px !important;
  padding:8px 14px !important;
  font-size:13px !important;
  border-radius:8px !important;
}
.hero.hero-code .hero-btn span{
  font-size:18px !important;
}
.hero.hero-code .hero-tags{
  width:min(60vw, 610px) !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  margin-top:16px !important;
}
.hero.hero-code .hero-tags span{
  min-height:34px !important;
  padding:6px 10px !important;
  font-size:10px !important;
  line-height:1.12 !important;
  white-space:nowrap !important;
  flex:0 0 auto !important;
}
.hero.hero-code .hero-tags strong{
  font-size:14px !important;
}
@media (max-width:1199px){
  .site-header .navbar-brand{margin-left:20px !important;}
  .hero.hero-code .hero-tags{width:min(66vw, 590px) !important;}
}
@media (max-width:991px){
  .site-header .navbar-brand{margin-left:0 !important;}
  .hero.hero-code .hero-tags{width:100% !important;flex-wrap:wrap !important;}
}


/* =========================================================
   Pulido final solicitado: header compacto y hero refinado
   ========================================================= */

/* 1) Reducir el espacio vacío entre marca y menú superior */
.site-header .navbar{
  padding-top:.65rem !important;
  padding-bottom:.65rem !important;
}
.site-header .navbar .container-xxl{
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
}
.site-header .navbar-brand{
  margin-left:30px !important;
  margin-right:0 !important;
  min-width:360px !important;
  flex:0 0 auto !important;
}
.site-header .brand-logo-new{
  height:86px !important;
  max-width:72px !important;
}
.site-header .brand-copy strong{
  font-size:19px !important;
  line-height:1.05 !important;
}
.site-header .brand-copy span{
  font-size:13px !important;
  margin-top:5px !important;
}
.site-header .navbar-collapse{
  flex:1 1 auto !important;
  padding-top:0 !important;
}
.site-header .navbar-nav{
  margin-left:34px !important;
  margin-right:auto !important;
}
.site-header .navbar-nav.mx-auto{
  margin-left:34px !important;
  margin-right:auto !important;
}
.site-header .access-dropdown{
  margin-left:auto !important;
}

/* 2) Pulido fino del hero editable */
.hero.hero-code{
  min-height:clamp(500px, 43vw, 590px) !important;
  background-position:center center !important;
}
.hero-content-wrap{
  padding:clamp(30px, 3.6vw, 50px) clamp(26px, 4.6vw, 62px) !important;
  align-items:center !important;
}
.hero-text-panel{
  width:min(44.5%, 575px) !important;
  transform:translateY(-6px);
}
.hero-text-panel h1{
  font-size:clamp(34px, 4vw, 56px) !important;
  line-height:1.08 !important;
  letter-spacing:-1px !important;
}
.hero-title-line{
  margin:10px 0 12px !important;
  width:48px !important;
  height:3px !important;
}
.hero-description{
  max-width:560px !important;
  font-size:clamp(12.5px, 1.08vw, 15.5px) !important;
  line-height:1.46 !important;
}
.hero.hero-code .hero-actions{
  margin-top:14px !important;
  gap:12px !important;
}
.hero.hero-code .hero-btn{
  min-width:150px !important;
  min-height:36px !important;
  padding:8px 13px !important;
  font-size:12.5px !important;
  border-radius:8px !important;
}
.hero.hero-code .hero-btn span{
  font-size:17px !important;
}
.hero.hero-code .hero-tags{
  margin-top:13px !important;
  width:min(58vw, 575px) !important;
  gap:7px !important;
  flex-wrap:nowrap !important;
}
.hero.hero-code .hero-tags span{
  min-height:31px !important;
  padding:5px 9px !important;
  font-size:9.6px !important;
  line-height:1.1 !important;
  border-radius:7px !important;
}
.hero.hero-code .hero-tags strong{
  font-size:13px !important;
}

/* Aliados un poco más compacto para que el bloque superior respire mejor */
.allies-strip{
  padding-top:7px !important;
  padding-bottom:10px !important;
}
.allies-title{
  margin-bottom:8px !important;
}

/* Responsive: conservar legibilidad sin volver a abrir espacios excesivos */
@media (max-width:1199px){
  .site-header .navbar-brand{
    margin-left:18px !important;
    min-width:300px !important;
  }
  .site-header .navbar-nav,
  .site-header .navbar-nav.mx-auto{
    margin-left:18px !important;
  }
  .site-header .brand-logo-new{
    height:76px !important;
    max-width:64px !important;
  }
  .site-header .brand-copy strong{font-size:17px !important;}
  .site-header .brand-copy span{font-size:11.5px !important;}
  .hero-text-panel{width:min(48%, 540px) !important;}
  .hero.hero-code .hero-tags{width:min(66vw, 565px) !important;}
}
@media (max-width:991px){
  .site-header .navbar-brand{
    margin-left:0 !important;
    min-width:auto !important;
  }
  .site-header .navbar-nav,
  .site-header .navbar-nav.mx-auto{
    margin-left:0 !important;
  }
  .site-header .brand-logo-new{
    height:66px !important;
    max-width:56px !important;
  }
  .hero.hero-code{
    min-height:620px !important;
    background-position:62% center !important;
  }
  .hero-content-wrap{
    align-items:flex-start !important;
    padding:38px 26px !important;
  }
  .hero-text-panel{
    width:min(100%, 610px) !important;
    transform:none;
  }
  .hero.hero-code .hero-tags{
    width:100% !important;
    flex-wrap:wrap !important;
  }
}
@media (max-width:575px){
  .hero.hero-code{min-height:680px !important;}
  .hero-content-wrap{padding:30px 18px !important;}
  .hero-text-panel h1{font-size:30px !important;}
  .hero-description{font-size:13px !important;}
  .hero.hero-code .hero-btn{width:100% !important;}
  .hero.hero-code .hero-tags span{width:100% !important;}
}


/* =========================================================
   Vista Noticias: mismo comportamiento que Contacto
   ========================================================= */
.news-section{
  display:none;
  background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);
}
.news-section:target{display:block;scroll-margin-top:120px;}
body.news-mode main,
body.news-mode .contact-section{
  display:none !important;
}
body.news-mode .news-section{
  display:block !important;
  padding-top:34px !important;
  padding-bottom:58px !important;
  min-height:calc(100vh - 210px);
}
body.news-mode .footer{margin-top:0;}
.news-hero{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  min-height:210px;
  margin-bottom:28px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.84) 46%,rgba(255,255,255,.20) 100%),
    url('assets/hero-bg-clean.png') center 58% / cover no-repeat;
  border:1px solid #e4ece5;
  box-shadow:0 12px 28px rgba(6,53,30,.08);
  display:flex;
  align-items:center;
  padding:38px 48px;
}
.news-hero-copy{max-width:680px;}
.news-kicker{
  display:inline-block;
  color:var(--green-700);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:10px;
}
.news-hero h2{
  margin:0 0 12px;
  color:var(--green-900);
  font-size:clamp(34px,4vw,54px);
  font-weight:900;
  line-height:1.06;
  letter-spacing:-.8px;
}
.news-hero p{
  margin:0;
  max-width:620px;
  color:#1d2d24;
  font-size:17px;
  line-height:1.58;
  font-weight:550;
}
.featured-news-card{
  display:grid;
  grid-template-columns:1.35fr .85fr;
  gap:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #e2ebe4;
  border-radius:22px;
  box-shadow:0 15px 35px rgba(6,53,30,.10);
  margin-bottom:38px;
}
.featured-poster-wrap{position:relative;background:#fff;min-height:350px;display:flex;align-items:center;justify-content:center;padding:18px;}
.featured-poster-wrap img{width:100%;height:100%;max-height:430px;object-fit:contain;border-radius:12px;display:block;}
.featured-badge{
  position:absolute;left:34px;top:30px;z-index:2;
  background:linear-gradient(180deg,#167d3d,#075320);
  color:#fff;border-radius:999px;padding:8px 15px;
  font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;
  box-shadow:0 8px 16px rgba(0,0,0,.18);
}
.featured-news-info{
  background:linear-gradient(145deg,#fff 0%,#fbf8f1 100%);
  padding:34px 36px;
  border-left:1px solid #efe8db;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.news-label{color:var(--gold);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.05em;margin-bottom:10px;}
.featured-news-info h3{font-size:29px;line-height:1.13;font-weight:900;color:var(--green-900);margin:0 0 12px;}
.featured-news-info p{font-size:15.5px;line-height:1.5;color:#1f3528;margin:0 0 20px;}
.event-detail-list{display:grid;gap:12px;margin-bottom:22px;}
.event-detail-list div{display:grid;grid-template-columns:74px 1fr;gap:12px;align-items:start;padding-bottom:12px;border-bottom:1px solid #e7e2d8;}
.event-detail-list strong{color:var(--green-700);font-size:13px;font-weight:900;}
.event-detail-list span{color:#17291f;font-size:14px;line-height:1.4;font-weight:650;}
.news-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:16px;
  min-height:46px;padding:12px 20px;border-radius:10px;
  background:linear-gradient(180deg,#d99a25 0%,#b87312 100%);
  color:#fff!important;text-decoration:none!important;font-size:15px;font-weight:900;
  box-shadow:0 9px 18px rgba(0,0,0,.18);transition:.22s ease;
}
.news-cta:hover{transform:translateY(-3px);box-shadow:0 14px 24px rgba(0,0,0,.22);filter:saturate(1.05);}
.seminar-learning-block{margin:18px 0 36px;}
.learning-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.learning-card{background:#fff;border:1px solid #e5ece6;border-radius:16px;padding:22px 16px;text-align:center;box-shadow:0 8px 20px rgba(6,53,30,.06);transition:transform .2s ease,box-shadow .2s ease;}
.learning-card:hover{transform:translateY(-5px);box-shadow:0 16px 30px rgba(6,53,30,.13);}
.learning-card b{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 12px;border-radius:50%;background:#eef8f1;font-size:24px;}
.learning-card h4{font-size:15px;font-weight:900;color:var(--green-900);margin:0 0 8px;line-height:1.18;}
.learning-card p{font-size:12.5px;line-height:1.45;color:#27362d;margin:0;}
.translation-note{margin:22px auto 0;max-width:960px;text-align:center;background:#f6fbf7;border:1px solid #dfece4;border-radius:14px;padding:14px 18px;color:#183426;font-size:14px;font-weight:750;}
.news-timeline-wrap{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:center;margin:36px 0;}
.timeline-title h3{font-size:25px;line-height:1.15;font-weight:900;color:var(--green-900);margin:0 0 10px;}
.timeline-title span{display:block;width:50px;height:3px;background:var(--gold);}
.news-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;}
.news-timeline:before{content:'';position:absolute;left:20px;right:20px;top:18px;height:1px;background:#d4ddd7;}
.news-timeline div{position:relative;z-index:1;padding-top:42px;}
.news-timeline i{position:absolute;top:9px;left:0;width:20px;height:20px;border-radius:50%;background:var(--green-700);border:4px solid #fff;box-shadow:0 0 0 2px rgba(15,105,56,.35);}
.news-timeline i.gold-dot{background:var(--gold);box-shadow:0 0 0 2px rgba(217,154,37,.35);}
.news-timeline strong{display:block;color:var(--green-900);font-size:20px;font-weight:900;}
.news-timeline span{display:block;color:#26362d;font-size:13px;line-height:1.35;font-weight:650;margin-top:4px;}
.recent-news-block{margin-top:20px;}
.recent-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.news-card{background:#fff;border:1px solid #e2eae4;border-radius:18px;overflow:hidden;box-shadow:0 12px 26px rgba(6,53,30,.08);transition:transform .22s ease,box-shadow .22s ease;}
.news-card:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(6,53,30,.14);}
.news-card img,.news-card-image{width:100%;height:205px;display:block;object-fit:cover;background:#e8f2ec;}
.news-card img{object-fit:cover;object-position:center;}
.pseudo-image{background-size:cover;background-position:center;}
.project-image{background-image:linear-gradient(0deg,rgba(6,53,30,.18),rgba(6,53,30,.08)),url('assets/hero-bg-clean.png');}
.media-image{background-image:linear-gradient(0deg,rgba(6,53,30,.18),rgba(6,53,30,.08)),url('assets/rotacion-potreros.png');}
.news-card-body{padding:20px 20px 22px;}
.news-chip{display:inline-block;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#fff;margin-bottom:12px;}
.news-chip.event{background:var(--gold);}.news-chip.project{background:var(--green-700);}.news-chip.media{background:#0b5f91;}
.news-card h3{font-size:18px;line-height:1.22;color:var(--green-900);font-weight:900;margin:0 0 10px;}
.news-card p{font-size:13px;line-height:1.48;color:#26362d;margin:0 0 18px;}
.news-card a{display:inline-flex;align-items:center;gap:8px;color:var(--green-700);font-size:13px;font-weight:900;text-decoration:none;}
.news-card a:hover{color:var(--gold);}
.upcoming-events-box{margin-top:34px;background:linear-gradient(90deg,#f3faf5,#fffdf6);border:1px solid #dfece4;border-radius:18px;padding:22px 28px;display:flex;align-items:center;gap:18px;box-shadow:0 8px 22px rgba(6,53,30,.06);}
.calendar-icon{width:58px;height:58px;border-radius:50%;background:var(--green-700);display:grid;place-items:center;color:#fff;font-size:28px;flex:0 0 auto;}
.upcoming-events-box h3{font-size:21px;font-weight:900;color:var(--green-900);margin:0 0 5px;}
.upcoming-events-box p{margin:0;color:#2b3a31;font-size:14px;font-weight:600;}
@media (max-width:1199px){
  .featured-news-card{grid-template-columns:1fr;}
  .featured-news-info{border-left:0;border-top:1px solid #efe8db;}
  .learning-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:991px){
  .news-hero{padding:30px 26px;}
  .news-timeline-wrap{grid-template-columns:1fr;}
  .recent-news-grid{grid-template-columns:1fr;}
  .learning-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:575px){
  .news-hero h2{font-size:32px;}
  .news-hero p{font-size:14px;}
  .featured-news-info{padding:24px 20px;}
  .featured-news-info h3{font-size:23px;}
  .event-detail-list div{grid-template-columns:1fr;gap:2px;}
  .learning-grid{grid-template-columns:1fr;}
  .upcoming-events-box{align-items:flex-start;}
}

/* =========================================================
   PASADA "PIXEL PERFECT" - Producción
   Ajustes no invasivos: espaciado, alineación, proporción, hover y responsive.
   ========================================================= */
:root{
  --shadow-soft:0 10px 28px rgba(6,53,30,.08);
  --shadow-card:0 14px 34px rgba(6,53,30,.10);
  --shadow-hover:0 22px 44px rgba(6,53,30,.16);
}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.site-header{
  box-shadow:0 1px 0 rgba(6,53,30,.07) !important;
}
.site-header .navbar{
  min-height:112px !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.site-header .navbar .container-xxl{
  max-width:1510px !important;
  padding-left:32px !important;
  padding-right:32px !important;
}
.site-header .navbar-brand{
  margin-left:0 !important;
  margin-right:26px !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  gap:18px !important;
}
.site-header .brand-logo-new{
  width:108px !important;
  height:108px !important;
  max-width:108px !important;
  object-fit:contain !important;
  flex:0 0 108px !important;
}
.site-header .brand-copy strong{
  font-size:25px !important;
  letter-spacing:-.45px !important;
  color:#07391f !important;
}
.site-header .brand-copy span{
  font-size:16px !important;
  margin-top:7px !important;
  color:#bd8424 !important;
  letter-spacing:.1px !important;
}
.site-header .navbar-collapse{
  flex:1 1 auto !important;
}
.site-header .navbar-nav,
.site-header .navbar-nav.mx-auto{
  margin-left:22px !important;
  margin-right:auto !important;
  gap:28px !important;
}
.site-header .nav-link{
  font-size:15px !important;
  font-weight:800 !important;
  padding-top:12px !important;
  padding-bottom:12px !important;
  letter-spacing:-.12px;
  position:relative;
  border-bottom:0 !important;
}
.site-header .nav-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:3px;
  height:3px;
  border-radius:999px;
  background:transparent;
  transform:scaleX(.55);
  transition:transform .2s ease, background .2s ease;
}
.site-header .nav-link.active::after,
.site-header .nav-link:hover::after{
  background:var(--gold);
  transform:scaleX(1);
}
.site-header .nav-link:hover{color:var(--green-700)!important;}
.access-dropdown .access-btn{
  min-height:49px !important;
  padding:12px 22px !important;
  border-radius:9px !important;
  font-size:15px !important;
  font-weight:900 !important;
  box-shadow:0 12px 24px rgba(4,39,22,.18) !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease !important;
}
.access-dropdown .access-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(4,39,22,.22) !important;
}
.access-menu{
  padding:12px !important;
  border-radius:14px !important;
  min-width:250px !important;
  box-shadow:0 24px 50px rgba(4,39,22,.20) !important;
}
.access-menu .dropdown-item{
  font-size:15px !important;
  padding:13px 16px !important;
}

/* Aliados: más institucional, compacto y centrado */
.allies-strip{
  padding:10px 0 13px !important;
  border-top:1px solid #f1f0ea;
  border-bottom:1px solid #e9ece8;
}
.allies-title{
  max-width:1120px;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:10px !important;
  gap:16px !important;
}
.allies-title strong{
  font-size:11px !important;
  letter-spacing:.04em;
}
.partner-row{
  max-width:1180px !important;
  margin:0 auto !important;
  gap:34px !important;
  justify-content:center !important;
}
.partner-row img{
  max-height:48px !important;
  max-width:132px !important;
  opacity:.97;
  transition:transform .2s ease, opacity .2s ease;
}
.partner-row img:hover{transform:translateY(-2px);opacity:1;}
.partner-row img[alt="SATREPS"]{max-width:142px !important;max-height:50px !important;}

/* Hero: mayor control visual, respiración y CTA tipo producción */
.hero.hero-code{
  max-width:1510px !important;
  min-height:clamp(510px, 42vw, 610px) !important;
  background-position:center center !important;
  border-top:0 !important;
  border-bottom:1px solid #e2e7df !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.hero-overlay{
  background:
    linear-gradient(90deg, rgba(255,255,255,.93) 0%, rgba(255,255,255,.82) 27%, rgba(255,255,255,.32) 49%, rgba(255,255,255,0) 72%),
    linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,0) 72%, rgba(7,57,31,.06) 100%) !important;
}
.hero-content-wrap{
  padding:44px 52px !important;
}
.hero-text-panel{
  width:min(43.5%, 595px) !important;
  transform:translateY(-2px) !important;
}
.hero-text-panel h1{
  font-size:clamp(40px, 4.15vw, 60px) !important;
  line-height:1.055 !important;
  letter-spacing:-1.35px !important;
  text-wrap:balance;
}
.hero-title-line{
  width:56px !important;
  height:3px !important;
  margin:13px 0 14px !important;
  border-radius:99px;
}
.hero-description{
  max-width:570px !important;
  font-size:clamp(14px, 1.05vw, 16px) !important;
  line-height:1.48 !important;
  font-weight:640 !important;
  color:#10291b !important;
}
.hero.hero-code .hero-actions{
  margin-top:18px !important;
  gap:14px !important;
}
.hero.hero-code .hero-btn{
  min-width:172px !important;
  min-height:40px !important;
  padding:9px 15px !important;
  border-radius:9px !important;
  font-size:13.3px !important;
  font-weight:900 !important;
}
.hero.hero-code .hero-btn span{font-size:19px !important;}
.hero.hero-code .hero-tags{
  width:auto !important;
  max-width:650px !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:9px !important;
  margin-top:17px !important;
}
.hero.hero-code .hero-tags span{
  min-height:35px !important;
  padding:7px 10px !important;
  font-size:10.2px !important;
  font-weight:850 !important;
  border-radius:9px !important;
  background:rgba(255,255,255,.78) !important;
  box-shadow:0 7px 16px rgba(6,53,30,.08) !important;
  white-space:nowrap !important;
}
.hero.hero-code .hero-tags strong{font-size:14px !important;}

/* Secciones: coherencia vertical */
.components{
  padding-top:30px !important;
  padding-bottom:34px !important;
}
.section-title{
  margin-top:10px !important;
  margin-bottom:24px !important;
}
.section-title h2{
  letter-spacing:-.55px !important;
}
.section-title span{
  border-radius:999px;
}
.components .section-title h2{font-size:clamp(25px, 2.4vw, 36px) !important;}
.module-cards-row{row-gap:28px !important;}
.platform-card{
  min-height:438px !important;
  border-radius:18px !important;
  box-shadow:var(--shadow-soft) !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
.platform-card:hover{
  transform:translateY(-5px) !important;
  box-shadow:var(--shadow-hover) !important;
}
.card-heading h3{letter-spacing:-.35px !important;}
.module-btn{
  letter-spacing:.05px;
}
.benefits{
  padding-top:22px !important;
  padding-bottom:30px !important;
}
.benefit-row{
  border-radius:16px;
  overflow:hidden;
  border:1px solid #e6eee8 !important;
  box-shadow:0 8px 20px rgba(6,53,30,.04);
}
.benefit-row div{
  background:#fff;
  transition:background .18s ease, transform .18s ease;
}
.benefit-row div:hover{
  background:#fbfdfb;
  transform:translateY(-1px);
}

/* Noticias: presentación más premium sin alterar estructura */
.news-section .container-xxl,
.contact-section .container-xxl{
  max-width:1430px;
}
.news-hero{
  min-height:190px !important;
  padding:34px 44px !important;
  margin-bottom:24px !important;
}
.featured-news-card,
.contact-panel,
.news-card,
.learning-card,
.upcoming-events-box{
  box-shadow:var(--shadow-card) !important;
}
.featured-poster-wrap img{
  border-radius:14px !important;
}
.news-card img,.news-card-image{
  height:190px !important;
}
.news-card-body{padding:18px 19px 20px !important;}
.news-card h3{font-size:17px !important;}
.learning-card{border-radius:15px !important;}

/* Contacto: más pulido, sin verse prototipo */
.contact-panel{
  max-width:1080px !important;
  padding:30px !important;
  border-radius:24px !important;
}
.contact-info-block{
  border-radius:20px !important;
  padding:34px 34px !important;
}
.contact-info-block h3{
  font-size:34px !important;
  letter-spacing:-.5px;
}
.form-row input,.form-row textarea{
  border-radius:12px !important;
  padding:13px 15px !important;
}
.contact-submit{
  min-height:48px !important;
  border-radius:11px !important;
}

/* Footer: evitar solapes, jerarquía limpia */
.footer{
  padding-top:38px !important;
}
.footer .row{
  max-width:1260px;
  margin-left:auto !important;
  margin-right:auto !important;
  column-gap:48px !important;
}
.footer-logo-pair{
  max-width:260px !important;
  gap:14px !important;
}
.footer-logo-grassfed{width:68px !important;max-width:68px !important;}
.footer-logo-satreps{width:148px !important;max-width:148px !important;}
.footer h4{font-size:18px !important;}
.footer p,.footer-col a{font-size:13.5px !important;}
.copyright{margin-top:28px !important;}

@media (max-width:1399px){
  .site-header .navbar-brand{gap:14px !important;margin-right:18px !important;}
  .site-header .brand-logo-new{width:96px !important;height:96px !important;max-width:96px !important;flex-basis:96px !important;}
  .site-header .brand-copy strong{font-size:22px !important;}
  .site-header .brand-copy span{font-size:14px !important;}
  .site-header .navbar-nav,.site-header .navbar-nav.mx-auto{gap:20px !important;margin-left:14px !important;}
  .site-header .nav-link{font-size:14px !important;}
  .access-dropdown .access-btn{padding:11px 18px !important;font-size:14px !important;}
  .hero-content-wrap{padding:38px 42px !important;}
  .hero-text-panel{width:min(45%, 560px) !important;}
  .hero-text-panel h1{font-size:clamp(38px,4vw,55px) !important;}
  .hero.hero-code .hero-tags span{font-size:9.6px !important;padding:6px 8px !important;}
}
@media (max-width:1199px){
  .site-header .navbar{min-height:96px !important;}
  .site-header .brand-logo-new{width:78px !important;height:78px !important;max-width:78px !important;flex-basis:78px !important;}
  .site-header .brand-copy strong{font-size:18px !important;}
  .site-header .brand-copy span{font-size:12px !important;}
  .site-header .navbar-nav,.site-header .navbar-nav.mx-auto{gap:14px !important;margin-left:8px !important;}
  .partner-row{gap:22px !important;}
  .hero-text-panel{width:min(50%, 530px) !important;}
  .hero.hero-code .hero-tags{flex-wrap:wrap !important;max-width:520px !important;}
}
@media (max-width:991px){
  .site-header .navbar{min-height:auto !important;}
  .site-header .navbar .container-xxl{padding-left:20px !important;padding-right:20px !important;}
  .site-header .navbar-brand{gap:12px !important;}
  .site-header .brand-logo-new{width:64px !important;height:64px !important;max-width:64px !important;flex-basis:64px !important;}
  .site-header .brand-copy strong{font-size:16px !important;}
  .site-header .brand-copy span{font-size:11px !important;}
  .hero.hero-code{min-height:620px !important;background-position:64% center !important;}
  .hero-overlay{background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 58%,rgba(255,255,255,.20) 100%) !important;}
  .hero-content-wrap{padding:36px 26px !important;}
  .hero-text-panel{width:min(100%, 620px) !important;}
  .hero-text-panel h1{font-size:clamp(32px,7vw,48px) !important;}
  .hero.hero-code .hero-tags{max-width:100% !important;}
  .contact-panel{grid-template-columns:1fr !important;}
  .news-hero{padding:28px 24px !important;}
}
@media (max-width:575px){
  .site-header .navbar .container-xxl{padding-left:16px !important;padding-right:16px !important;}
  .site-header .brand-copy strong{font-size:14px !important;}
  .site-header .brand-copy span{font-size:10px !important;}
  .hero.hero-code{min-height:690px !important;}
  .hero-content-wrap{padding:30px 18px !important;}
  .hero-text-panel h1{font-size:30px !important;}
  .hero-description{font-size:13px !important;}
  .hero.hero-code .hero-actions{gap:10px !important;}
  .hero.hero-code .hero-tags span{width:100% !important;justify-content:flex-start !important;}
  .contact-panel{padding:18px !important;}
  .contact-info-block{padding:24px !important;}
  .news-card img,.news-card-image{height:170px !important;}
}

/* =========================================================
   Vista El proyecto: HTML/CSS editable, mismo patrón Contacto/Noticias
   ========================================================= */
.project-section{
  display:none;
  background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);
}
.project-section:target{display:block;scroll-margin-top:120px;}
body.project-mode main,
body.project-mode .contact-section,
body.project-mode .news-section{
  display:none !important;
}
body.project-mode .project-section{
  display:block !important;
  padding-top:34px !important;
  padding-bottom:58px !important;
  min-height:calc(100vh - 210px);
}
body.project-mode .footer{margin-top:0;}

.project-hero-card{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  min-height:390px;
  margin-bottom:30px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  background:
    linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 43%,rgba(255,255,255,.10) 100%),
    url('assets/hero-bg-clean.png') center 57% / cover no-repeat;
  border:1px solid #e2ebe4;
  box-shadow:0 18px 40px rgba(6,53,30,.10);
  padding:44px 52px;
}
.project-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--green-700);
  font-weight:900;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:14px;
}
.project-kicker::before{content:'🌿';font-size:17px;}
.project-hero-copy h2{
  margin:0 0 16px;
  max-width:720px;
  color:var(--green-900);
  font-size:clamp(36px,4.8vw,60px);
  line-height:1.02;
  letter-spacing:-1px;
  font-weight:950;
}
.project-hero-copy h2 em{font-style:normal;color:#be7818;}
.project-hero-copy p{
  margin:0;
  max-width:620px;
  color:#1d2d24;
  font-size:17px;
  line-height:1.6;
  font-weight:560;
}
.project-logo-strip{
  margin-top:28px;
  display:flex;
  align-items:center;
  gap:24px;
  width:max-content;
  max-width:100%;
  background:rgba(255,255,255,.93);
  border:1px solid #e5ece6;
  border-radius:16px;
  padding:14px 22px;
  box-shadow:0 10px 24px rgba(6,53,30,.10);
}
.project-logo-strip img{max-height:44px;max-width:128px;object-fit:contain;display:block;}
.project-hero-visual{
  min-height:310px;
  position:relative;
}
.project-hero-visual::before{
  content:'';
  position:absolute;
  inset:18px 40px 10px 20px;
  border:2px dashed rgba(255,255,255,.88);
  border-radius:50%;
  box-shadow:0 0 0 999px rgba(4,39,22,.02);
}
.project-orbit{
  position:absolute;
  width:70px;
  height:70px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:31px;
  background:rgba(6,53,30,.52);
  border:2px solid rgba(255,255,255,.9);
  backdrop-filter:blur(3px);
  box-shadow:0 10px 26px rgba(6,53,30,.20);
}
.orbit-one{left:38%;top:4%;}.orbit-two{right:10%;top:10%;}.orbit-three{right:8%;bottom:26%;}.orbit-four{left:18%;top:39%;}.orbit-five{left:40%;bottom:7%;}

.project-main-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
  margin:0 0 34px;
}
.project-card{
  background:#fff;
  border:1px solid #e2ebe4;
  border-radius:22px;
  box-shadow:0 14px 32px rgba(6,53,30,.08);
  overflow:hidden;
}
.project-why{
  padding:30px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 58%,rgba(255,255,255,.24) 100%),
    url('assets/rotacion-potreros.png') right center / cover no-repeat;
}
.project-card h3{
  margin:0 0 20px;
  color:var(--green-900);
  font-size:25px;
  line-height:1.12;
  font-weight:950;
}
.project-card h3::after{
  content:'';
  display:block;
  width:54px;
  height:3px;
  border-radius:4px;
  background:var(--gold);
  margin-top:10px;
}
.project-points{list-style:none;margin:0;padding:0;display:grid;gap:13px;max-width:470px;}
.project-points li{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;border-bottom:1px solid #e9eee9;padding-bottom:12px;}
.project-points li::before{content:'✓';width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#148047,#064d25);color:#fff;font-weight:900;box-shadow:0 8px 16px rgba(6,53,30,.15);}
.project-points b{display:block;color:var(--green-900);font-size:14px;font-weight:900;margin-bottom:3px;}
.project-points span{display:block;color:#26362d;font-size:13.5px;line-height:1.35;font-weight:550;}
.project-summary-note{margin-top:20px;max-width:520px;background:rgba(255,255,255,.82);border:1px solid #dfeae2;border-radius:16px;padding:16px 18px;color:#183426;font-size:14px;font-weight:650;line-height:1.45;}
.project-objective{padding:30px;}
.project-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;}
.project-card-head span{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#eef8f1;border:1px solid #dcebe0;font-size:34px;flex:0 0 auto;}
.project-objective p{margin:0 0 24px;color:#22352a;font-size:15px;line-height:1.65;font-weight:560;}
.project-objective h4{margin:0 0 14px;color:var(--green-900);font-size:20px;font-weight:950;}
.project-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.project-methods div{min-height:112px;border:1px solid #e2ebe4;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fbf8);display:grid;place-items:center;text-align:center;padding:14px 12px;transition:.22s ease;}
.project-methods div:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(6,53,30,.10);}
.project-methods div{font-size:32px;}
.project-methods b{display:block;margin-top:6px;color:#123827;font-size:13px;line-height:1.2;font-weight:900;}

.project-components-block{margin-top:18px;}
.project-components-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.project-components-grid article{position:relative;overflow:hidden;background:#fff;border:1px solid #e2ebe4;border-radius:18px;box-shadow:0 10px 26px rgba(6,53,30,.07);padding:22px 18px 20px;min-height:245px;transition:.22s ease;}
.project-components-grid article:hover{transform:translateY(-6px);box-shadow:0 22px 38px rgba(6,53,30,.14);}
.project-components-grid i{position:absolute;top:12px;left:14px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--green-700);color:#fff;font-style:normal;font-weight:950;}
.project-components-grid h3{margin:50px 0 10px;color:var(--green-900);font-size:16px;line-height:1.15;font-weight:950;}
.project-components-grid p{margin:0 0 16px;color:#27362d;font-size:12.8px;line-height:1.45;}
.project-components-grid a{color:var(--green-700);font-size:13px;font-weight:950;text-decoration:none;display:inline-flex;gap:8px;align-items:center;}
.project-components-grid a:hover{color:var(--gold);}
.project-alliance-band{margin-top:34px;border-radius:22px;background:linear-gradient(135deg,#064023,#0b5d32);color:#fff;padding:26px 30px;box-shadow:0 15px 32px rgba(6,53,30,.13);}
.project-alliance-band h3{margin:0 0 18px;font-size:24px;font-weight:950;}
.alliance-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.alliance-highlights span{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px;font-size:13px;line-height:1.25;font-weight:750;}

@media (max-width:1199px){
  .project-hero-card{grid-template-columns:1fr;padding:36px 34px;}
  .project-hero-visual{min-height:170px;}
  .project-components-grid{grid-template-columns:repeat(3,1fr);}
  .alliance-highlights{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:991px){
  .project-main-grid{grid-template-columns:1fr;}
  .project-logo-strip{flex-wrap:wrap;width:100%;gap:18px;}
  .project-methods{grid-template-columns:repeat(2,1fr);}
  .project-components-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:575px){
  .project-hero-card{padding:28px 22px;border-radius:18px;}
  .project-hero-copy h2{font-size:34px;}
  .project-hero-copy p{font-size:14px;}
  .project-logo-strip img{max-height:34px;max-width:96px;}
  .project-hero-visual{display:none;}
  .project-why,.project-objective{padding:22px 18px;}
  .project-methods,.project-components-grid,.alliance-highlights{grid-template-columns:1fr;}
}

/* Ajuste Home: título largo del hero sin romper composición */
.hero-text-panel h1{
  max-width:min(760px, 52vw) !important;
  font-size:clamp(34px, 4.45vw, 70px) !important;
  line-height:.98 !important;
}
@media (max-width:991px){
  .hero-text-panel h1{max-width:100% !important;font-size:clamp(32px,7vw,52px) !important;line-height:1.04 !important;}
}


/* =========================================================
   Rediseño final El proyecto: versión fiel al mockup aprobado
   ========================================================= */
body.project-mode .project-section.project-redesign{
  display:block !important;
  padding-top:0 !important;
  padding-bottom:48px !important;
  background:#fff;
}
.project-redesign .container-xxl{max-width:1440px;}
.project2-hero{
  position:relative;
  min-height:492px;
  display:grid;
  grid-template-columns:minmax(430px, 0.95fr) minmax(520px, 1.25fr);
  align-items:stretch;
  overflow:hidden;
  margin:0 -24px 34px;
  background:linear-gradient(90deg,#fff 0%,#f8f6ee 52%,#eef4e7 100%);
  border-bottom:1px solid #e2e9df;
}
.project2-hero::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 40%,rgba(255,255,255,.12) 72%,rgba(255,255,255,0) 100%);
  z-index:1;
}
.project2-hero-copy{
  position:relative;
  z-index:2;
  padding:64px 0 44px 62px;
  max-width:650px;
}
.project2-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#6da235;
  font-size:14px;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:18px;
}
.project2-kicker::before{content:'🌿';font-size:15px;}
.project2-hero-copy h2{
  margin:0 0 18px;
  color:#073e25;
  font-size:clamp(38px, 4.2vw, 64px);
  line-height:1.04;
  letter-spacing:-1.2px;
  font-weight:950;
}
.project2-hero-copy h2 em{font-style:normal;color:#c47713;}
.project2-hero-copy p{
  margin:0;
  max-width:570px;
  color:#1b3027;
  font-size:17px;
  line-height:1.58;
  font-weight:560;
}
.project2-logo-strip{
  width:max-content;
  max-width:100%;
  margin-top:30px;
  padding:14px 22px;
  display:flex;
  align-items:center;
  gap:20px;
  background:rgba(255,255,255,.92);
  border:1px solid #e2eae2;
  border-radius:18px;
  box-shadow:0 16px 32px rgba(6,53,30,.10);
  backdrop-filter:blur(4px);
}
.project2-logo-strip img{display:block;max-height:42px;max-width:118px;object-fit:contain;}
.project2-hero-image{
  position:relative;
  z-index:0;
  min-height:492px;
}
.project2-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.project2-intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
  margin-bottom:34px;
}
.project2-why-card,
.project2-objective-card{
  border:1px solid #dfe9df;
  background:#fff;
  border-radius:22px;
  box-shadow:0 18px 44px rgba(6,53,30,.08);
  overflow:hidden;
}
.project2-why-card{
  min-height:520px;
  display:grid;
  grid-template-columns:1fr 0.64fr;
  background:#fff;
}
.project2-why-content{padding:34px 18px 26px 34px;position:relative;z-index:2;}
.project2-why-content h3,
.project2-objective-card h3,
.project2-components-section h2{
  color:#073e25;
  font-weight:950;
  letter-spacing:-.3px;
}
.project2-why-content h3,.project2-objective-card h3{font-size:25px;line-height:1.1;margin:0 0 24px;}
.project2-why-content h3::after,.project2-objective-card h3::after,.project2-methods-wrap h4::after{
  content:'';
  display:block;
  width:54px;
  height:3px;
  margin-top:10px;
  border-radius:5px;
  background:#d09322;
}
.project2-reasons{list-style:none;margin:0;padding:0;display:grid;gap:0;}
.project2-reasons li{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  align-items:start;
  padding:0 0 13px;
  margin-bottom:13px;
  border-bottom:1px solid #e6ece6;
}
.project2-reasons li:last-child{border-bottom:0;margin-bottom:0;}
.reason-icon{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  color:#fff;background:linear-gradient(180deg,#147d43,#064b29);
  font-size:18px;font-weight:900;box-shadow:0 10px 20px rgba(6,53,30,.13);
}
.project2-reasons strong{display:block;color:#073e25;font-size:14.5px;font-weight:900;margin-bottom:3px;}
.project2-reasons p{margin:0;color:#26372d;font-size:13.5px;line-height:1.38;font-weight:560;}
.project2-note{
  margin-top:20px;
  display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;
  background:rgba(248,252,248,.92);border:1px solid #dfe8dd;border-radius:16px;padding:16px 18px;color:#1e352a;
}
.project2-note span{font-size:26px;}
.project2-note p{margin:0;font-size:13.8px;line-height:1.48;font-weight:600;}
.project2-producer-photo{position:relative;min-width:0;}
.project2-producer-photo::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.55) 17%,rgba(255,255,255,0) 42%);
}
.project2-producer-photo img{width:100%;height:100%;object-fit:cover;object-position:center bottom;display:block;}
.project2-objective-card{padding:34px;display:flex;flex-direction:column;}
.project2-objective-head{display:grid;grid-template-columns:1fr 82px;gap:20px;align-items:start;border-bottom:1px solid #e3e9e3;padding-bottom:26px;margin-bottom:24px;}
.project2-objective-card p{margin:0;color:#1d3027;font-size:15.2px;line-height:1.65;font-weight:560;}
.target-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#f0f8f0;border:1px solid #dceadc;color:#073e25;font-size:42px;font-weight:900;}
.project2-methods-wrap h4{margin:0 0 18px;color:#073e25;font-size:20px;font-weight:950;text-transform:uppercase;}
.project2-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;}
.project2-methods div{min-height:116px;padding:15px 12px;border:1px solid #dfe8df;border-radius:13px;background:linear-gradient(180deg,#fff,#f8fbf8);display:grid;place-items:center;text-align:center;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.project2-methods div:hover{transform:translateY(-5px);box-shadow:0 14px 28px rgba(6,53,30,.11);border-color:#bfd3c2;}
.project2-methods span{font-size:30px;line-height:1;color:#073e25;}
.project2-methods b{display:block;margin-top:8px;color:#0b3f28;font-size:12.8px;line-height:1.18;font-weight:950;}
.project2-components-section{margin-top:6px;}
.project2-title{margin-bottom:24px !important;}
.project2-components-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.project2-component-card{position:relative;background:#fff;border:1px solid #e0e9df;border-radius:18px;overflow:hidden;box-shadow:0 12px 30px rgba(6,53,30,.08);transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;}
.project2-component-card:hover{transform:translateY(-7px);box-shadow:0 24px 42px rgba(6,53,30,.15);border-color:#bfd6c5;}
.project2-component-card img{width:100%;height:132px;object-fit:cover;display:block;}
.component-number{position:absolute;top:10px;left:10px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#086033;color:#fff;font-weight:950;font-size:20px;z-index:2;box-shadow:0 8px 18px rgba(6,53,30,.22);}
.component-body{padding:16px 17px 18px;}
.component-body h3{margin:0 0 9px;color:#073e25;font-size:16px;line-height:1.15;font-weight:950;}
.component-body p{margin:0 0 14px;color:#24372d;font-size:12.6px;line-height:1.45;font-weight:540;}
.component-body a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#0b6437;font-size:13px;font-weight:950;}
.component-body a:hover{color:#be7818;}
.project2-alliance-banner{position:relative;overflow:hidden;margin:34px 0 32px;border-radius:22px;background:linear-gradient(135deg,#064023,#0b5d32 65%,#064023);min-height:170px;display:grid;grid-template-columns:1fr 250px;align-items:center;box-shadow:0 18px 40px rgba(6,53,30,.15);}
.project2-alliance-content{padding:28px 28px 26px;position:relative;z-index:2;}
.project2-alliance-content h3{margin:0 0 22px;color:#fff;font-size:22px;font-weight:950;text-transform:uppercase;letter-spacing:.01em;}
.project2-alliance-items{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.project2-alliance-items span{display:flex;align-items:center;gap:10px;color:#fff;font-size:12.5px;line-height:1.25;font-weight:760;}
.project2-alliance-items i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:#074326;font-style:normal;flex:0 0 auto;}
.project2-globe{position:absolute;right:0;bottom:0;top:0;height:100%;width:330px;object-fit:cover;object-position:right center;opacity:.98;}
.project2-logo-band{margin:0 -24px -48px;padding:24px 54px;border-radius:18px 18px 0 0;background:linear-gradient(135deg,#063d22,#07572e);display:flex;align-items:center;justify-content:center;gap:42px;box-shadow:0 -10px 30px rgba(6,53,30,.12);}
.project2-logo-band img{max-height:58px;max-width:160px;object-fit:contain;filter:brightness(0) invert(1);}
.project2-logo-band img:first-child{filter:none;background:#fff;border-radius:3px;padding:4px;}
@media (max-width:1199px){
  .project2-hero{grid-template-columns:1fr;min-height:auto;}
  .project2-hero::before{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.72));}
  .project2-hero-copy{padding:44px 32px 28px;max-width:760px;}
  .project2-hero-image{min-height:300px;}
  .project2-intro-grid{grid-template-columns:1fr;}
  .project2-components-grid{grid-template-columns:repeat(3,1fr);}
  .project2-alliance-items{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:991px){
  .project2-logo-strip{flex-wrap:wrap;width:100%;}
  .project2-why-card{grid-template-columns:1fr;}
  .project2-producer-photo{height:380px;order:-1;}
  .project2-producer-photo::before{background:linear-gradient(180deg,rgba(255,255,255,0),#fff 96%);}
  .project2-objective-head{grid-template-columns:1fr;}
  .target-icon{display:none;}
  .project2-methods{grid-template-columns:repeat(2,1fr);}
  .project2-components-grid{grid-template-columns:repeat(2,1fr);}
  .project2-alliance-banner{grid-template-columns:1fr;}
  .project2-globe{opacity:.18;width:50%;}
  .project2-logo-band{flex-wrap:wrap;gap:24px;padding:22px;}
}
@media (max-width:575px){
  .project2-hero{margin:0 -16px 24px;}
  .project2-hero-copy{padding:34px 20px 22px;}
  .project2-hero-copy h2{font-size:34px;}
  .project2-hero-copy p{font-size:14px;}
  .project2-logo-strip{gap:14px;padding:12px 14px;}
  .project2-logo-strip img{max-height:34px;max-width:98px;}
  .project2-why-content,.project2-objective-card{padding:24px 18px;}
  .project2-reasons li{grid-template-columns:42px 1fr;gap:12px;}
  .project2-methods,.project2-components-grid,.project2-alliance-items{grid-template-columns:1fr;}
  .project2-component-card img{height:170px;}
  .project2-logo-band{margin-left:-16px;margin-right:-16px;}
}

/* =========================================================
   AJUSTE FINO - EL PROYECTO SATREPS
   Refina la vista para acercarla al mockup aprobado.
   ========================================================= */
body.project-mode .project-section.project-redesign{
  background:#fff !important;
  padding-top:0 !important;
}
.project-redesign .container-xxl{
  max-width:1480px;
  padding-left:34px !important;
  padding-right:34px !important;
}
.project2-hero{
  position:relative;
  display:block !important;
  min-height:465px;
  margin:0 -34px 40px !important;
  overflow:hidden;
  border:0;
  background:#f5f7f1;
}
.project2-hero::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 32%,rgba(255,255,255,.58) 47%,rgba(255,255,255,.10) 68%,rgba(255,255,255,0) 100%),
    linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,.10) 100%);
  pointer-events:none;
}
.project2-hero-image{
  position:absolute !important;
  inset:0;
  min-height:0 !important;
  z-index:0 !important;
}
.project2-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.project2-hero-copy{
  position:relative;
  z-index:2;
  padding:58px 0 46px 58px !important;
  width:min(58%, 760px);
  max-width:760px;
}
.project2-kicker{
  font-size:14px;
  margin-bottom:16px;
  color:#6ba333;
}
.project2-hero-copy h2{
  font-size:clamp(34px, 3.55vw, 54px) !important;
  max-width:720px;
  line-height:1.07 !important;
  letter-spacing:-1.05px;
  margin-bottom:18px;
}
.project2-hero-copy p{
  max-width:660px;
  font-size:16.2px;
  line-height:1.55;
  color:#1d3028;
}
.project2-logo-strip{
  margin-top:26px;
  width:max-content;
  max-width:min(760px, 100%);
  gap:24px;
  padding:14px 24px;
  border-radius:17px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(220,231,218,.95);
  box-shadow:0 16px 34px rgba(3,49,27,.11);
}
.project2-logo-strip img{max-height:44px;max-width:128px;}
.project2-intro-grid{
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:28px;
  margin-bottom:42px;
}
.project2-why-card,
.project2-objective-card{
  border-radius:24px;
  border:1px solid #dfeadd;
  box-shadow:0 16px 38px rgba(3,49,27,.075);
}
.project2-why-card{
  display:grid;
  grid-template-columns:minmax(380px, .62fr) minmax(260px, .38fr) !important;
  min-height:535px;
  background:#fff;
}
.project2-why-content{
  padding:32px 12px 28px 34px !important;
  background:#fff;
  clip-path:ellipse(122% 82% at 0% 50%);
}
.project2-why-content h3,
.project2-objective-card h3{
  font-size:27px !important;
  line-height:1.05;
  margin-bottom:24px;
}
.project2-reasons li{
  grid-template-columns:54px 1fr;
  gap:14px;
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid #e7eee6;
}
.reason-icon{
  width:44px;height:44px;
  font-size:0;
  position:relative;
}
.reason-icon::before{
  font-size:21px;
  color:#fff;
  line-height:1;
}
.project2-reasons li:nth-child(1) .reason-icon::before{content:'↗';}
.project2-reasons li:nth-child(2) .reason-icon::before{content:'⌁';font-size:24px;}
.project2-reasons li:nth-child(3) .reason-icon::before{content:'●';font-size:16px;}
.project2-reasons li:nth-child(4) .reason-icon::before{content:'◎';font-size:22px;}
.project2-reasons li:nth-child(5) .reason-icon::before{content:'✓';font-size:24px;}
.project2-reasons strong{font-size:15.3px;}
.project2-reasons p{font-size:14.3px;line-height:1.42;}
.project2-note{
  margin-top:22px;
  grid-template-columns:42px 1fr;
  max-width:520px;
  background:rgba(250,253,250,.96);
  border-radius:17px;
  box-shadow:0 8px 22px rgba(3,49,27,.05);
}
.project2-note span{filter:saturate(.8);}
.project2-note p{font-size:14.5px;line-height:1.45;}
.project2-producer-photo{min-width:0;overflow:hidden;}
.project2-producer-photo::before{
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 10%,rgba(255,255,255,.55) 24%,rgba(255,255,255,0) 48%);
}
.project2-producer-photo img{object-position:center bottom;}
.project2-objective-card{
  padding:38px 40px 34px !important;
  min-height:535px;
}
.project2-objective-head{
  grid-template-columns:1fr 96px;
  padding-bottom:26px;
  margin-bottom:26px;
}
.project2-objective-card p{
  font-size:16px;
  line-height:1.68;
  max-width:800px;
}
.target-icon{
  width:88px;height:88px;
  font-size:0;
  position:relative;
  background:#f2faf1;
}
.target-icon::before{
  content:'';
  width:43px;height:43px;
  border:5px solid #0b5931;
  border-radius:50%;
  box-shadow:inset 0 0 0 8px #f2faf1, inset 0 0 0 13px #0b5931;
}
.project2-methods-wrap h4{font-size:22px;margin-bottom:18px;}
.project2-methods{gap:16px;}
.project2-methods div{
  min-height:122px;
  padding:18px 14px;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfdfb);
}
.project2-methods .method-icon{
  width:42px;height:42px;
  display:block;
  position:relative;
  margin:0 auto 8px;
  color:#0b4a2d;
}
.project2-methods .method-icon::before,
.project2-methods .method-icon::after{
  content:'';position:absolute;display:block;
}
.method-platform::before{inset:6px 4px 12px;border:4px solid #0b4a2d;border-radius:3px;}
.method-platform::after{left:12px;right:12px;bottom:5px;height:4px;background:#0b4a2d;box-shadow:8px -12px 0 -6px #0b4a2d,15px -18px 0 -6px #0b4a2d;}
.method-dna::before{content:'⌬' !important;inset:0;font-size:42px;line-height:42px;color:#0b4a2d;text-align:center;}
.method-leaf::before{content:'✣' !important;inset:0;font-size:39px;line-height:42px;color:#0b4a2d;text-align:center;}
.method-badge::before{content:'◎' !important;inset:0;font-size:42px;line-height:42px;color:#0b4a2d;text-align:center;}
.method-people::before{content:'♙' !important;inset:0;font-size:40px;line-height:42px;color:#0b4a2d;text-align:center;}
.method-handshake::before{content:'⇄' !important;inset:0;font-size:42px;line-height:42px;color:#0b4a2d;text-align:center;}
.project2-methods b{font-size:13.4px;line-height:1.2;margin-top:4px;}
.project2-components-section{margin-top:6px;margin-bottom:28px;}
.project2-title{margin-bottom:22px !important;}
.project2-components-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;}
.project2-component-card{border-radius:16px;box-shadow:0 12px 26px rgba(3,49,27,.08);}
.project2-component-card img{height:138px;object-position:center center;}
.component-number{top:8px;left:8px;width:37px;height:37px;font-size:19px;}
.component-body{padding:15px 16px 17px;}
.component-body h3{font-size:15.2px;line-height:1.18;min-height:38px;}
.component-body p{font-size:12.4px;line-height:1.42;min-height:68px;}
.project2-alliance-banner{
  margin:30px 0 32px;
  border-radius:22px;
  min-height:162px;
  grid-template-columns:1fr 330px;
  background:linear-gradient(90deg,#074526 0%,#07582f 68%,#06381f 100%);
}
.project2-alliance-content{padding:28px 34px;}
.project2-alliance-content h3{font-size:23px;margin-bottom:24px;}
.project2-alliance-items{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  max-width:960px;
}
.project2-alliance-items span{
  font-size:13.2px;
  line-height:1.25;
  font-weight:850;
  position:relative;
  padding-right:16px;
}
.project2-alliance-items span:not(:last-child)::after{
  content:'';
  position:absolute;
  right:0;top:8px;bottom:8px;
  width:1px;background:rgba(255,255,255,.25);
}
.project2-alliance-items i{
  width:48px;height:48px;
  font-size:20px;
  background:rgba(255,255,255,.96);
  color:#0b4a2d;
}
.project2-globe{
  position:absolute;
  right:0;top:0;bottom:0;
  width:420px;
  height:100%;
  object-fit:cover;
  object-position:right center;
  opacity:1;
}
.project2-alliance-banner::after{
  content:'🇨🇴   🇯🇵';
  position:absolute;
  right:42px;
  bottom:54px;
  font-size:34px;
  letter-spacing:8px;
  z-index:2;
}
.project2-logo-band{
  margin:0 -34px -48px !important;
  padding:24px 54px 28px;
  border-radius:20px 20px 0 0;
  background:linear-gradient(135deg,#063d22,#07572e);
  gap:28px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
}
.project2-logo-band img{
  filter:none !important;
  background:rgba(255,255,255,.96);
  border-radius:10px;
  padding:10px 14px;
  width:150px;
  height:64px;
  max-width:none;
  max-height:none;
  object-fit:contain;
  box-shadow:0 8px 22px rgba(0,0,0,.10);
}
.project2-logo-band img:first-child{width:170px;}
@media (max-width:1199px){
  .project2-hero{min-height:520px;}
  .project2-hero-copy{width:min(88%,760px);}
  .project2-hero::before{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.72));}
  .project2-intro-grid{grid-template-columns:1fr;}
  .project2-why-card{grid-template-columns:1fr .42fr !important;}
  .project2-components-grid{grid-template-columns:repeat(3,1fr);}
  .project2-alliance-items{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  .project-redesign .container-xxl{padding-left:16px !important;padding-right:16px !important;}
  .project2-hero{margin:0 -16px 28px !important;min-height:auto;}
  .project2-hero-image{position:relative !important;height:290px;display:block;}
  .project2-hero-copy{width:100%;padding:34px 20px 22px !important;}
  .project2-hero-copy h2{font-size:33px !important;}
  .project2-logo-strip{flex-wrap:wrap;width:100%;}
  .project2-why-card{grid-template-columns:1fr !important;}
  .project2-why-content{clip-path:none;padding:24px 18px !important;}
  .project2-producer-photo{height:360px;order:-1;}
  .project2-methods{grid-template-columns:repeat(2,1fr);}
  .project2-components-grid{grid-template-columns:1fr;}
  .project2-alliance-banner{grid-template-columns:1fr;}
  .project2-globe{opacity:.18;width:55%;}
  .project2-alliance-banner::after{display:none;}
  .project2-logo-band{margin-left:-16px !important;margin-right:-16px !important;padding:20px;gap:14px;}
  .project2-logo-band img{width:132px;height:56px;}
}

/* === Refinamiento final sección El proyecto: acercamiento a boceto === */
.project-redesign{background:#fff;padding-top:28px!important;}
.project2-hero{display:grid;grid-template-columns:minmax(420px,48%) 1fr;min-height:435px;margin:0 -24px 34px;border-radius:0;overflow:hidden;background:#fff;box-shadow:none;}
.project2-hero::before{display:none!important;}
.project2-hero-copy{position:relative;z-index:2;padding:54px 0 42px 62px;max-width:620px;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 72%,rgba(255,255,255,.72) 100%);}
.project2-hero-copy::after{content:"";position:absolute;top:0;right:-140px;width:240px;height:100%;background:linear-gradient(90deg,rgba(255,255,255,.78),rgba(255,255,255,0));pointer-events:none;}
.project2-kicker{font-size:15px;margin-bottom:14px;color:#74a92a;letter-spacing:.055em;}
.project2-kicker::before{content:'';display:inline-block;width:18px;height:18px;margin-right:8px;background:url('assets/project-leaves-1.png') center/contain no-repeat;vertical-align:-3px;}
.project2-hero-copy h2{font-size:clamp(42px,5.15vw,64px);line-height:.98;letter-spacing:-.055em;margin-bottom:20px;}
.project2-hero-copy p{font-size:17px;line-height:1.58;max-width:565px;color:#0f2a1d;font-weight:560;}
.project2-logo-strip{display:none!important;}
.project2-hero-image{min-height:435px;position:relative;}
.project2-hero-image img{height:100%;width:100%;object-fit:cover;object-position:center right;filter:saturate(1.05) contrast(1.01);}

.project2-intro-grid{grid-template-columns:1fr 1.02fr;gap:26px;margin-top:4px;align-items:stretch;}
.project2-why-card{grid-template-columns:59% 41%;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 18px 42px rgba(5,48,27,.08);border:1px solid #dfe9df;min-height:505px;}
.project2-why-content{padding:32px 18px 26px 34px!important;background:#fff;position:relative;z-index:3;}
.project2-why-content::after{content:"";position:absolute;top:-8%;right:-98px;width:190px;height:116%;border-radius:50%;background:#fff;box-shadow:36px 0 42px rgba(255,255,255,.92);z-index:-1;}
.project2-why-content::before{content:"";position:absolute;top:18px;right:8px;width:54px;height:42px;background:url('assets/project-leaves-2.png') center/contain no-repeat;opacity:.85;}
.project2-why-content h3,.project2-objective-card h3{font-size:25px!important;margin-bottom:22px!important;}
.project2-reasons li{grid-template-columns:56px 1fr;gap:14px;padding:10px 0 11px;align-items:center;}
.project2-reasons strong{font-size:14.4px!important;}
.project2-reasons p{font-size:13.1px!important;line-height:1.35!important;}
.reason-icon{width:48px;height:48px;border-radius:50%;background:#086132;box-shadow:0 10px 22px rgba(6,83,45,.18);display:grid;place-items:center;overflow:hidden;}
.reason-icon img{width:58px;height:58px;object-fit:cover;display:block;}
.project2-note{margin-top:20px!important;border-radius:20px!important;background:rgba(250,253,250,.94)!important;box-shadow:0 16px 30px rgba(6,53,30,.08);border-color:#d8e5d7!important;padding:18px 22px!important;}
.project2-note span{width:40px;height:40px;display:grid;place-items:center;font-size:22px!important;}
.project2-note p{font-size:13.8px!important;}
.project2-producer-photo{overflow:hidden;background:#fff;}
.project2-producer-photo::before{content:"";position:absolute;inset:0 auto 0 -92px;width:170px;background:radial-gradient(ellipse at left center,#fff 0%,rgba(255,255,255,.88) 38%,rgba(255,255,255,.42) 66%,rgba(255,255,255,0) 100%);z-index:2;pointer-events:none;}
.project2-producer-photo img{object-position:center center!important;filter:saturate(1.05);}

.project2-objective-card{border-radius:20px!important;box-shadow:0 18px 42px rgba(5,48,27,.08);border:1px solid #dfe9df;padding:32px 34px!important;background:linear-gradient(180deg,#fff,#fbfdfb);}
.target-icon{font-size:0!important;width:78px;height:78px;background:#eef7ef;border:1px solid #d8e8da;border-radius:50%;position:relative;}
.target-icon::before{content:"";position:absolute;inset:18px;border:4px solid #064325;border-radius:50%;}
.target-icon::after{content:"";position:absolute;inset:30px;border:4px solid #064325;border-radius:50%;box-shadow:13px -13px 0 -8px #064325;}
.project2-methods{gap:13px!important;}
.project2-methods div{min-height:118px!important;border-radius:14px!important;background:linear-gradient(180deg,#fff,#f7fbf7)!important;box-shadow:0 10px 26px rgba(5,48,27,.04);}
.project2-methods span{display:block;width:52px;height:52px;margin-bottom:8px;}
.project2-methods span img{width:100%;height:100%;object-fit:contain;display:block;}
.project2-methods b{font-size:13.2px!important;line-height:1.16!important;margin-top:0!important;}

.project2-alliance-banner{min-height:154px!important;margin:34px 0 26px!important;border-radius:22px!important;background:linear-gradient(90deg,#064024 0%,#07552f 66%,#064024 100%)!important;grid-template-columns:1fr 385px!important;box-shadow:0 18px 38px rgba(6,53,30,.14);}
.project2-alliance-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 50%,rgba(255,255,255,.08),transparent 30%);pointer-events:none;}
.project2-alliance-content{padding:26px 30px 24px!important;}
.project2-alliance-content h3{font-size:21px!important;margin-bottom:20px!important;display:flex;align-items:center;gap:10px;}
.project2-alliance-content h3::after{content:"";width:35px;height:25px;background:url('assets/project-leaves-1.png') center/contain no-repeat;opacity:.75;}
.project2-alliance-items{display:grid!important;grid-template-columns:1.05fr 1.05fr 1.05fr 1.16fr!important;gap:0!important;align-items:center;}
.project2-alliance-items span{gap:12px!important;padding:0 18px 0 0;margin-right:16px;border-right:1px solid rgba(255,255,255,.22);font-size:13px!important;font-weight:800!important;min-height:54px;}
.project2-alliance-items span:last-child{border-right:0;margin-right:0;}
.project2-alliance-items i{width:52px!important;height:52px!important;background:#fff!important;box-shadow:0 10px 24px rgba(0,0,0,.12);overflow:hidden;}
.project2-alliance-items i img{width:64px;height:64px;object-fit:cover;display:block;}
.project2-globe{right:0!important;width:390px!important;object-fit:cover!important;object-position:right center!important;opacity:1!important;}
.project2-flags{position:absolute;right:22px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:14px;z-index:4;}
.project2-flags img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(0,0,0,.25));}

.project2-logo-band{margin:0 0 -46px!important;padding:22px 64px!important;border-radius:20px 20px 0 0!important;background:linear-gradient(135deg,#064024,#07572f)!important;gap:46px!important;min-height:120px;}
.project2-logo-band img{background:transparent!important;border-radius:0!important;padding:0!important;filter:none!important;max-height:62px!important;max-width:160px!important;object-fit:contain!important;}
.project2-logo-band img:not(:first-child){filter:brightness(0) invert(1) contrast(1.08)!important;}
.project2-logo-band img:first-child{background:#fff!important;padding:6px!important;border-radius:4px!important;max-width:165px!important;}

@media (max-width: 1199px){
  .project2-hero{grid-template-columns:1fr;}
  .project2-hero-copy{max-width:100%;padding:42px 30px 24px;}
  .project2-hero-copy::after{display:none;}
  .project2-hero-image{min-height:340px;}
  .project2-alliance-banner{grid-template-columns:1fr!important;}
  .project2-globe{opacity:.18!important;width:55%!important;}
  .project2-flags{right:18px;bottom:16px;top:auto;transform:none;}
}
@media (max-width: 767px){
  .project2-why-card{grid-template-columns:1fr;}
  .project2-why-content::after{display:none;}
  .project2-producer-photo{height:340px;order:-1;}
  .project2-producer-photo::before{display:none;}
  .project2-alliance-items{grid-template-columns:1fr!important;gap:14px!important;}
  .project2-alliance-items span{border-right:0;margin-right:0;}
  .project2-logo-band{gap:22px!important;padding:18px 22px!important;}
}

/* === AJUSTE FINAL EL PROYECTO - fidelidad al boceto === */
.project2-logo-band{display:none!important;}

/* Hero del proyecto: sin bloque intermedio ni franja de logos */
.project2-hero{
  position:relative!important;
  display:block!important;
  min-height:430px!important;
  margin:0 -34px 34px!important;
  overflow:hidden!important;
  background:#fff!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.project2-hero-image{
  position:absolute!important;
  inset:0!important;
  min-height:0!important;
  height:100%!important;
  width:100%!important;
  z-index:0!important;
}
.project2-hero-image img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center right!important;
  filter:saturate(1.03) contrast(1.01)!important;
}
.project2-hero::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(255,255,255,.99) 0%,
    rgba(255,255,255,.97) 27%,
    rgba(255,255,255,.88) 39%,
    rgba(255,255,255,.55) 50%,
    rgba(255,255,255,.16) 63%,
    rgba(255,255,255,0) 78%)!important;
}
.project2-hero-copy{
  position:relative!important;
  z-index:2!important;
  width:min(48%,640px)!important;
  max-width:640px!important;
  padding:54px 0 44px 58px!important;
  background:transparent!important;
}
.project2-hero-copy::after{display:none!important;}
.project2-logo-strip{display:none!important;}
.project2-hero-copy h2{
  font-size:clamp(38px,4.15vw,56px)!important;
  line-height:1.04!important;
  letter-spacing:-1.7px!important;
  margin-bottom:16px!important;
  max-width:620px!important;
}
.project2-hero-copy p{
  max-width:600px!important;
  font-size:15.7px!important;
  line-height:1.55!important;
  color:#163128!important;
  font-weight:540!important;
}
.project2-kicker{font-size:14px!important;margin-bottom:14px!important;}

/* Bloque por qué nace: curva blanca real y círculos limpios */
.project2-intro-grid{gap:28px!important;margin-bottom:38px!important;}
.project2-why-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(430px,58%) minmax(270px,42%)!important;
  min-height:520px!important;
  overflow:hidden!important;
  background:#fff!important;
  border-radius:22px!important;
  border:1px solid #dfeadd!important;
  box-shadow:0 16px 40px rgba(3,49,27,.08)!important;
}
.project2-why-card::before{
  content:'';
  position:absolute;
  z-index:2;
  top:-12%;
  bottom:-12%;
  left:48%;
  width:190px;
  border-radius:50%;
  background:#fff;
  box-shadow:28px 0 36px rgba(255,255,255,.82);
  pointer-events:none;
}
.project2-why-content{
  position:relative!important;
  z-index:3!important;
  padding:30px 26px 26px 34px!important;
  background:#fff!important;
  clip-path:none!important;
}
.project2-why-content::after{display:none!important;}
.project2-why-content::before{
  top:18px!important;
  right:8px!important;
  width:48px!important;
  height:36px!important;
}
.project2-why-content h3{font-size:24px!important;margin-bottom:22px!important;}
.project2-reasons li{
  grid-template-columns:58px 1fr!important;
  gap:16px!important;
  padding:9px 0 11px!important;
  margin-bottom:8px!important;
  border-bottom:1px solid #e7eee6!important;
}
.reason-icon{
  width:48px!important;
  height:48px!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:0 10px 18px rgba(5,72,38,.10)!important;
  border-radius:50%!important;
  overflow:hidden!important;
  flex:0 0 48px!important;
}
.reason-icon::before,.reason-icon::after{display:none!important;content:none!important;}
.reason-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
.project2-reasons strong{font-size:14.2px!important;line-height:1.2!important;}
.project2-reasons p{font-size:13.1px!important;line-height:1.34!important;margin:0!important;}
.project2-note{
  margin-top:18px!important;
  max-width:500px!important;
  display:grid!important;
  grid-template-columns:42px 1fr!important;
  align-items:center!important;
  padding:16px 20px!important;
  border-radius:18px!important;
  background:rgba(250,253,250,.97)!important;
  box-shadow:0 14px 30px rgba(6,53,30,.07)!important;
}
.project2-note p{font-size:13.4px!important;line-height:1.45!important;margin:0!important;}
.project2-producer-photo{position:relative!important;z-index:1!important;overflow:hidden!important;background:#fff!important;}
.project2-producer-photo::before{display:none!important;}
.project2-producer-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:saturate(1.03)!important;
}

/* Cómo lo hacemos: usar SVGs limpios, sin pseudo-iconos extraños */
.project2-methods .method-icon::before,
.project2-methods .method-icon::after{display:none!important;content:none!important;}
.project2-methods .method-icon{
  display:block!important;
  width:54px!important;
  height:54px!important;
  margin:0 auto 10px!important;
}
.project2-methods .method-icon img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.project2-methods div{
  min-height:118px!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#fff,#f7fbf7)!important;
  border:1px solid #dfeadd!important;
  box-shadow:0 10px 26px rgba(5,48,27,.035)!important;
}

/* Banner de aliados: un solo tono, globo recortado, banderas a la derecha */
.project2-alliance-banner{
  position:relative!important;
  display:block!important;
  min-height:154px!important;
  margin:30px 0 30px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#074526!important;
  box-shadow:0 18px 38px rgba(6,53,30,.14)!important;
}
.project2-alliance-banner::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,#074526 0%,#07512d 54%,#063d22 100%)!important;
  z-index:0!important;
}
.project2-alliance-banner::after{display:none!important;content:none!important;}
.project2-alliance-content{
  position:relative!important;
  z-index:3!important;
  padding:24px 34px!important;
  max-width:calc(100% - 430px)!important;
}
.project2-alliance-content h3{
  font-size:20px!important;
  margin:0 0 22px!important;
  line-height:1.1!important;
  color:#fff!important;
}
.project2-alliance-items{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  max-width:990px!important;
}
.project2-alliance-items span{
  display:grid!important;
  grid-template-columns:56px 1fr!important;
  align-items:center!important;
  gap:12px!important;
  padding-right:14px!important;
  color:#fff!important;
  font-size:12.8px!important;
  font-weight:850!important;
  line-height:1.22!important;
}
.project2-alliance-items span:not(:last-child)::after{
  top:8px!important;bottom:8px!important;background:rgba(255,255,255,.22)!important;
}
.project2-alliance-items i{
  width:50px!important;
  height:50px!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  border-radius:50%!important;
  border:0!important;
  box-shadow:0 8px 20px rgba(0,0,0,.10)!important;
  overflow:hidden!important;
}
.project2-alliance-items i img{
  width:30px!important;
  height:30px!important;
  object-fit:contain!important;
  display:block!important;
}
.project2-globe{
  position:absolute!important;
  z-index:1!important;
  right:-36px!important;
  top:0!important;
  bottom:0!important;
  width:430px!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:right center!important;
  opacity:1!important;
  pointer-events:none!important;
}
.project2-flags{
  position:absolute!important;
  z-index:5!important;
  right:48px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  gap:14px!important;
  align-items:center!important;
}
.project2-flags img{
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.22))!important;
  background:transparent!important;
}

@media (max-width:1199px){
  .project2-hero-copy{width:min(62%,700px)!important;}
  .project2-why-card{grid-template-columns:1fr .44fr!important;}
  .project2-alliance-content{max-width:100%!important;padding-right:250px!important;}
  .project2-alliance-items{grid-template-columns:repeat(2,1fr)!important;}
  .project2-globe{width:330px!important;opacity:.9!important;}
  .project2-flags{right:36px!important;}
}
@media (max-width:767px){
  .project2-hero{margin:0 -16px 28px!important;min-height:auto!important;display:grid!important;}
  .project2-hero-image{position:relative!important;height:270px!important;order:2;}
  .project2-hero::before{display:none!important;}
  .project2-hero-copy{width:100%!important;padding:32px 20px 22px!important;}
  .project2-hero-copy h2{font-size:32px!important;}
  .project2-why-card{grid-template-columns:1fr!important;}
  .project2-why-card::before{display:none!important;}
  .project2-producer-photo{height:330px;order:-1;}
  .project2-alliance-content{padding:24px 22px 145px!important;max-width:100%!important;}
  .project2-alliance-items{grid-template-columns:1fr!important;}
  .project2-globe{right:-90px;bottom:0;top:auto;width:310px;height:150px;opacity:.45!important;}
  .project2-flags{right:24px;bottom:24px;top:auto!important;transform:none!important;}
}

/* === AJUSTE FINAL SOLICITADO: íconos reales y banner inferior uniforme === */
.project2-methods{
  gap:16px!important;
}
.project2-methods div{
  min-height:118px!important;
  padding:18px 18px 16px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdfb 100%)!important;
  border:1px solid #dbe8de!important;
  box-shadow:0 10px 24px rgba(5,48,27,.035)!important;
}
.project2-methods div:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 16px 30px rgba(6,53,30,.11)!important;
  border-color:#bdd4c3!important;
}
.project2-methods .method-icon{
  width:62px!important;
  height:50px!important;
  margin:0 auto 10px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.project2-methods .method-icon img{
  width:62px!important;
  height:50px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 8px rgba(6,53,30,.08))!important;
}
.project2-methods b{
  color:#0a3f27!important;
  font-size:13.2px!important;
  line-height:1.16!important;
  font-weight:950!important;
  letter-spacing:-.15px!important;
}

.project2-alliance-banner{
  position:relative!important;
  min-height:178px!important;
  margin:32px 0 32px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#073f24!important;
  box-shadow:0 18px 38px rgba(6,53,30,.16)!important;
  display:block!important;
}
.project2-alliance-banner::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(90deg,rgba(4,42,24,.18) 0%,rgba(4,42,24,.08) 58%,rgba(4,42,24,0) 100%)!important;
  pointer-events:none!important;
}
.project2-alliance-banner::after{
  display:none!important;
  content:none!important;
}
.project2-globe{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 45%!important;
  opacity:1!important;
  pointer-events:none!important;
}
.project2-alliance-content{
  position:relative!important;
  z-index:3!important;
  max-width:74%!important;
  padding:25px 34px 24px!important;
}
.project2-alliance-content h3{
  color:#fff!important;
  margin:0 0 22px!important;
  font-size:22px!important;
  line-height:1.08!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.01em!important;
}
.project2-alliance-items{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  max-width:980px!important;
}
.project2-alliance-items span{
  position:relative!important;
  display:grid!important;
  grid-template-columns:58px 1fr!important;
  align-items:center!important;
  gap:14px!important;
  padding:0 22px 0 0!important;
  margin-right:22px!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:850!important;
  line-height:1.2!important;
}
.project2-alliance-items span:not(:last-child)::after{
  content:''!important;
  position:absolute!important;
  right:0!important;
  top:10px!important;
  bottom:10px!important;
  width:1px!important;
  background:rgba(255,255,255,.28)!important;
}
.project2-alliance-items i{
  width:52px!important;
  height:52px!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  border-radius:50%!important;
  border:0!important;
  box-shadow:0 10px 18px rgba(0,0,0,.12)!important;
  overflow:hidden!important;
}
.project2-alliance-items i img{
  width:30px!important;
  height:30px!important;
  object-fit:contain!important;
  display:block!important;
}
.project2-flags{
  position:absolute!important;
  z-index:5!important;
  right:118px!important;
  top:50%!important;
  transform:translateY(-48%)!important;
  display:flex!important;
  gap:14px!important;
  align-items:center!important;
  pointer-events:none!important;
}
.project2-flags img{
  width:48px!important;
  height:48px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 9px 12px rgba(0,0,0,.22))!important;
  background:transparent!important;
}

@media (max-width:1199px){
  .project2-alliance-content{max-width:100%!important;padding:25px 250px 24px 28px!important;}
  .project2-alliance-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:18px!important;}
  .project2-flags{right:38px!important;top:auto!important;bottom:22px!important;transform:none!important;}
}
@media (max-width:767px){
  .project2-methods{grid-template-columns:repeat(2,1fr)!important;}
  .project2-alliance-content{padding:24px 22px 145px!important;max-width:100%!important;}
  .project2-alliance-items{grid-template-columns:1fr!important;}
  .project2-alliance-items span:not(:last-child)::after{display:none!important;}
  .project2-flags{right:22px!important;bottom:24px!important;}
}

/* === AJUSTE FINAL SOLICITADO 8: iconos, banner y curva === */
/* ¿Cómo lo hacemos?: usar PNG recortados con mayor presencia visual */
.project2-methods div{
  min-height:128px!important;
  padding:24px 18px 20px!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fcf9 100%)!important;
  border:1px solid #dbe8dc!important;
  box-shadow:0 12px 26px rgba(5,48,27,.045)!important;
}
.project2-methods .method-icon{
  width:72px!important;
  height:58px!important;
  margin:0 auto 12px!important;
}
.project2-methods .method-icon img{
  width:72px!important;
  height:58px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 9px rgba(5,48,27,.10))!important;
}
.project2-methods b{
  font-size:13.8px!important;
  line-height:1.14!important;
  color:#063e24!important;
}

/* Banner inferior: usar la imagen del globo como fondo para TODO el banner, sin dos mitades de color */
.project2-alliance-banner{
  min-height:158px!important;
  margin:32px 0 32px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#063f24 url('assets/project-globo.png') center center/cover no-repeat!important;
  display:block!important;
  box-shadow:0 18px 38px rgba(6,53,30,.16)!important;
}
.project2-alliance-banner::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(90deg,rgba(3,44,25,.34) 0%,rgba(3,44,25,.24) 58%,rgba(3,44,25,.10) 100%)!important;
  pointer-events:none!important;
}
.project2-globe{
  display:none!important;
}
.project2-alliance-content{
  max-width:70%!important;
  padding:24px 32px 22px!important;
  position:relative!important;
  z-index:3!important;
}
.project2-alliance-content h3{
  font-size:21px!important;
  margin-bottom:20px!important;
}
.project2-alliance-items{
  max-width:900px!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.project2-alliance-items span{
  grid-template-columns:56px 1fr!important;
  gap:13px!important;
  padding-right:18px!important;
  margin-right:16px!important;
  font-size:12.6px!important;
  line-height:1.17!important;
}
.project2-alliance-items i{
  width:54px!important;
  height:54px!important;
  background:#fff!important;
  border-radius:50%!important;
}
.project2-alliance-items i img{
  width:40px!important;
  height:40px!important;
  object-fit:contain!important;
}
.project2-flags{
  right:62px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  gap:16px!important;
  z-index:5!important;
}
.project2-flags img{
  width:58px!important;
  height:58px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.26))!important;
}

/* Bloque ¿Por qué nace?: curva doble y más imagen visible */
.project2-why-card{
  grid-template-columns:56% 44%!important;
  min-height:500px!important;
  position:relative!important;
  overflow:hidden!important;
}
.project2-why-content{
  padding:28px 12px 24px 32px!important;
  position:relative!important;
  z-index:4!important;
  background:#fff!important;
}
/* primera curva grande (borde principal) */
.project2-why-card::before{
  content:''!important;
  position:absolute!important;
  z-index:3!important;
  top:-18%!important;
  bottom:-18%!important;
  left:49.7%!important;
  width:170px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:20px 0 30px rgba(255,255,255,.86)!important;
  pointer-events:none!important;
}
/* segunda curva suave para simular la doble onda del boceto */
.project2-why-card::after{
  content:''!important;
  position:absolute!important;
  z-index:3!important;
  top:-10%!important;
  bottom:-10%!important;
  left:52.4%!important;
  width:125px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.42)!important;
  box-shadow:28px 0 34px rgba(255,255,255,.48)!important;
  pointer-events:none!important;
}
.project2-why-content::after{display:none!important;}
.project2-why-content h3{
  font-size:24px!important;
  margin-bottom:18px!important;
}
.project2-reasons li{
  grid-template-columns:50px 1fr!important;
  gap:12px!important;
  padding:8px 0 9px!important;
}
.reason-icon{
  width:44px!important;
  height:44px!important;
  background:#086132!important;
  border:4px solid #fff!important;
  box-shadow:0 10px 22px rgba(6,83,45,.16)!important;
}
.reason-icon img{
  width:44px!important;
  height:44px!important;
  object-fit:cover!important;
}
.project2-reasons strong{font-size:13.5px!important;}
.project2-reasons p{font-size:12.5px!important;line-height:1.34!important;}
.project2-note{
  max-width:410px!important;
  padding:16px 20px!important;
  margin-top:16px!important;
}
.project2-note p{font-size:13px!important;line-height:1.42!important;}
.project2-producer-photo{
  position:relative!important;
  min-height:500px!important;
  overflow:hidden!important;
}
.project2-producer-photo::before{
  content:''!important;
  position:absolute!important;
  z-index:2!important;
  inset:0 auto 0 -88px!important;
  width:160px!important;
  background:radial-gradient(ellipse at left center,rgba(255,255,255,.92) 0%,rgba(255,255,255,.70) 38%,rgba(255,255,255,.26) 62%,rgba(255,255,255,0) 82%)!important;
  pointer-events:none!important;
}
.project2-producer-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:saturate(1.06) contrast(1.02)!important;
}

@media (max-width:1199px){
  .project2-alliance-content{max-width:100%!important;padding-right:230px!important;}
  .project2-flags{right:30px!important;}
  .project2-why-card{grid-template-columns:1fr!important;}
  .project2-why-card::before,.project2-why-card::after{display:none!important;}
}
@media (max-width:767px){
  .project2-alliance-content{padding:24px 22px 120px!important;}
  .project2-flags{right:22px!important;bottom:22px!important;top:auto!important;transform:none!important;}
}

/* === CORRECCIÓN FINAL 9: banderas al extremo derecho + curva doble real en bloque ¿Por qué nace? === */
.project2-alliance-banner{
  position:relative!important;
  min-height:158px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#063f24 url('assets/project-globo.png') center center/cover no-repeat!important;
  display:block!important;
}
.project2-alliance-banner::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(90deg,rgba(3,45,25,.40) 0%,rgba(3,45,25,.32) 55%,rgba(3,45,25,.10) 100%)!important;
}
.project2-alliance-content{
  position:static!important;
  max-width:69%!important;
  padding:24px 32px 22px!important;
  z-index:auto!important;
}
.project2-alliance-content h3,
.project2-alliance-items{
  position:relative!important;
  z-index:3!important;
}
.project2-alliance-items{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  max-width:100%!important;
}
.project2-alliance-items span{
  grid-template-columns:62px 1fr!important;
  gap:14px!important;
  padding-right:18px!important;
  margin-right:12px!important;
  font-size:13px!important;
  line-height:1.18!important;
}
.project2-alliance-items i{
  width:58px!important;
  height:58px!important;
  background:#fff!important;
}
.project2-alliance-items i img{
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
}
.project2-flags{
  position:absolute!important;
  right:46px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  gap:14px!important;
  align-items:center!important;
  z-index:6!important;
  pointer-events:none!important;
}
.project2-flags img{
  width:56px!important;
  height:56px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.28))!important;
}

/* Doble curva del bloque “¿Por qué nace?”: la foto queda como fondo completo y el panel blanco crea la doble onda */
.project2-why-card{
  position:relative!important;
  display:block!important;
  min-height:552px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #dfe9df!important;
  box-shadow:0 18px 42px rgba(5,48,27,.08)!important;
}
.project2-producer-photo{
  position:absolute!important;
  inset:0!important;
  min-height:0!important;
  z-index:1!important;
  overflow:hidden!important;
}
.project2-producer-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:78% center!important;
  filter:saturate(1.06) contrast(1.02)!important;
}
/* capa blanca base */
.project2-why-content{
  position:relative!important;
  z-index:4!important;
  width:61.5%!important;
  min-height:552px!important;
  padding:28px 8px 24px 34px!important;
  background:#fff!important;
  border-radius:20px 0 0 20px!important;
}
/* curva principal gruesa */
.project2-why-content::after{
  display:block!important;
  content:''!important;
  position:absolute!important;
  z-index:-1!important;
  top:-7%!important;
  right:-95px!important;
  width:160px!important;
  height:114%!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:30px 0 38px rgba(255,255,255,.72)!important;
}
/* segunda curva suave, más interna, para efecto de doble onda */
.project2-why-card::before{
  content:''!important;
  position:absolute!important;
  z-index:3!important;
  top:2%!important;
  left:58.8%!important;
  width:115px!important;
  height:96%!important;
  border-radius:50%!important;
  background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.20) 70%,rgba(255,255,255,0))!important;
  pointer-events:none!important;
}
.project2-why-card::after{
  content:''!important;
  position:absolute!important;
  z-index:3!important;
  top:0!important;
  left:60.5%!important;
  width:78px!important;
  height:100%!important;
  background:linear-gradient(90deg,rgba(255,255,255,.55),rgba(255,255,255,0))!important;
  pointer-events:none!important;
}
.project2-why-content::before{
  content:''!important;
  position:absolute!important;
  top:18px!important;
  right:2px!important;
  width:52px!important;
  height:38px!important;
  background:url('assets/project-leaves-2.png') center/contain no-repeat!important;
  opacity:.9!important;
}
.project2-why-content h3{font-size:23px!important;margin-bottom:18px!important;}
.project2-reasons li{
  grid-template-columns:48px 1fr!important;
  gap:12px!important;
  padding:7px 0 8px!important;
}
.reason-icon{width:42px!important;height:42px!important;}
.reason-icon img{width:42px!important;height:42px!important;}
.project2-reasons strong{font-size:13.2px!important;}
.project2-reasons p{font-size:12.25px!important;line-height:1.32!important;}
.project2-note{
  max-width:405px!important;
  margin-top:14px!important;
  padding:15px 18px!important;
  border-radius:16px!important;
}
.project2-note p{font-size:12.8px!important;line-height:1.4!important;}

@media (max-width:1199px){
  .project2-alliance-content{max-width:100%!important;padding-right:260px!important;}
  .project2-alliance-items{grid-template-columns:repeat(2,minmax(0,1fr))!important;row-gap:18px!important;}
  .project2-flags{right:38px!important;top:auto!important;bottom:22px!important;transform:none!important;}
  .project2-why-content{width:64%!important;}
  .project2-why-card::before,.project2-why-card::after{display:block!important;}
}
@media (max-width:767px){
  .project2-alliance-content{padding:24px 22px 120px!important;}
  .project2-flags{right:22px!important;bottom:22px!important;top:auto!important;transform:none!important;}
  .project2-why-card{background:#fff!important;}
  .project2-producer-photo{position:relative!important;height:320px!important;}
  .project2-why-content{width:100%!important;min-height:auto!important;border-radius:20px 20px 0 0!important;}
  .project2-why-content::after,.project2-why-card::before,.project2-why-card::after{display:none!important;}
}

/* === CIERRE FINAL: bloque ¿Por qué nace? con difuminado recto/acotado === */
.project2-why-card{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(520px,58%) minmax(360px,42%)!important;
  min-height:520px!important;
  overflow:hidden!important;
  background:#fff!important;
  border-radius:22px!important;
  border:1px solid #dfeadd!important;
  box-shadow:0 16px 40px rgba(3,49,27,.08)!important;
}
.project2-why-card::before,
.project2-why-card::after{
  display:none!important;
  content:none!important;
}
.project2-why-content{
  position:relative!important;
  z-index:3!important;
  padding:30px 26px 26px 34px!important;
  background:#fff!important;
  clip-path:none!important;
}
.project2-why-content::after{
  display:none!important;
  content:none!important;
}
.project2-producer-photo{
  position:relative!important;
  z-index:1!important;
  overflow:hidden!important;
  background:#fff!important;
  min-width:0!important;
}
.project2-producer-photo::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  top:0!important;
  bottom:0!important;
  left:0!important;
  width:92px!important;
  background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.82) 34%,rgba(255,255,255,.38) 68%,rgba(255,255,255,0) 100%)!important;
  pointer-events:none!important;
}
.project2-producer-photo img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center center!important;
  filter:saturate(1.04) contrast(1.01)!important;
}
.project2-reasons li{
  grid-template-columns:58px 1fr!important;
  gap:16px!important;
  padding:9px 0 11px!important;
  margin-bottom:8px!important;
}
.project2-note{
  margin-top:18px!important;
  max-width:500px!important;
}
@media (max-width:991px){
  .project2-why-card{grid-template-columns:1fr!important;}
  .project2-producer-photo{height:380px!important;order:-1!important;}
  .project2-producer-photo::before{display:none!important;}
}

/* === CORRECCIÓN FINAL DEFINITIVA: bloque ¿Por qué nace? limpio, con foto visible === */
.project2-why-card{
  display:grid!important;
  grid-template-columns:50% 50%!important;
  min-height:540px!important;
  max-height:none!important;
  overflow:hidden!important;
  border-radius:22px!important;
  background:#fff!important;
}
.project2-why-content{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  min-height:auto!important;
  padding:28px 22px 24px 32px!important;
  background:#fff!important;
  border-radius:0!important;
}
.project2-why-content h3{
  font-size:22px!important;
  line-height:1.08!important;
  margin-bottom:16px!important;
}
.project2-reasons li{
  grid-template-columns:48px 1fr!important;
  gap:12px!important;
  padding:7px 0 8px!important;
  margin-bottom:7px!important;
}
.reason-icon{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
}
.reason-icon img{
  width:42px!important;
  height:42px!important;
}
.project2-reasons strong{
  font-size:13px!important;
  line-height:1.15!important;
  margin-bottom:2px!important;
}
.project2-reasons p{
  font-size:12.25px!important;
  line-height:1.28!important;
}
.project2-note{
  max-width:430px!important;
  margin-top:14px!important;
  padding:14px 16px!important;
  grid-template-columns:34px 1fr!important;
}
.project2-note span{
  font-size:21px!important;
}
.project2-note p{
  font-size:12.55px!important;
  line-height:1.36!important;
}
.project2-producer-photo{
  position:relative!important;
  display:block!important;
  min-height:540px!important;
  height:100%!important;
  overflow:hidden!important;
  background:#fff!important;
}
.project2-producer-photo::before{
  content:''!important;
  display:block!important;
  position:absolute!important;
  z-index:2!important;
  top:0!important;
  bottom:0!important;
  left:0!important;
  width:70px!important;
  background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.62) 45%,rgba(255,255,255,0) 100%)!important;
  pointer-events:none!important;
}
.project2-producer-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
  filter:saturate(1.05) contrast(1.01)!important;
}
@media (max-width:1199px){
  .project2-why-card{grid-template-columns:52% 48%!important;}
}
@media (max-width:991px){
  .project2-why-card{grid-template-columns:1fr!important;}
  .project2-producer-photo{height:360px!important;min-height:360px!important;order:-1!important;}
  .project2-producer-photo::before{display:none!important;}
}

/* ===== Vista independiente: Componentes ===== */
.components-view-section{display:none;background:linear-gradient(180deg,#f8fbf8 0%,#ffffff 34%,#f7faf8 100%);}
body.components-mode main,
body.components-mode .project-section,
body.components-mode .news-section,
body.components-mode .contact-section{display:none!important;}
body.components-mode .components-view-section{display:block!important;}
body.components-mode .footer{margin-top:0;}
.components-view-section:target{display:block;scroll-margin-top:120px;}

.components-view-hero{position:relative;overflow:hidden;border-radius:22px;min-height:310px;margin:0 0 28px;background:linear-gradient(90deg,rgba(3,49,25,.95) 0%,rgba(4,64,32,.82) 46%,rgba(4,64,32,.35) 70%),url('assets/componentes-hero-campo.jpg') center 48%/cover no-repeat;box-shadow:0 16px 38px rgba(3,47,22,.14);}
.components-view-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 78% 26%,rgba(255,255,255,.16),transparent 30%),linear-gradient(0deg,rgba(0,0,0,.1),transparent 48%);pointer-events:none;}
.components-view-hero-copy{position:relative;z-index:1;max-width:620px;padding:54px 58px;color:#fff;}
.components-kicker{display:inline-block;color:#a7d24e;text-transform:uppercase;font-weight:900;letter-spacing:.06em;font-size:14px;margin-bottom:12px;}
.components-view-hero h1{font-size:48px;line-height:1.03;font-weight:900;margin:0 0 16px;text-shadow:0 5px 16px rgba(0,0,0,.22);}
.components-view-hero h1 strong{color:#a8d65b;}
.components-view-hero p{font-size:17px;line-height:1.55;max-width:560px;color:#f2fbf4;margin:0;}
.components-view-hero-copy::after{content:'';display:block;width:70px;height:4px;border-radius:999px;background:var(--gold);margin-top:18px;}

.component-detail-stack{display:grid;gap:24px;}
.component-detail-card{position:relative;display:grid;grid-template-columns:1fr 1.14fr;gap:28px;align-items:center;overflow:hidden;border:1px solid #dfe9e1;border-radius:22px;background:#fff;min-height:390px;padding:34px 34px 34px 150px;box-shadow:0 12px 30px rgba(6,53,30,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.component-detail-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(6,53,30,.13);border-color:#cbdccc;}
.component-number-badge{position:absolute;left:30px;top:32px;width:92px;height:92px;border-radius:14px;display:grid;place-items:center;filter:drop-shadow(0 14px 18px rgba(3,47,22,.12));}
.component-number-badge img{width:100%;height:100%;object-fit:contain;display:block;}
.component-copy{position:relative;z-index:2;max-width:560px;}
.component-copy>span{display:block;text-transform:uppercase;letter-spacing:.15em;color:#063c20;font-size:14px;font-weight:900;margin-bottom:10px;}
.component-copy h2{font-size:34px;line-height:1.08;font-weight:900;color:#073c20;margin:0 0 14px;}
.component-copy h2::after{content:'';display:block;width:70px;height:4px;border-radius:999px;background:var(--gold);margin:14px 0 0;}
.component-copy p{font-size:16px;line-height:1.5;color:#172f22;margin:18px 0 16px;}
.component-copy .component-slogan{font-weight:800;color:#0b522b;background:#f3faf5;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;padding:12px 14px;}
.component-copy ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:9px;}
.component-copy li{position:relative;padding-left:30px;font-size:15px;line-height:1.42;color:#163425;font-weight:650;}
.component-copy li::before{content:'✓';position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#0a7840;color:#fff;font-size:12px;font-weight:900;}
.component-note{margin-top:12px;border:1px solid #dbe9df;border-radius:14px;background:linear-gradient(90deg,#f6fbf7,#fff);padding:14px 16px 14px 48px;position:relative;color:#173224;font-size:14px;line-height:1.45;}
.component-note::before{content:'🌿';position:absolute;left:16px;top:14px;font-size:21px;}
.component-bottom-tags{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 18px;}
.component-bottom-tags span{border-radius:12px;background:#f2f8f4;border:1px solid #dce9df;color:#0a4224;padding:11px 12px;font-size:13px;font-weight:800;line-height:1.25;}
.component-view-btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-width:220px;border-radius:9px;background:linear-gradient(180deg,#0f7a3f,#08642f);color:#fff;text-decoration:none;font-weight:900;font-size:15px;padding:14px 22px;box-shadow:0 11px 21px rgba(4,76,36,.24);transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;}
.component-view-btn:hover{color:#fff;transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 16px 28px rgba(4,76,36,.3);}
.component-view-btn b{font-size:20px;line-height:1;}
.component-visual{position:relative;z-index:1;align-self:stretch;display:flex;align-items:center;justify-content:center;min-height:310px;border-radius:18px;overflow:hidden;}
.component-image-visual{background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,0)),#eef7ef;}
.component-image-visual img{width:100%;height:100%;object-fit:cover;display:block;border-radius:18px;}
.component-one-visual{background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.5)),url('assets/project-comp-plataforma.png') center/cover no-repeat;}
.component-device-card{position:relative;width:100%;height:100%;min-height:315px;background:linear-gradient(90deg,rgba(255,255,255,.65),rgba(255,255,255,.02)),url('assets/project-comp-plataforma.png') center/cover no-repeat;border-radius:18px;}
.component-device-card::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.66) 25%,rgba(255,255,255,0) 62%);}
.component-seal{position:absolute;z-index:2;right:140px;bottom:40px;width:130px;filter:drop-shadow(0 14px 16px rgba(0,0,0,.16));}
.component-phone{position:absolute;z-index:3;right:28px;bottom:42px;width:115px;filter:drop-shadow(0 14px 18px rgba(0,0,0,.22));}
.comp-two .component-visual::before,.comp-three .component-visual::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,0) 36%);z-index:1;pointer-events:none;}
.comp-two .component-visual img,.comp-three .component-visual img{object-position:center;}
.comp-three{grid-template-columns:1fr 1.18fr;}
.comp-three .component-copy p strong{color:#0a7840;}
.components-view-close{margin-top:26px;display:flex;align-items:center;gap:22px;border:1px solid #dfece4;border-radius:18px;background:linear-gradient(90deg,#f3faf5,#fffdf6);box-shadow:0 10px 24px rgba(6,53,30,.06);padding:22px 30px;}
.leaf-circle{width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#0b7840;color:#fff;font-size:28px;box-shadow:0 10px 18px rgba(4,76,36,.2);}
.components-view-close h3{font-size:20px;color:#073c20;font-weight:900;margin:0 0 4px;}
.components-view-close p{font-size:14px;color:#20372a;margin:0;line-height:1.45;}
@media (max-width: 1199px){
  .component-detail-card{padding-left:126px;grid-template-columns:1fr 1fr;}
  .component-number-badge{left:24px;width:78px;height:78px;}
  .component-copy h2{font-size:29px;}
  .component-view-hero h1{font-size:42px;}
}
@media (max-width: 991px){
  .components-view-hero{min-height:auto;}
  .components-view-hero-copy{padding:42px 30px;}
  .component-detail-card{grid-template-columns:1fr;padding:118px 24px 26px;}
  .component-number-badge{top:22px;left:24px;}
  .component-visual{min-height:260px;}
  .component-detail-card{min-height:auto;}
}
@media (max-width: 575px){
  .components-view-hero-copy{padding:34px 22px;}
  .components-view-hero h1{font-size:34px;}
  .components-view-hero p{font-size:15px;}
  .component-detail-card{padding:105px 18px 22px;border-radius:18px;}
  .component-number-badge{width:68px;height:68px;}
  .component-copy h2{font-size:25px;}
  .component-copy p,.component-copy li{font-size:14px;}
  .component-bottom-tags{grid-template-columns:1fr;}
  .component-view-btn{width:100%;}
  .component-seal{right:112px;width:100px;}
  .component-phone{right:18px;width:92px;}
}

/* === Vista Componentes - versión informativa tecnológica === */
.components-tech-hero{
  position:relative; overflow:hidden; border-radius:28px; min-height:360px; margin:0 0 28px;
  background:linear-gradient(110deg,rgba(2,38,20,.96) 0%,rgba(4,64,32,.88) 42%,rgba(6,85,43,.18) 72%), url('assets/comp3-caminando-potrero.jpg') center 42%/cover no-repeat;
  box-shadow:0 22px 48px rgba(3,47,22,.16); display:grid; grid-template-columns:minmax(0,1fr) 520px; align-items:center;
}
.components-tech-hero:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(153,227,111,.22),transparent 26%),linear-gradient(0deg,rgba(0,0,0,.12),transparent 55%);pointer-events:none;}
.components-tech-copy{position:relative;z-index:2;color:#fff;padding:58px 64px;max-width:720px;}
.components-tech-copy h1{font-size:48px;line-height:1.02;font-weight:950;letter-spacing:-.035em;margin:8px 0 18px;text-shadow:0 8px 24px rgba(0,0,0,.22);}
.components-tech-copy p{font-size:17px;line-height:1.55;color:#edf8ef;margin:0;max-width:610px;}
.components-kicker{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;font-weight:900;letter-spacing:.12em;color:#9dd45c;font-size:13px;}
.components-kicker:before{content:'✦';color:#c88a1a;}
.tech-hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.tech-hero-pills span{padding:9px 13px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);font-weight:800;font-size:13px;color:#fff;}
.tech-hero-mosaic{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:34px 42px 34px 0;}
.tech-hero-mosaic img{width:100%;height:140px;object-fit:cover;border-radius:18px;box-shadow:0 16px 30px rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.22);}
.tech-hero-mosaic img:first-child{grid-row:span 2;height:294px;}

.component-tech-stack{display:grid;gap:24px;}
.component-tech-card{position:relative;overflow:hidden;border:1px solid #dcebe0;border-radius:28px;background:linear-gradient(90deg,#fff 0%,#fff 46%,#eef7ef 100%);box-shadow:0 18px 44px rgba(4,45,24,.09);display:grid;grid-template-columns:120px minmax(350px,.9fr) minmax(0,1.25fr);gap:24px;align-items:center;min-height:430px;padding:32px 34px;}
.component-tech-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 58% 18%,rgba(193,219,176,.34),transparent 26%),linear-gradient(90deg,transparent 44%,rgba(255,255,255,.72) 48%,transparent 58%);pointer-events:none;}
.component-tech-card>*{position:relative;z-index:1;}
.tech-badge{align-self:start;}
.tech-badge img{width:102px;filter:drop-shadow(0 14px 22px rgba(0,0,0,.13));}
.tech-card-copy{padding-right:6px;}
.tech-eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#073c20;font-weight:950;font-size:13px;}
.tech-card-copy h2{font-size:34px;line-height:1.05;color:#073c20;font-weight:950;letter-spacing:-.025em;margin:10px 0 13px;}
.tech-card-copy h2:after{content:'';display:block;width:72px;height:4px;background:#c88a1a;border-radius:999px;margin-top:14px;}
.tech-card-copy p{font-size:16px;line-height:1.5;color:#173827;margin:0 0 16px;}
.tech-lead{font-weight:750;color:#0b4f2b!important;}
.tech-list{display:grid;gap:10px;margin:12px 0 18px;}
.tech-list span{font-size:14.5px;line-height:1.38;color:#143525;font-weight:650;}
.compact-grid{grid-template-columns:1fr 1fr;gap:9px 14px;}
.tech-note,.biomass-panel{border:1px solid #d9eadf;border-radius:16px;background:rgba(255,255,255,.78);padding:14px 16px;color:#173827;font-size:14px;line-height:1.45;box-shadow:0 10px 22px rgba(3,47,22,.05);}
.tech-mini-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.tech-mini-cards div{border:1px solid #d8eadf;border-radius:14px;background:#f8fcf8;padding:12px 14px;}
.tech-mini-cards b{display:block;color:#073c20;font-weight:900;font-size:14px;}
.tech-mini-cards small{display:block;color:#43614f;font-weight:650;margin-top:2px;}

.tech-device-scene{min-height:300px;display:flex;align-items:center;justify-content:center;gap:0;background:url('assets/componentes-hero-campo.jpg') center/cover no-repeat;border-radius:24px;overflow:hidden;box-shadow:inset 0 0 0 999px rgba(255,255,255,.2);}
.device-dashboard{width:360px;min-height:205px;border:10px solid #121212;border-radius:16px;background:#fff;display:flex;box-shadow:0 22px 36px rgba(0,0,0,.28);overflow:hidden;}
.dash-sidebar{width:74px;background:#073c20;}
.dash-content{flex:1;padding:18px;}
.dash-content>span{font-weight:900;color:#073c20;}
.dash-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;}
.dash-metrics b{background:#f4f7f5;border:1px solid #dfe8e2;border-radius:8px;padding:10px;text-align:center;color:#0b5b31;}
.dash-cert{display:flex;align-items:center;gap:10px;border:1px solid #dde9e1;border-radius:10px;padding:10px;}
.dash-cert img{width:48px;height:48px;object-fit:contain;}
.dash-cert p{font-size:12px;margin:0;color:#22382c;line-height:1.3;}
.scene-phone{height:210px;margin-left:-18px;filter:drop-shadow(0 18px 20px rgba(0,0,0,.25));}

.component-media-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;align-items:stretch;}
.component-media-grid figure{position:relative;margin:0;overflow:hidden;border-radius:18px;min-height:138px;box-shadow:0 13px 26px rgba(0,0,0,.13);border:1px solid rgba(255,255,255,.65);background:#0b3a20;}
.component-media-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.component-media-grid figure:hover img{transform:scale(1.04);}
.component-media-grid figcaption{position:absolute;left:10px;right:10px;bottom:10px;border-radius:999px;background:rgba(3,49,25,.82);color:#fff;font-size:12px;font-weight:800;padding:7px 11px;text-align:center;backdrop-filter:blur(6px);}
.component-media-grid .media-large{grid-row:span 2;min-height:300px;}
.comp2-media .media-large{min-height:310px;}
.comp2-media figure:nth-child(2){min-height:150px;}
.comp3-media{grid-template-columns:1.15fr .8fr .8fr;}
.comp3-media .media-large{grid-row:span 2;min-height:310px;}
.comp3-media figure{min-height:146px;}
.biomass-panel strong{display:block;font-size:28px;color:#0b5b31;margin:4px 0;}
.biomass-panel b{color:#073c20;}
.biomass-panel span{color:#516957;font-weight:750;}
.components-tech-close{margin-top:28px;display:flex;align-items:center;gap:18px;border:1px solid #dcebe0;border-radius:20px;background:linear-gradient(90deg,#eef8f0,#ffffff);box-shadow:0 12px 30px rgba(4,45,24,.07);padding:22px 28px;}
.close-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#0b6d3a;color:#fff;font-size:22px;box-shadow:0 12px 24px rgba(5,77,38,.22);}
.components-tech-close h3{margin:0 0 4px;color:#073c20;font-weight:950;font-size:21px;}
.components-tech-close p{margin:0;color:#304736;font-size:14px;line-height:1.45;}

/* Contacto simplificado */
.contact-simple-panel{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:stretch;}
.contact-info-wide{min-height:360px;display:flex;flex-direction:column;justify-content:center;}
.contact-help-card{display:flex;align-items:center;gap:15px;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(255,255,255,.1);padding:15px 16px;margin:24px 0;color:#fff;}
.contact-help-card span{font-size:30px;}
.contact-help-card strong{display:block;font-size:18px;margin-bottom:3px;}
.contact-help-card small{display:block;font-size:14px;line-height:1.35;color:#e7f8eb;}
.contact-helpdesk-btn{width:max-content;text-decoration:none;display:inline-flex!important;align-items:center;gap:18px;}
.contact-visual-card{border:1px solid #dbe8e0;border-radius:28px;background:linear-gradient(145deg,#ffffff,#f0f8f2);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:38px;box-shadow:0 16px 35px rgba(3,47,22,.08);}
.contact-visual-icon{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:#0b6d3a;color:#fff;font-size:44px;box-shadow:0 18px 28px rgba(5,77,38,.22);margin-bottom:18px;}
.contact-visual-card h4{font-size:26px;font-weight:950;color:#073c20;margin:0 0 8px;}
.contact-visual-card p{font-size:16px;line-height:1.45;color:#314d3a;margin:0;max-width:360px;}

@media (max-width: 1199px){
  .components-tech-hero{grid-template-columns:1fr;}
  .tech-hero-mosaic{display:none;}
  .component-tech-card{grid-template-columns:90px 1fr;}
  .component-visual,.component-media-grid,.tech-device-scene{grid-column:1/-1;}
}
@media (max-width: 767px){
  .components-tech-copy{padding:38px 24px;}
  .components-tech-copy h1{font-size:34px;}
  .component-tech-card{grid-template-columns:1fr;padding:24px 18px;min-height:auto;}
  .tech-badge img{width:86px;}
  .tech-card-copy h2{font-size:28px;}
  .compact-grid,.tech-mini-cards,.component-media-grid,.comp3-media{grid-template-columns:1fr;}
  .component-media-grid .media-large,.comp2-media .media-large,.comp3-media .media-large{min-height:220px;}
  .contact-simple-panel{grid-template-columns:1fr;}
}

/* Ajuste Componente 2 - vista tecnológica tipo boceto */
.component-tech-two.component-tech-blueprint{
  grid-template-columns: 104px minmax(350px,.82fr) minmax(0,1.38fr);
  align-items:start;
  background:
    radial-gradient(circle at 85% 12%, rgba(61,255,118,.16), transparent 28%),
    radial-gradient(circle at 10% 90%, rgba(36,180,96,.16), transparent 28%),
    linear-gradient(135deg,#04100d 0%,#061d19 46%,#07371e 100%);
  border-color:rgba(67,214,111,.38);
  box-shadow:0 24px 58px rgba(0,0,0,.22);
  color:#fff;
  padding:30px 34px 28px;
}
.component-tech-two.component-tech-blueprint:before{
  background:
    linear-gradient(rgba(88,255,140,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(88,255,140,.06) 1px, transparent 1px),
    radial-gradient(circle at 70% 65%, rgba(68,255,124,.18), transparent 36%);
  background-size:34px 34px,34px 34px,100% 100%;
  opacity:.58;
}
.component-tech-blueprint .tech-badge img{filter:drop-shadow(0 16px 24px rgba(0,0,0,.34));}
.comp2-blueprint-copy{color:#fff;padding:10px 0 0;}
.comp2-blueprint-copy .tech-eyebrow{
  color:#dbffe2;background:rgba(18,128,65,.42);border:1px solid rgba(100,255,149,.35);border-radius:999px;padding:8px 14px;letter-spacing:.12em;
}
.comp2-blueprint-copy h2{color:#fff;font-size:30px;line-height:1.08;margin-top:18px;text-shadow:0 10px 24px rgba(0,0,0,.25);}
.comp2-blueprint-copy h2:after{background:#65db76;width:86px;height:3px;}
.comp2-blueprint-copy p{color:#e8fff0;font-size:14.5px;line-height:1.48;}
.comp2-blueprint-copy .tech-lead{color:#72ff90!important;font-weight:900;}
.comp2-blueprint-list{display:grid;gap:12px;margin-top:18px;}
.blueprint-point{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:start;}
.blueprint-point>span{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;border:1px solid rgba(107,255,149,.38);background:rgba(0,0,0,.24);color:#72ff90;font-size:23px;box-shadow:inset 0 0 18px rgba(79,255,125,.12);}
.blueprint-point b{display:block;color:#69ff87;font-size:16px;font-weight:950;margin-bottom:2px;}
.blueprint-point p{margin:0;color:#f2fff5;font-size:13.4px;line-height:1.35;}
.comp2-blueprint-media{display:grid;gap:12px;align-self:stretch;}
.comp2-top-images{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.comp2-blueprint-media figure,.comp2-flow-wide{position:relative;margin:0;overflow:hidden;border-radius:14px;border:1px solid rgba(101,255,134,.32);box-shadow:0 16px 30px rgba(0,0,0,.25);background:#061611;}
.comp2-top-images figure{height:160px;}
.comp2-blueprint-media img,.comp2-flow-wide img{display:block;width:100%;height:100%;object-fit:cover;}
.comp2-blueprint-media figcaption,.comp2-flow-wide figcaption{position:absolute;left:12px;top:10px;bottom:auto;right:auto;border-radius:8px;background:linear-gradient(90deg,rgba(4,63,35,.95),rgba(3,47,24,.72));color:#fff;padding:6px 13px;font-size:13px;font-weight:900;box-shadow:0 10px 18px rgba(0,0,0,.22);}
.comp2-diagram-main{height:265px;}
.comp2-diagram-main img{object-fit:contain;background:rgba(255,255,255,.96);padding:6px;}
.comp2-diagram-main figcaption{left:50%;transform:translateX(-50%);white-space:nowrap;background:rgba(4,32,22,.88);}
.comp2-flow-wide{grid-column:1/-1;height:225px;margin-top:4px;}
.comp2-flow-wide img{object-fit:contain;background:rgba(255,255,255,.96);padding:10px;}
.comp2-flow-wide figcaption{left:50%;transform:translateX(-50%);top:8px;background:rgba(6,72,37,.9);font-size:15px;}
@media (max-width:1199px){
  .component-tech-two.component-tech-blueprint{grid-template-columns:90px 1fr;}
  .comp2-blueprint-media,.comp2-flow-wide{grid-column:1/-1;}
}
@media (max-width:767px){
  .component-tech-two.component-tech-blueprint{grid-template-columns:1fr;padding:24px 16px;}
  .comp2-top-images{grid-template-columns:1fr;}
  .comp2-top-images figure{height:190px;}
  .comp2-diagram-main{height:240px;}
  .comp2-flow-wide{height:230px;}
}

/* === Pulido final vista Componentes: estructura visual unificada === */
.components-view-section{
  background:linear-gradient(180deg,#f7fbf7 0%,#eef7f0 42%,#f7fbf8 100%);
}
.components-view-section .component-tech-stack{gap:26px;}
.components-view-section .component-tech-card{
  background:
    radial-gradient(circle at 84% 16%, rgba(77,255,139,.16), transparent 28%),
    radial-gradient(circle at 8% 92%, rgba(51,181,96,.15), transparent 30%),
    linear-gradient(rgba(91,255,139,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91,255,139,.055) 1px, transparent 1px),
    linear-gradient(135deg,#03110d 0%,#061d18 48%,#06351e 100%) !important;
  background-size:100% 100%,100% 100%,34px 34px,34px 34px,100% 100% !important;
  border:1px solid rgba(86,224,120,.34) !important;
  box-shadow:0 24px 58px rgba(0,32,14,.20) !important;
  color:#fff;
}
.components-view-section .component-tech-card:before{
  background:radial-gradient(circle at 66% 52%, rgba(77,255,139,.14), transparent 34%) !important;
  opacity:.75;
}
.components-view-section .tech-badge{
  align-self:start;
  width:max-content;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(255,255,255,.75);
  border-radius:22px;
  padding:10px;
  box-shadow:0 18px 34px rgba(0,0,0,.22);
}
.components-view-section .tech-badge img{
  width:96px;
  display:block;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.18)) !important;
}
.components-view-section .tech-eyebrow{
  display:inline-block;
  color:#dbffe2 !important;
  background:rgba(18,128,65,.46);
  border:1px solid rgba(100,255,149,.36);
  border-radius:999px;
  padding:8px 14px;
  letter-spacing:.12em;
}
.components-view-section .tech-card-copy h2{
  color:#fff !important;
  text-shadow:0 10px 24px rgba(0,0,0,.24);
}
.components-view-section .tech-card-copy h2:after{background:#65db76 !important;}
.components-view-section .tech-card-copy p,
.components-view-section .tech-list span{
  color:#eefcf1 !important;
}
.components-view-section .tech-lead{color:#79ff93 !important;font-weight:900;}
.components-view-section .tech-note,
.components-view-section .biomass-panel,
.components-view-section .tech-mini-cards div{
  background:rgba(255,255,255,.08) !important;
  color:#f1fff3 !important;
  border-color:rgba(120,255,155,.26) !important;
  box-shadow:inset 0 0 20px rgba(96,255,140,.05),0 14px 28px rgba(0,0,0,.12) !important;
}
.components-view-section .biomass-panel b,
.components-view-section .biomass-panel strong,
.components-view-section .biomass-panel span,
.components-view-section .tech-mini-cards b,
.components-view-section .tech-mini-cards small{color:#f1fff3 !important;}
.components-view-section .tech-device-scene,
.components-view-section .component-media-grid figure{
  border:1px solid rgba(120,255,155,.28);
  box-shadow:0 18px 34px rgba(0,0,0,.24);
}
.components-view-section .component-media-grid figcaption{
  background:linear-gradient(90deg,rgba(4,63,35,.96),rgba(3,47,24,.72));
  color:#fff;
}
.components-view-section .component-tech-one,
.components-view-section .component-tech-three{
  grid-template-columns:104px minmax(350px,.82fr) minmax(0,1.38fr);
  align-items:start;
}
.components-view-section .component-tech-one .tech-device-scene,
.components-view-section .component-tech-three .component-media-grid{
  align-self:stretch;
}

/* Componente 2: diagramas legibles, sin títulos tapando contenido */
.comp2-blueprint-media{gap:14px;}
.comp2-top-images figure{height:185px;}
.comp2-diagram-main{
  height:auto !important;
  display:flex;
  flex-direction:column-reverse;
  gap:0;
  padding:0;
  background:rgba(255,255,255,.98) !important;
}
.comp2-diagram-main img{
  width:100%;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  padding:12px 14px 16px !important;
  background:#fff !important;
}
.comp2-diagram-main figcaption{
  position:static !important;
  transform:none !important;
  display:block;
  width:100%;
  text-align:center;
  border-radius:0 !important;
  white-space:normal !important;
  background:linear-gradient(90deg,rgba(4,63,35,.98),rgba(3,47,24,.88)) !important;
  padding:8px 14px !important;
  box-shadow:none !important;
}
.comp2-flow-wide{
  height:auto !important;
  max-width:1180px;
  margin:14px auto 0 !important;
  display:flex;
  flex-direction:column-reverse;
  background:rgba(255,255,255,.98) !important;
}
.comp2-flow-wide img{
  width:100%;
  height:auto !important;
  object-fit:contain !important;
  padding:12px 18px 18px !important;
  background:#fff !important;
}
.comp2-flow-wide figcaption{
  position:static !important;
  transform:none !important;
  width:100%;
  text-align:center;
  border-radius:0 !important;
  background:linear-gradient(90deg,rgba(6,72,37,.98),rgba(7,83,43,.88)) !important;
  padding:9px 14px !important;
  box-shadow:none !important;
  font-size:16px !important;
}

@media (max-width:1199px){
  .components-view-section .component-tech-one,
  .components-view-section .component-tech-three{grid-template-columns:90px 1fr;}
  .components-view-section .component-tech-one .tech-device-scene,
  .components-view-section .component-tech-three .component-media-grid{grid-column:1/-1;}
}
@media (max-width:767px){
  .components-view-section .component-tech-card{grid-template-columns:1fr !important;}
  .components-view-section .tech-badge img{width:84px;}
}
