/* ----------------------------------------------------------------
 * Casa Matriz · Service template
 * Sobre fondo CREMA. Depende de cm-sections.css.
 * ----------------------------------------------------------------*/

/* HERO ---------------------------------------------------------- */
.cm-service-hero{position:relative;min-height:78svh;display:flex;align-items:center;justify-content:center;padding:clamp(5rem,12vh,9rem) 1rem 4rem;background:radial-gradient(ellipse at 20% 10%,rgba(215,123,40,.16),transparent 55%),radial-gradient(ellipse at 80% 90%,rgba(210,64,96,.16),transparent 55%),var(--cm-bg);overflow:hidden}
.cm-service-hero::before{content:"";position:absolute;left:50%;top:50%;width:min(900px,90vw);aspect-ratio:2/1;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(72,154,157,.10),transparent 60%);pointer-events:none}
.cm-service-hero__inner{position:relative;max-width:880px;margin:0 auto;text-align:center;width:100%}
.cm-service-hero__eyebrow{font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:500;font-size:.78rem;letter-spacing:.4em;text-transform:uppercase;color:var(--cm-magenta);margin:0 0 1.6rem;padding-left:.4em}
.cm-service-hero__title{font-family:"MEAN 26 Sans","Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:normal;font-size:clamp(2.2rem,6vw,4.6rem);letter-spacing:.06em;line-height:1.05;margin:0;padding-left:.06em;color:var(--cm-fg)}
.cm-service-hero__title em{font-style:normal;background:linear-gradient(90deg,var(--cm-orange,#D77B28),var(--cm-magenta,#D24060));-webkit-background-clip:text;background-clip:text;color:transparent}
.cm-service-hero__lede{font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:300;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.6;color:var(--cm-fg-soft);margin:1.8rem auto 0;max-width:60ch}
.cm-service-hero__scroll{position:absolute;bottom:2.4rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--cm-fg-mute);font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:500;font-size:.7rem;letter-spacing:.32em;text-transform:uppercase}
.cm-service-hero__scroll svg{width:14px;height:22px;animation:cm-scroll-bob 2.4s ease-in-out infinite}
@keyframes cm-scroll-bob{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(6px);opacity:1}}

/* DESCRIPCION --------------------------------------------------- */
.cm-service-desc__body{max-width:64ch;margin:0 auto;font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:300;font-size:1.04rem;line-height:1.8;color:var(--cm-fg-soft)}
.cm-service-desc__body p{margin:0 0 1.4em}
.cm-service-desc__body p:last-child{margin-bottom:0}
.cm-service-desc__body p:first-child::first-letter{font-family:"MEAN 26 Sans",serif;float:left;font-size:3.6rem;line-height:.9;padding:.1rem .8rem 0 0;background:linear-gradient(90deg,var(--cm-orange,#D77B28),var(--cm-magenta,#D24060));-webkit-background-clip:text;background-clip:text;color:transparent}

/* BENEFICIOS ---------------------------------------------------- */
.cm-service-beneficios{background:linear-gradient(180deg,var(--cm-bg) 0%,var(--cm-bg-alt) 100%)}
.cm-service-beneficios .cm-grid--3x2{margin-top:0}
.cm-benef{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:2.2rem 1.6rem;background:rgba(255,255,255,.45);border:1px solid var(--cm-card-border);transition:border-color .3s ease,transform .3s ease,background .3s ease}
.cm-benef:hover{transform:translateY(-3px);border-color:rgba(210,64,96,.45);background:rgba(255,255,255,.65)}
.cm-benef__icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;color:var(--cm-magenta,#D24060)}
.cm-benef__icon svg{width:100%;height:100%;display:block}
.cm-benef__title{font-family:"MEAN 26 Sans","Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-size:1rem;letter-spacing:.18em;text-transform:uppercase;margin:0;padding-left:.18em;color:var(--cm-fg)}
.cm-benef__desc{font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:300;font-size:.92rem;line-height:1.6;color:var(--cm-fg-soft);margin:0}

/* TARGET (a quién va dirigido) ---------------------------------- */
.cm-grid--2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
@media (max-width:760px){.cm-grid--2{grid-template-columns:1fr}}
.cm-target-card{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:1.8rem 1.6rem;background:transparent;border-left:2px solid var(--cm-magenta,#D24060);padding-left:1.6rem}
.cm-target-card__title{font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:600;font-size:1rem;letter-spacing:.06em;color:var(--cm-fg);margin:0}
.cm-target-card__desc{font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:300;font-size:.92rem;line-height:1.6;color:var(--cm-fg-soft);margin:0}

/* PASOS (cómo funciona) ----------------------------------------- */
.cm-pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;counter-reset:cm-paso}
@media (max-width:900px){.cm-pasos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cm-pasos{grid-template-columns:1fr}}
.cm-paso{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:1.8rem 1.4rem 1.4rem;background:rgba(255,255,255,.4);border-top:1px solid rgba(26,26,26,.18)}
.cm-paso::before{counter-increment:cm-paso;content:"0" counter(cm-paso);position:absolute;top:-.6rem;left:1.2rem;font-family:"MEAN 26 Sans","Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-size:1.6rem;letter-spacing:.06em;background:linear-gradient(90deg,var(--cm-orange,#D77B28),var(--cm-magenta,#D24060));-webkit-background-clip:text;background-clip:text;color:transparent;background-color:var(--cm-bg);padding:0 .6rem}
.cm-paso__title{font-family:"MEAN 26 Sans","Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-size:1rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cm-fg);margin:.6rem 0 0;padding-left:.18em}
.cm-paso__desc{font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:300;font-size:.9rem;line-height:1.6;color:var(--cm-fg-soft);margin:0}

/* TESTIMONIO destacado ----------------------------------------- */
.cm-service-quote{background:linear-gradient(180deg,var(--cm-bg-alt) 0%,#FAF6E8 100%)}
.cm-service-quote .cm-container{max-width:820px}
.cm-service-quote__block{position:relative;text-align:center;padding:2rem 1rem}
.cm-service-quote__mark{display:block;font-family:"MEAN 26 Sans",serif;font-size:5.6rem;line-height:.7;color:var(--cm-magenta,#D24060);opacity:.6;margin-bottom:1rem}
.cm-service-quote__text{font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:300;font-style:italic;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.55;color:var(--cm-fg);margin:0 auto;max-width:42ch}
.cm-service-quote__author{display:flex;flex-direction:column;align-items:center;gap:.2rem;margin-top:2.4rem}
.cm-service-quote__author strong{font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:600;font-size:.95rem;letter-spacing:.08em;color:var(--cm-fg)}
.cm-service-quote__author span{font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:300;font-size:.82rem;letter-spacing:.04em;color:var(--cm-fg-mute)}

/* CTA final ----------------------------------------------------- */
.cm-service-cta{background:radial-gradient(ellipse at center,rgba(215,123,40,.14),transparent 70%),var(--cm-bg);text-align:center}
.cm-service-cta__title{font-family:"MEAN 26 Sans","Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:.06em;line-height:1.2;margin:0 0 1.2rem;padding-left:.06em;color:var(--cm-fg)}
.cm-service-cta__sub{font-family:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;font-weight:300;font-size:1.04rem;line-height:1.6;color:var(--cm-fg-soft);margin:0 auto 2.4rem;max-width:52ch}
.cm-service-cta__buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}

/* Mobile niceties ---------------------------------------------- */
@media (max-width:600px){
.cm-service-hero{min-height:70svh;padding-top:6rem}
.cm-service-hero__scroll{display:none}
.cm-service-desc__body{font-size:.98rem}
.cm-paso{padding-top:2rem}
}
