/* ============================================================
   IMPULSA MUJERES — Rediseño 2026
   Paleta original del sitio: morado #898bdb · celeste #82c8f7 · blanco
   Tipografía: Montserrat (misma del sitio actual)
   ============================================================ */

:root{
  --purple:        #898bdb;
  --purple-deep:   #6c6ecf;
  --purple-ink:    #4a4b8f;
  --purple-soft:   #b8b9e9;
  --purple-mist:   #eeeefb;
  --blue:          #82c8f7;
  --blue-deep:     #4aa8e8;
  --blue-mist:     #e6f3fd;
  --ink:           #2e2d4e;
  --ink-soft:      #5b5a7d;
  --white:         #ffffff;
  --wa:            #25d366;
  --radius-card:   18px;
  --shadow-card:   0 18px 45px -18px rgba(74,75,143,.28);
  --shadow-lift:   0 30px 60px -20px rgba(74,75,143,.38);
  --font:          'Montserrat', system-ui, -apple-system, sans-serif;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--white);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }

.wrap{ width:min(1160px, 92%); margin-inline:auto; }
.wrap--narrow{ width:min(720px, 92%); margin-inline:auto; }

/* ---------- Tipografía ---------- */
h1,h2,h3,h4{ line-height:1.18; font-weight:800; letter-spacing:-.01em; }
.h-display{ font-size:clamp(2.1rem, 4.6vw, 3.4rem); }
.h-section{ font-size:clamp(1.7rem, 3.2vw, 2.4rem); }
.eyebrow{
  display:inline-block;
  font-size:.78rem; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--purple-deep);
  margin-bottom:1rem;
}
.lead{ font-size:1.12rem; color:var(--ink-soft); }
.on-color .eyebrow,
.hero .eyebrow, .page-hero .eyebrow, .capture .eyebrow, .site-footer .eyebrow{ color:rgba(255,255,255,.85); }
.on-color .lead,
.hero .lead, .page-hero .lead{ color:rgba(255,255,255,.93); }

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:var(--purple);
  padding:.8rem 0;
}
.nav-pill{
  background:rgba(255,255,255,.97);
  border-radius:999px;
  box-shadow:0 10px 30px -12px rgba(46,45,78,.35);
  display:flex; align-items:center; justify-content:space-between;
  padding:.55rem 1.4rem;
  gap:1rem;
}
.nav-logo img{ height:44px; width:auto; }
.nav-links{
  display:flex; align-items:center; gap:.25rem;
  list-style:none;
}
.nav-links a{
  display:inline-flex; align-items:center;
  text-decoration:none;
  font-size:.8rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  color:var(--purple-ink);
  padding:.55rem .85rem;
  border-radius:999px;
  transition:background .18s ease, color .18s ease;
}
.nav-links a:hover{ background:var(--purple-mist); }
.nav-links a.is-active{ background:var(--purple); color:var(--white); }
.nav-links a.nav-cta{
  background:var(--blue); color:var(--ink);
  margin-left:.5rem;
}
.nav-links a.nav-cta:hover{ background:var(--blue-deep); color:var(--white); }
.nav-toggle{
  display:none;
  background:none; border:0; cursor:pointer;
  width:42px; height:42px; border-radius:50%;
}
.nav-toggle span{
  display:block; width:20px; height:2px;
  background:var(--purple-ink); margin:4px auto;
  transition:transform .2s ease, opacity .2s ease;
}

/* ---------- Menú desplegable ---------- */
.has-dropdown{ position:relative; display:flex; align-items:center; }
.dropdown-toggle{ display:inline-flex !important; align-items:center; gap:.35rem; }
.dropdown-toggle .chev{ width:10px; height:10px; transition:transform .18s ease; }
.has-dropdown:hover .chev, .has-dropdown.is-open .chev{ transform:rotate(180deg); }
.dropdown{
  position:absolute; top:calc(100% + 10px); left:50%;
  transform:translateX(-50%) translateY(8px);
  background:var(--white);
  border-radius:16px;
  box-shadow:var(--shadow-lift);
  list-style:none; padding:.5rem; min-width:210px;
  opacity:0; visibility:hidden;
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:120;
}
.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown,
.has-dropdown.is-open .dropdown{
  opacity:1; visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.dropdown a{
  display:block; text-align:left;
  padding:.7rem 1rem !important;
  border-radius:12px !important;
}
.dropdown a:hover{ background:var(--purple-mist); }
.dropdown a.is-active{ background:var(--purple); color:var(--white); }

/* ---------- Botones ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--font);
  font-size:.92rem; font-weight:700;
  text-decoration:none; text-align:center;
  padding:.95rem 1.9rem;
  border-radius:999px;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease,
             background .18s ease, color .18s ease, border-color .18s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn svg{ width:18px; height:18px; flex:none; }

.btn--solid{ background:var(--purple); color:var(--white); }
.btn--solid:hover{ background:var(--purple-deep); box-shadow:0 14px 28px -12px rgba(108,110,207,.6); }

.btn--outline{ border-color:currentColor; background:transparent; color:var(--purple-ink); }
.btn--outline:hover{ background:rgba(137,139,219,.12); }

.btn--white{ background:var(--white); color:var(--purple-ink); }
.btn--white:hover{ box-shadow:0 14px 30px -12px rgba(0,0,0,.35); }

.btn--ghost-light{ border-color:rgba(255,255,255,.8); color:var(--white); background:transparent; }
.btn--ghost-light:hover{ background:rgba(255,255,255,.14); }

.btn--wa{ background:var(--wa); color:var(--white); }
.btn--wa:hover{ background:#1fbb59; box-shadow:0 14px 28px -12px rgba(37,211,102,.65); }

.btn--linkedin{ background:#0a66c2; color:var(--white); }
.btn--linkedin:hover{ background:#0958a8; box-shadow:0 14px 28px -12px rgba(10,102,194,.6); }

.btn-row{ display:flex; flex-wrap:wrap; gap:.9rem; }

/* ---------- Hero ---------- */
.hero{
  background:
    radial-gradient(900px 500px at 85% -10%, rgba(130,200,247,.35), transparent 60%),
    var(--purple);
  color:var(--white);
  overflow:hidden;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:3rem;
  align-items:end;
  padding-top:4.5rem;
}
.hero-copy{ padding-bottom:4.5rem; }
.hero-copy h1{ font-size:clamp(2rem, 4.4vw, 3.2rem); margin-bottom:1.4rem; }
.hero-copy .lead{ margin-bottom:2.2rem; max-width:34rem; }
.hero-photo{ position:relative; align-self:end; }
.hero-photo img{
  width:min(420px, 100%);
  margin-inline:auto;
  filter:drop-shadow(0 24px 40px rgba(46,45,78,.4));
}
.hero-mark{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
}
.hero-mark svg{ width:115%; max-width:520px; opacity:.16; }

/* ---------- Secciones genéricas ---------- */
.section{ padding:5.5rem 0; }
.section--mist{ background:var(--purple-mist); }
.section--purple{ background:var(--purple); color:var(--white); }
.section--blue{ background:var(--blue); color:var(--ink); }
.section--bluemist{ background:var(--blue-mist); }
.section-head{ max-width:46rem; margin-bottom:3rem; }
.section-head.center{ margin-inline:auto; text-align:center; }

/* ---------- Conceptos: Mi forma de mirar ---------- */
.concepts{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:1.1rem;
}
.concept{
  background:var(--white);
  border-radius:var(--radius-card);
  padding:1.7rem 1.4rem 1.5rem;
  box-shadow:var(--shadow-card);
  border-top:4px solid var(--purple-soft);
  display:flex; flex-direction:column; gap:.7rem;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.concept:hover{
  transform:translateY(-10px);
  box-shadow:var(--shadow-lift);
  border-top-color:var(--blue);
}
.concept .num{
  font-size:2rem; font-weight:800;
  color:transparent;
  -webkit-text-stroke:1.3px var(--purple);
  line-height:1;
}
.concept h3{ font-size:1.02rem; color:var(--purple-ink); }
.concept p{ font-size:.88rem; color:var(--ink-soft); line-height:1.55; }

/* ---------- Testimonios ---------- */
.testimonial-shell{ position:relative; max-width:52rem; margin-inline:auto; }
.testimonial{
  display:none;
  text-align:center;
  animation:fadeIn .5s ease;
}
.testimonial.is-current{ display:block; }
.testimonial .quote-mark{
  width:58px; height:58px; border-radius:50%;
  background:var(--purple); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1.6rem;
}
.testimonial .quote-mark svg{ width:24px; height:24px; }
.testimonial blockquote{
  font-size:clamp(1.05rem, 2vw, 1.3rem);
  font-weight:500; line-height:1.7;
  color:var(--ink);
  margin-bottom:1.8rem;
}
.testimonial figcaption strong{
  display:block;
  font-size:.92rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--purple-ink);
}
.testimonial figcaption span{ font-size:.85rem; color:var(--ink-soft); }
.tag{
  display:inline-block;
  font-size:.7rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  padding:.3rem .8rem; border-radius:999px;
  background:var(--blue-mist); color:var(--blue-deep);
  margin-bottom:1.2rem;
}
.tag--purple{ background:var(--purple-mist); color:var(--purple-deep); }
.carousel-dots{ display:flex; justify-content:center; gap:.55rem; margin-top:2.2rem; }
.carousel-dots button{
  width:11px; height:11px; border-radius:50%;
  border:0; background:var(--purple-soft); cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}
.carousel-dots button.is-current{ background:var(--purple); transform:scale(1.25); }
.carousel-arrow{
  position:absolute; top:38%;
  width:46px; height:46px; border-radius:50%;
  border:1.5px solid var(--purple-soft);
  background:var(--white); color:var(--purple-ink);
  cursor:pointer; font-size:1.1rem;
  transition:background .18s ease, color .18s ease;
}
.carousel-arrow:hover{ background:var(--purple); color:var(--white); }
.carousel-arrow--prev{ left:-70px; }
.carousel-arrow--next{ right:-70px; }
@keyframes fadeIn{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:none;} }

/* ---------- Banda Café ---------- */
.coffee{
  background:
    radial-gradient(700px 400px at 10% 110%, rgba(137,139,219,.25), transparent 60%),
    var(--blue);
}
.coffee-grid{
  display:grid; grid-template-columns:1.2fr .8fr;
  gap:3rem; align-items:center;
}
.coffee h2{ color:var(--ink); margin-bottom:1.2rem; }
.coffee p{ color:#23405c; max-width:36rem; }
.chips{ display:flex; flex-wrap:wrap; gap:.6rem; margin:1.6rem 0 2rem; list-style:none; }
.chips li{
  display:inline-flex; align-items:center; gap:.45rem;
  background:rgba(255,255,255,.75);
  border-radius:999px; padding:.45rem 1rem;
  font-size:.82rem; font-weight:700; color:var(--ink);
}
.chips svg{ width:15px; height:15px; color:var(--purple-deep); }
.coffee-side{
  background:rgba(255,255,255,.55);
  border-radius:var(--radius-card);
  padding:2.2rem;
  text-align:center;
  backdrop-filter:blur(4px);
}
.coffee-side .big{
  font-size:1.35rem; font-weight:800; color:var(--purple-ink);
  margin-bottom:.4rem;
}
.coffee-side p{ font-size:.9rem; margin:0 auto 1.4rem; }

/* ---------- Artículos newsletter ---------- */
.articles{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.6rem;
}
.article{
  background:var(--white);
  border-radius:var(--radius-card);
  overflow:hidden;
  box-shadow:var(--shadow-card);
  display:flex; flex-direction:column;
  text-decoration:none;
  transition:transform .22s ease, box-shadow .22s ease;
}
.article:hover{ transform:translateY(-10px); box-shadow:var(--shadow-lift); }
.article img{ width:100%; aspect-ratio:500/360; object-fit:cover; }
.article-body{ padding:1.4rem 1.5rem 1.6rem; display:flex; flex-direction:column; gap:.7rem; flex:1; }
.article-body h3{ font-size:1rem; color:var(--purple-ink); line-height:1.4; }
.article-body .more{
  margin-top:auto;
  font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--blue-deep);
  display:inline-flex; align-items:center; gap:.4rem;
}
.article-body .more svg{ width:14px; height:14px; transition:transform .18s ease; }
.article:hover .more svg{ transform:translate(3px,-3px); }

/* ---------- Captura de email ---------- */
.capture{
  background:var(--purple);
  color:var(--white);
  border-radius:calc(var(--radius-card) + 8px);
  padding:3rem clamp(1.5rem, 5vw, 4rem);
  display:grid; grid-template-columns:1.1fr .9fr; gap:2.5rem; align-items:center;
  box-shadow:var(--shadow-lift);
}
.capture h2{ font-size:clamp(1.4rem, 2.6vw, 1.9rem); margin-bottom:.7rem; }
.capture p{ color:rgba(255,255,255,.9); font-size:.98rem; }
.capture-form{ display:flex; flex-direction:column; gap:1.1rem; }
.field{
  display:flex; flex-direction:column; gap:.2rem;
}
.field input{
  font-family:var(--font); font-size:1rem;
  background:transparent; border:0;
  border-bottom:1.5px solid rgba(255,255,255,.55);
  color:var(--white);
  padding:.6rem .1rem;
  outline:none;
  transition:border-color .18s ease;
}
.field input::placeholder{ color:rgba(255,255,255,.65); }
.field input:focus{ border-color:var(--white); }
.capture-form .btn{ align-self:flex-start; }
.capture-note{ font-size:.78rem; color:rgba(255,255,255,.7); }

/* flujo de suscripción en dos opciones */
.capture-flow{ display:flex; flex-direction:column; gap:1.5rem; }
.capture-flow .opt p{ margin-bottom:.9rem; }
.capture-divider{
  display:flex; align-items:center; gap:1rem;
  color:rgba(255,255,255,.7);
  font-size:.8rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
}
.capture-divider::before, .capture-divider::after{
  content:""; flex:1; height:1px; background:rgba(255,255,255,.35);
}
.capture-close{
  grid-column:1 / -1;
  text-align:center;
  padding-top:2.2rem;
  border-top:1px solid rgba(255,255,255,.25);
}
.capture-close p{ margin:0 auto 1.3rem; max-width:38rem; }

/* formulario claro (footer/contacto) */
.capture--light{
  background:var(--white); color:var(--ink);
  border:1.5px solid var(--purple-mist);
}
.capture--light p{ color:var(--ink-soft); }
.capture--light .field input{ border-bottom-color:var(--purple-soft); color:var(--ink); }
.capture--light .field input::placeholder{ color:#9a99c2; }
.capture--light .field input:focus{ border-color:var(--purple); }
.capture--light .capture-note{ color:#9a99c2; }

/* variante clara del formulario (fondo blanco, ej. contacto) */
.capture-form--light .field input{ border-bottom-color:var(--purple-soft); color:var(--ink); }
.capture-form--light .field input::placeholder{ color:#9a99c2; }
.capture-form--light .field input:focus{ border-color:var(--purple); }
.capture-form--light .capture-note{ color:#9a99c2; }

/* ---------- CTA banda simple ---------- */
.cta-band{ text-align:center; }
.cta-band .btn-row{ justify-content:center; margin-top:2rem; }

/* ---------- Split (texto + foto) ---------- */
.split{
  display:grid; grid-template-columns:.9fr 1.1fr;
  gap:3.5rem; align-items:center;
}
.split--reverse{ grid-template-columns:1.1fr .9fr; }
.split-photo{ position:relative; }
.split-photo img{ margin-inline:auto; width:min(340px,100%); filter:drop-shadow(0 20px 35px rgba(46,45,78,.35)); }

/* ---------- Tarjetas de leyes / servicios ---------- */
.cards-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.card{
  background:var(--white);
  border-radius:var(--radius-card);
  padding:2rem 1.7rem;
  box-shadow:var(--shadow-card);
  transition:transform .22s ease, box-shadow .22s ease;
}
.card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lift); }
.card .law-num{
  display:inline-block;
  font-size:.75rem; font-weight:800; letter-spacing:.12em;
  color:var(--blue-deep);
  background:var(--blue-mist);
  border-radius:999px; padding:.3rem .9rem;
  margin-bottom:1rem;
}
.card h3{ font-size:1.08rem; color:var(--purple-ink); margin-bottom:.6rem; }
.card p{ font-size:.9rem; color:var(--ink-soft); }

.check-list{ list-style:none; display:flex; flex-direction:column; gap:1.1rem; }
.check-list li{
  display:flex; gap:.9rem; align-items:flex-start;
  font-size:1.02rem;
}
.check-list .ico{
  flex:none; width:30px; height:30px; border-radius:50%;
  background:var(--purple); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  margin-top:.15rem;
}
.check-list .ico svg{ width:14px; height:14px; }

/* ---------- Niveles de trabajo ---------- */
.levels-wrap{ max-width:56rem; margin-inline:auto; }
.level-grid{
  list-style:none;
  display:grid; grid-template-columns:1fr 1fr; gap:1.2rem;
}
.level-grid li{
  display:flex; gap:1.1rem; align-items:flex-start;
  background:var(--white); border-radius:var(--radius-card);
  padding:1.6rem 1.6rem;
  box-shadow:var(--shadow-card);
  transition:transform .2s ease, box-shadow .2s ease;
}
.level-grid li:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lift); }
.level-num{
  flex:none;
  font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--white); background:var(--purple);
  border-radius:999px; padding:.45rem 1rem;
  margin-top:.2rem;
}
.level-grid h3{ font-size:1.02rem; color:var(--purple-ink); margin-bottom:.35rem; }
.level-grid p{ font-size:.9rem; color:var(--ink-soft); }
.level-cta{
  flex-direction:column; align-items:center !important; justify-content:center;
  text-align:center; gap:1rem !important;
  background:var(--purple-mist) !important;
}
.level-cta p{ font-size:.95rem; font-weight:600; color:var(--purple-ink) !important; }
@media (max-width: 720px){
  .level-grid{ grid-template-columns:1fr; }
}

/* dos columnas es/no es */
.duo{ display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; }
.duo .box{
  border-radius:var(--radius-card);
  padding:2rem 1.8rem;
}
.duo .box h3{ margin-bottom:1.1rem; font-size:1.15rem; }
.duo .box--no{ background:var(--purple-mist); }
.duo .box--no h3{ color:var(--purple-ink); }
.duo .box--yes{ background:var(--blue-mist); }
.duo .box--yes h3{ color:var(--blue-deep); }
.duo ul{ list-style:none; display:flex; flex-direction:column; gap:.7rem; }
.duo li{ display:flex; gap:.6rem; font-size:.95rem; color:var(--ink-soft); }
.duo li::before{ content:"—"; color:var(--purple); font-weight:800; }
.duo .box--yes li::before{ content:"→"; color:var(--blue-deep); }

/* ---------- Dimensiones Modelo IM ---------- */
.dims{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.dim{
  background:var(--white);
  border-radius:var(--radius-card);
  padding:1.6rem 1.4rem;
  box-shadow:var(--shadow-card);
  transition:transform .22s ease, box-shadow .22s ease;
}
.dim:hover{ transform:translateY(-8px); box-shadow:var(--shadow-lift); }
.dim .num{
  font-size:1.9rem; font-weight:800; line-height:1;
  color:transparent; -webkit-text-stroke:1.2px var(--blue-deep);
  margin-bottom:.8rem;
}
.dim h3{ font-size:.98rem; color:var(--purple-ink); margin-bottom:.5rem; }
.dim p{ font-size:.84rem; color:var(--ink-soft); line-height:1.55; }

/* ---------- Page hero interior ---------- */
.page-hero{
  background:
    radial-gradient(800px 420px at 90% -20%, rgba(130,200,247,.35), transparent 60%),
    var(--purple);
  color:var(--white);
  padding:4.5rem 0 4rem;
}
.page-hero h1{ font-size:clamp(1.9rem, 4vw, 2.8rem); max-width:22ch; }
.page-hero .lead{ margin-top:1rem; max-width:44rem; color:rgba(255,255,255,.92); }

/* ---------- Prosa ---------- */
.prose p{ margin-bottom:1.3rem; color:var(--ink-soft); }
.prose p strong{ color:var(--ink); }
.prose h2{ margin:2.6rem 0 1.1rem; color:var(--purple-ink); font-size:1.5rem; }

/* ---------- Contacto ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.contact-option{
  background:var(--white); border-radius:var(--radius-card);
  box-shadow:var(--shadow-card); padding:2.4rem;
}
.contact-option h2{ font-size:1.3rem; color:var(--purple-ink); margin-bottom:.8rem; }
.contact-lines{ list-style:none; margin-top:1.6rem; display:flex; flex-direction:column; gap:1rem; }
.contact-lines a{
  display:flex; align-items:center; gap:.8rem;
  text-decoration:none; font-weight:600; color:var(--ink);
  transition:color .18s ease;
}
.contact-lines a:hover{ color:var(--purple-deep); }
.contact-lines .ico{
  width:38px; height:38px; border-radius:50%;
  background:var(--purple-mist); color:var(--purple-deep);
  display:flex; align-items:center; justify-content:center; flex:none;
}
.contact-lines .ico svg{ width:17px; height:17px; }

/* ---------- Footer ---------- */
.site-footer{
  background:var(--purple);
  color:var(--white);
  padding:4rem 0 2rem;
}
.footer-grid{
  display:grid; grid-template-columns:1.2fr .7fr 1.1fr;
  gap:2.8rem;
  padding-bottom:2.6rem;
  border-bottom:1px solid rgba(255,255,255,.25);
}
.site-footer h3{
  font-size:.8rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--blue); margin-bottom:1.1rem;
}
.footer-brand img{ height:52px; width:auto; margin-bottom:1rem; }
.footer-brand p{ font-size:.88rem; color:rgba(255,255,255,.85); max-width:26rem; }
.footer-menu{ list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.footer-menu a{
  text-decoration:none; font-size:.9rem; color:rgba(255,255,255,.88);
  transition:color .15s ease;
}
.footer-menu a:hover{ color:var(--blue); }
.footer-form{ display:flex; flex-direction:column; gap:.9rem; }
.footer-form p{ font-size:.85rem; color:rgba(255,255,255,.85); }
.footer-form .row{ display:flex; gap:.7rem; flex-wrap:wrap; }
.footer-form input{
  flex:1; min-width:150px;
  font-family:var(--font); font-size:.9rem;
  background:transparent; border:0;
  border-bottom:1.5px solid rgba(255,255,255,.55);
  color:var(--white); padding:.5rem .1rem; outline:none;
}
.footer-form input::placeholder{ color:rgba(255,255,255,.6); }
.footer-form input:focus{ border-color:var(--white); }
.footer-form .btn{ padding:.7rem 1.4rem; font-size:.82rem; }
.footer-form a{ color:var(--blue); font-weight:700; text-decoration:none; }
.footer-form a:hover{ text-decoration:underline; }
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:1rem;
  padding-top:1.6rem;
  font-size:.8rem; color:rgba(255,255,255,.75);
}
.socials{ display:flex; gap:.7rem; }
.socials a{
  width:36px; height:36px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.5);
  display:flex; align-items:center; justify-content:center;
  color:var(--white);
  transition:background .18s ease, border-color .18s ease;
}
.socials a:hover{ background:rgba(255,255,255,.15); border-color:var(--white); }
.socials svg{ width:16px; height:16px; }

/* ---------- WhatsApp flotante ---------- */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:200;
  width:58px; height:58px; border-radius:50%;
  background:var(--wa); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 30px -8px rgba(37,211,102,.6);
  transition:transform .18s ease;
  text-decoration:none;
}
.wa-float:hover{ transform:scale(1.08); }
.wa-float svg{ width:28px; height:28px; }

/* ---------- Reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .6s ease, transform .6s ease; }
.reveal.is-visible{ opacity:1; transform:none; }
.reveal[data-delay="1"]{ transition-delay:.08s; }
.reveal[data-delay="2"]{ transition-delay:.16s; }
.reveal[data-delay="3"]{ transition-delay:.24s; }
.reveal[data-delay="4"]{ transition-delay:.32s; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  html{ scroll-behavior:auto; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px){
  .concepts{ grid-template-columns:repeat(3,1fr); }
  .dims{ grid-template-columns:repeat(2,1fr); }
  .carousel-arrow--prev{ left:-8px; }
  .carousel-arrow--next{ right:-8px; }
}
@media (max-width: 900px){
  .hero-grid{ grid-template-columns:1fr; padding-top:3.5rem; }
  .hero-copy{ padding-bottom:0; }
  .hero-photo img{ width:min(320px,80%); }
  .split, .split--reverse{ grid-template-columns:1fr; }
  .split-photo{ order:-1; }
  .coffee-grid{ grid-template-columns:1fr; }
  .capture{ grid-template-columns:1fr; }
  .articles{ grid-template-columns:repeat(2,1fr); }
  .cards-3{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .duo{ grid-template-columns:1fr; }
}
@media (max-width: 1024px){
  .nav-toggle{ display:block; }
  .nav-links{
    position:absolute; top:calc(100% + 10px); left:0; right:0;
    background:var(--white);
    border-radius:22px;
    box-shadow:var(--shadow-lift);
    flex-direction:column; align-items:stretch;
    padding:.8rem;
    display:none;
  }
  .nav-links.is-open{ display:flex; }
  .nav-links a{ display:block; text-align:center; padding:.8rem; }
  .nav-links a.nav-cta{ margin-left:0; margin-top:.4rem; }
  .nav-pill{ position:relative; }
  .has-dropdown{ position:static; display:block; }
  .has-dropdown > .dropdown-toggle{ display:flex !important; justify-content:center; width:100%; }
  .dropdown{
    position:static; transform:none !important;
    opacity:1; visibility:visible;
    box-shadow:none; background:var(--purple-mist);
    width:100%; min-width:0; margin:.3rem 0 .2rem; padding:.3rem;
    display:none;
  }
  .has-dropdown.is-open .dropdown{ display:block; }
  .dropdown a{ text-align:center; }
  .concepts{ grid-template-columns:1fr; }
  .articles{ grid-template-columns:1fr; }
  .dims{ grid-template-columns:1fr; }
  .carousel-arrow{ display:none; }
  .section{ padding:3.8rem 0; }
}
