/* ═══════════════════════════════════════════════════════════════
   JRO Corlaw — lenguaje visual editorial  ·  PILOTO
   Se carga solo en la página marcada con <body class="ed">.
   Sobreescribe style.css dentro de ese ámbito; el resto del sitio
   no se ve afectado.

   Principios
   · Retícula de 12 columnas con arranques desplazados; nada empieza
     siempre en la misma columna.
   · Ritmo de fondos: marfil → marfil profundo → azul, a sangre.
   · Ocho roles tipográficos con saltos reales de escala.
   · Sin chips, sin cajas con borde y sombra, sin separadores por ítem.
   ═══════════════════════════════════════════════════════════════ */

.ed{
  /* ── marfil ── */
  --paper:#F2EFE8;
  --paper-up:#FBFAF6;
  --paper-dp:#E7E1D4;
  /* ── azul ── */
  --navy:#0B1420;
  --navy-2:#12202F;
  --navy-3:#1B2E42;
  /* ── oro ── */
  --gold:#B58940;
  --gold-lt:#CDA55E;
  --gold-br:#E2C184;
  --gold-dp:#7A5A2A;
  /* ── tinta ── */
  --ink:#0B1420;
  --ink-2:#3B4756;
  --ink-3:#66717E;
  --rule:#D6CFC0;
  --rule-2:#E3DDD0;

  /* tokens de superficie, reasignados por bloque */
  --bg:var(--paper);
  --fg:var(--ink);
  --fg-2:var(--ink-2);
  --fg-3:var(--ink-3);
  --hair:var(--rule);
  --hair-2:var(--rule-2);
  --acc:var(--gold-dp);
  --acc-2:var(--gold);

  --grid:minmax(0,1fr);
  --gutter:clamp(16px,2.2vw,30px);
  --edge:clamp(20px,5.2vw,86px);
  --maxw:1320px;

  background:var(--paper);
  color:var(--ink-2);
}

/* bloque en azul: se reasignan los mismos tokens */
.ed .on-navy{
  --bg:var(--navy);
  --fg:#F2EFE8;
  --fg-2:#B9C3CE;
  --fg-3:#8B98A6;
  --hair:#26384C;
  --hair-2:#1B2B3C;
  --acc:var(--gold-lt);
  --acc-2:var(--gold-lt);
  background:var(--navy);
  color:var(--fg-2);
}
.ed .on-deep{
  --bg:var(--paper-dp);
  --hair:#CFC7B5;
  --hair-2:#DCD5C5;
  background:var(--paper-dp);
}

/* ── retícula ─────────────────────────────────────────────── */
.ed .grid{
  max-width:var(--maxw);margin-inline:auto;padding-inline:var(--edge);
  display:grid;grid-template-columns:repeat(12,var(--grid));
  column-gap:var(--gutter);
}
.ed .band{padding-block:clamp(56px,8vw,132px)}
.ed .band--sm{padding-block:clamp(40px,5vw,78px)}

/* ── tipografía: ocho roles ───────────────────────────────── */
.ed .eyebrow{
  font-family:var(--mono);font-size:.68rem;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--acc);
  margin:0;display:flex;align-items:baseline;gap:.9rem;
}
.ed .eyebrow::before{
  content:"";width:clamp(18px,3vw,46px);height:1px;background:currentColor;
  flex:none;opacity:.7;transform:translateY(-.32em);
}
.ed .eyebrow--plain::before{display:none}

.ed .display{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(2.5rem,6vw,4.7rem);line-height:1.02;letter-spacing:-.038em;
  color:var(--fg);margin:0;text-wrap:balance;
}
.ed .title{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.8rem,3.3vw,2.8rem);line-height:1.1;letter-spacing:-.03em;
  color:var(--fg);margin:0;text-wrap:balance;
}
.ed .statement{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(1.3rem,2.5vw,2.05rem);line-height:1.28;letter-spacing:-.008em;
  color:var(--fg);margin:0;text-wrap:balance;
}
.ed .lead{
  font-family:var(--sans);font-size:clamp(1.02rem,1.25vw,1.16rem);
  line-height:1.62;color:var(--fg-2);margin:0;max-width:52ch;
}
.ed .body{font-size:1rem;line-height:1.68;color:var(--fg-2);margin:0;max-width:60ch}
.ed .caption{
  font-family:var(--sans);font-size:.8rem;line-height:1.5;color:var(--fg-3);
  margin:0;letter-spacing:.005em;
}
.ed .numeral{
  font-family:var(--serif);font-weight:500;font-variant-numeric:tabular-nums lining-nums;
  font-size:clamp(3rem,7vw,5.8rem);line-height:.86;letter-spacing:-.05em;
  color:var(--acc-2);margin:0;
}

/* ── portada del bloque ───────────────────────────────────── */
.ed .lede{position:relative;overflow:hidden}
.ed .lede::after{
  content:"";position:absolute;right:-8%;top:-30%;width:min(760px,80vw);aspect-ratio:1;
  background:radial-gradient(circle,rgba(199,154,82,.14),rgba(199,154,82,0) 64%);
  pointer-events:none;
}
.ed .lede .grid{position:relative;row-gap:clamp(30px,4vw,54px)}
.ed .lede__txt{grid-column:1/-1}
.ed .lede__art{grid-column:1/-1}
.ed .lede .display{margin-top:1.5rem;max-width:15ch}
.ed .lede .lead{margin-top:1.6rem;max-width:46ch}
.ed .lede__rule{height:1px;background:var(--hair);margin-top:2.2rem}

/* índice de frentes en la portada */
.ed .toc{list-style:none;margin:1.6rem 0 0;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:0 var(--gutter)}
.ed .toc a{
  display:flex;align-items:baseline;gap:.75rem;padding:.72rem 0;
  border-top:1px solid var(--hair-2);text-decoration:none;color:var(--fg);
  font-size:.92rem;transition:color .22s ease;
}
.ed .toc a>span:first-child{
  font-family:var(--mono);font-size:.68rem;color:var(--acc);letter-spacing:.12em;
  flex:none;padding-top:.15em;
}
.ed .toc a>span+span{font-family:var(--sans);font-size:.95rem;letter-spacing:-.005em}
.ed .toc a:hover{color:var(--acc)}

/* ── declaración a sangre ─────────────────────────────────── */
.ed .creed .grid{row-gap:1.6rem}
.ed .creed__q{grid-column:1/-1;
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.6rem,3.6vw,3rem);line-height:1.16;letter-spacing:-.018em;
  color:var(--fg);margin:0;text-wrap:balance;}
.ed .creed__q em{font-style:italic;color:var(--acc)}
.ed .creed__by{grid-column:1/-1}

/* ── frente de servicio ───────────────────────────────────── */
.ed .front{border-top:1px solid var(--hair)}
.ed .front .grid{row-gap:clamp(28px,4vw,54px)}
.ed .front__head{grid-column:1/-1}
.ed .front__head .title{margin-top:1.1rem}
.ed .front__head .statement{margin-top:1.15rem;max-width:22ch}
.ed .front__intro{grid-column:1/-1}
.ed .front__meta{
  margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.35rem .9rem;
  font-family:var(--mono);font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fg-3);
}
.ed .front__meta span{display:flex;align-items:center;gap:.9rem}
.ed .front__meta span+span::before{content:"";width:1px;height:.85em;background:var(--hair);display:block}
.ed .front__groups{grid-column:1/-1;display:grid;gap:clamp(26px,3vw,40px)}

/* grupo conceptual — sin cajas, sin separadores por ítem */
.ed .grp{position:relative;padding-top:1.4rem;border-top:1px solid var(--hair)}
.ed .grp__n{
  font-family:var(--serif);font-weight:500;font-variant-numeric:tabular-nums;
  font-size:clamp(2.1rem,3.4vw,3.1rem);line-height:.9;color:var(--acc-2);
  display:block;margin-bottom:.6rem;opacity:.9;
}
.ed .grp__t{
  font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--fg);margin:0 0 1rem;
}
.ed .grp ul{list-style:none;margin:0;padding:0}
.ed .grp li{
  position:relative;padding:.34rem 0 .34rem 0;font-size:.94rem;line-height:1.5;
  color:var(--fg-2);transition:color .22s ease,transform .22s ease;
}
.ed .grp li::before{
  content:"";position:absolute;left:-14px;top:1.05em;width:0;height:1px;
  background:var(--acc-2);transition:width .26s cubic-bezier(.22,.68,.36,1);
}
.ed .grp li:hover{color:var(--fg);transform:translateX(9px)}
.ed .grp li:hover::before{width:9px}

/* ── tarjetas editoriales (soluciones) ────────────────────── */
.ed .sol{display:grid;gap:0}
.ed .sol__i{
  display:grid;grid-template-columns:auto 1fr;gap:1.2rem clamp(18px,2.4vw,34px);
  align-items:start;padding-block:clamp(20px,2.4vw,30px);
  border-top:1px solid var(--hair);
}
.ed .sol__i:last-child{border-bottom:1px solid var(--hair)}
.ed .sol__n{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--acc);
  padding-top:.42rem;font-variant-numeric:tabular-nums;
}
.ed .sol__t{font-family:var(--serif);font-size:clamp(1.24rem,1.9vw,1.6rem);
  font-weight:500;letter-spacing:-.02em;color:var(--fg);line-height:1.2;margin:0 0 .4rem}
.ed .sol__d{font-size:.93rem;color:var(--fg-2);margin:0;max-width:56ch}

/* ── figuras / gráficos ───────────────────────────────────── */
.ed figure{margin:0}
.ed .art{width:100%;height:auto;display:block;overflow:visible}
.ed .art text{font-family:var(--mono);font-size:9px;letter-spacing:.14em}

/* franja de flujo */
.ed .flow{grid-column:1/-1}
.ed .flow__cap{margin-top:1.1rem}

/* corredor */
.ed .corridor{grid-column:1/-1}

/* ── cierre ───────────────────────────────────────────────── */
.ed .close .grid{row-gap:1.8rem;align-items:end}
.ed .close__t{grid-column:1/-1}
.ed .close__a{grid-column:1/-1}
.ed .cta-link{
  display:inline-flex;align-items:baseline;gap:.7rem;text-decoration:none;
  font-family:var(--serif);font-size:clamp(1.45rem,2.5vw,2.05rem);font-weight:500;letter-spacing:-.025em;
  color:var(--fg);line-height:1.1;
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;
  transition:background-size .34s cubic-bezier(.22,.68,.36,1),color .22s ease;
  padding-bottom:.12em;
}
.ed .cta-link:hover{background-size:100% 1px;color:var(--acc)}
.ed .cta-link .arw{font-size:.6em;color:var(--acc-2);transition:transform .26s ease}
.ed .cta-link:hover .arw{transform:translateX(6px)}

/* ── encabezado y pie afinados ────────────────────────────── */
.ed .hdr{background:rgba(11,20,32,.92);border-bottom:1px solid #1B2B3C}
.ed .hdr__in{max-width:var(--maxw);padding-inline:var(--edge);min-height:78px;gap:1.4rem}
.ed .nav{gap:1.6rem}
.ed .nav a{
  font-size:.82rem;letter-spacing:.015em;color:#9FAAB6;position:relative;
  background-image:linear-gradient(var(--gold-lt),var(--gold-lt));
  background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;
  transition:background-size .3s cubic-bezier(.22,.68,.36,1),color .22s ease;
  box-shadow:none;
}
.ed .nav a:hover{color:#F2EFE8;background-size:100% 1px}
.ed .nav a[aria-current="page"]{color:#F2EFE8;background-size:100% 1px;box-shadow:none}
.ed .nav a.btn{background-image:none;letter-spacing:.02em}
.ed .lang a[aria-current="true"]{color:var(--gold-lt)}
.ed .ftr{background:var(--navy);border-top:0;padding-block:clamp(52px,6vw,84px) 30px}
.ed .ftr .wrap{max-width:var(--maxw);padding-inline:var(--edge)}
.ed .ftr__grid{gap:clamp(26px,3vw,44px)}
.ed .ftr h4{color:#7F8C99;letter-spacing:.2em}
.ed .ftr ul a:hover{color:var(--gold-lt)}
.ed .ftr__base{border-top:1px solid #1B2B3C;color:#6E7C8A}

/* ── microinteracción de aparición ────────────────────────── */
/* el HTML se sirve visible; JS marca data-rise="hidden" solo si puede animar */
.ed [data-rise="hidden"]{opacity:0;transform:translateY(16px)}
.ed [data-rise].is-in{
  opacity:1;transform:none;
  transition:opacity .7s cubic-bezier(.22,.68,.36,1),transform .7s cubic-bezier(.22,.68,.36,1);
}
@media (prefers-reduced-motion:reduce){
  .ed [data-rise]{opacity:1!important;transform:none!important}
}

/* ═══ escritorio ═════════════════════════════════════════ */
@media (min-width:900px){
  .ed .lede__txt{grid-column:1/7}
  .ed .lede__art{grid-column:8/13;align-self:end}
  .ed .lede .display{font-size:clamp(3rem,5.4vw,5.2rem)}

  .ed .creed__q{grid-column:2/11}
  .ed .creed__by{grid-column:2/8}

  .ed .front__head{grid-column:1/6}
  .ed .front__intro{grid-column:7/13;padding-top:.5rem}
  .ed .front__groups{grid-column:1/-1;grid-template-columns:repeat(12,var(--grid));
    column-gap:var(--gutter);row-gap:clamp(34px,3.6vw,52px);margin-top:1rem}

  /* arquetipo A — 2×2 desfasado */
  .ed .front--a .grp:nth-child(1){grid-column:1/6}
  .ed .front--a .grp:nth-child(2){grid-column:7/13}
  .ed .front--a .grp:nth-child(3){grid-column:2/7}
  .ed .front--a .grp:nth-child(4){grid-column:8/13}

  /* arquetipo B — cuatro columnas al filo */
  .ed .front--b .front__head{grid-column:1/7}
  .ed .front--b .front__intro{grid-column:8/13}
  .ed .front--b .grp{grid-column:span 3}

  /* arquetipo C — azul, texto a la izquierda, grupos apilados a la derecha */
  .ed .front--c .front__head{grid-column:1/6;position:sticky;top:110px;align-self:start}
  .ed .front--c .front__intro{grid-column:1/6;grid-row:2}
  .ed .front--c .front__groups{grid-column:7/13;display:flex;flex-direction:column;
    grid-row:1/3;margin-top:0}

  .ed .sol{grid-column:1/-1}
  .ed .sol__i{grid-template-columns:auto minmax(0,22ch) minmax(0,1fr);align-items:baseline}
  .ed .sol__t{margin-bottom:0}

  .ed .flow{grid-column:1/-1}
  .ed .corridor{grid-column:7/13}
  .ed .corridor-txt{grid-column:1/6}

  .ed .close__t{grid-column:1/8}
  .ed .close__a{grid-column:8/13;justify-self:end;text-align:right}

  .ed .toc{grid-template-columns:1fr}
}

@media (min-width:1180px){
  .ed .front--a .grp:nth-child(1){grid-column:1/6}
  .ed .front--a .grp:nth-child(2){grid-column:7/12}
  .ed .front--a .grp:nth-child(3){grid-column:2/7}
  .ed .front--a .grp:nth-child(4){grid-column:8/13}
}

/* ═══ tableta ════════════════════════════════════════════ */
@media (min-width:620px) and (max-width:899px){
  .ed .front__groups{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gutter)}
  .ed .toc{grid-template-columns:repeat(2,1fr)}
  .ed .sol__i{grid-template-columns:auto 1fr}
}

/* ═══ móvil — diseñado, no apilado ═══════════════════════ */
@media (max-width:619px){
  .ed .band{padding-block:52px}
  .ed .band--sm{padding-block:38px}
  .ed .toc{grid-template-columns:1fr}
  .ed .lede .display{font-size:clamp(2.5rem,10.5vw,3.3rem);max-width:none}
  .ed .lede .lead{margin-top:1.2rem}

  /* los grupos se vuelven acordeón: numeral grande siempre visible */
  .ed .front__groups{gap:0}
  .ed .grp{padding-top:0;border-top:1px solid var(--hair)}
  .ed .grp__sum{
    display:grid;grid-template-columns:auto 1fr auto;align-items:center;
    gap:1rem;padding:1.15rem 0;cursor:pointer;list-style:none;
  }
  .ed .grp__sum::-webkit-details-marker{display:none}
  .ed .grp__sum .grp__n{
    font-size:2.1rem;margin:0;line-height:1;
  }
  .ed .grp__sum .grp__t{margin:0;font-size:.72rem}
  .ed .grp__sum::after{
    content:"";width:11px;height:11px;border-right:1px solid var(--acc-2);
    border-bottom:1px solid var(--acc-2);transform:rotate(45deg) translateY(-3px);
    transition:transform .26s ease;
  }
  .ed details[open] .grp__sum::after{transform:rotate(225deg) translateY(-3px)}
  .ed .grp ul{padding:0 0 1.15rem}
  .ed .grp li{padding-block:.42rem;font-size:.95rem}
  .ed .grp li:hover{transform:none}

  .ed .sol__i{grid-template-columns:1fr;gap:.5rem}
  .ed .sol__n{padding-top:0}
  .ed .close__a{margin-top:.4rem}
  .ed .cta-link{font-size:1.5rem}
}

/* en escritorio el acordeón no aplica: el resumen es un encabezado */
@media (min-width:620px){
  .ed .grp__sum{display:block;list-style:none;cursor:default;padding:0}
  .ed .grp__sum::-webkit-details-marker{display:none}
  .ed .grp__sum::after{display:none}
  .ed details.grp>ul{display:block}
}

/* ═══════════════════════════════════════════════════════════════
   EXTENSIÓN AL RESTO DEL SITIO
   Componentes que el piloto no necesitaba: portada, disciplinas,
   cifras, equipo, figuras jurídicas, preguntas, notas y contacto.
   ═══════════════════════════════════════════════════════════════ */

/* ── portada del sitio ────────────────────────────────────── */
.ed .hero-x{position:relative;overflow:hidden;padding-block:clamp(52px,7vw,108px) clamp(36px,4vw,64px)}
.ed .hero-x::after{
  content:"";position:absolute;right:-12%;top:-36%;width:min(820px,86vw);aspect-ratio:1;
  background:radial-gradient(circle,rgba(199,154,82,.15),rgba(199,154,82,0) 64%);pointer-events:none;
}
.ed .hero-x .grid{position:relative;row-gap:clamp(26px,3.4vw,46px)}
.ed .hero-x__t{grid-column:1/-1}
.ed .hero-x__s{grid-column:1/-1}
.ed .hero-x .display{margin-top:1.4rem;font-size:clamp(2.5rem,6.6vw,5.4rem);max-width:17ch}
.ed .hero-x .display em{font-style:italic;color:var(--acc)}

/* disciplinas: navegación visual */
.ed .disc{grid-column:1/-1;list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.ed .disc a{
  display:flex;align-items:baseline;justify-content:space-between;gap:1.2rem;
  padding:clamp(.8rem,1.5vw,1.25rem) 0;border-bottom:1px solid var(--hair-2);
  text-decoration:none;color:var(--fg);
  transition:color .24s ease,padding-left .28s cubic-bezier(.22,.68,.36,1);
}
.ed .disc a:hover{color:var(--acc);padding-left:.8rem}
.ed .disc__w{
  font-family:var(--serif);font-weight:500;letter-spacing:-.03em;
  font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1;
}
.ed .disc__d{
  font-family:var(--sans);font-size:.83rem;color:var(--fg-3);text-align:right;
  max-width:46ch;line-height:1.45;text-wrap:pretty;
}
.ed .disc a:hover .disc__d{color:var(--fg-2)}

/* ── cifras editoriales ───────────────────────────────────── */
.ed .stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);
  gap:clamp(22px,3vw,40px) var(--gutter)}
.ed .stat{border-top:1px solid var(--hair);padding-top:1rem}
.ed .stat b{
  display:block;font-family:var(--serif);font-weight:500;font-variant-numeric:tabular-nums;
  font-size:clamp(2.6rem,5.4vw,4.2rem);line-height:.9;color:var(--fg);letter-spacing:-.03em;
}
.ed .stat span{display:block;margin-top:.7rem;font-size:.82rem;color:var(--fg-3);line-height:1.4}

/* ── equipo ───────────────────────────────────────────────── */
.ed .crew{grid-column:1/-1;display:grid;gap:clamp(26px,3vw,44px)}
.ed .mem__ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--paper-dp)}
.ed .mem__ph img{width:100%;height:100%;object-fit:cover;object-position:center;
  filter:saturate(.92) contrast(1.02);transition:transform .8s cubic-bezier(.22,.68,.36,1)}
.ed .mem:hover .mem__ph img{transform:scale(1.03)}
.ed .mem__n{font-family:var(--serif);font-weight:500;letter-spacing:-.025em;font-size:clamp(1.35rem,2.1vw,1.8rem);
  line-height:1.1;color:var(--fg);margin:1.1rem 0 0}
.ed .mem__r{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--acc);margin:.5rem 0 .8rem}
.ed .mem__b{font-size:.92rem;color:var(--fg-2);line-height:1.55;margin:0}

/* ficha extensa */
.ed .bio{border-top:1px solid var(--hair);padding-block:clamp(32px,4.4vw,60px)}
.ed .bio .grid{row-gap:clamp(24px,3vw,40px)}
.ed .bio__ph{grid-column:1/-1}
.ed .bio__ph .mem__ph{max-width:340px}
.ed .bio__tx{grid-column:1/-1}
.ed .bio__tx .mem__n{margin-top:0;font-size:clamp(1.8rem,3.2vw,2.7rem)}
.ed .bio__tx p+p{margin-top:.95rem}
.ed .facts{list-style:none;margin:1.5rem 0 0;padding:0}
.ed .facts li{display:grid;grid-template-columns:7.5em 1fr;gap:1rem;padding:.7rem 0;
  border-top:1px solid var(--hair-2);font-size:.88rem;color:var(--fg-2)}
.ed .facts b{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fg-3);font-weight:500;padding-top:.25em}

/* ── figuras jurídicas ────────────────────────────────────── */
.ed .entries{grid-column:1/-1;display:grid;gap:0}
.ed .entry{display:grid;gap:.5rem clamp(20px,3vw,48px);padding-block:clamp(22px,2.6vw,34px);
  border-top:1px solid var(--hair)}
.ed .entry:last-child{border-bottom:1px solid var(--hair)}
.ed .entry__t{font-family:var(--serif);font-weight:500;font-size:clamp(1.35rem,2.3vw,1.95rem);
  color:var(--acc);line-height:1.15;margin:0;font-style:italic}
.ed .entry__l{font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fg-3);margin:.45rem 0 0}
.ed .entry__d{font-size:.96rem;color:var(--fg-2);line-height:1.62;margin:0;max-width:62ch}

/* ── preguntas ────────────────────────────────────────────── */
.ed .qa{grid-column:1/-1;border-top:1px solid var(--hair)}
.ed .qa details{border-bottom:1px solid var(--hair)}
.ed .qa summary{list-style:none;cursor:pointer;padding:1.3rem 3rem 1.3rem 0;position:relative;
  font-family:var(--serif);font-size:clamp(1.06rem,1.6vw,1.3rem);font-weight:500;letter-spacing:-.015em;color:var(--fg);
  transition:color .22s ease}
.ed .qa summary::-webkit-details-marker{display:none}
.ed .qa summary::after{content:"";position:absolute;right:.4rem;top:1.7rem;width:12px;height:12px;
  border-right:1px solid var(--acc-2);border-bottom:1px solid var(--acc-2);
  transform:rotate(45deg);transition:transform .26s ease}
.ed .qa details[open] summary::after{transform:rotate(225deg)}
.ed .qa summary:hover{color:var(--acc)}
.ed .qa .a{padding:0 3rem 1.5rem 0;font-size:.96rem;color:var(--fg-2);line-height:1.65;max-width:68ch}

/* ── notas ────────────────────────────────────────────────── */
.ed .notes{grid-column:1/-1;border-top:1px solid var(--hair)}
.ed .note{border-bottom:1px solid var(--hair);padding-block:clamp(26px,3.2vw,40px);
  display:grid;gap:.8rem clamp(20px,3vw,48px)}
.ed .note__m{display:flex;gap:1.1rem;align-items:baseline;
  font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}
.ed .note__d{color:var(--fg-3);font-variant-numeric:tabular-nums}
.ed .note__k{color:var(--acc)}
.ed .note__t{font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,2.4vw,2.1rem);
  line-height:1.14;color:var(--fg);margin:0;max-width:26ch}
.ed .note__s{font-size:.97rem;color:var(--fg-2);margin:0;max-width:62ch;line-height:1.6}
.ed .note details>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;
  gap:.5em;font-family:var(--sans);font-size:.84rem;font-weight:600;letter-spacing:.02em;
  color:var(--acc);margin-top:.3rem;transition:color .2s ease}
.ed .note details>summary::-webkit-details-marker{display:none}
.ed .note details>summary::after{content:"+";font-family:var(--mono);font-size:1rem;line-height:1}
.ed .note details[open]>summary::after{content:"–"}
.ed .note details>summary:hover{color:var(--acc-2)}
.ed .note__b{margin-top:1.1rem;max-width:66ch}
.ed .note__b p{font-size:.95rem;color:var(--fg-2);line-height:1.68}
.ed .note__b p+p{margin-top:.85rem}

/* ── proceso ──────────────────────────────────────────────── */
.ed .steps{grid-column:1/-1;display:grid;gap:clamp(24px,2.6vw,36px) var(--gutter)}
.ed .step{border-top:1px solid var(--hair);padding-top:1.15rem}
.ed .step b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,2.6vw,2.4rem);
  color:var(--acc-2);line-height:.9;margin-bottom:.6rem}
.ed .step h3{font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--fg);margin:0 0 .7rem}
.ed .step p{font-size:.92rem;color:var(--fg-2);line-height:1.55;margin:0}

/* ── contacto ─────────────────────────────────────────────── */
.ed .reach{grid-column:1/-1}
.ed .reach dl{margin:1.6rem 0 0;display:grid;gap:0}
.ed .reach dt{font-family:var(--mono);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--fg-3);border-top:1px solid var(--hair);padding-top:1rem}
.ed .reach dd{margin:.35rem 0 1rem;font-size:1.02rem;color:var(--fg)}
.ed .reach dd a{
  color:var(--fg);text-decoration:none;
  background-image:linear-gradient(var(--acc-2),var(--acc-2));
  background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;
  transition:color .2s ease;padding-bottom:.1em;
}
.ed .reach dd a:hover{color:var(--acc)}
.ed .formx{grid-column:1/-1}
.ed .formx form{display:grid;gap:1.15rem}
.ed .formx .field label{font-family:var(--mono);font-size:.64rem;letter-spacing:.18em;color:var(--fg-3)}
.ed .formx .field input,.ed .formx .field textarea,.ed .formx .field select{
  background:transparent;border:0;border-bottom:1px solid var(--hair);border-radius:0;
  padding:.7rem 0;color:var(--fg);font-size:1rem;transition:border-color .24s ease;
}
.ed .formx .field input:focus,.ed .formx .field textarea:focus,.ed .formx .field select:focus{
  border-color:var(--acc-2);box-shadow:none;outline:none;
}
.ed .formx .field input::placeholder,.ed .formx .field textarea::placeholder{color:var(--fg-3);opacity:.75}
.ed .formx .field select{background-position:calc(100% - 6px) 1.2rem,calc(100% - 1px) 1.2rem}
.ed .formx .consent{color:var(--fg-3)}
.ed .formx .consent a{color:var(--fg-2)}
.ed .formx .btn--gold{background:var(--fg);color:var(--paper);border-color:var(--fg);
  border-radius:0;padding:1em 1.9em;letter-spacing:.03em}
.ed .formx .btn--gold:hover{background:var(--acc-2);border-color:var(--acc-2);color:#0B1420}
.ed .formx .form-note,.ed .formx .form-msg{color:var(--fg-3)}

/* ═══ escritorio ═════════════════════════════════════════ */
@media (min-width:900px){
  .ed .hero-x__t{grid-column:1/9}
  .ed .hero-x__s{grid-column:9/13;align-self:end;padding-bottom:.4rem}
  .ed .disc a{padding-inline-end:1rem}

  .ed .stats{grid-template-columns:repeat(4,1fr)}
  .ed .crew{grid-template-columns:repeat(3,1fr)}
  .ed .crew .mem:nth-child(2){transform:translateY(clamp(18px,3vw,44px))}

  .ed .bio__ph{grid-column:1/5}
  .ed .bio__tx{grid-column:6/13}
  .ed .bio:nth-of-type(even) .bio__ph{grid-column:9/13;grid-row:1}
  .ed .bio:nth-of-type(even) .bio__tx{grid-column:1/8;grid-row:1}

  .ed .entry{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
  .ed .note{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}
  .ed .note__m{grid-column:1;flex-direction:column;gap:.5rem}
  .ed .note__t,.ed .note__s,.ed .note details{grid-column:2}
  .ed .steps{grid-template-columns:repeat(4,1fr)}
  .ed .reach{grid-column:1/5}
  .ed .formx{grid-column:6/13}
}

@media (min-width:620px) and (max-width:899px){
  .ed .stats{grid-template-columns:repeat(2,1fr)}
  .ed .crew{grid-template-columns:repeat(3,1fr)}
  .ed .steps{grid-template-columns:repeat(2,1fr)}
  .ed .entry{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
}

/* ═══ móvil ══════════════════════════════════════════════ */
@media (max-width:619px){
  .ed .disc a{flex-direction:column;align-items:flex-start;gap:.4rem;padding-block:1rem}
  .ed .disc__d{text-align:left;max-width:none}
  .ed .disc a:hover{padding-left:0}
  .ed .crew{gap:34px}
  .ed .bio__ph .mem__ph{max-width:none}
  .ed .facts li{grid-template-columns:1fr;gap:.2rem}
  .ed .note__m{gap:.8rem}
  .ed .qa summary{font-size:1.05rem;padding-right:2.4rem}
  .ed .qa .a{padding-right:0}
}

/* ── lista plana de servicios (reemplaza los grupos conceptuales) ── */
.ed .svcs{
  grid-column:1/-1;list-style:none;margin:.5rem 0 0;padding:0;
  display:grid;grid-template-columns:1fr;column-gap:clamp(24px,3.4vw,56px);
  border-top:1px solid var(--hair);
}
.ed .svcs li{
  padding:.72rem 0;border-bottom:1px solid var(--hair-2);
  font-size:.95rem;line-height:1.45;color:var(--fg-2);
  transition:color .22s ease,padding-left .26s cubic-bezier(.22,.68,.36,1);
}
.ed .svcs li:hover{color:var(--fg);padding-left:.45rem}
@media (min-width:620px){
  .ed .svcs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:900px){
  .ed .front--b .svcs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ed .front--c .svcs{grid-column:7/13;grid-template-columns:1fr;grid-row:1/3;margin-top:0;border-top:0}
  .ed .front--c .svcs li:first-child{border-top:1px solid var(--hair)}
}


/* la franja fotográfica dentro del lenguaje editorial */
.ed .band-photo.on-navy{background:transparent}
.ed .band-photo .grid{position:relative;z-index:1}

.ed .li-link{color:var(--acc);text-decoration:none}
.ed .li-link:hover{color:var(--acc-2)}
