:root { --font-display: 'Archivo Black'; --font-body: 'Inter'; }
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f1ea;color:#111;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{width:min(1180px,calc(100% - 48px));margin:0 auto}.nav{height:92px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(17,17,17,.12);position:relative;z-index:10}.brand img{width:165px;height:auto;filter:brightness(0)}.navLinks{display:flex;gap:34px;font-size:14px;font-weight:700}.navLinks a{opacity:.76}.navLinks a:hover{opacity:1}.nav>.button{justify-self:end}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#111;color:#fff;padding:16px 22px;border-radius:999px;font-size:14px;font-weight:800;transition:.2s ease}.button:hover{transform:translateY(-2px);background:#2ecc71;color:#0b0b0b}.buttonSmall{padding:12px 18px;font-size:13px}.hero{min-height:730px;padding:116px 0 72px;position:relative;overflow:hidden}.heroGlow{position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(46,204,113,.28) 0%,rgba(46,204,113,.08) 35%,rgba(46,204,113,0) 70%);right:-110px;top:52px;pointer-events:none}.eyebrow,.sectionLabel{font-size:12px;letter-spacing:.16em;font-weight:900;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:25px}.eyebrow span{width:34px;height:3px;background:#2ecc71;display:inline-block}.hero h1,.sectionHead h2,.manifesto h2,.cta h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.055em;margin:0}.hero h1{font-size:clamp(64px,8.4vw,132px);line-height:.88;max-width:1020px}.heroCopy{font-size:19px;line-height:1.55;max-width:700px;margin:35px 0 30px;color:#373737}.heroActions{display:flex;align-items:center;gap:28px}.textLink{font-size:14px;font-weight:800;border-bottom:1px solid #111;padding-bottom:5px}.heroStats{display:grid;grid-template-columns:repeat(3,1fr);max-width:650px;margin-top:76px;border-top:1px solid rgba(17,17,17,.15);padding-top:24px}.heroStats div{display:flex;flex-direction:column;gap:4px}.heroStats strong{font-size:26px}.heroStats span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#666}.manifesto{background:#111;color:#fff;padding:120px 0}.manifestoGrid{display:grid;grid-template-columns:240px 1fr;gap:80px}.manifesto h2,.sectionHead h2{font-size:clamp(50px,6vw,92px);line-height:.98}.manifesto em,.sectionHead em{color:#2ecc71;font-weight:400}.manifesto p{max-width:670px;font-size:20px;line-height:1.65;color:#c8c8c8;margin:30px 0 0}.section{padding:130px 0}.sectionHead{display:grid;grid-template-columns:240px 1fr;gap:80px;align-items:start;margin-bottom:80px}.pillarGrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(17,17,17,.16)}.pillar{padding:26px 28px 18px 0;border-right:1px solid rgba(17,17,17,.16);min-height:280px}.pillar+.pillar{padding-left:28px}.pillar:last-child{border-right:none}.pillar>span,.serviceCard>span,.audienceRows span{font-size:12px;letter-spacing:.14em;font-weight:900;color:#2ecc71}.pillar h3,.serviceCard h3,.audienceRows h3{font-size:25px;line-height:1.12;margin:58px 0 16px}.pillar p,.serviceCard p,.audienceRows p{font-size:15px;line-height:1.6;color:#666;margin:0}.services{background:#dedbd4;padding:130px 0}.sectionHead.compact{margin-bottom:62px}.serviceGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.serviceCard{min-height:460px;padding:42px;display:flex;flex-direction:column}.serviceCard h3{font-size:46px;max-width:440px;margin:95px 0 20px}.serviceCard p{font-size:17px;max-width:480px}.serviceCard a{margin-top:auto;font-size:14px;font-weight:900}.darkCard{background:#111;color:#fff}.darkCard p{color:#b6b6b6}.greenCard{background:#2ecc71;color:#0d0d0d}.greenCard>span{color:#0d0d0d}.greenCard p{color:#184829}.audience{padding:125px 0}.audienceRows{margin-top:38px;border-top:1px solid rgba(17,17,17,.2)}.audienceRows>div{display:grid;grid-template-columns:90px 1.2fr 1fr;align-items:center;gap:25px;padding:35px 0;border-bottom:1px solid rgba(17,17,17,.2)}.audienceRows h3{font-size:29px;margin:0}.audienceRows p{max-width:420px}.cta{background:#2ecc71;padding:120px 0}.ctaInner{max-width:1180px}.cta h2{font-size:clamp(60px,7.5vw,112px);line-height:.9;max-width:1050px}.cta p{font-size:19px;max-width:600px;line-height:1.55;margin:34px 0}.lightButton{background:#f4f1ea;color:#111}.lightButton:hover{background:#111;color:#fff}.footer{min-height:150px;display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:center;font-size:12px;color:#555}.footerBrand img{width:145px}@media(max-width:900px){.shell{width:min(100% - 30px,1180px)}.nav{grid-template-columns:1fr auto}.navLinks{display:none}.hero{min-height:auto;padding:88px 0 58px}.hero h1{font-size:clamp(54px,15vw,88px)}.heroCopy{font-size:17px}.heroStats{grid-template-columns:1fr;gap:18px;max-width:none}.manifestoGrid,.sectionHead{grid-template-columns:1fr;gap:30px}.manifesto,.section,.services,.audience,.cta{padding:85px 0}.pillarGrid{grid-template-columns:1fr 1fr}.pillar:nth-child(2){border-right:none}.serviceGrid{grid-template-columns:1fr}.serviceCard{min-height:390px}.audienceRows>div{grid-template-columns:50px 1fr}.audienceRows p{grid-column:2}.footer{grid-template-columns:1fr;gap:12px;padding:36px 0}}@media(max-width:560px){.nav{height:76px}.brand img{width:130px}.buttonSmall{font-size:0;padding:11px 13px}.buttonSmall:after{content:'WhatsApp';font-size:12px}.heroActions{align-items:flex-start;flex-direction:column}.pillarGrid{grid-template-columns:1fr}.pillar,.pillar+.pillar{padding:30px 0;border-right:none;border-bottom:1px solid rgba(17,17,17,.16)}.serviceCard{padding:28px}.serviceCard h3{font-size:36px;margin-top:72px}.audienceRows>div{grid-template-columns:1fr;padding:28px 0}.audienceRows p{grid-column:1}.cta h2{font-size:52px}.footer{font-size:11px}}

/* Typography system */
body{font-family:var(--font-body),Arial,Helvetica,sans-serif}
.hero h1,.sectionHead h2,.manifesto h2,.cta h2{font-family:var(--font-display),Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-.045em}
.pillar h3,.serviceCard h3,.audienceRows h3,.heroStats strong{font-family:var(--font-display),Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-.025em}
.hero h1{line-height:.9}
.manifesto h2,.sectionHead h2{line-height:.94}
.cta h2{line-height:.91}

/* ============ HEADER ============ */
.nav.shell{
  width:100%;
  max-width:none;
  margin:0;
  height:112px;
  padding:0 max(32px,calc((100vw - 1460px)/2));
  display:flex;
  align-items:center;
  gap:24px;
  background:#050505;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.14);
  position:relative;
  z-index:30;
}
.hamburgerBtn{
  background:none;
  border:none;
  padding:6px;
  margin:0 4px 0 -6px;
  cursor:pointer;
  flex:0 0 auto;
}
.hamburger{
  width:30px;
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:0 0 30px;
}
.hamburger i{
  display:block;
  height:3px;
  border-radius:999px;
  background:#fff;
  transition:transform .25s ease, opacity .2s ease;
}
.hamburger.isOpen i:nth-child(1){transform:translateY(9px) rotate(45deg)}
.hamburger.isOpen i:nth-child(2){opacity:0}
.hamburger.isOpen i:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
.nav .brand{
  display:flex;
  align-items:center;
  gap:22px;
  min-width:0;
}
.brandDivider{
  width:1px;
  height:48px;
  background:rgba(255,255,255,.28);
}
.methodBrand{
  font-family:var(--font-display),Arial,Helvetica,sans-serif;
  font-size:24px;
  line-height:1;
  letter-spacing:-.02em;
  white-space:nowrap;
}
.methodBrand strong{
  color:#2ecc71;
  font-weight:400;
}
.nav>.button{
  margin-left:auto;
  justify-self:auto;
}
.nav .buttonSmall{
  background:#2ecc71;
  color:#06110a;
  padding:14px 22px;
  border-radius:3px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:13px;
}
.nav .buttonSmall:hover{
  background:#fff;
  color:#111;
}

.mobileMenu{
  position:absolute;
  top:100%;
  left:0;
  right:0;
  background:#050505;
  border-bottom:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 48px rgba(0,0,0,.45);
  max-height:0;
  overflow:hidden;
  opacity:0;
  transition:max-height .32s ease, opacity .22s ease;
  z-index:25;
}
.mobileMenu.isOpen{
  max-height:520px;
  opacity:1;
}
.mobileMenu nav{
  display:flex;
  flex-direction:column;
  padding:12px max(32px,calc((100vw - 1460px)/2)) 6px;
}
.mobileMenu nav a{
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
  color:#fff;
  font-size:20px;
  font-weight:700;
  font-family:var(--font-display),Arial,Helvetica,sans-serif;
  letter-spacing:-.01em;
}
.mobileMenu nav a:hover{color:#2ecc71}
.mobileMenuCta{
  display:inline-flex;
  margin:20px max(32px,calc((100vw - 1460px)/2)) 26px;
}

/* ============ HERO ============ */
.hero.shell{
  width:100%;
  max-width:none;
  margin:0;
  padding:64px max(32px,calc((100vw - 1460px)/2)) 64px;
}
.hero{
  min-height:680px;
  position:relative;
  overflow:hidden;
  background:#030303;
  color:#fff;
  isolation:isolate;
}
.hero::after{
  content:"";
  position:absolute;
  z-index:-2;
  top:90px;
  right:0;
  bottom:0;
  width:60%;
  background:url('/assets/img/hero-fondo.webp') 62% 5%/cover no-repeat;
  filter:brightness(.72) contrast(1.1) saturate(.82) grayscale(.12);
}
.hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    linear-gradient(90deg,#030303 0%,rgba(3,3,3,.98) 30%,rgba(3,3,3,.82) 45%,rgba(3,3,3,.28) 62%,rgba(3,3,3,.1) 100%),
    linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.55) 100%);
  pointer-events:none;
}
.heroGlow{display:none}
.hero>.eyebrow,
.hero>h1,
.hero>.heroCopy,
.hero>.heroActions,
.hero>.heroStats{
  position:relative;
  z-index:2;
  width:min(620px,52vw);
  max-width:620px;
}
.heroKicker{
  display:block;
  margin:0 0 28px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(46,204,113,.72);
  color:#f1f1f1;
  font-size:14px;
  letter-spacing:.16em;
  font-weight:500;
}
.heroKicker b{color:#2ecc71;padding:0 7px}
.heroTitle{
  margin:0;
  text-transform:none;
  font-family:var(--font-display),Arial,Helvetica,sans-serif;
  font-size:clamp(40px,4vw,62px)!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
  text-shadow:0 3px 20px rgba(0,0,0,.4);
}
.heroTitle span,.heroTitle strong{display:block}
.heroTitle strong{margin-top:6px;color:#2ecc71;font-weight:400}
.heroCopy{
  margin:26px 0 30px;
  max-width:520px;
  color:#d8d8d8;
  font-size:17px;
  line-height:1.62;
  text-shadow:0 2px 16px rgba(0,0,0,.5);
}
.heroActions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.hero .button{
  min-height:56px;
  padding:0 24px;
  border-radius:3px;
}
.heroPrimary{background:#2ecc71;color:#08120b}
.heroPrimary:hover{background:#fff;color:#111}
.heroSecondary{
  min-height:56px;
  display:inline-flex;
  align-items:center;
  padding:0 22px;
  color:#fff;
  border:1px solid rgba(255,255,255,.4);
  border-radius:3px;
  font-weight:800;
}
.heroSecondary:hover{border-color:#2ecc71;color:#2ecc71}
.heroStats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  max-width:480px;
  margin-top:44px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.18);
}
.heroStats div{padding:0 18px;border-right:1px solid rgba(255,255,255,.16)}
.heroStats div:first-child{padding-left:0}
.heroStats div:last-child{border-right:none}
.heroStats strong{color:#2ecc71;font-size:23px}
.heroStats span{margin-top:4px;color:#c9c9c9;font-size:10px;letter-spacing:.06em;display:block}

@media(max-width:1050px){
  .nav.shell{height:94px;padding:0 24px}
  .methodBrand{font-size:22px}
  .hero.shell{padding:52px 24px 48px}
  .hero{min-height:620px}
  .hero::after{top:110px;width:76%;background-position:60% 5%}
  .hero::before{
    background:
      linear-gradient(90deg,#030303 0%,rgba(3,3,3,.98) 36%,rgba(3,3,3,.8) 55%,rgba(3,3,3,.3) 100%),
      linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,.55) 100%);
  }
  .hero>.eyebrow,.hero>h1,.hero>.heroCopy,.hero>.heroActions,.hero>.heroStats{
    width:min(600px,62vw);
  }
  .heroTitle{font-size:clamp(36px,5vw,50px)!important}
}

@media(max-width:760px){
  .nav.shell{height:76px;padding:0 16px;gap:12px}
  .nav .brand{gap:14px}
  .brandDivider{height:34px}
  .methodBrand{font-size:17px}
  .nav .buttonSmall{font-size:0;padding:11px 12px}
  .nav .buttonSmall::after{content:'WhatsApp';font-size:11px}
  .hero.shell{padding:40px 16px 36px}
  .hero{min-height:640px}
  .hero::after{
    top:auto;
    bottom:0;
    height:56%;
    width:100%;
    background-position:56% 12%;
    filter:brightness(.56) contrast(1.1) saturate(.82) grayscale(.12);
  }
  .hero::before{
    background:
      linear-gradient(180deg,rgba(2,2,2,.94) 0%,rgba(2,2,2,.7) 40%,rgba(2,2,2,.35) 48%,rgba(2,2,2,.55) 60%,rgba(2,2,2,.92) 100%);
  }
  .hero>.eyebrow,.hero>h1,.hero>.heroCopy,.hero>.heroActions,.hero>.heroStats{
    width:100%;
    max-width:520px;
  }
  .heroTitle{font-size:clamp(30px,8.4vw,42px)!important}
  .heroCopy{font-size:15px}
  .heroActions{flex-direction:column;align-items:stretch}
  .heroPrimary,.heroSecondary{width:100%;justify-content:center}
  .heroStats{max-width:none}
  .heroStats div{padding:0 8px}
}

@media(max-width:480px){
  .methodBrand{display:none}
  .brandDivider{display:none}
}

/* ============ PROBLEMA ============ */
.problemBody{max-width:900px}
.problemBody p{font-size:19px;line-height:1.65;color:#333;margin:0 0 32px}
.symptomTags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  list-style:none;
  margin:0;
  padding:0;
}
.symptomTags li{
  padding:10px 18px;
  border:1px solid rgba(17,17,17,.18);
  border-radius:999px;
  font-size:13px;
  font-weight:700;
  color:#333;
}

/* ============ MÉTODO footnote ============ */
.pillarFootnote{
  margin:36px 0 0;
  padding-top:28px;
  border-top:1px solid rgba(17,17,17,.16);
  max-width:760px;
  font-size:15px;
  line-height:1.6;
  color:#555;
}

/* ============ CÓMO FUNCIONA ============ */
.process{background:#111;color:#fff;padding:120px 0}
.process .sectionLabel{color:#8f8f8f}
.process h2{color:#fff}
.process h2 em{color:#2ecc71}
.processRow{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  border-top:1px solid rgba(255,255,255,.16);
  margin-top:10px;
}
.processStep{
  position:relative;
  padding:26px 22px 0 0;
  border-right:1px solid rgba(255,255,255,.16);
}
.processStep:last-child{border-right:none;padding-right:0}
.processArrow{display:none}
.processStep>span{
  display:block;
  font-size:12px;
  letter-spacing:.14em;
  font-weight:900;
  color:#2ecc71;
}
.processStep h3{
  margin:36px 0 12px;
  font-size:19px;
  font-family:var(--font-display),Arial,Helvetica,sans-serif;
  font-weight:400;
}
.processStep p{margin:0;font-size:14px;line-height:1.55;color:#b6b6b6}

/* ============ EXPERIENCIA ============ */
.authority{padding:130px 0}
.authorityBody{max-width:760px}
.authorityBody>p{font-size:19px;line-height:1.65;color:#333;margin:0 0 34px}
.authorityGrid{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:70px;
  align-items:center;
  margin-top:40px;
}
.authorityPhotoCol{display:flex;justify-content:center}
.authorityPhotoBig{
  width:100%;
  max-width:320px;
  aspect-ratio:1/1;
  border-radius:50%;
  background-size:cover;
  background-position:center;
  border:3px solid #2ecc71;
  box-shadow:0 20px 44px rgba(0,0,0,.22);
}
.authority blockquote{
  margin:30px 0 0;
  padding:0 0 0 28px;
  border-left:3px solid #2ecc71;
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-size:26px;
  line-height:1.4;
  letter-spacing:-.015em;
  color:#111;
}
@media(max-width:900px){
  .authorityGrid{grid-template-columns:1fr;gap:36px;text-align:center}
  .authorityPhotoBig{max-width:220px}
  .authority blockquote{text-align:left}
}

/* ============ RESULTADOS ============ */
.results{background:#dedbd4;padding:130px 0}
.resultsIntro{max-width:760px;font-size:17px;line-height:1.65;color:#444;margin:0 0 50px}
.resultCardGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.resultCard{
  display:flex;
  flex-direction:column;
  background:#f4f1ea;
  overflow:hidden;
}
.resultCardPhoto{
  width:100%;
  aspect-ratio:5/3;
  background-size:cover;
  background-position:center;
}
.resultCardBody{
  padding:26px 28px 32px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.resultCardTag{
  align-self:flex-start;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(46,204,113,.16);
  color:#1a7a45;
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
}
.resultCardMeta{font-size:17px;font-weight:800;color:#111}
.resultCardMeta span{font-weight:600;color:#777;font-size:14px}
.resultCard p{margin:0;font-size:14px;line-height:1.6;color:#555}
@media(max-width:760px){
.resultCardGrid{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;margin-bottom:-6px;scrollbar-width:none}
.resultCardGrid::-webkit-scrollbar{display:none}
.resultCard{flex:0 0 82%;scroll-snap-align:start}
.resultCardPhoto{position:relative}
.resultCardArrow{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(3,3,3,.55);color:#fff;border:1px solid rgba(255,255,255,.4);cursor:pointer;padding:0}.resultCardArrowNext{right:14px}.resultCardArrowPrev{left:14px}
.resultCardArrow:active{background:#2ecc71;color:#0b0b0b;border-color:#2ecc71}

}
@media(max-width:420px){.resultCard{flex-basis:88%}}


/* ============ PARA QUIÉN ============ */
.audience2{padding:130px 0}
.audience2Grid{
  margin-top:40px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.audience2Col{padding:40px;border:1px solid rgba(17,17,17,.14)}
.audience2Col h3{
  margin:0 0 26px;
  font-family:var(--font-display),Arial,Helvetica,sans-serif;
  font-weight:400;
  font-size:24px;
}
.audience2Yes h3{color:#1a7a45}
.audience2No h3{color:#8a1f1f}
.audience2Col ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px}
.audience2Col li{
  padding-left:26px;
  position:relative;
  font-size:15px;
  line-height:1.5;
  color:#333;
}
.audience2Yes li::before{content:"+";position:absolute;left:0;color:#2ecc71;font-weight:900;font-size:18px}
.audience2No li::before{content:"–";position:absolute;left:0;color:#b23c3c;font-weight:900;font-size:18px}

/* ============ PLANES ============ */
.planGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.planCard{
  min-height:340px;
  padding:38px;
  display:flex;
  flex-direction:column;
  background:#111;
  color:#fff;
}
.planCard p{color:#b6b6b6;font-size:15px;line-height:1.6;flex:1;margin:16px 0 26px}
.planCard h3{
  margin:0;
  font-family:var(--font-display),Arial,Helvetica,sans-serif;
  font-weight:400;
  font-size:24px;
}
.planCard a{font-size:14px;font-weight:900;color:#fff;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:4px;align-self:flex-start}
.planCard a:hover{border-color:#2ecc71;color:#2ecc71}
.planCardFeatured{background:#2ecc71;color:#0d0d0d}
.planCardFeatured p{color:#184829}
.planCardFeatured a{color:#0d0d0d;border-color:rgba(13,13,13,.4)}
.planCardFeatured a:hover{border-color:#0d0d0d}
.planFootnote{margin:34px 0 0;font-size:13px;color:#777}

/* ============ FOOTER ============ */
.footer{
  grid-template-columns:auto 1fr auto;
  row-gap:14px;
  flex-wrap:wrap;
}
.footerLinks{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  padding-top:20px;
  border-top:1px solid rgba(17,17,17,.14);
  order:99;
}
.footerLinks a{opacity:.75}
.footerLinks a:hover{opacity:1;text-decoration:underline}
@media(max-width:900px){
  .footerLinks{padding-top:16px}
}

/* ============ SOBRE ABRAHAM ============ */
.about{padding:130px 0}
.aboutGrid{display:grid;grid-template-columns:1fr 460px;gap:70px;align-items:center;margin-top:40px}
.aboutText h2{margin:0 0 26px}
.aboutText p{font-size:18px;line-height:1.7;color:#333;margin:0}
.aboutPhoto{width:100%;aspect-ratio:16/10;background-size:cover;background-position:center 30%;border-radius:6px;box-shadow:0 24px 50px rgba(0,0,0,.16)}
@media(max-width:900px){.aboutGrid{grid-template-columns:1fr;gap:30px}.aboutPhoto{order:-1}}

@media(max-width:900px){
  .processRow{grid-template-columns:1fr 1fr}
  .processStep{border-right:none;border-bottom:1px solid rgba(255,255,255,.16);padding:26px 0 26px}
  .resultCardGrid{grid-template-columns:1fr}
  .audience2Grid{grid-template-columns:1fr}
  .planGrid{grid-template-columns:1fr}
  .authority blockquote{font-size:21px}
}

@media(max-width:760px){
.processRow{display:flex;grid-template-columns:none;gap:14px;border-top:none;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:6px;margin-bottom:-6px;scrollbar-width:none}
.processRow::-webkit-scrollbar{display:none}
.processStep{flex:0 0 82%;scroll-snap-align:start;border-right:none;border-bottom:none;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:32px 48px 26px}
.processStep:last-child{padding-right:48px}
.processArrow{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.4);cursor:pointer;padding:0}
.processArrowNext{right:8px}
.processArrowPrev{left:8px}
.processArrow:active{background:#2ecc71;color:#0b0b0b;border-color:#2ecc71}
}
@media(max-width:420px){.processStep{flex-basis:88%}}

/* ============ ANIMACIONES ============ */

/* Entrada del hero al cargar la página */
.heroEnter{
  opacity:0;
  transform:translateY(18px);
  animation:heroEnterAnim .8s cubic-bezier(.16,.8,.24,1) forwards;
  animation-delay:var(--enter-delay,0ms);
}
@keyframes heroEnterAnim{
  to{opacity:1;transform:translateY(0)}
}

/* Ligero zoom-out del fondo del hero al cargar */
.hero::after{
  animation:heroPhotoZoom 2.4s cubic-bezier(.16,.8,.24,1) both;
}
@keyframes heroPhotoZoom{
  from{transform:scale(1.07)}
  to{transform:scale(1)}
}

/* Revelado al hacer scroll */
.reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.16,.8,.24,1), transform .7s cubic-bezier(.16,.8,.24,1);
  transition-delay:var(--reveal-delay,0ms);
  will-change:opacity, transform;
}
.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Micro-interacciones en tarjetas */
.pillar,
.processStep,
.resultCard,
.planCard,
.audience2Col{
  transition:transform .35s cubic-bezier(.16,.8,.24,1), border-color .35s ease, background .35s ease;
}
.pillar:hover,
.resultCard:hover,
.planCard:hover{
  transform:translateY(-6px);
}
.processStep:hover span{color:#fff}
.processStep span{transition:color .3s ease}

/* ============ PÁGINAS LEGALES ============ */
.legalPage{
  max-width:820px;
  padding:80px 24px 120px;
}
.legalPlaceholderNote{
  margin:0 0 40px;
  padding:16px 20px;
  background:rgba(46,204,113,.1);
  border:1px solid rgba(46,204,113,.4);
  border-radius:4px;
  font-size:13px;
  line-height:1.6;
  color:#1a5c37;
}
.legalPage h1{
  margin:0 0 8px;
  font-family:var(--font-display),Arial,Helvetica,sans-serif;
  font-weight:400;
  font-size:clamp(34px,5vw,48px);
  letter-spacing:-.02em;
}
.legalUpdated{margin:0 0 44px;font-size:13px;color:#888}
.legalPage h2{
  margin:44px 0 14px;
  font-family:var(--font-display),Arial,Helvetica,sans-serif;
  font-weight:400;
  font-size:21px;
}
.legalPage p{margin:0 0 6px;font-size:15px;line-height:1.7;color:#333}

@media(prefers-reduced-motion: reduce){
  .heroEnter,.reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
  .hero::after{animation:none!important}
  .pillar,.processStep,.resultCard,.planCard,.audience2Col{transition:none!important}
  .pillar:hover,.resultCard:hover,.planCard:hover{transform:none!important}
}

.previewBar { position:fixed; top:0; left:0; right:0; z-index:999; background:#2ecc71; color:#06110a; font:700 12px/1.4 Arial,sans-serif; text-align:center; padding:6px 10px; letter-spacing:.04em; }
body { padding-top:28px; }

.footerCookiePrefs{background:none;border:none;padding:0;margin:0;font:inherit;font-size:12px;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;opacity:.85}
.footerCookiePrefs:hover{opacity:1}
.cookieBanner{position:fixed;left:0;right:0;bottom:0;z-index:200;padding:16px;animation:cookieBannerIn .5s ease both}
@keyframes cookieBannerIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.cookieBannerInner{max-width:960px;margin:0 auto;background:#0b0b0b;color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:24px 26px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.cookieBannerText{margin:0 0 18px;font-size:14px;line-height:1.6;color:#d8d8d8;max-width:760px}
.cookieBannerText a{color:#2ecc71;text-decoration:underline}
.cookieBannerCategories{display:grid;gap:14px;margin:0 0 20px;padding:18px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.cookieToggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.cookieToggle input{margin-top:4px;width:18px;height:18px;accent-color:#2ecc71;flex-shrink:0;cursor:pointer}
.cookieToggle input:disabled{cursor:not-allowed;opacity:.6}
.cookieToggle strong{display:block;font-size:14px;margin-bottom:2px}
.cookieToggle em{display:block;font-style:normal;font-size:12.5px;line-height:1.5;color:#999}
.cookieBannerButtons{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.cookieBtn{font-size:13px;font-weight:800;letter-spacing:.02em;padding:12px 20px;border-radius:999px;border:1px solid transparent;cursor:pointer;transition:.2s ease}
.cookieBtnGhost{background:transparent;color:#ccc;border-color:rgba(255,255,255,.25)}
.cookieBtnGhost:hover{border-color:rgba(255,255,255,.5);color:#fff}
.cookieBtnOutline{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.cookieBtnOutline:hover{border-color:#fff}
.cookieBtnSolid{background:#2ecc71;color:#0b0b0b}
.cookieBtnSolid:hover{background:#fff}
@media(max-width:560px){
  .cookieBanner{padding:0}
  .cookieBannerInner{border-radius:16px 16px 0 0;padding:20px 18px}
  .cookieBannerButtons{justify-content:stretch}
  .cookieBtn{flex:1 1 auto;text-align:center}
}
@media(prefers-reduced-motion: reduce){.cookieBanner{animation:none!important}}
