@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-600-normal.woff2) format("woff2")}
/* ===== TEMA ARMONI HOLDING (tokens del Design System Base) ===== */
:root{
  /* Neutros */
  --negro:#111111; --gris-800:#333333; --gris-600:#5c5c5c; --gris-400:#8a8a8a; --gris-200:#d4d4d4; --blanco:#ffffff;
  --fondo:#faf7f1; --superficie:#ffffff;
  /* Marca y acento (tema del cliente) */
  --marca:#1f3524; --acento:#74866a; --linea:#e3e5df; --marcador:#e6ebdc; --card:#27402c;
  --grad-claro:linear-gradient(180deg,#ffffff,#f1ede3);
  --grad-oscuro:linear-gradient(180deg,#2c4630,#18291c);
  --grad-medio:linear-gradient(180deg,#a9b89a,#f3f4ee);
  /* Superficie de acción: SOLO botones CTA y formularios */
  --accion:#c9a96a; --accion-hover:#b9985a; --accion-suave:#f3ebd8;
  /* Sombras y radios */
  --sombra:0 14px 34px -18px rgba(0,0,0,.22); --sombra-lg:0 28px 60px -24px rgba(0,0,0,.35); --r-card:16px; --r-media:14px;
  /* Texto sobre bandas oscuras */
  --sobre-oscuro:rgba(255,255,255,.88); --sobre-oscuro-2:rgba(255,255,255,.62);
  /* Tipografía */
  --fuente-titulo:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fuente-cuerpo:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --fuente-mono:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  /* Layout */
  --medida:680px; --medida-ancha:880px; --sangria:24px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{font-family:var(--fuente-cuerpo);background:var(--fondo);color:var(--gris-800);line-height:1.6;font-size:clamp(16px,.3vw + 15px,17.5px);-webkit-text-size-adjust:100%}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--fuente-titulo);font-weight:600;letter-spacing:-.015em;color:var(--marca);text-wrap:balance;line-height:1.16}
h1{font-size:clamp(1.85rem,5vw,2.9rem)}
h2{font-size:clamp(1.5rem,3.6vw,2.05rem);margin-bottom:.7rem}
h3{font-size:1.15rem;line-height:1.25}
p{text-wrap:pretty}
.in{width:min(var(--medida-ancha),100% - 2*var(--sangria));margin-inline:auto}
.txt{max-width:var(--medida)}
.sec{padding:48px 0}
@media(max-width:700px){.sec{padding:36px 0}}
.sec.alt{background:#f1ede3}
.stand{font-size:1.1rem;color:var(--gris-600);margin:.2rem 0 2rem;max-width:var(--medida)}
.eyebrow,.meta{font-family:var(--fuente-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris-400)}
.eyebrow{margin-bottom:.9rem}
.center{text-align:center}
.center .stand{margin-inline:auto}

/* Bandas oscuras */
.banda-marca{background:var(--marca);color:var(--sobre-oscuro)}
.banda-marca h1,.banda-marca h2,.banda-marca h3{color:#fff}
.banda-marca .eyebrow,.banda-marca .meta{color:var(--sobre-oscuro-2)}

/* Botones (única superficie de acción) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--accion);color:var(--marca);border:1px solid var(--accion);padding:.95rem 1.7rem;border-radius:999px;font-weight:700;font-size:1rem;font-family:inherit;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:0 10px 24px -12px rgba(0,0,0,.45)}
.btn:hover{background:var(--accion-hover);border-color:var(--accion-hover);transform:translateY(-1px)}
.btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accion-suave);outline-offset:2px}
.btn.ghost{background:transparent;color:inherit;border:1px solid currentColor;box-shadow:none}
.btn.ghost:hover{background:rgba(127,127,127,.12);transform:none}

/* Placeholders limpios de la paleta */
.ph{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;border-radius:var(--r-media);overflow:hidden;background:repeating-linear-gradient(135deg,#e6e8e1 0 10px,#eff0eb 10px 20px);color:var(--gris-400);font-family:var(--fuente-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:1rem}
.ph::after{content:attr(data-label);position:relative}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.banda-marca .ph,.ph.oscuro{background:repeating-linear-gradient(135deg,rgba(255,255,255,.07) 0 10px,rgba(255,255,255,.12) 10px 20px);color:var(--sobre-oscuro-2)}
.sk{display:block;height:.72em;border-radius:6px;background:#e4e6df;margin:.55em 0}
.sk.w90{width:90%}.sk.w75{width:75%}.sk.w60{width:60%}.sk.w40{width:40%}
.banda-marca .sk,.fase.f3 .sk,.oscuro .sk{background:rgba(255,255,255,.14)}
.sk.h{height:1.1em}
.numph{font-family:var(--fuente-cuerpo);font-weight:800;color:#cfd2c9;letter-spacing:-.02em}
.play{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--sombra-lg)}
.play::before{content:"";margin-left:5px;border-left:18px solid var(--marca);border-top:11px solid transparent;border-bottom:11px solid transparent}

/* 12 · Barra superior (solapa) + 15 · Hero banda */
.hero{position:relative;padding:0}
.solapa{position:absolute;top:0;left:50%;transform:translateX(-50%);background:var(--superficie);padding:10px 22px 12px;border-radius:0 0 16px 16px;box-shadow:var(--sombra)}
.logo{font-family:var(--fuente-titulo);text-decoration:none;color:var(--marca);letter-spacing:.32em;font-size:1.05rem;line-height:1;display:block;text-align:center}
.logo img{display:block;width:124px;height:auto}.logo small{display:block;font-size:.5rem;letter-spacing:.5em;color:var(--gris-400);margin-top:.35rem}
.stand2{color:var(--gris-600);margin:.4rem 0 0}.inv{display:grid;gap:14px;margin-top:1.6rem}.invc{background:var(--superficie);border:1px solid var(--linea);border-top:3px solid var(--acento);border-radius:var(--r-card);padding:1.2rem 1.3rem;box-shadow:var(--sombra)}.invc h3{font-size:1.1rem;margin-bottom:.8rem}.invc .sk{display:block;margin:.45rem 0}@media(min-width:760px){.inv{grid-template-columns:1fr 1fr}}.sel{width:100%}.mandala{display:block;width:84px;height:auto;border-radius:14px;margin-bottom:1.1rem}.prom{text-align:center;max-width:var(--medida-ancha);margin:0 auto}.prom blockquote{font-family:var(--fuente-titulo);font-size:clamp(1.7rem,4.5vw,2.7rem);line-height:1.18;color:var(--marca);margin:.6rem 0 1.4rem;text-wrap:balance}.prom blockquote em{color:#a8864a;font-style:normal}.prom .tres{display:grid;gap:12px;margin-top:1.6rem;text-align:left}.prom .tres div{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--r-card);padding:1.1rem 1.2rem}.prom .tres b{font-family:var(--fuente-titulo);font-weight:600;font-size:1.15rem;color:var(--marca);display:block;margin-bottom:.3rem}.prom .tres p{margin:0;color:var(--gris-600);font-size:.95rem}.prom .gar{margin-top:1.4rem;display:grid;gap:.5rem;justify-items:center}@media(min-width:760px){.prom .tres{grid-template-columns:repeat(3,1fr)}}.hoja{position:absolute;right:0;top:0;width:170px;height:auto;pointer-events:none}.hero-grid{display:grid;gap:34px;padding:128px 0 76px;align-items:center}
.hero h1{margin-bottom:1.1rem}
.hero .stand{color:var(--sobre-oscuro);margin-bottom:1.6rem}
.hero .acts{display:flex;flex-wrap:wrap;gap:.8rem}
.hero .media{aspect-ratio:4/5;width:100%;border:1px solid rgba(255,255,255,.14)}

/* 19.1 · Beneficios: tres columnas con dato */
.b3{display:grid;gap:16px;margin-top:2rem}
.bcard{background:var(--superficie);border-radius:var(--r-card);box-shadow:var(--sombra);overflow:hidden}
.bcard .art{aspect-ratio:16/10;background:#e9ebdf}
.bcard .art svg{width:100%;height:100%}
.bcard .body{padding:20px}
.dato{font-family:var(--fuente-cuerpo);font-weight:800;font-size:2.3rem;letter-spacing:-.02em;color:var(--marca);line-height:1}
.dato small{font-size:1rem;font-weight:600;color:var(--gris-600);margin-left:.2rem}
.bcard h3{margin:.7rem 0 .3rem}
.bcard p{font-size:.93rem;color:var(--gris-600)}

/* 19.4 · Contraste hoy / después */
.contraste{display:grid;gap:14px;margin-top:2rem}
.cbox{border-radius:var(--r-card);padding:24px;border-left:4px solid var(--linea)}
.cbox.hoy{background:#f1ede3;border-left-color:var(--gris-200)}
.cbox.despues{background:var(--marca);color:var(--sobre-oscuro);border-left-color:var(--acento)}
.cbox .meta{display:block;margin-bottom:.6rem}
.cbox.despues .meta{color:var(--sobre-oscuro-2)}

/* 17 · Método: fases apiladas */
.fases{display:grid;gap:22px;margin-top:2rem}
.fase{display:grid;gap:18px;padding:24px;border-radius:var(--r-card);box-shadow:var(--sombra);position:relative}
.fase .ph{aspect-ratio:4/3}
.fase.f1{background:var(--superficie)}
.fase.f2{background:#e6eadb}
.fase.f3{background:var(--marca);color:var(--sobre-oscuro)}
.fase.f3 h3{color:#fff}
.pill{display:inline-block;font-family:var(--fuente-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:.25rem .7rem;background:var(--marcador);color:var(--marca);margin-bottom:.8rem}
.fase.f3 .pill{background:rgba(255,255,255,.14);color:#fff}
.checks{list-style:none;margin-top:.8rem;display:grid;gap:.1rem}
.checks li{position:relative;padding-left:28px}
.checks li::before{content:"✓";position:absolute;left:0;top:.2em;width:18px;height:18px;border-radius:50%;background:var(--marcador);color:var(--marca);font-size:.68rem;display:flex;align-items:center;justify-content:center}
.fase.f3 .checks li::before{background:rgba(255,255,255,.18);color:#fff}

/* 8.1 · Tarjetas verticales imagen a sangre (modelos) */
.modelos{display:grid;gap:18px;margin-top:2rem}
.mcard{background:var(--superficie);border-radius:var(--r-card);box-shadow:var(--sombra);overflow:hidden}
.mcard .ph{aspect-ratio:4/3;border-radius:0}
.mcard .body{padding:22px}
.mcard .btn{margin-top:1rem}
.mcard .btn.ghost{color:var(--marca)}

/* 18 · Credenciales */
.cred{display:grid;gap:26px;align-items:start;margin-top:2rem}
.cred .retrato{aspect-ratio:3/4;border-radius:18px 18px 72px 18px;margin-top:-28px;box-shadow:var(--sombra-lg)}
.ccards{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.ccard{background:var(--superficie);border-radius:12px;padding:14px 14px 14px 40px;position:relative;box-shadow:var(--sombra)}
.ccard::before{content:"✓";position:absolute;left:13px;top:15px;width:18px;height:18px;border-radius:50%;background:var(--marcador);color:var(--marca);font-size:.68rem;display:flex;align-items:center;justify-content:center}
.logos{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.logos span{width:84px;height:28px;border-radius:8px;background:#dfe1da}

/* 9 · Prueba social */
.muro-resenas{columns:3 230px;column-gap:14px;margin-top:2rem}
.resena{break-inside:avoid;background:var(--superficie);border-radius:14px;box-shadow:var(--sombra);padding:16px;margin-bottom:14px}
.resena .top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.avatar{width:36px;height:36px;border-radius:50%;background:#dfe1da;flex:none}
.estrellas{height:12px;width:78px;background:repeating-linear-gradient(90deg,#d9dbd3 0 12px,transparent 12px 16px);border-radius:3px;margin-bottom:10px}
.videos{display:grid;gap:14px;margin-top:26px}
.vcard{position:relative;aspect-ratio:1/1;border-radius:var(--r-card);background:var(--grad-oscuro);overflow:hidden;box-shadow:var(--sombra)}
.vcard .cap{position:absolute;left:18px;right:18px;bottom:18px;color:var(--sobre-oscuro)}
.vcard .cap .sk{background:rgba(255,255,255,.18)}

/* 20 · Formulario + columna de oferta */
.form-band{padding:76px 0}
.form-grid{display:grid;gap:26px;align-items:start}
.fcard{background:var(--superficie);color:var(--gris-800);border-radius:var(--r-card);padding:24px;box-shadow:var(--sombra-lg)}
.fcard h3{margin-bottom:1rem;color:var(--marca)}
.row{display:grid;gap:12px;margin-bottom:12px}
label.l{display:block;font-family:var(--fuente-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris-600);margin-bottom:.3rem}
input[type=text],input[type=email],input[type=tel]{width:100%;font:inherit;font-size:1rem;padding:.8rem .9rem;border:1px solid var(--linea);border-radius:10px;background:#f6f6f3;color:var(--negro)}
select:focus,input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus{border-color:var(--accion);background:#fff}
.wsp{position:relative}
.wsp svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--gris-600)}
.wsp input{padding-left:40px}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.82rem;color:var(--gris-600);margin:6px 0 16px}
.check input{margin-top:.2rem;width:18px;height:18px;flex:none;accent-color:var(--accion)}
.check a{text-decoration:underline}
select{width:100%;padding:.85rem 1rem;border:1px solid var(--linea);border-radius:10px;background:#f6f6f3;font:inherit;font-size:1rem;color:var(--negro)}.perfil{display:grid;gap:.9rem;margin-top:.4rem}.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.fcard .btn{width:100%}
.next{font-family:var(--fuente-mono);font-size:.72rem;color:var(--gris-600);text-align:center;margin-top:12px}
.msg{margin-top:14px;padding:.8rem 1rem;border-radius:10px;font-size:.92rem;display:none}
.msg.ok{display:block;background:#e6edd8;color:#2c4a1c}
.msg.err{display:block;background:#f4e1dc;color:#6e2a1d}
.oferta h2{margin-bottom:1.2rem}
.oferta .pricebar{display:flex;align-items:baseline;gap:14px;margin-bottom:1.2rem}
.oferta .pricebar .sk{width:150px;height:2.1rem;margin:0}
.oferta .incluye{font-family:var(--fuente-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sobre-oscuro-2);margin-bottom:.6rem}
.ofbox{margin-top:1.1rem;border:1px solid rgba(201,169,106,.7);border-radius:14px;padding:1rem 1.1rem;background:rgba(201,169,106,.10);display:flex;flex-direction:column;gap:.25rem}
.ofbox b{font-family:var(--fuente-titulo);font-size:1.35rem;color:#fff;font-weight:600}
.ofbox span{font-size:.92rem;color:var(--sobre-oscuro-2)}
.ofprice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:1rem}
.ofprice div{background:rgba(255,255,255,.07);border-radius:12px;padding:.7rem .8rem}
.ofprice small{display:block;font-family:var(--fuente-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sobre-oscuro-2)}
.ofprice b{display:block;color:#fff;font-size:.98rem;margin-top:.2rem}
.ofresp{margin-top:1rem;font-size:.82rem;color:var(--sobre-oscuro-2);line-height:1.5}
.orow span:last-child{color:#fff;line-height:1.45}
@media(max-width:560px){.ofprice{grid-template-columns:1fr}}
.orow{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid rgba(255,255,255,.14)}
.orow .ico{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex:none}
.orow .ico svg{width:16px;height:16px;color:#fff}
.orow .sk{width:100%}
.garantia{margin-top:14px;border-radius:12px;background:rgba(255,255,255,.08);padding:14px 16px}

/* 22 · FAQ */
.faq{max-width:var(--medida);margin:2rem auto 0;display:grid;gap:10px}
.faq details{background:var(--superficie);border:1px solid var(--linea);border-radius:14px;padding:0 18px}
.faq summary{cursor:pointer;list-style:none;font-weight:600;color:var(--marca);padding:16px 0;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:26px;height:26px;border-radius:50%;background:#f1ede3;display:flex;align-items:center;justify-content:center;transition:transform .25s,background .25s}
.faq details[open]{border-color:var(--gris-200);box-shadow:var(--sombra)}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--marcador)}
.faq .resp{padding:0 0 18px;color:var(--gris-600);font-size:.95rem}

/* 21 · Ubicación */
.ubi{display:grid;background:var(--superficie);border-radius:var(--r-card);box-shadow:var(--sombra);overflow:hidden;margin-top:2rem}
.ubi iframe{width:100%;height:280px;border:0;background:#e6e8e1}
.ubi .info{padding:24px}
.ubi .ph{aspect-ratio:16/9;margin:12px 0 16px}
.ubi h3{margin-bottom:.4rem}
.pin{display:flex;gap:8px;align-items:flex-start;color:var(--gris-600);font-size:.95rem}
.pin svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--marca)}

/* Política */
details#politica{max-width:var(--medida);margin:0 auto;border:1px solid var(--linea);border-radius:14px;padding:14px 18px;background:var(--superficie);font-size:.9rem;color:var(--gris-600)}
details#politica summary{cursor:pointer;color:var(--marca);font-weight:600}
details#politica h3{font-family:var(--fuente-cuerpo);font-size:1rem;margin:1rem 0 .3rem;color:var(--marca)}
details#politica p,details#politica li{margin-bottom:.5rem}
details#politica ul{padding-left:1.2rem}

/* 23 · Footer */
footer.banda-marca{padding:48px 0 110px;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 14px)}
.foot{display:grid;gap:26px}
.foot .tag{font-family:var(--fuente-titulo);font-size:1.4rem;color:#fff}
.foot hr{border:0;border-top:1px solid rgba(255,255,255,.14)}
.foot a{color:#fff}
.foot .legal{font-family:var(--fuente-mono);font-size:.7rem;line-height:1.7;color:var(--sobre-oscuro-2)}
.foot button.link{background:none;border:0;color:#fff;cursor:pointer;font:inherit;text-decoration:underline;padding:0}

/* WhatsApp flotante (CTA: usa la superficie de acción) */
.wa{position:fixed;right:16px;bottom:16px;z-index:35}
.wa > button{display:flex;align-items:center;gap:.5rem;background:var(--accion);color:var(--marca);border:0;border-radius:999px;padding:.8rem 1.15rem;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 10px 26px -10px rgba(0,0,0,.55);font-family:inherit}
.wa svg{width:20px;height:20px}
.wa-menu{display:none;position:absolute;right:0;bottom:58px;background:#fff;color:var(--marca);border-radius:14px;box-shadow:var(--sombra-lg);min-width:230px;overflow:hidden}
.wa-menu.open{display:block}
.wa-menu p{padding:.7rem 1rem;font-size:.8rem;color:var(--gris-600);border-bottom:1px solid var(--linea)}
.wa-menu a{display:block;padding:.8rem 1rem;color:var(--marca);text-decoration:none;font-weight:600;border-bottom:1px solid var(--linea)}
.wa-menu a:last-child{border-bottom:0}

/* Cookies */
#cookies{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;background:#fff;color:var(--gris-800);border-radius:14px;padding:16px;box-shadow:var(--sombra-lg);display:none;max-width:540px}
#cookies p{font-size:.88rem;margin-bottom:.8rem}
#cookies .acts{display:flex;gap:.6rem;flex-wrap:wrap}
#cookies .btn{padding:.6rem 1.2rem;font-size:.88rem;box-shadow:none}
#cookies .btn.ghost{color:var(--marca)}

/* 14 · Movimiento: reveal suave */
.reveal{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .6s ease}
.reveal.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}

@media (min-width:760px){
  .hero-grid{grid-template-columns:1.1fr .9fr;gap:52px}
  .b3{grid-template-columns:repeat(3,1fr)}
  .contraste{grid-template-columns:1fr 1fr}
  .modelos{grid-template-columns:1fr 1fr}
  .cred{grid-template-columns:.8fr 1.2fr;gap:40px}
  .videos{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr 1fr;gap:44px}
  .row.dos{grid-template-columns:1fr 1fr}
  .ubi{grid-template-columns:1.1fr 1fr}
  .ubi iframe{height:100%;min-height:360px}
  .fase{grid-template-columns:190px 1fr;align-items:center;position:sticky;top:calc(20px + var(--i)*16px)}
  .foot{grid-template-columns:1.3fr 1fr}
  #cookies{left:20px;bottom:20px}
}

/* ===== v0.4 ===== */
.bcard .art{aspect-ratio:16/10;overflow:hidden}
.media{border-radius:var(--r-media);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--sombra-lg)}
.media img{width:100%;height:100%;object-fit:cover;display:block}
.bcard .art img{width:100%;height:100%;object-fit:cover;display:block}
.nota{font-size:.8rem;color:var(--gris-600);margin-top:1.4rem;max-width:var(--medida-ancha)}
.nota a{color:var(--marca);font-weight:600}
.mcard{background:var(--superficie);border-radius:var(--r-card);box-shadow:var(--sombra);overflow:hidden;display:flex;flex-direction:column}
.mimg{aspect-ratio:16/10;overflow:hidden}.mimg img{width:100%;height:100%;object-fit:cover;display:block}
.mbody{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}
.price{font-family:var(--fuente-cuerpo);font-weight:800;font-size:2rem;letter-spacing:-.02em;color:var(--marca);margin:.3rem 0 0}
.msub{color:var(--gris-600);font-size:.92rem;margin:0 0 .4rem}
.pplan{list-style:none;padding:0;margin:.4rem 0 .8rem;display:grid;gap:.45rem}
.pplan li{position:relative;padding-left:1.6rem;font-size:.95rem}
.pplan li::before{content:"✓";position:absolute;left:0;top:.15em;width:18px;height:18px;border-radius:50%;background:var(--marcador);color:var(--marca);font-size:.68rem;display:flex;align-items:center;justify-content:center}
.planos{margin:0 0 .8rem}.planos summary{cursor:pointer;color:var(--marca);font-weight:600;padding:.4rem 0}
.planos .pl{display:grid;gap:.6rem;margin-top:.6rem}.planos .pl img{width:100%;height:auto;border-radius:10px;border:1px solid var(--linea)}
.inicial{margin:.2rem 0 0;font-weight:700;color:var(--marca)}.fechas{margin:1.6rem 0 0;padding:.9rem 1.2rem;border-left:3px solid var(--accion);background:var(--superficie);border-radius:0 12px 12px 0}.subh{margin:2.4rem 0 1rem;font-size:1.3rem}
.lotes{display:grid;gap:14px}
.lcard{background:var(--superficie);border-radius:var(--r-card);box-shadow:var(--sombra);padding:1.2rem 1.4rem;display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}
.gal{display:grid;gap:10px;margin-top:1.6rem;grid-template-columns:1fr 1fr}
.gal figure{margin:0;border-radius:12px;overflow:hidden;aspect-ratio:4/3}.gal figure.g1{grid-column:1/-1;aspect-ratio:16/9}
.gal img,.gal2 img{width:100%;height:100%;object-fit:cover;display:block}
.gal2{display:grid;gap:12px;margin-top:1.6rem}.gal2 figure{margin:0;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:3/2}
.gal2 figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem 1rem .8rem;color:#fff;font-family:var(--fuente-titulo);font-size:1.15rem;background:linear-gradient(transparent,rgba(15,28,18,.7))}
.amen{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.5rem}
.amen li{position:relative;padding-left:1.6rem}
.amen li::before{content:"✓";position:absolute;left:0;top:.15em;width:18px;height:18px;border-radius:50%;background:var(--marcador);color:var(--marca);font-size:.68rem;display:flex;align-items:center;justify-content:center}
.urb{display:grid;gap:12px;margin:1.4rem 0}.urb img{width:100%;height:auto;border-radius:14px;display:block}
.pricetxt{font-size:1.4rem;margin:.6rem 0 .2rem;color:var(--sobre-oscuro)}.pricetxt b{font-size:2rem;letter-spacing:-.02em}
.pricesub{color:var(--sobre-oscuro-2);margin:0 0 1rem}
@media(min-width:760px){.lotes{grid-template-columns:1fr 1fr}.gal{grid-template-columns:repeat(3,1fr)}.gal figure.g1{grid-column:span 3}.gal2{grid-template-columns:repeat(3,1fr)}.amen{grid-template-columns:1fr 1fr}.urb{grid-template-columns:1fr 1fr}}
/* ===== v1.1: tipografía Poppins + mejoras tomadas de Prisma ===== */
.eyebrow,.meta,.pill,label.l,.next,.incluye,.ofprice small,.foot .legal{font-weight:500}
.eyebrow{font-size:.78rem;letter-spacing:.16em}
.prom blockquote{font-weight:500}
.btn{font-weight:600}
/* barra de progreso */
#prog{position:fixed;inset:0 0 auto 0;height:3px;background:var(--accion);transform:scaleX(0);transform-origin:0 50%;z-index:60;pointer-events:none}
/* barra superior fija (aparece al pasar el hero) */
.rmnav{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);box-shadow:0 8px 28px -16px rgba(0,0,0,.3);transform:translateY(-110%);transition:transform .3s ease}
.rmnav.on{transform:none}
.rmnav-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 0}
.rmnav img{height:40px;width:auto}
.rmnav ul{display:none;list-style:none;gap:26px;padding:0}
.rmnav ul a{text-decoration:none;font-size:.88rem;font-weight:500;color:var(--gris-800)}
.rmnav ul a:hover{color:var(--marca)}
.rmnav .btn{padding:.6rem 1.2rem;font-size:.88rem}
@media(min-width:900px){.rmnav ul{display:flex}}
@media(prefers-reduced-motion:reduce){.rmnav{transition:none}}
/* hero: pastilla, beneficios y nota de precio */
.pillh{display:inline-block;border:1px solid rgba(255,255,255,.34);border-radius:999px;padding:.4rem 1rem;font-size:.82rem;font-weight:500;margin-bottom:1.1rem;color:var(--sobre-oscuro)}
.hb{list-style:none;padding:0;margin:0 0 1.6rem;display:grid;gap:.8rem}
.hb li{display:flex;gap:.75rem;align-items:flex-start}
.hb svg{flex:none;width:22px;height:22px;margin-top:.2rem;color:var(--accion)}
.hb b{display:block;font-weight:600;color:#fff}
.hb span span{display:block;font-size:.92rem;color:var(--sobre-oscuro-2)}
.hnota{margin-top:1rem;font-size:.88rem;color:var(--sobre-oscuro-2)}
.hnota b{color:#fff;font-weight:600}
/* CTA al final de cada sección */
.cta-row{margin-top:2rem}
/* avance de obra */
.vid{margin-top:1.6rem;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sombra-lg);background:#0e1a11}
.vid video{display:block;width:100%;max-height:560px}
/* gracias */
.gracias{text-align:center;padding:1.2rem 0}
.gracias h3{margin-bottom:.5rem}
.gracias p{color:var(--gris-600)}
.fcard form[hidden],.gracias[hidden]{display:none}
/* v1.1: el logo de la solapa no debe tapar la pastilla en móvil */
.logo img{width:104px}
.hero .hero-grid{padding-top:168px}
@media(min-width:900px){.hero .hero-grid{padding-top:120px}}
