/* ============================================================
   MLP Penal & Compliance
   Sistema de diseño «Cátedra»: blanco dominante, paneles negros
   redondeados y el dorado reservado a filetes y antetítulos.
   ============================================================ */

/* ---------- Tipografía autoalojada ---------- */
@font-face{
  font-family:"Instrument Sans";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("../fonts/instrument-sans-latin-normal.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Instrument Sans";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("../fonts/instrument-sans-latin-ext-normal.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Instrument Sans";
  font-style:italic;
  font-weight:400 700;
  font-display:swap;
  src:url("../fonts/instrument-sans-latin-italic.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Instrument Sans";
  font-style:italic;
  font-weight:400 700;
  font-display:swap;
  src:url("../fonts/instrument-sans-latin-ext-italic.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---------- Fichas de diseño ---------- */
:root{
  --black:#000000;
  --ink:#2B2B2B;
  --gold:#DEAB52;
  --gold-deep:#B8862F;
  --ivory:#F7F3EA;
  --white:#FFFFFF;
  --muted:#7A7A7A;
  --line:rgba(0,0,0,.12);
  --line-gold:rgba(222,171,82,.38);
  --line-inv:rgba(255,255,255,.16);

  --container:1280px;
  --gutter:clamp(20px,4vw,40px);
  --r-panel:28px;
  --r-card:16px;
  --r-btn:7px;

  --f:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  font-family:var(--f);
  font-size:16px;
  line-height:1.6;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;display:block}
img{height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:400;letter-spacing:-.028em;line-height:1.06;color:var(--ink)}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:3px}

.wrap{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}

/* Salto al contenido, para teclado y lectores de pantalla. */
.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--black);color:#fff;padding:.9rem 1.3rem;border-radius:0 0 var(--r-btn) 0;
  font-size:.875rem;
}
.skip:focus{left:0}

.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;
}

/* ---------- Escala tipográfica ---------- */
.d1{font-size:clamp(2.9rem,7.2vw,5.6rem)}
.d2{font-size:clamp(2.2rem,4.6vw,3.6rem)}
.d3{font-size:clamp(1.5rem,2.4vw,2.1rem);letter-spacing:-.02em}
.lead{font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.65;color:var(--muted)}

.eyebrow{
  font-size:.6875rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-deep);margin:0 0 1.15rem;
}
.eyebrow--inv{color:var(--gold)}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  padding:.72rem 1.15rem;border-radius:var(--r-btn);
  font-size:.8125rem;font-weight:500;
  border:1px solid transparent;
  transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);
}
.btn svg{width:13px;height:13px;flex:none;transition:transform .35s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn--solid{background:var(--black);color:#fff}
.btn--solid:hover{background:var(--gold-deep)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.btn--inv{background:#fff;color:var(--black)}
.btn--inv:hover{background:var(--gold);color:var(--black)}
.btn--inv-ghost{background:transparent;color:#fff;border-color:var(--line-inv)}
.btn--inv-ghost:hover{border-color:var(--gold);color:var(--gold)}

/* ---------- Cabecera ---------- */
.hdr{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;transition:border-color .3s;
}
.hdr.is-stuck{border-bottom-color:var(--line)}
.hdr__in{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  gap:2rem;height:88px;
}

.logo{display:flex;flex-direction:column;line-height:1;flex:none}
.logo b{font-size:1.4rem;font-weight:700;letter-spacing:.02em}
.logo span{font-size:.5625rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-deep);margin-top:.28rem}
/* El logotipo tipográfico es un flex en columna; con imagen sobra ese contexto
   y además estiraba el archivo al ancho de la columna. */
.logo--img{display:block;width:max-content}
.logo--img img{height:46px;width:auto;max-width:none}
.logo--inv img{height:88px}

.nav{display:flex;gap:1.9rem;justify-content:center;font-size:.875rem}
.nav li{position:relative}
.nav a{position:relative;display:block;padding:.3rem 0;color:var(--ink);opacity:.72;transition:opacity .3s;white-space:nowrap}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--gold);transition:right .4s var(--ease)}
.nav a:hover{opacity:1}
.nav a:hover::after{right:0}
.nav .current-menu-item>a,
.nav .current_page_item>a,
.nav .current-menu-ancestor>a{opacity:1}
.nav .current-menu-item>a::after,
.nav .current_page_item>a::after,
.nav .current-menu-ancestor>a::after{right:0}

/* Submenús */
.nav .sub-menu{
  position:absolute;top:100%;left:-1rem;min-width:250px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
  padding:.5rem;box-shadow:0 18px 40px rgba(0,0,0,.09);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
}
.nav li:hover>.sub-menu,
.nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.nav .sub-menu a{padding:.55rem .8rem;border-radius:8px;opacity:.8;font-size:.8125rem;white-space:normal}
.nav .sub-menu a::after{display:none}
.nav .sub-menu a:hover{background:var(--ivory);opacity:1}

.hdr__meta{display:flex;align-items:center;justify-content:flex-end;gap:1.6rem;font-size:.8125rem;color:var(--muted)}
.hdr__meta a{display:flex;align-items:center;gap:.45rem;transition:color .3s}
.hdr__meta a:hover{color:var(--ink)}
.hdr__meta svg{width:14px;height:14px;color:var(--gold-deep)}

.burger{
  display:none;width:42px;height:42px;flex:none;
  border:1px solid var(--line);border-radius:9px;background:none;
  align-items:center;justify-content:center;
}
.burger svg{width:18px;height:12px}

/* Menú desplegable en móvil */
.nav-movil{
  position:fixed;inset:88px 0 0;z-index:55;
  background:#fff;padding:1.6rem var(--gutter) 3rem;
  overflow-y:auto;display:none;
}
.nav-movil.is-open{display:block}
.nav-movil ul{display:flex;flex-direction:column}
.nav-movil li{border-bottom:1px solid var(--line)}
.nav-movil a{display:block;padding:1rem 0;font-size:1.15rem;letter-spacing:-.02em}
.nav-movil .sub-menu{padding-left:1rem}
.nav-movil .sub-menu a{font-size:.9375rem;color:var(--muted)}
.nav-movil__meta{margin-top:2rem;display:grid;gap:.9rem;font-size:.9375rem}
.nav-movil__meta a{display:flex;align-items:center;gap:.7rem;padding:0}
.nav-movil__meta svg{width:16px;height:16px;color:var(--gold-deep)}
body.nav-abierto{overflow:hidden}

/* ---------- Portada: hero ---------- */
.hero{padding-top:1.35rem}
.hero__panel{
  position:relative;overflow:hidden;border-radius:var(--r-panel);
  background:var(--black);color:#fff;
  min-height:min(660px,76vh);
  display:flex;flex-direction:column;justify-content:space-between;
  padding:clamp(2.2rem,4.4vw,3.6rem);
}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:62% 42%;opacity:.62}
.hero__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,#000 14%,rgba(0,0,0,.9) 42%,rgba(0,0,0,.5) 66%,rgba(0,0,0,.26) 82%,rgba(0,0,0,.55) 100%);
}
.hero__grain{
  position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
}
.hero__body{position:relative}
.hero__body h1{color:#fff;text-wrap:balance}
.hero__body h1 em{font-style:normal;color:var(--gold)}
.hero__sub{margin-top:1.6rem;max-width:34ch;color:rgba(255,255,255,.66);font-size:.9375rem}
.hero__foot{
  position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;
  gap:clamp(1.6rem,4vw,4rem);padding-top:2.6rem;
  border-top:1px solid var(--line-inv);margin-top:2.6rem;
}
.hero__kicker{font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.hero__claim{max-width:38ch;color:rgba(255,255,255,.74);font-size:.9375rem;line-height:1.62;margin-top:.9rem}
.hero__cta{display:flex;gap:.6rem;margin-left:auto}

/* Entrada escalonada al cargar */
.rise{opacity:0;transform:translateY(22px);animation:rise .9s var(--ease) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d-1{animation-delay:.06s}.d-2{animation-delay:.16s}.d-3{animation-delay:.26s}.d-4{animation-delay:.36s}
@media (prefers-reduced-motion:reduce){.rise{animation:none;opacity:1;transform:none}}

/* ---------- Cabecera de página interior ---------- */
.phero{padding-top:1.35rem}
.phero__panel{
  border-radius:var(--r-panel);background:var(--black);color:#fff;
  padding:clamp(2.4rem,5vw,4rem);
  display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:end;
  position:relative;overflow:hidden;
}
.phero__panel h1{color:#fff;max-width:16ch}
.phero__intro{color:rgba(255,255,255,.7);font-size:.9375rem;line-height:1.7;max-width:42ch}
.phero__glow{
  position:absolute;right:-10%;top:-60%;width:min(620px,80%);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(222,171,82,.16),transparent 66%);pointer-events:none;
}

/* Migas de pan */
.migas{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:rgba(255,255,255,.5);margin-bottom:1.4rem;position:relative}
.migas a{transition:color .3s}
.migas a:hover{color:var(--gold)}
.migas span[aria-hidden]{opacity:.5}

/* ---------- Reconocimientos ----------
   Los sellos de Leaders League son artwork blanco sobre transparente,
   así que el panel tiene que ser oscuro para que se vean. */
.awards{padding-top:clamp(2.4rem,4.6vw,3.6rem)}
.awards__panel{
  border-radius:var(--r-panel);background:var(--black);color:#fff;
  padding:clamp(2.4rem,5vw,4rem) clamp(1.8rem,4vw,3.4rem);
  position:relative;overflow:hidden;
}
.awards__panel::before{
  content:"";position:absolute;left:50%;top:-55%;width:min(900px,120%);aspect-ratio:1;
  transform:translateX(-50%);border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(222,171,82,.16),transparent 64%);
}
.awards__intro{position:relative;max-width:52ch;margin:0 auto clamp(2.4rem,4.4vw,3.4rem);text-align:center}
.awards__intro h2{color:#fff;text-wrap:balance}
.awards__texto{margin-top:1.2rem;color:rgba(255,255,255,.66);font-size:.9375rem;line-height:1.66}

/* El reparto es explícito para que no quede un sello solo en la última fila:
   los siete caben en una fila en escritorio y de cuatro en cuatro por debajo. */
.awards__row{
  --sellos:7;
  --hueco:1.5rem;
  position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;
  gap:clamp(1.8rem,3vw,2.6rem) var(--hueco);
}
.awards__row li{
  flex:0 0 calc((100% - (var(--sellos) - 1) * var(--hueco)) / var(--sellos));
  display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center;
}
.awards__row img{
  height:clamp(84px,8vw,116px);width:auto;object-fit:contain;
  opacity:.8;transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.awards__row li:hover img{opacity:1;transform:translateY(-4px)}
.awards__pie{
  font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.4);line-height:1.5;max-width:16ch;
  transition:color .4s;
}
.awards__row li:hover .awards__pie{color:var(--gold)}

/* ---------- Secciones ---------- */
.sec{padding:clamp(4rem,8vw,7rem) 0}
.sec--tight{padding-top:0}
.block{border-radius:var(--r-panel);background:var(--ivory);padding:clamp(2rem,4.2vw,3.4rem)}
.sec-head{max-width:62ch;margin-bottom:clamp(2.4rem,4vw,3.4rem)}
.sec-head--center{margin-inline:auto;text-align:center}
.sec-head--fila{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:2rem;flex-wrap:wrap;max-width:none;
}

/* ---------- Manifiesto ---------- */
.mani{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(1rem,2vw,1.5rem)}
.mani__card{background:#fff;border-radius:var(--r-card);padding:clamp(1.6rem,2.6vw,2.3rem);display:flex;flex-direction:column}
.mani__card p+p{margin-top:1rem}
.mani__sign{margin-top:auto;padding-top:1.9rem;border-top:1px solid var(--line-gold)}
.mani__sign b{display:block;font-weight:600;font-size:.9375rem}
.mani__sign span{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.mani__side{display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.5rem)}
.mani__img{border-radius:var(--r-card);overflow:hidden;flex:1;min-height:250px}
.mani__img img{width:100%;height:100%;object-fit:cover}

.stats{
  background:var(--black);border-radius:var(--r-card);color:#fff;
  display:grid;grid-template-columns:repeat(3,1fr);
  padding:clamp(1.5rem,2.6vw,2rem) 1rem;
}
.stat{text-align:center;position:relative}
.stat+.stat::before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:var(--line-inv)}
.stat b{display:block;font-size:clamp(1.9rem,3.2vw,2.6rem);font-weight:400;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:.55rem;font-size:.625rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}

/* ---------- Áreas de práctica ---------- */
.area{
  display:grid;grid-template-columns:auto minmax(0,.85fr) minmax(0,1.15fr) auto;align-items:center;
  gap:clamp(1rem,3vw,2.4rem);
  padding:clamp(1.4rem,2.4vw,1.9rem) clamp(1.2rem,2.4vw,2rem);
  border-radius:var(--r-card);background:#fff;border:1px solid var(--line);
  transition:background .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease);
}
.area+.area{margin-top:.7rem}
.area:hover{background:var(--black);border-color:var(--black);transform:translateX(6px)}
.area:hover .area__n,.area:hover h3{color:#fff}
.area:hover p{color:rgba(255,255,255,.62)}
.area:hover .area__go{background:var(--gold);border-color:var(--gold);color:var(--black)}
.area__n{font-size:.75rem;font-weight:500;letter-spacing:.1em;color:var(--gold-deep);font-variant-numeric:tabular-nums;transition:color .4s;min-width:2.4ch}
.area h3{font-size:clamp(1.05rem,1.7vw,1.35rem);transition:color .4s}
.area p{font-size:.875rem;color:var(--muted);transition:color .4s}
.area__go{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;flex:none;transition:all .4s var(--ease)}
.area__go svg{width:14px;height:14px}

.areas__pie{
  display:flex;align-items:center;justify-content:center;gap:1.4rem;flex-wrap:wrap;
  margin-top:clamp(2rem,3.4vw,2.8rem);text-align:center;
}
.areas__nota{font-size:.9375rem;color:var(--muted)}

.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.6rem}
.tag{font-size:.75rem;padding:.5rem .85rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);transition:all .3s}
.tag:hover{border-color:var(--gold);color:var(--ink);background:rgba(222,171,82,.09)}

/* ---------- Panel oscuro ---------- */
.beyond{border-radius:var(--r-panel);background:var(--black);color:#fff;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr}
.beyond__txt{padding:clamp(2.2rem,4.4vw,3.8rem);display:flex;flex-direction:column;justify-content:center}
.beyond__txt h2{color:#fff;max-width:16ch}
.beyond__txt p{margin-top:1.5rem;max-width:52ch;color:rgba(255,255,255,.66);font-size:.9375rem;line-height:1.68}
.beyond__rule{width:56px;height:1px;background:var(--gold);margin-top:2rem}
.beyond__img{position:relative;min-height:340px}
.beyond__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}

/* ---------- Equipo ---------- */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem)}
.person{position:relative;border-radius:var(--r-card);overflow:hidden;background:#EDE9E0;isolation:isolate}
.person__ph{aspect-ratio:3/4;overflow:hidden}
.person__ph img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 1s var(--ease)}
.person:hover .person__ph img{transform:scale(1.045)}
.person__cap{
  position:absolute;left:.75rem;right:.75rem;bottom:.75rem;
  background:rgba(255,255,255,.94);backdrop-filter:blur(8px);
  border-radius:11px;padding:.95rem 1.1rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.cap__txt{display:block;min-width:0}
.person__cap b{display:block;font-weight:600;font-size:.9375rem;letter-spacing:-.005em;color:var(--ink)}
.person__cap .cap__txt span{display:block;margin-top:.15rem;font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.person__cap i{width:30px;height:30px;border-radius:50%;background:var(--black);color:#fff;display:grid;place-items:center;flex:none;transition:background .35s}
.person:hover .person__cap i{background:var(--gold-deep)}
.person__cap svg{width:12px;height:12px}

.allies{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,1.5rem);margin-top:clamp(1rem,2vw,1.5rem)}
.ally{display:flex;align-items:center;gap:1.2rem;background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:1.3rem 1.5rem;transition:border-color .35s}
.ally:hover{border-color:var(--line-gold)}
.ally>img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top center;flex:none}
.ally b{display:block;font-size:.9375rem;font-weight:600;color:var(--ink)}
.ally .cap__txt span{display:block;margin-top:.15rem;font-size:.6875rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
/* Los logotipos de los estudios aliados vienen con proporciones muy distintas,
   así que se normalizan dentro de una caja del mismo tamaño. */
.ally__logo{
  margin-left:auto;flex:none;padding-left:1.3rem;border-left:1px solid var(--line);
  display:grid;place-items:center;height:56px;box-sizing:content-box;
}
.ally__logo img{max-height:56px;max-width:150px;width:auto;object-fit:contain;opacity:.9;transition:opacity .35s}
.ally:hover .ally__logo img{opacity:1}

/* ---------- Testimonios ---------- */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,1.5rem)}
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);padding:clamp(1.5rem,2.6vw,2.1rem);display:flex;flex-direction:column;transition:border-color .4s var(--ease);margin:0}
.quote:hover{border-color:var(--line-gold)}
.quote__mark{font-size:2.6rem;line-height:.6;color:var(--gold);opacity:.55}
.quote p{margin-top:1.1rem;font-size:.9375rem;line-height:1.7;color:var(--ink)}
.quote footer{margin-top:auto;padding-top:1.6rem;display:flex;align-items:center;gap:.7rem}
.quote footer::before{content:"";width:22px;height:1px;background:var(--gold)}
.quote footer b{font-size:.875rem;font-weight:600}
.quote footer span{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

/* ---------- Noticias ---------- */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem)}
.post{border-radius:var(--r-card);overflow:hidden;background:var(--ivory);display:flex;flex-direction:column;transition:transform .5s var(--ease)}
.post:hover{transform:translateY(-5px)}
.post__ph{aspect-ratio:16/10;overflow:hidden;position:relative;background:#E6E1D6}
.post__ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.post:hover .post__ph img{transform:scale(1.05)}
.post__badge{position:absolute;top:.8rem;left:.8rem;background:rgba(255,255,255,.94);border-radius:999px;padding:.32rem .75rem;font-size:.625rem;letter-spacing:.14em;text-transform:uppercase}
.post__body{padding:1.3rem 1.4rem 1.6rem;display:flex;flex-direction:column;flex:1}
.post__body h3{font-size:1.0625rem;line-height:1.32;letter-spacing:-.015em}
.post__date{margin-top:auto;padding-top:1.2rem;font-size:.75rem;color:var(--muted)}
.thumb-vacio{display:block;width:100%;height:100%;background:linear-gradient(135deg,#EDE9E0,#DCD5C6)}

/* ---------- Llamada a la acción ---------- */
.cta{border-radius:var(--r-panel);background:var(--black);color:#fff;text-align:center;padding:clamp(3rem,6vw,5rem) var(--gutter);position:relative;overflow:hidden}
.cta::before{
  content:"";position:absolute;left:50%;top:-40%;width:min(780px,110%);aspect-ratio:1;
  transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(222,171,82,.19),transparent 66%);
}
.cta h2{position:relative;color:#fff}
.cta p{position:relative;margin:1.1rem auto 2.2rem;max-width:48ch;color:rgba(255,255,255,.68)}
.cta__btns{position:relative;display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}

/* ---------- Contenido editorial ---------- */
.prosa{max-width:74ch;font-size:1.0625rem;line-height:1.72}
.prosa>*+*{margin-top:1.4rem}
.prosa h2{font-size:clamp(1.7rem,3vw,2.4rem);margin-top:3rem}
.prosa h3{font-size:clamp(1.3rem,2.2vw,1.7rem);margin-top:2.4rem}
.prosa h4{font-size:1.15rem;margin-top:2rem}
.prosa a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.prosa a:hover{color:var(--ink)}
.prosa ul,.prosa ol{padding-left:1.3rem}
.prosa ul li{list-style:none;position:relative;padding-left:1.1rem}
.prosa ul li::before{content:"";position:absolute;left:0;top:.72em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.prosa ol{list-style:decimal}
.prosa ol li{padding-left:.3rem}
.prosa li+li{margin-top:.55rem}
.prosa blockquote{
  margin:2.4rem 0;padding:1.6rem 1.9rem;background:var(--ivory);
  border-left:2px solid var(--gold);border-radius:0 var(--r-card) var(--r-card) 0;
}
.prosa blockquote p+p{margin-top:1rem}
.prosa img,.prosa figure{border-radius:var(--r-card);overflow:hidden}
.prosa figcaption{margin-top:.7rem;font-size:.8125rem;color:var(--muted)}
.prosa hr{border:0;height:1px;background:var(--line);margin:3rem 0}
.prosa table{width:100%;border-collapse:collapse;font-size:.9375rem}
.prosa th,.prosa td{padding:.8rem 1rem;border-bottom:1px solid var(--line);text-align:left}
.prosa th{font-weight:600;background:var(--ivory)}
.prosa code{background:var(--ivory);padding:.15em .4em;border-radius:4px;font-size:.9em}
.prosa .wp-caption{max-width:100%}
.alignleft{float:left;margin:.4rem 1.8rem 1.2rem 0}
.alignright{float:right;margin:.4rem 0 1.2rem 1.8rem}
.aligncenter{margin-inline:auto}

/* ---------- Nosotros ---------- */
.nos{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2rem,5vw,4.4rem);align-items:start}
.nos__texto>.prosa{margin-top:1.8rem}
.nos__firma{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--line-gold)}
.nos__firma b{display:block;font-weight:600;font-size:.9375rem}
.nos__firma span{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.nos__img{margin:0;border-radius:var(--r-panel);overflow:hidden;position:sticky;top:110px}
.nos__img img{width:100%;height:auto;display:block}

/* Misión, visión y valores: panel negro para que pesen en la página. */
.mvv{
  border-radius:var(--r-panel);background:var(--black);color:#fff;
  padding:clamp(2.4rem,5vw,4rem) clamp(1.8rem,4vw,3.4rem);
  position:relative;overflow:hidden;
}
.mvv::before{
  content:"";position:absolute;right:-12%;top:-45%;width:min(720px,90%);aspect-ratio:1;
  transform:none;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(222,171,82,.15),transparent 66%);
}
.mvv__cab{position:relative;max-width:46ch;margin-bottom:clamp(2.2rem,4vw,3.2rem)}
.mvv__cab h2{color:#fff}
.mvv__grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.6rem,3vw,2.6rem)}
.mvv__item{position:relative;padding-top:1.8rem;border-top:1px solid var(--line-inv)}
.mvv__n{
  position:absolute;top:-.15rem;left:0;
  font-size:.6875rem;font-weight:500;letter-spacing:.16em;color:var(--gold);
  font-variant-numeric:tabular-nums;
}
.mvv__item h3{color:#fff;font-size:clamp(1.25rem,2vw,1.6rem);margin-bottom:.9rem}
.mvv__item p{color:rgba(255,255,255,.66);font-size:.9375rem;line-height:1.72}

/* ---------- Ficha individual ---------- */
.single__hero{padding-top:1.35rem}
.single__media{border-radius:var(--r-panel);overflow:hidden;aspect-ratio:16/8;background:var(--ivory);margin-bottom:clamp(2rem,4vw,3rem)}
.single__media img{width:100%;height:100%;object-fit:cover}
.single__meta{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;font-size:.8125rem;color:var(--muted);margin-bottom:1.4rem}
.single__meta .sep{width:4px;height:4px;border-radius:50%;background:var(--gold)}

/* Ficha de miembro del equipo */
.ficha{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,4vw,3.4rem);align-items:start}
.ficha__ph{border-radius:var(--r-panel);overflow:hidden;aspect-ratio:3/4;background:var(--ivory);position:sticky;top:110px}
.ficha__ph img{width:100%;height:100%;object-fit:cover;object-position:top center}
.ficha__datos{margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid var(--line);display:grid;gap:.8rem;font-size:.9375rem}
.ficha__datos a{display:flex;align-items:center;gap:.7rem;color:var(--muted);transition:color .3s}
.ficha__datos a:hover{color:var(--gold-deep)}
.ficha__datos svg{width:16px;height:16px;color:var(--gold-deep);flex:none}

/* ---------- Paginación ---------- */
.paginacion{display:flex;gap:.4rem;justify-content:center;margin-top:clamp(2.6rem,5vw,4rem);flex-wrap:wrap}
.paginacion .page-numbers{
  min-width:42px;height:42px;padding:0 .8rem;border-radius:var(--r-btn);
  border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;
  font-size:.875rem;transition:all .3s;
}
.paginacion .page-numbers:hover{border-color:var(--ink)}
.paginacion .current{background:var(--black);border-color:var(--black);color:#fff}
.paginacion .dots{border-color:transparent}

/* ---------- Formulario de contacto ---------- */
.form{display:grid;gap:.9rem}
.form label{display:block;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem}
.form input,.form textarea,.form select{
  width:100%;padding:.9rem 1.05rem;border:1px solid var(--line);border-radius:var(--r-btn);
  background:#fff;font:inherit;font-size:.9375rem;color:var(--ink);
  transition:border-color .3s,box-shadow .3s;
}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(222,171,82,.16)}
.form__fila{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}

/* ---------- Contacto ---------- */
.contacto{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,2.4vw,1.8rem);align-items:start}
.contacto__datos{background:var(--ivory);border-radius:var(--r-panel);padding:clamp(1.8rem,3.4vw,2.6rem)}
.contacto__lista{display:grid;gap:1.4rem;margin-top:1.8rem}
.contacto__lista>*{display:flex;gap:1rem;align-items:flex-start;font-size:.9375rem;color:var(--muted)}
.contacto__lista a:hover{color:var(--gold-deep)}
.contacto__lista svg{width:17px;height:17px;color:var(--gold-deep);flex:none;margin-top:.2rem}
.mapa{border-radius:var(--r-panel);overflow:hidden;aspect-ratio:4/3;background:var(--ivory)}
.mapa iframe{width:100%;height:100%;border:0;display:block}

/* ---------- Pie ---------- */
.ft{padding:0 0 2rem}
.ft__panel{border-radius:var(--r-panel);background:var(--black);color:#fff;padding:clamp(2.4rem,4.4vw,3.6rem)}
.ft__top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:2.4rem}
.ft .logo b{color:#fff}
.ft__addr{margin-top:1.5rem;font-size:.875rem;line-height:1.72;color:rgba(255,255,255,.62);max-width:30ch}
.ft h4{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;font-weight:600}
.ft__links li{list-style:none}
.ft__links a{display:block;padding:.32rem 0;font-size:.875rem;color:rgba(255,255,255,.68);transition:color .3s,padding-left .3s}
.ft__links a:hover{color:#fff;padding-left:.4rem}
.socials{display:flex;gap:.5rem;margin-top:1.6rem}
.socials a{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-inv);display:grid;place-items:center;transition:all .35s}
.socials a:hover{background:var(--gold);border-color:var(--gold);color:var(--black)}
.socials svg{width:15px;height:15px}
.ft__bottom{
  margin-top:clamp(2.4rem,4vw,3.4rem);padding-top:1.7rem;border-top:1px solid var(--line-inv);
  display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;
  font-size:.75rem;color:rgba(255,255,255,.45);
}
.ft__motto{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.ft__credito{font-size:.75rem;color:rgba(255,255,255,.38)}
.ft__credito a{color:rgba(255,255,255,.62);transition:color .3s}
.ft__credito a:hover{color:var(--gold)}

/* ---------- WhatsApp flotante ---------- */
.wa{
  position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:50;
  width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;
  display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.22);
  transition:transform .35s var(--ease);
}
.wa:hover{transform:scale(1.07)}
.wa svg{width:27px;height:27px}

/* ---------- 404 ---------- */
.e404{text-align:center;padding:clamp(4rem,10vw,9rem) 0}
.e404 h1{font-size:clamp(4rem,14vw,10rem);letter-spacing:-.06em;color:var(--ivory)}
.e404 p{margin:1rem auto 2.4rem;max-width:44ch;color:var(--muted)}

/* ---------- Adaptación ---------- */
@media (max-width:1080px){
  .nav,.hdr__meta{display:none}
  .burger{display:flex;justify-self:end}
  .hdr__in{grid-template-columns:1fr auto}
  .mani,.beyond,.phero__panel,.contacto,.ficha,.nos{grid-template-columns:1fr}
  .nos__img{position:static;max-width:420px}
  .mvv__grid{grid-template-columns:1fr}
  .ficha__ph{position:static}
  .people{grid-template-columns:repeat(2,1fr)}
  .awards__row{--sellos:4}
  .news{grid-template-columns:1fr 1fr}
  .ft__top{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .hero__panel{min-height:0;padding:1.8rem 1.4rem 1.6rem}
  .hero__cta{margin-left:0;width:100%}
  .hero__cta .btn{flex:1;justify-content:center}
  .area{grid-template-columns:auto 1fr;row-gap:.55rem}
  .area p{grid-column:2}
  .area__go{display:none}
  .people,.quotes,.news,.allies,.ft__top,.form__fila{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr;gap:1.4rem}
  .stat+.stat::before{display:none}
  .stat+.stat{padding-top:1.4rem;border-top:1px solid var(--line-inv)}
  /* En móvil los sellos van de dos en dos. */
  .awards__row{--sellos:2}
  .awards__row img{height:74px}
  .alignleft,.alignright{float:none;margin-inline:0}
  .ft__bottom{flex-direction:column;gap:.7rem}
  .ally{flex-wrap:wrap}
  .ally__logo{margin-left:0;padding-left:0;border-left:0;padding-top:.9rem;border-top:1px solid var(--line);width:100%;justify-items:start}
}

/* ---------- Impresión ---------- */
@media print{
  .hdr,.ft,.wa,.cta,.awards,.burger{display:none}
  body{color:#000;background:#fff}
  .prosa{max-width:none}
}
