/* ===== Esencia Colibrí — sistema visual tomado de los mockups de la clienta ===== */
:root{
  --container:1250px;
  --crema:#faf5ee;
  --crema-2:#fdfaf5;
  --blanco:#ffffff;
  --verde:#24513f;          /* títulos */
  --verde-medio:#7a9c67;    /* botón / acentos vegetales */
  --verde-suave:#e8efe1;
  --morado:#7a5fa6;         /* acento principal */
  --morado-osc:#5f4784;
  --lavanda:#b9a7dc;
  --lavanda-suave:#efe9f7;
  --durazno:#f9e7dc;
  --coral:#d4756b;
  --texto:#4c4b49;
  --texto-suave:#6d6b67;
  --linea:#e8e0d6;
  --radio:22px;
  --sombra:0 10px 34px rgba(93,76,60,.07);
  --ease:cubic-bezier(.22,.61,.36,1);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Nunito Sans",-apple-system,"Segoe UI",sans-serif;
  --script:"Parisienne",cursive;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;overflow-x:hidden;background:var(--crema);color:var(--texto);font-family:var(--sans);font-size:17.5px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);color:var(--verde);margin:0;font-weight:600;line-height:1.15}
p{margin:0 0 1em}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}
.section{position:relative;z-index:1;padding-block:clamp(30px,3.4vw,52px)}
.center{text-align:center}

/* ---------- decoración de fondo (acuarelas y ramas del material) ---------- */
.deco{position:absolute;pointer-events:none;user-select:none;z-index:0}
.deco img{width:100%;height:auto}
main,header,footer{position:relative;z-index:1}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:90;background:rgba(250,245,238,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.site-header .container{display:flex;align-items:center;gap:22px;min-height:84px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand img{width:56px;height:56px;object-fit:contain;border-radius:50%}
.brand__name{font-family:var(--serif);font-size:1.16rem;letter-spacing:.06em;color:var(--verde);line-height:1.1}
.brand__sub{font-size:.72rem;letter-spacing:.08em;color:var(--morado);text-transform:none}
.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(10px,1.6vw,26px)}
.nav a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--texto);font-size:.9rem;padding:8px 2px;border-bottom:2px solid transparent;transition:color .22s var(--ease),border-color .22s var(--ease)}
.nav a svg{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--verde-medio)}
.nav a:hover{color:var(--morado)}
.nav a.is-active{color:var(--morado);border-bottom-color:var(--morado)}
.nav a.is-active svg{color:var(--morado)}
.nav__doble{line-height:1.15}
.burger{display:none;margin-left:auto;width:44px;height:44px;border:1px solid var(--linea);background:var(--blanco);border-radius:12px;cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:20px;height:1.6px;background:var(--verde);position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:1.6px;background:var(--verde)}
.burger span::before{top:-6px}.burger span::after{top:6px}
.nav-backdrop{position:fixed;inset:0;background:rgba(36,81,63,.28);opacity:0;visibility:hidden;transition:.3s var(--ease);z-index:70}
.nav-backdrop.is-open{opacity:1;visibility:visible}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 26px;border-radius:999px;text-decoration:none;font-size:.94rem;font-weight:600;border:1px solid transparent;cursor:pointer;transition:.22s var(--ease)}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.btn--morado{background:var(--morado);color:#fff}
.btn--morado:hover{background:var(--morado-osc)}
.btn--verde{background:var(--verde-medio);color:#fff}
.btn--verde:hover{background:#688a56}
.btn--coral{background:var(--coral);color:#fff}
.btn--coral:hover{background:#c1655c}
.btn--lavanda{background:var(--lavanda);color:#fff}
.btn--lavanda:hover{background:#a692cf}

/* ---------- Adornos de texto ---------- */
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--morado);margin:0 0 7px}
.script{font-family:var(--script);color:var(--morado);font-weight:400}
.sep{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 22px}
.sep::before,.sep::after{content:"";height:1px;width:74px;background:var(--linea)}
.sep svg{width:20px;height:20px;color:var(--morado);fill:currentColor}
.sep--left{justify-content:flex-start}
.sep--left::after{display:none}

/* ---------- Hero home (composición a sangre del mockup) ---------- */
.hero{position:relative;overflow:hidden;background:#f7f2ed;padding-top:clamp(104px,10vw,132px);padding-bottom:clamp(26px,3vw,44px);isolation:isolate}
.hero__clip{position:absolute}
.hero__foto{position:absolute;top:0;right:0;bottom:0;width:47%;z-index:-2;clip-path:url(#curvaHero)}
.hero__foto img{width:100%;height:100%;object-fit:cover;object-position:22% 50%}
.hero__deco{position:absolute;top:0;left:0;height:100%;width:auto;max-width:none;z-index:-1;pointer-events:none;object-fit:cover;object-position:left top}
.hero::after{content:"";position:absolute;right:-6%;bottom:-14%;width:34%;padding-top:26%;z-index:-3;
  background:radial-gradient(closest-side,rgba(150,178,163,.42),rgba(150,178,163,0) 72%)}
.hero__grid{display:grid;grid-template-columns:1.62fr .78fr;gap:clamp(18px,2.4vw,38px);align-items:center;
  padding-right:33.5%;padding-bottom:clamp(28px,4vw,54px)}
.hero__logo{max-width:410px;margin-inline:auto;text-align:center}
.hero__logo img{width:100%;height:auto}
.hero__wa{display:inline-flex;align-items:center;gap:10px;margin-top:10px;font-size:clamp(1.1rem,1.5vw,1.42rem);
  color:var(--verde);text-decoration:none;font-family:var(--sans);font-weight:600;letter-spacing:.01em}
.hero__wa svg{width:26px;height:26px;color:#3fae5a;fill:currentColor;stroke:none}
.hero__texto{max-width:325px}
.hero__claim{font-family:var(--serif);font-size:clamp(1.32rem,1.68vw,1.56rem);color:var(--verde);line-height:1.45;margin:0;font-weight:500}
.hero__claim .script{font-size:1.2em;line-height:1}
.hero .sep{margin:18px 0 20px;justify-content:flex-start}
.hero .sep::before{width:82px}
.hero .sep::after{display:none}
.hero__sub{color:var(--texto);font-size:.95rem;line-height:1.95;margin:0}

/* barra de pilares montada sobre la composición */
.pilares{background:#fdfaf5;border-radius:44px;box-shadow:0 14px 44px rgba(120,100,80,.09);
  padding:26px clamp(16px,2.2vw,30px);display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.pilar{display:flex;gap:13px;align-items:flex-start;padding-inline:clamp(10px,1.3vw,18px)}
.pilar + .pilar{border-left:1px solid var(--linea)}
.pilar img{width:68px;height:68px;flex:none;object-fit:contain}
.pilar h3{font-family:var(--sans);font-size:.94rem;font-weight:600;color:var(--verde);line-height:1.35;margin-bottom:7px}
.pilar p{font-size:.79rem;color:var(--texto-suave);margin:0;line-height:1.6}

/* nav flotando sobre el hero (solo en Inicio) */
.site-header--hero{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:0;backdrop-filter:none}
.site-header--hero .container{min-height:0;padding-top:26px}
.site-header--hero .brand{display:none}
.site-header--hero .nav{margin-inline:auto}
.site-header--hero .nav a{font-size:.95rem}

/* ---------- Decoración de fondo (recortes del mockup) ---------- */
main{position:relative;overflow:hidden}
.deco-sd,.deco-id,.deco-si{position:absolute;z-index:0;pointer-events:none;user-select:none;max-width:none}
.deco-si{top:0;left:0;height:70%;width:auto}
.deco-sd{top:0;right:0;width:clamp(190px,25vw,430px)}
.deco-id{bottom:0;right:0;width:clamp(190px,23vw,400px);opacity:.85}

/* ---------- Lockup de marca (cabecera interior) ---------- */
.marca{display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.4vw,22px);margin-bottom:10px}
.marca__colibri{width:clamp(150px,17vw,270px);height:auto}
.marca__logo{display:inline-flex;align-items:center;gap:14px}
.marca__logo img{width:clamp(76px,8vw,118px);height:auto}
.marca__nombre{display:block;font-family:var(--serif);font-size:clamp(2rem,3.1vw,3.05rem);color:var(--verde);line-height:1.06;font-weight:600}
.marca__tag{display:block;color:var(--morado);font-size:clamp(.9rem,1.15vw,1.15rem);margin-top:8px}

/* ---------- Cabecera de página interior ---------- */
.page-hero{position:relative;z-index:1;padding-block:clamp(30px,3.6vw,54px) clamp(18px,2.4vw,34px);text-align:center}
.page-hero h1{font-size:clamp(2.6rem,5.4vw,4.2rem);font-weight:500}
.page-hero--split h1{font-size:clamp(3rem,6vw,5rem)}
.titulo-morado{color:var(--morado-osc)}
.page-hero p{max-width:720px;margin-inline:auto;color:var(--texto-suave)}
.page-hero--split{text-align:left}
.page-hero--split .container{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.page-hero--split .sep{justify-content:flex-start}
.page-hero--split .sep::after{display:none}

/* ---------- Tarjetas genéricas ---------- */
.card{background:var(--crema-2);border:1px solid var(--linea);border-radius:var(--radio);padding:clamp(22px,2.6vw,34px);position:relative;overflow:hidden}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;align-items:start}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.icon-circle{width:96px;height:96px;object-fit:contain;border-radius:50%;margin:0 auto 10px}
.card--mv{text-align:center}
.card--mv h3{font-size:1.9rem;font-weight:500}
.card--mv p{text-align:left;font-size:1rem;color:var(--texto-suave)}
.valores{list-style:none;margin:0;padding:0;display:grid;gap:16px;text-align:left}
.valores li{display:flex;gap:12px}
.valores svg{width:20px;height:20px;flex:none;margin-top:5px;color:var(--lavanda);fill:currentColor}
.valores img{width:24px;height:24px;flex:none;object-fit:contain;margin-top:3px}
.valores b{display:block;font-weight:600;color:var(--morado);font-size:1.05rem}
.valores span{font-size:.92rem;color:var(--texto-suave);line-height:1.5}

/* ---------- Bloque destacado (TCC) ---------- */
.destacado{background:var(--lavanda-suave);border-radius:var(--radio);padding:clamp(26px,3vw,42px);display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:center;font-size:1.02rem}
.destacado img{width:170px;height:170px;object-fit:contain;border-radius:50%}
.destacado h2{color:var(--morado-osc);font-size:clamp(1.55rem,2.5vw,2.05rem);margin-bottom:12px}
.destacado .em-verde{color:var(--verde-medio);font-weight:600}
.destacado .fuerte{font-weight:700;color:#3a3a38}

/* ---------- Etapas (Niños/Adolescentes/Adultos) ---------- */
.etapa{border-radius:var(--radio);padding:26px 26px 34px;position:relative;overflow:hidden}
.etapa--ninos{background:#eef3e7}
.etapa--adolescentes{background:#f0eaf8}
.etapa--adultos{background:#fbeae6}
.etapa__top{display:flex;gap:16px;align-items:flex-start;margin-bottom:14px}
.etapa__top img{width:86px;height:86px;flex:none;object-fit:contain;border-radius:50%}
.etapa h3{font-size:1.55rem;font-weight:500;margin-bottom:2px}
.etapa--ninos h3{color:var(--verde-medio)}
.etapa--adolescentes h3{color:var(--morado)}
.etapa--adultos h3{color:var(--coral)}
.etapa__lead{font-weight:700;font-size:.95rem;color:#3a3a38;margin:0}
.etapa hr{border:0;border-top:1px solid rgba(0,0,0,.14);margin:12px 0 16px;width:64px;margin-left:100px}
.etapa p{font-size:1rem;color:var(--texto-suave);margin:0}

/* ---------- Ventajas TCC (6 columnas) ---------- */
.ventaja{text-align:center;padding-inline:12px}
.ventaja + .ventaja{border-left:1px solid var(--linea)}
.ventaja img{width:88px;height:88px;object-fit:contain;border-radius:50%;margin:0 auto 14px}
.ventaja h3{font-family:var(--sans);font-size:1rem;font-weight:700;color:#3a3a38;margin-bottom:8px}
.ventaja p{font-size:.88rem;color:var(--texto-suave);line-height:1.55;margin:0}

/* ---------- Cita / cierre ---------- */
.cita{background:var(--verde-suave);border-radius:var(--radio);text-align:center;padding:clamp(24px,3vw,38px)}
.cita p.script{font-family:var(--script)}
.cita p{font-family:var(--serif);font-size:clamp(1.1rem,1.8vw,1.35rem);color:var(--morado-osc);margin:0}
.cita p + p{margin-top:4px}
.cita--blob{background:#f8ece7;border-radius:56% 44% 52% 48% / 46% 54% 42% 58%;max-width:660px;margin-inline:0;padding:clamp(34px,4.4vw,58px) clamp(38px,4.4vw,64px)}
.page-hero--split h1.h1-sobre{font-size:clamp(2.1rem,3.4vw,3rem);max-width:600px}
.grid-3--top{align-items:start}

/* ---------- Artículos ---------- */
.art{border-radius:var(--radio);padding:30px;display:grid;grid-template-columns:210px 1fr;gap:24px;align-items:center;position:relative;overflow:hidden}
.art--verde{background:#e9f0e2}
.art--lavanda{background:#efe9f8}
.art--durazno{background:#fbeae4}
.art--menta{background:#e4efe8}
.art img.art__ico{width:200px;height:200px;object-fit:contain;border-radius:50%;background:rgba(255,255,255,.66)}
.art h3{font-size:clamp(1.5rem,2.1vw,1.95rem);font-weight:500;line-height:1.2;margin-bottom:12px}
.art--verde h3{color:var(--verde)}
.art--lavanda h3{color:var(--morado)}
.art--durazno h3{color:var(--coral)}
.art--menta h3{color:var(--verde)}
.art p{font-size:1rem;color:var(--texto-suave)}
.banner{background:#efe9f8;border-radius:var(--radio);padding:28px 34px;display:grid;grid-template-columns:110px 1fr 300px;gap:24px;align-items:center}
.banner img.banner__ico{width:100px;height:100px;object-fit:contain}
.banner h3{color:var(--morado);font-size:1.5rem;font-weight:500;line-height:1.25;margin-bottom:10px}
.banner p{margin:0;font-size:.94rem;color:var(--texto-suave)}

/* ---------- Tienda ---------- */
.producto{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(26px,4vw,54px);align-items:center}
.producto__caja{max-width:420px;margin-inline:auto}
.producto h2{font-size:clamp(1.7rem,2.6vw,2.2rem);margin-bottom:12px}
.chips{background:var(--crema-2);border:1px solid var(--linea);border-radius:20px;padding:16px 22px;display:grid;grid-template-columns:1fr 1fr;gap:0;margin:22px 0}
.chip{display:flex;align-items:center;gap:14px;padding-inline:14px}
.chip + .chip{border-left:1px solid var(--linea)}
.chip img{width:62px;height:62px;object-fit:contain;flex:none}
.chip span{font-size:1.02rem;color:var(--texto)}
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px;text-align:center}
.mini img{width:74px;height:74px;object-fit:contain;margin:0 auto 8px}
.mini span{font-size:.94rem;color:var(--texto-suave);line-height:1.45;display:block}
.recursos{background:var(--lavanda-suave);border-radius:var(--radio);padding:28px 32px;display:grid;grid-template-columns:1fr 250px;gap:26px;align-items:center}
.recursos h2{color:var(--morado);font-size:1.6rem;font-weight:500;margin-bottom:18px}
.recursos__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;text-align:center}
.recursos__grid img{width:66px;height:66px;object-fit:contain;margin:0 auto 8px}
.recursos__grid span{font-size:.9rem;color:var(--texto-suave);line-height:1.4;display:block}
.pago{background:var(--crema-2);border:1px solid var(--linea);border-radius:20px;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center;max-width:820px;margin-inline:auto}
.pago > div{display:flex;align-items:center;justify-content:center;gap:16px;padding-inline:18px}
.pago > div + div{border-left:1px solid var(--linea)}
.pago img{max-height:66px;width:auto;object-fit:contain}
.pago span{font-size:1rem;color:var(--texto)}
.garantias{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.garantia{display:flex;align-items:center;gap:14px}
.garantia img{width:56px;height:56px;object-fit:contain;flex:none}
.garantia span{font-size:.88rem;color:var(--texto-suave);line-height:1.5}

/* ---------- Contacto ---------- */
.contacto-card{border-radius:var(--radio);padding:34px 28px 30px;text-align:center;position:relative;overflow:hidden}
.contacto-card--wa{background:#eef3e9}
.contacto-card--ig{background:#f1ebf8}
.contacto-card--mail{background:#fbeee5}
.contacto-card img.contacto__ico{width:clamp(96px,9vw,120px);height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 16px}
.contacto-card h3{font-family:var(--script);font-size:clamp(2.1rem,2.9vw,2.7rem);font-weight:400;margin-bottom:6px}
.contacto-card--wa h3{color:var(--verde)}
.contacto-card--ig h3{color:var(--morado)}
.contacto-card--mail h3{color:#a06fb0}
.contacto-card .dato{font-size:clamp(1.15rem,1.5vw,1.42rem);color:#2f2f2d;font-weight:600;word-break:break-word;text-decoration:none;display:block;margin-bottom:12px}
.contacto-card p{font-size:.98rem;color:var(--texto-suave);margin:0}
.contacto-card .rama{width:150px;margin:18px auto 0}
.form{background:var(--crema-2);border:1px solid var(--linea);border-radius:var(--radio);padding:clamp(24px,3vw,34px)}
.form label{display:block;font-size:.86rem;color:var(--texto-suave);margin-bottom:6px}
.form input,.form textarea{width:100%;padding:12px 14px;border:1px solid var(--linea);border-radius:12px;background:#fff;font:inherit;font-size:.95rem;color:var(--texto);margin-bottom:16px}
.form input:focus,.form textarea:focus{outline:2px solid var(--lavanda);outline-offset:1px}
.form textarea{min-height:130px;resize:vertical}
.aviso{border-radius:14px;padding:12px 16px;margin-bottom:18px;font-size:.92rem}
.aviso--ok{background:#e7f2e4;color:#356b2d;border:1px solid #bcd9b4}
.aviso--err{background:#fbe6e4;color:#973b32;border:1px solid #eec1bc}
.sesiones{background:#eef3e9;border-radius:var(--radio);padding:30px}
.sesiones__top{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center}
.sesiones__top img{width:140px;height:140px;object-fit:contain}
.sesiones h3{font-size:1.7rem;font-weight:500;margin-bottom:10px}
.edades{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:center;margin-top:22px}
.edades > div + div{border-left:1px solid rgba(0,0,0,.08)}
.edades img{width:70px;height:70px;object-fit:contain;margin:0 auto 8px}
.edades span{font-size:.9rem;color:var(--texto);line-height:1.35;display:block}
.datos-contacto{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.datos-contacto a,.datos-contacto span.item{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-size:.93rem}
.datos-contacto svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:var(--verde-medio)}

/* ---------- Bloque "¿Prefieres que te contacte?" ---------- */
.prefieres{background:#f3edfa;border-radius:var(--radio);padding:28px;display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:center}
.prefieres > img{width:100%;height:auto}
.prefieres h3{font-size:clamp(1.4rem,2vw,1.75rem);color:var(--morado-osc);font-weight:500;line-height:1.2}
.prefieres .sep{margin:12px 0 14px;justify-content:flex-start}
.prefieres .sep::after{display:none}
.prefieres p{font-size:1rem;color:var(--texto-suave)}

/* ---------- Fila de contacto de cierre ---------- */
.fila-contacto{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(16px,3vw,40px)}
.fila-contacto a,.fila-contacto .item{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--texto);font-size:.95rem}
.fila-contacto img{width:58px;height:58px;object-fit:contain;flex:none}
.fila-contacto__ico{display:inline-flex;width:44px;height:44px;border-radius:50%;background:var(--lavanda-suave);align-items:center;justify-content:center;flex:none}
.fila-contacto__ico svg{width:22px;height:22px;fill:none;stroke:var(--morado);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fila-contacto--barra{background:#f3edfa;border-radius:999px;padding:14px 26px;margin-top:26px}
.fila-contacto--barra img{width:38px;height:38px}
.fila-contacto--barra .fila-contacto__ico{width:38px;height:38px;background:transparent}
.fila-contacto--centro{margin-top:34px}
.web-linea{text-align:center;font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.7rem);color:var(--morado);margin:14px 0 0}
.gracias{font-size:clamp(1.6rem,2.8vw,2.2rem);color:var(--verde);margin:0}
.firma{font-size:clamp(1.3rem,2.2vw,1.75rem);color:var(--verde);margin:26px 0 0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.form__fila{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}

/* ---------- Footer ---------- */
.site-footer{background:#f4ede4;border-top:1px solid var(--linea);padding-block:clamp(52px,6vw,74px) 30px;margin-top:clamp(20px,3vw,40px)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:36px}
.footer-grid h4{font-family:var(--sans);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--morado);margin-bottom:14px}
.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer-grid a{text-decoration:none;font-size:.93rem;color:var(--texto)}
.footer-grid a:hover{color:var(--morado)}
.footer-brand img{width:64px;height:64px;border-radius:50%;object-fit:contain;margin-bottom:12px}
.footer-brand p{font-size:.9rem;color:var(--texto-suave);max-width:320px}
.footer-credit{margin-top:40px;padding-top:22px;border-top:1px solid rgba(36,81,63,.14);text-align:center;font-size:.8rem;color:rgba(60,58,55,.66)}
.footer-credit a{color:inherit;text-decoration:none;transition:color .22s var(--ease)}
.footer-credit a:hover{color:rgba(60,58,55,.95)}

/* ---------- Reveal ---------- */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);
  animation:reveal-failsafe 0s linear 3s forwards}
.reveal.is-in{opacity:1;transform:none}
@keyframes reveal-failsafe{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.reveal,.js .reveal{opacity:1;transform:none;transition:none;animation:none}}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .nav a span{display:none}
  .nav a{gap:0}
}
@media (max-width:980px){
  .grid-6,.recursos__grid{grid-template-columns:repeat(3,1fr);gap:22px}
  .ventaja + .ventaja{border-left:0}
  .pilares{grid-template-columns:repeat(2,1fr);gap:22px}
  .pilar + .pilar{border-left:0}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr 1fr}
  .destacado,.producto,.recursos,.banner,.art,.sesiones__top,.page-hero--split .container,.prefieres{grid-template-columns:1fr}
  .banner{text-align:left}
  .art img.art__ico{width:140px;height:140px}
  .hero__grid{grid-template-columns:1fr;text-align:center;gap:6px;padding-right:0}
  .hero__texto{max-width:520px;margin-inline:auto}
  .hero .sep{justify-content:center}
  .hero .sep::after{display:block}
  .hero{display:flex;flex-direction:column}
  .hero__grid{order:1}
  .hero__foto{position:relative;width:100%;height:min(46vw,340px);clip-path:none;border-radius:26px;margin:18px 24px 26px;width:calc(100% - 48px);z-index:0;order:2}
  .hero > .container:last-child{order:3}
  .hero__deco{opacity:.55;height:auto;width:150px}
  .pilares{border-radius:28px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:880px){
  .deco-sd,.deco-si{display:none}
  .deco-id{opacity:.5;width:190px}
  .marca{flex-direction:column;gap:10px}

  .burger{display:inline-flex}
  .nav{position:fixed;top:0;right:0;height:100dvh;width:min(320px,86vw);background:var(--crema);flex-direction:column;align-items:flex-start;gap:4px;padding:96px 26px 30px;transform:translateX(105%);transition:transform .38s var(--ease);box-shadow:-14px 0 40px rgba(60,50,40,.12);overflow-y:auto;margin-left:0}
  .nav.is-open{transform:none}
  .nav a{width:100%;font-size:1rem;padding:12px 0;border-bottom:1px solid var(--linea);gap:10px}
  .nav a span{display:inline}
  .nav a.is-active{border-bottom-color:var(--morado)}
}
@media (max-width:640px){
  .grid-3,.grid-4,.grid-2,.grid-6,.recursos__grid,.mini,.pilares,.garantias,.edades,.chips,.pago,.footer-grid,.form__fila{grid-template-columns:1fr}
  .fila-contacto--barra{border-radius:24px}
  .chip + .chip,.pago > div + div,.edades > div + div{border-left:0;border-top:1px solid var(--linea);padding-top:14px;margin-top:12px}
  .page-hero h1{font-size:2.4rem}
  .banner{grid-template-columns:1fr}
}
