/* =================================================================
   Casa Matriz · sistema de secciones · v3.0.0 (2026-09-02)
   Reescrita entera. La v2 acumulaba 27 tamaños de letra distintos de
   parches sucesivos; aquí hay UNA escala y todo la usa.
   Paleta y tipografía verificadas contra el manual (ArteConsentida).
   ================================================================= */

:root{
  /* --- color (manual de marca) --- */
  --cm-crema:#EFE9DB;
  --cm-crema-hondo:#E6DFCC;
  --cm-tinta:#1C1B19;
  --cm-tinta-suave:#5C574E;
  --cm-tinta-tenue:#948D80;
  --cm-naranja:#E8813F;
  --cm-fucsia:#E13D79;
  --cm-verde:#5FA46D;
  --cm-turquesa:#4CADBE;
  --cm-linea:rgba(28,27,25,.12);
  --cm-velo:rgba(239,233,219,.92);

  /* --- tipografía --- */
  --cm-display:"MEAN 26 Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --cm-texto:"Helvetica Neue",Helvetica,Arial,"Liberation Sans",sans-serif;

  /* --- ESCALA ÚNICA (razón 1,25) --- */
  --t-xs:.7rem;                          /* versalitas, rótulos        */
  --t-sm:.86rem;                         /* apoyo, metadatos, desfile  */
  --t-base:1rem;                         /* cuerpo                     */
  --t-md:1.12rem;                        /* cuerpo destacado           */
  --t-lg:clamp(1.3rem,2.6vw,1.65rem);    /* h3                         */
  --t-xl:clamp(1.55rem,3.4vw,2.1rem);    /* nombre de servicio, cita   */
  --t-2xl:clamp(1.9rem,4.4vw,2.75rem);   /* h2, declaración, blockquote*/
  --t-3xl:clamp(2.4rem,6.5vw,3.8rem);    /* Ser / Crear / Contribuir   */
  --t-4xl:clamp(3.4rem,9vw,5.6rem);      /* la cifra                   */

  /* --- espaciado entre letras --- */
  --ls-caps:.24em;                       /* toda versalita             */
  --ls-tight:-.018em;                    /* display grande             */

  /* --- ritmo vertical --- */
  --sp-banda:clamp(4.5rem,10vw,8rem);
  --sp-banda-corta:clamp(2.8rem,6vw,4.2rem);
  --sp-lado:clamp(1.4rem,6vw,3.5rem);

  /* --- alias de compatibilidad (formulario y footer del v1) --- */
  --cm-orange:var(--cm-naranja);
  --cm-magenta:var(--cm-fucsia);
  --cm-turquoise:var(--cm-turquesa);
  --cm-fg:var(--cm-tinta);
  --cm-bg:var(--cm-crema);
  --cm-soft:var(--cm-tinta-suave);
  --cm-divider:var(--cm-linea);
}

body.home{background:var(--cm-crema);color:var(--cm-tinta);
  font-family:var(--cm-texto);font-weight:300;font-size:var(--t-base);
  line-height:1.72;overflow-x:hidden}

/* --- grano (técnica de preview-4) --- */
.cm-grano{position:relative}
.cm-grano::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.42 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:220px 220px;opacity:.22;mix-blend-mode:multiply}
.cm-grano > *{position:relative;z-index:2}

/* --- estructura --- */
.cm-banda{padding:var(--sp-banda) var(--sp-lado)}
.cm-centro{max-width:1100px;margin:0 auto}
.cm-estrecho{max-width:640px}

/* --- tipografía base: TODO sale de la escala --- */
.cm-rotulo{font-family:var(--cm-display);font-size:var(--t-xs);letter-spacing:var(--ls-caps);
  text-transform:uppercase;color:var(--cm-tinta-tenue);display:block;margin-bottom:1.6rem;
  line-height:1.5}
.cm-banda h2{font-family:var(--cm-display);font-weight:normal;font-size:var(--t-2xl);
  line-height:1.08;letter-spacing:var(--ls-tight);margin:0 0 1.4rem;text-wrap:balance;
  color:var(--cm-tinta)}
.cm-banda h3{font-family:var(--cm-display);font-weight:normal;font-size:var(--t-lg);
  margin:0;letter-spacing:-.006em;color:var(--cm-tinta)}
.cm-banda p{margin:0 0 1.15rem;max-width:52ch}
.cm-banda p:last-child{margin-bottom:0}
.cm-grande{font-size:var(--t-md);line-height:1.68;font-weight:200}
.cm-sym{height:58px;width:auto;display:block;opacity:.8}
.cm-sym--claro{filter:invert(1) brightness(2)}

/* --- fotografía de borde disuelto --- */
.cm-org,.cm-org svg{display:block;width:100%;height:auto}
.cm-org svg{overflow:visible}

/* --- composición entrelazada --- */
.cm-danza{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:900px){
  .cm-danza{grid-template-columns:repeat(12,1fr);gap:0;align-items:center}
  .cm-danza--izq .cm-f{grid-column:1/8;grid-row:1;margin-left:clamp(-6rem,-5vw,-2rem)}
  .cm-danza--izq .cm-t{grid-column:6/13;grid-row:1;z-index:3;
    padding-left:clamp(1rem,3vw,2.5rem);transform:translateY(3.5rem)}
  .cm-danza--der .cm-f{grid-column:6/13;grid-row:1;margin-right:clamp(-6rem,-5vw,-2rem)}
  .cm-danza--der .cm-t{grid-column:1/7;grid-row:1;z-index:3;
    padding-right:clamp(1rem,3vw,2.5rem);transform:translateY(-3rem)}
  .cm-danza--izq .cm-f .cm-org{
    -webkit-mask-image:linear-gradient(to right,#000 40%,rgba(0,0,0,.55) 62%,transparent 82%);
    mask-image:linear-gradient(to right,#000 40%,rgba(0,0,0,.55) 62%,transparent 82%)}
  .cm-danza--der .cm-f .cm-org{
    -webkit-mask-image:linear-gradient(to left,#000 40%,rgba(0,0,0,.55) 62%,transparent 82%);
    mask-image:linear-gradient(to left,#000 40%,rgba(0,0,0,.55) 62%,transparent 82%)}
  .cm-danza .cm-t{position:relative}
  .cm-danza .cm-t::before{content:"";position:absolute;z-index:-1;
    inset:-2.5rem -2rem -2.5rem -3.5rem;
    background:radial-gradient(ellipse 78% 68% at 42% 50%,
      var(--cm-velo) 0%,var(--cm-velo) 46%,transparent 78%)}
}
.cm-declaracion{font-family:var(--cm-display);font-size:var(--t-2xl);line-height:1.2;
  letter-spacing:var(--ls-tight);max-width:16ch;margin:0 0 1.5rem}
.cm-cita{font-family:var(--cm-display);font-size:var(--t-xl);line-height:1.3;
  margin:0 0 1.5rem;max-width:20ch}

/* --- los tres caminos --- */
.cm-caminos{padding:0}
.cm-camino{position:relative;overflow:hidden;
  padding:clamp(3rem,6.5vw,5rem) var(--sp-lado)}
.cm-camino + .cm-camino{border-top:1px solid var(--cm-linea)}
.cm-camino--ser{background:
  linear-gradient(160deg,rgba(76,173,190,.13),rgba(95,164,109,.06) 55%,transparent),var(--cm-crema)}
.cm-camino--crear{background:
  linear-gradient(160deg,rgba(232,129,63,.14),rgba(225,61,121,.06) 55%,transparent),var(--cm-crema)}
.cm-camino--contribuir{background:
  linear-gradient(160deg,rgba(225,61,121,.12),rgba(76,173,190,.08) 55%,transparent),var(--cm-crema)}
.cm-camino__cab{max-width:1100px;margin:0 auto 2.4rem;position:relative;z-index:2;
  display:grid;grid-template-columns:auto 1fr;gap:clamp(1.1rem,3vw,2.2rem);align-items:center}
.cm-camino__marca{height:clamp(64px,9vw,104px);width:auto;opacity:.62;align-self:center;
  pointer-events:none;user-select:none}
.cm-camino__fam{font-family:var(--cm-display);text-transform:uppercase;font-size:var(--t-3xl);
  line-height:.95;letter-spacing:.02em;color:var(--cm-tinta);display:block;margin-bottom:.5rem}
.cm-camino__preg{font-size:var(--t-md);line-height:1.45;font-weight:300;margin:0;
  max-width:34ch;color:var(--cm-tinta-suave)}
.cm-camino__lista{max-width:1100px;margin:0 auto;position:relative;z-index:2;
  display:grid;grid-template-columns:1fr;gap:1px;background:var(--cm-linea)}
@media(min-width:860px){.cm-camino__lista{grid-template-columns:1fr 1fr}}
.cm-camino--contribuir .cm-camino__lista{grid-template-columns:1fr;max-width:640px;margin-left:0}
.cm-puerta{display:block;text-decoration:none;color:inherit;background:rgba(255,255,255,.46);
  padding:clamp(1.5rem,3.2vw,2.1rem);transition:background .35s ease,transform .35s ease}
.cm-puerta:hover,.cm-puerta:focus-visible{background:rgba(255,255,255,.82);transform:translateY(-2px)}
.cm-puerta:focus-visible{outline:2px solid var(--cm-naranja);outline-offset:-2px}
.cm-puerta__rol{font-family:var(--cm-display);text-transform:uppercase;font-size:var(--t-xs);
  letter-spacing:var(--ls-caps);color:var(--cm-naranja);display:block;margin-bottom:.8rem}
.cm-puerta__nom{font-family:var(--cm-display);font-size:var(--t-xl);line-height:1.1;
  letter-spacing:-.01em;display:block;margin-bottom:.6rem;color:var(--cm-tinta)}
.cm-puerta__desc{font-size:var(--t-base);line-height:1.6;color:var(--cm-tinta-suave);
  margin:0;max-width:40ch}
.cm-puerta__mas{display:inline-flex;align-items:center;gap:.5em;margin-top:1.2rem;
  font-family:var(--cm-display);text-transform:uppercase;font-size:var(--t-xs);
  letter-spacing:var(--ls-caps);color:var(--cm-tinta-tenue);
  transition:color .3s ease,gap .3s ease}
.cm-puerta:hover .cm-puerta__mas{color:var(--cm-naranja);gap:.9em}
.cm-puerta__mas svg{width:1.1em;height:1.1em;flex:none}

/* --- editorial a sangre --- */
.cm-editorial{position:relative;min-height:min(92vh,780px);display:flex;align-items:flex-end;
  overflow:hidden;background:var(--cm-tinta)}
.cm-editorial img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 30%}
.cm-editorial .cm-velo{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(28,27,25,.76) 0%,rgba(28,27,25,.14) 48%,transparent 78%)}
.cm-editorial .cm-contenido{position:relative;z-index:2;padding:clamp(2.5rem,7vw,5.5rem);
  max-width:800px}
.cm-editorial blockquote{font-family:var(--cm-display);color:#FFF;margin:0;
  font-size:var(--t-2xl);line-height:1.26;letter-spacing:-.01em}

/* --- organizaciones (mundo frío), compacta --- */
.cm-frio{background:linear-gradient(140deg,var(--cm-verde) 0%,var(--cm-turquesa) 100%);
  color:#FFF;text-align:left;padding:var(--sp-banda-corta) var(--sp-lado)}
.cm-frio .cm-centro{max-width:1100px}
.cm-frio .cm-rotulo{color:rgba(255,255,255,.78)}
.cm-frio .cm-sym{height:46px;opacity:.75;margin:0 0 1.4rem}
.cm-orgs{display:grid;grid-template-columns:1fr;gap:1.4rem;align-items:center}
@media(min-width:760px){.cm-orgs{grid-template-columns:auto 1fr;gap:clamp(1.6rem,4vw,3rem)}}
.cm-orgs__cifra{font-family:var(--cm-display);font-size:var(--t-4xl);line-height:.85;
  letter-spacing:-.035em;color:#FFF;display:block}
.cm-orgs__txt .cm-rotulo{margin-bottom:.5rem}
.cm-orgs__txt p{margin:0;color:rgba(255,255,255,.93);font-size:var(--t-md);
  font-weight:200;max-width:38ch}
.cm-nombres{margin-top:2.2rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.cm-nombres__pista{display:flex;gap:2.4rem;width:max-content;animation:cmDesfile 78s linear infinite}
.cm-nombres:hover .cm-nombres__pista{animation-play-state:paused}
.cm-nombres__n{font-family:var(--cm-display);font-size:var(--t-sm);letter-spacing:.06em;
  color:rgba(255,255,255,.82);white-space:nowrap}
@keyframes cmDesfile{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* --- contacto (mundo cálido) --- */
.cm-calido{background:linear-gradient(140deg,var(--cm-naranja) 0%,var(--cm-fucsia) 100%);color:#FFF}
.cm-calido .cm-rotulo{color:rgba(255,255,255,.78)}
.cm-calido p{color:rgba(255,255,255,.93)}
.cm-calido h2{color:#FFF}
.cm-cta{display:inline-block;margin-top:2rem;padding:1rem 2.3rem;
  border:1px solid rgba(255,255,255,.55);color:#FFF;text-decoration:none;
  font-family:var(--cm-display);text-transform:uppercase;font-size:var(--t-xs);
  letter-spacing:var(--ls-caps);transition:background .3s ease,border-color .3s ease}
.cm-cta:hover,.cm-cta:focus-visible{background:rgba(255,255,255,.15);border-color:#FFF;color:#FFF}
.cm-cta:focus-visible{outline:2px solid #FFF;outline-offset:4px}

/* --- huecos pendientes --- */
.cm-pendiente{border-left:2px solid var(--cm-naranja);padding:.2rem 0 .2rem 1.1rem;
  margin:0 0 1.3rem;color:var(--cm-tinta-tenue);font-size:var(--t-base);max-width:44ch}
.cm-pendiente b{font-family:var(--cm-display);font-size:var(--t-xs);
  letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--cm-naranja);
  display:block;margin-bottom:.35rem;font-weight:normal}

/* --- revelado --- */
.cm-rev{opacity:0;transform:translateY(24px);
  transition:opacity 1.2s ease,transform 1.2s cubic-bezier(.2,.7,.3,1)}
.cm-rev.is-on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .cm-rev{opacity:1;transform:none;transition:none}
  .cm-nombres__pista{animation:none;flex-wrap:wrap;width:auto;gap:.9rem 1.8rem}
  .cm-nombres{-webkit-mask-image:none;mask-image:none}
}
.cm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;padding:.95em 2.4em;font-family:var(--cm-texto);font-weight:600;font-size:var(--t-base);letter-spacing:var(--ls-caps);text-transform:uppercase;color:#fff;background:linear-gradient(90deg,var(--cm-orange),var(--cm-magenta));border:0;border-radius:0;cursor:pointer;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}
.cm-btn:hover,.cm-btn:focus-visible{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 32px -14px rgba(210,64,96,.35);outline:none}
.cm-btn--ghost{background:transparent;color:var(--cm-fg);border:1px solid rgba(26,26,26,.30)}
.cm-btn--ghost:hover{border-color:var(--cm-magenta);color:var(--cm-magenta);background:transparent;box-shadow:none;filter:none}
.cm-form{display:grid;gap:1rem;max-width:560px;margin:0 auto}
.cm-form__row{display:grid;gap:.4rem}
.cm-form label{font-family:var(--cm-texto);font-weight:500;font-size:var(--t-xs);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--cm-fg-soft)}
.cm-form input,.cm-form textarea{width:100%;padding:.9rem 1rem;background:rgba(255,255,255,.45);border:1px solid rgba(26,26,26,.18);color:var(--cm-fg);font-family:var(--cm-texto);font-weight:300;font-size:var(--t-base);border-radius:0;transition:border-color .25s ease,background .25s ease}
.cm-form input:focus,.cm-form textarea:focus{outline:none;border-color:var(--cm-magenta);background:rgba(255,255,255,.7)}
.cm-form textarea{resize:vertical;min-height:140px}
.cm-form__submit{display:flex;justify-content:center;margin-top:.6rem}
.cm-form__notice{margin-top:1rem;text-align:center;font-family:var(--cm-texto);font-size:var(--t-sm);color:var(--cm-fg-mute);font-style:italic}
.cm-social{display:flex;gap:1.4rem;justify-content:center;list-style:none;padding:0;margin:2.4rem 0 0}
.cm-social a{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(26,26,26,.25);color:var(--cm-fg-soft);text-decoration:none;transition:all .25s ease}
.cm-social a:hover{border-color:var(--cm-magenta);color:var(--cm-magenta);transform:translateY(-2px)}
.cm-social svg{width:18px;height:18px}
.cm-footer{padding:2rem 1rem;background:var(--cm-bg-deep);color:rgba(255,255,255,.55);text-align:center;font-family:var(--cm-texto);font-weight:300;font-size:var(--t-sm);letter-spacing:var(--ls-caps);text-transform:uppercase}
.cm-footer p{margin:0}
.cm-form__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cm-form__msg{max-width:560px;margin:0 auto;padding:1.1rem 1.4rem;font-family:var(--cm-texto);font-weight:300;font-size:var(--t-base);line-height:1.6;text-align:center;border:1px solid}
.cm-form__msg--ok{border-color:var(--cm-turquoise);background:rgba(72,154,157,.10);color:var(--cm-fg)}
.cm-form__msg--error{border-color:var(--cm-magenta);background:rgba(210,64,96,.10);color:var(--cm-fg)}
.cm-form__opt{font-weight:300;letter-spacing:.06em;text-transform:none;color:var(--cm-fg-mute)}
.cm-form__ayuda{margin:.1rem 0 0;font-family:var(--cm-texto);font-weight:300;font-size:var(--t-sm);line-height:1.5;color:var(--cm-fg-mute)}
.cm-form__row--group{border:0;margin:0;padding:0;display:grid;gap:.55rem}
.cm-form__row--group legend{font-family:var(--cm-texto);font-weight:500;font-size:var(--t-xs);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--cm-fg-soft);margin-bottom:.5rem;padding:0}
.cm-form__op{display:flex;align-items:flex-start;gap:.7rem;font-family:var(--cm-texto);font-weight:300;font-size:var(--t-base);line-height:1.5;letter-spacing:0;text-transform:none;color:var(--cm-fg-soft);cursor:pointer}
.cm-form__op input{width:auto;flex:0 0 auto;margin-top:.25rem;padding:0;accent-color:var(--cm-magenta)}
.cm-form__op a{color:var(--cm-magenta)}
