/* ════════════════════════════════════════════
   RESET + TOKENS
════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

:root {
  --ink:     #0c1109;
  --forest:  #0e2619;
  --moss:    #1c5c35;
  --green:   #2d8a52;
  --sage:    #4aab6d;
  --accent:  #3a9e6a;
  --cream:   #e8e4dc;
  --fog:     #dbd6cc;
  --rust:    #c45c1a;
  --ease:    cubic-bezier(0.16, 1, 0.3, 1);
  --f-display: 'Sora', sans-serif;
  --f-body:    'Inter', system-ui, sans-serif;
}

body {
  background: var(--ink);
  color: var(--cream);
  font-family: var(--f-body);
  overflow-x: hidden;
}

.cursor { display: none; }

/* ── NAV ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 3vw; height: 64px;
  border-bottom: 1px solid rgba(74,171,109,.15);
  background: rgba(10,15,10,.85);
  backdrop-filter: blur(20px);
}
.nav-logo { display: flex; align-items: center; text-decoration: none; }
.nav-logo img { height: 34px; width: auto; }
.nav-menu { display: flex; align-items: center; gap: 0; list-style: none; }
.nav-menu a {
  display: block; padding: .4rem 1.1rem;
  font-family: var(--f-body); font-size: .8rem;
  letter-spacing: .16em; text-transform: uppercase;
  color: rgba(244,242,236,.55); text-decoration: none;
  transition: color .2s; font-weight: 400;
}
.nav-menu a:hover { color: var(--accent); }
.nav-cta-pill {
  background: var(--accent) !important; color: #fff !important;
  font-weight: 700 !important; border-radius: 2px;
  margin-left: .5rem; padding: .5rem 1.2rem !important;
  transition: background .2s !important;
}
.nav-cta-pill:hover { background: var(--green) !important; }

/* ── HERO ── */
.hero {
  position: relative; height: 100vh; min-height: 680px;
  display: flex; flex-direction: column; justify-content: flex-end;
  overflow: hidden;
  background: linear-gradient(145deg, #0c1109 0%, #0e2619 50%, #0c1109 100%);
}
.hero-video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; opacity: .75;
}
.hero-ov {
  position: absolute; inset: 0;
  background:
    linear-gradient(to top, var(--ink) 0%, rgba(10,15,10,.3) 30%, transparent 60%),
    linear-gradient(100deg, rgba(10,15,10,.55) 0%, transparent 50%);
}
.hero-bar {
  position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  background: linear-gradient(to bottom, transparent, var(--accent), transparent);
  opacity: .8;
}
.hero-grain {
  position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
}
.hero-watermark {
  position: absolute; right: -2vw; bottom: -4vh; z-index: 1;
  font-family: var(--f-display); font-size: clamp(120px,18vw,240px);
  line-height: .85; color: rgba(109,204,63,.04);
  pointer-events: none; user-select: none; letter-spacing: -0.02em;
}
.hero-content { position: relative; z-index: 2; padding: 0 5vw 8vh; max-width: 1400px; }
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: .7rem;
  font-size: .75rem; letter-spacing: .22em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 1.2rem;
  opacity: 0; animation: fadeSlide .6s var(--ease) .2s forwards;
}
.hero-eyebrow::before { content:''; display:block; width:40px; height:1px; background:var(--moss); }
.hero-h1 {
  font-family: var(--f-display); font-size: clamp(2.4rem,5vw,5.2rem);
  line-height: 1.08; font-weight: 800; letter-spacing: -0.03em;
  color: var(--cream); margin-bottom: .4em;
}
.hero-h1 .line1 { display:block; opacity:0; animation: slideUp .8s var(--ease) .35s forwards; }
.hero-h1 .line2 { display:block; color:var(--sage); opacity:0; animation: slideUp .8s var(--ease) .5s forwards; }
.hero-h1 .line3 { display:block; text-shadow: 0 2px 40px rgba(0,0,0,.9); opacity:0; animation: slideUp .8s var(--ease) .65s forwards; }
.hero-bottom {
  display: flex; align-items: flex-end; justify-content: space-between;
  flex-wrap: wrap; gap: 2rem; margin-top: 2.5rem;
  opacity: 0; animation: fadeSlide .7s var(--ease) .9s forwards;
}
.hero-sub { font-size: clamp(1rem,1.5vw,1.3rem); font-weight: 300; color: rgba(244,242,236,.65); line-height: 1.6; max-width: 480px; }
.hero-sub strong { color: var(--accent); font-weight: 600; }
.hero-actions { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.btn-primary {
  background: var(--moss); color: var(--cream); font-family: var(--f-body);
  font-size: .88rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  padding: 1rem 2.2rem; border: none; border-radius: 1px; text-decoration: none;
  transition: background .2s, transform .15s; display: inline-flex; align-items: center; gap: .5rem;
}
.btn-primary:hover { background: var(--green); transform: translateY(-2px); }
.btn-ghost {
  font-size: .88rem; font-weight: 400; letter-spacing: .12em; text-transform: uppercase;
  color: rgba(244,242,236,.6); text-decoration: none;
  border-bottom: 1px solid rgba(244,242,236,.3); padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.btn-ghost:hover { color: var(--accent); border-color: var(--accent); }
.hero-ticker {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 3;
  height: 36px; background: var(--moss); overflow: hidden;
  display: flex; align-items: center;
}
.ticker-track { display:flex; white-space:nowrap; animation: ticker 22s linear infinite; }
.ticker-item { font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--cream); font-weight:700; padding:0 2.5rem; }
.ticker-dot { color:var(--sage); font-size:.6rem; }

/* ── CLIENTES ── */
.clients-bar { background:#1a1a1a; border-bottom:1px solid rgba(255,255,255,.06); padding:2rem 0; overflow:hidden; }
.clients-label { text-align:center; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(244,242,236,.3); margin-bottom:1.4rem; }
.marquee-wrap { overflow:hidden; }
.marquee-track { display:flex; animation: marquee 50s linear infinite; width:max-content; }
.marquee-track:hover { animation-play-state:paused; }
.client-item { display:flex; align-items:center; padding:0 2.5rem; flex-shrink:0; }
.client-item img { height:38px; width:auto; max-width:130px; object-fit:contain; opacity:.85; transition:opacity .3s; }
.client-item:hover img { opacity:1; }

/* ── STATEMENT ── */
.statement {
  background: var(--ink); position:relative; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr; min-height:60vh;
}
.statement::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px; z-index:2;
  background: linear-gradient(to right, transparent, var(--accent), transparent);
}
.statement-left { padding:8vw 5vw; display:flex; flex-direction:column; justify-content:center; }
.statement-text { font-family:var(--f-display); font-size:clamp(1.7rem,3vw,3.2rem); line-height:1.25; font-weight:700; letter-spacing:-0.03em; max-width:560px; }
.statement-text .hl { color:var(--accent); }
.statement-text .ol { -webkit-text-stroke:1.5px var(--cream); color:transparent; }
.statement-aside { margin-top:2rem; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(244,242,236,.3); }
.statement-photo { position:relative; overflow:hidden; min-height:400px; }
.statement-photo img { width:100%; height:100%; object-fit:cover; object-position:center 40%; transition:transform 6s ease; }
.statement-photo:hover img { transform:scale(1.04); }
.statement-photo::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background: linear-gradient(to right, var(--ink) 0%, transparent 30%);
}

/* ── SERVICIOS ── */
.servicios { background:var(--cream); color:var(--ink); padding:7rem 5vw; position:relative; }
.servicios::before {
  content:'SOLUCIONES'; position:absolute; top:3rem; right:3vw;
  font-family:var(--f-display); font-size:clamp(60px,10vw,130px); font-weight:800;
  color:rgba(10,15,10,.09); pointer-events:none; user-select:none;
}
.s-hdr { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:2rem; margin-bottom:4rem; border-bottom:2px solid var(--ink); padding-bottom:1.5rem; }
.s-tag-dark { font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--moss); margin-bottom:.6rem; font-weight:600; display:flex; align-items:center; gap:.5rem; }
.s-tag-dark::before { content:''; display:block; width:24px; height:2px; background:var(--sage); }
.s-h2 { font-family:var(--f-display); font-size:clamp(1.9rem,3vw,3rem); line-height:1.05; font-weight:800; letter-spacing:-0.03em; color:var(--ink); }
.s-h2 .hl { color:var(--moss); }
.s-hdr-desc { font-size:.95rem; color:rgba(10,15,10,.65); max-width:320px; font-weight:400; line-height:1.65; }
.svc-list { display:flex; flex-direction:column; }
.svc-row { display:grid; grid-template-columns:56px 1fr auto; align-items:start; gap:2rem; padding:2rem 0; border-bottom:1px solid rgba(10,15,10,.12); position:relative; transition:background .2s; }
.svc-row::before { content:''; position:absolute; bottom:-1px; left:0; height:2px; width:0; background:var(--sage); transition:width .4s var(--ease); }
.svc-row:hover::before { width:100%; }
.svc-row:hover { background:rgba(10,40,24,.03); }
.svc-num { font-family:var(--f-display); font-size:2.2rem; color:var(--moss); line-height:1; padding-top:.1em; font-weight:700; transition:color .3s; }
.svc-row:hover .svc-num { color:var(--green); }
.svc-name { font-family:var(--f-display); font-size:clamp(1.1rem,1.6vw,1.45rem); font-weight:700; letter-spacing:-0.02em; color:var(--ink); line-height:1.2; margin-bottom:.5rem; }
.svc-desc { font-size:.92rem; color:rgba(10,15,10,.65); line-height:1.7; font-weight:400; max-width:600px; }
.svc-tag { font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; border:1.5px solid var(--moss); color:var(--sage); padding:.3rem .7rem; border-radius:1px; align-self:center; white-space:nowrap; transition:background .2s, color .2s; }
.svc-row:hover .svc-tag { background:var(--moss); color:#fff; }
.svc-tag.free { border-color:var(--rust); color:var(--rust); font-weight:700; }
.svc-row:hover .svc-tag.free { background:var(--rust); color:#fff; }
.svc-more { margin-top:2.5rem; text-align:right; }
.svc-more a { font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--moss); text-decoration:none; border-bottom:1.5px solid var(--sage); padding-bottom:2px; }

/* ── IMPACTO ── */
.impacto { display:grid; grid-template-columns:1fr 1fr; min-height:55vh; }
.impacto-left { padding:6rem 5vw; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; background:var(--moss); }
.impacto-left::before { content:''; position:absolute; inset:0; background-image:url('selva.jpg'); background-size:cover; background-position:center; opacity:.75; }
.impacto-left::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(10,25,15,.55) 0%, rgba(10,25,15,.35) 100%); }
.impacto-quote { font-family:var(--f-display); font-size:clamp(1.5rem,2.5vw,2.4rem); line-height:1.25; font-style:italic; color:var(--cream); position:relative; z-index:1; margin-bottom:1.5rem; }
.impacto-attr { font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(242,237,227,.6); position:relative; z-index:1; }
.impacto-right { background:var(--forest); padding:5rem 5vw; display:grid; grid-template-columns:1fr 1fr; }
.stat-box { padding:2.5rem 2rem; border-right:1px solid rgba(109,204,63,.15); border-bottom:1px solid rgba(109,204,63,.15); transition:background .3s; }
.stat-box:hover { background:rgba(109,204,63,.05); }
.stat-box:nth-child(even) { border-right:none; }
.stat-box:nth-child(3), .stat-box:nth-child(4) { border-bottom:none; }
.stat-val { font-family:var(--f-display); font-size:clamp(2rem,3.2vw,2.8rem); color:var(--sage); font-weight:800; line-height:1; margin-bottom:.3rem; }
.stat-lbl { font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(244,242,236,.45); }

/* ── CONSULTORÍA DIGITAL ── */
.extra-svcs { background:var(--ink); padding:6rem 5vw; }
.extra-hdr { display:flex; align-items:baseline; gap:1rem; margin-bottom:3rem; border-bottom:1px solid rgba(244,242,236,.08); padding-bottom:1.2rem; }
.extra-title { font-family:var(--f-display); font-size:clamp(1.4rem,2vw,2.2rem); font-weight:700; letter-spacing:-0.03em; color:var(--cream); }
.extra-sub { font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,242,236,.3); margin-left:auto; }
.extra-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(244,242,236,.07); }
.ex-card { background:var(--ink); padding:2.5rem 2.2rem; position:relative; overflow:hidden; transition:background .3s; }
.ex-card:hover { background:rgba(13,40,24,.6); }
.ex-card::before { content:''; position:absolute; top:0; left:0; width:3px; height:0; background:var(--moss); transition:height .4s var(--ease); }
.ex-card:hover::before { height:100%; }
.ex-card--live { border-left:3px solid var(--accent); }
.ex-card--live::before { display:none; }
.ex-num { font-family:var(--f-display); font-size:5rem; color:rgba(244,242,236,.04); line-height:1; margin-bottom:.5rem; }
.ex-name { font-size:1.4rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--cream); margin-bottom:.7rem; line-height:1.2; }
.ex-desc { font-size:.88rem; color:rgba(244,242,236,.45); line-height:1.65; font-weight:300; }
.ex-badge { display:inline-block; margin-top:1rem; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; border:1px solid rgba(58,158,106,.3); color:var(--accent); padding:.25rem .7rem; border-radius:1px; }
.ex-actions { margin-top:1.5rem; display:flex; gap:1rem; align-items:center; flex-wrap:wrap; }
.ex-btn { display:inline-flex; align-items:center; gap:.4rem; background:var(--accent); color:#fff; font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:.6rem 1.2rem; border-radius:2px; text-decoration:none; transition:background .2s; }
.ex-btn:hover { background:var(--green); }
.ex-live { font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); font-weight:600; }

/* ── NOSOTROS ── */
.nosotros { display:grid; grid-template-columns:1fr 1fr; min-height:80vh; }
.nos-visual { background:var(--forest); position:relative; overflow:hidden; min-height:400px; display:flex; align-items:flex-end; }
.nos-visual::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(to top, rgba(10,17,9,.85) 0%, rgba(10,17,9,.3) 60%, rgba(10,17,9,.1) 100%); }
.nos-visual-bg { position:absolute; inset:0; background-image:url('encabezado.png'); background-size:cover; background-position:center; }
.nos-visual-text { position:relative; z-index:2; padding:3rem; font-family:var(--f-display); font-size:clamp(5rem,12vw,14rem); line-height:.8; color:rgba(58,158,106,.12); user-select:none; }
.nos-dato { position:absolute; bottom:3rem; left:3rem; right:3rem; z-index:2; }
.nos-dato-num { font-family:var(--f-display); font-size:clamp(3rem,6vw,5rem); font-weight:800; color:var(--sage); line-height:1; margin-bottom:.3rem; }
.nos-dato-txt { font-size:.82rem; color:#fff; line-height:1.5; font-weight:400; max-width:260px; }
.nos-dato-txt strong { font-weight:700; }
.nos-accent-bar { position:absolute; bottom:0; left:0; right:0; height:4px; background:var(--accent); z-index:2; }
.nos-badge-float { position:absolute; top:2rem; right:2rem; background:var(--moss); color:var(--cream); padding:1rem 1.5rem; font-family:var(--f-display); font-size:2.2rem; line-height:1; text-align:center; border-radius:2px; z-index:2; }
.nos-badge-float small { display:block; font-family:var(--f-body); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; margin-top:.2rem; }
.nos-content { background:var(--cream); color:var(--ink); padding:6rem 5vw; display:flex; flex-direction:column; justify-content:center; position:relative; }
.nos-content::before { content:'Quiénes somos'; position:absolute; top:2.5rem; left:5vw; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(10,15,10,.3); }
.nos-h { font-family:var(--f-display); font-size:clamp(1.9rem,3vw,3rem); font-weight:800; line-height:1.05; letter-spacing:-0.03em; color:var(--ink); margin-bottom:1.5rem; }
.nos-h .hl { color:var(--moss); }
.nos-body { font-size:.97rem; color:rgba(10,15,10,.6); line-height:1.8; font-weight:300; max-width:440px; margin-bottom:1.2rem; }
.nos-body strong { color:var(--ink); font-weight:600; }
.nos-vals { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(10,15,10,.1); margin:1.5rem 0 2rem; }
.nv { background:var(--fog); padding:1.2rem; transition:background .2s; }
.nv:hover { background:var(--cream); }
.nv-icon { font-size:1.4rem; margin-bottom:.4rem; }
.nv-title { font-size:.88rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--ink); margin-bottom:.15rem; }
.nv-desc { font-size:.78rem; color:rgba(10,15,10,.5); font-weight:300; line-height:1.5; }
.nos-link { font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; color:var(--moss); text-decoration:none; border-bottom:1.5px solid var(--sage); padding-bottom:2px; }

/* ── CTA ── */
.cta-section { background:var(--forest); padding:8rem 5vw; position:relative; overflow:hidden; }
.cta-section::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 80% 60% at 100% 50%, rgba(58,158,106,.07) 0%, transparent 60%); }
.cta-bg-text { position:absolute; right:-3vw; top:50%; transform:translateY(-50%); font-family:var(--f-display); font-size:30vw; line-height:1; color:rgba(58,158,106,.03); pointer-events:none; user-select:none; }
.cta-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.cta-h { font-family:var(--f-display); font-size:clamp(2.2rem,4vw,4.2rem); font-weight:800; line-height:1.05; letter-spacing:-0.03em; color:var(--cream); margin-bottom:1.5rem; }
.cta-h .hl { color:var(--sage); }
.cta-sub { font-size:1.1rem; color:rgba(244,242,236,.55); line-height:1.65; font-weight:300; max-width:400px; margin-bottom:2rem; }
.cta-trust { font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,242,236,.3); display:flex; align-items:center; gap:.5rem; }
.cta-form-wrap { background:rgba(244,242,236,.04); border:1px solid rgba(58,158,106,.2); padding:2.8rem; border-radius:2px; }
.form-title { font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:2rem; display:flex; align-items:center; gap:.5rem; }
.form-title::before { content:''; display:block; width:20px; height:1px; background:var(--accent); }
.fg { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1rem; }
.fg label { font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,242,236,.35); }
.fg input { background:rgba(244,242,236,.05); border:1px solid rgba(244,242,236,.12); border-radius:1px; padding:.8rem 1rem; color:var(--cream); font-family:var(--f-body); font-size:.95rem; outline:none; transition:border-color .2s; }
.fg input:focus { border-color:var(--accent); }
.fg input::placeholder { color:rgba(244,242,236,.2); }
.f2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.btn-submit { width:100%; margin-top:.5rem; background:var(--moss); color:var(--cream); border:none; border-radius:1px; padding:1.1rem; font-family:var(--f-body); font-size:.88rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:background .2s; }
.btn-submit:hover { background:var(--green); }

/* ── FOOTER ── */
.footer-top { background:var(--forest); border-top:1px solid rgba(74,171,109,.12); padding:3.5rem 5vw; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.f-contact-block { display:flex; flex-direction:column; align-items:center; text-align:center; gap:.6rem; padding:1.5rem; border-right:1px solid rgba(74,171,109,.1); }
.f-contact-block:last-child { border-right:none; }
.f-contact-icon { font-size:1.5rem; opacity:.6; }
.f-contact-label { font-family:var(--f-display); font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sage); }
.f-contact-val { font-size:.88rem; color:rgba(232,228,220,.6); line-height:1.7; font-weight:300; }
.f-contact-val a { color:rgba(232,228,220,.6); text-decoration:none; transition:color .2s; }
.f-contact-val a:hover { color:var(--sage); }
footer { background:var(--ink); border-top:1px solid rgba(255,255,255,.05); padding:1.8rem 5vw; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.f-brand { display:flex; align-items:center; gap:1rem; }
.f-brand img { height:26px; opacity:.6; }
.f-brand small { font-size:.68rem; color:rgba(244,242,236,.2); }
.f-links { display:flex; gap:1.5rem; list-style:none; flex-wrap:wrap; }
.f-links a { font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(244,242,236,.25); text-decoration:none; transition:color .2s; }
.f-links a:hover { color:var(--accent); }
.f-copy { font-size:.68rem; color:rgba(244,242,236,.18); }

/* ── REVEAL ── */
.reveal { opacity:1; transform:translateY(0); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.on { opacity:1; transform:translateY(0); }
.reveal.d1 { transition-delay:.08s; }
.reveal.d2 { transition-delay:.16s; }
.reveal.d3 { transition-delay:.24s; }
.reveal.d4 { transition-delay:.32s; }

/* ── ANIMACIONES ── */
@keyframes fadeSlide { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes slideUp   { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
@keyframes ticker    { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes marquee   { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── RESPONSIVE ── */
@media(max-width:900px) {
  .statement { grid-template-columns:1fr; }
  .nosotros  { grid-template-columns:1fr; }
  .cta-inner { grid-template-columns:1fr; gap:3rem; }
  .casos-grid { grid-template-columns:1fr; }
}
@media(max-width:768px) {
  .nav-menu { display:none; }
  .impacto  { grid-template-columns:1fr; }
  .extra-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .f2 { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .nos-vals { grid-template-columns:1fr; }
}

/* ── MOBILE NAV ── */
.nav-hamburger { display: none; }

@media(max-width:768px) {
  nav {
    height: 52px;
    padding: 0 2vw;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }
  nav::-webkit-scrollbar { display: none; }
  .nav-logo img { height: 26px; }
  .nav-menu {
    display: flex !important;
    flex-shrink: 0;
    gap: 0;
  }
  .nav-menu a {
    font-size: .62rem;
    padding: .3rem .55rem;
    letter-spacing: .1em;
    white-space: nowrap;
  }
  .nav-cta-pill {
    font-size: .62rem !important;
    padding: .35rem .8rem !important;
    margin-left: .3rem !important;
  }
}
