/* =========================================================
   Carolina Hernández Abogados Especialistas – SERVIR LEGAL
   Identidad: Azul institucional #2F59A1 · Gris #B4B4B4 · Blanco
   Tipografías: Playfair Display (títulos) · Inter (texto)
   ========================================================= */

:root{
  --blue:#2F59A1;
  --blue-dark:#1B3A6B;
  --blue-deep:#132C52;
  --blue-soft:#EAF0F9;
  --blue-line:#D3DFF1;
  --silver:#B4B4B4;
  --silver-soft:#F3F4F6;
  --white:#FFFFFF;
  --ink:#1C2430;
  --ink-soft:#4E5C6E;
  --wa:#25D366;
  --wa-dark:#1FAF52;
  --green:#0F7A45;
  --green-light:#8DC63F;
  --purple:#7B5CD6;
  --gold:#D8B45A;

  --ff-title:"Playfair Display", Georgia, serif;
  --ff-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  --wrap:1200px;
  --r:14px;
  --r-lg:22px;
  --sh-sm:0 2px 10px rgba(27,58,107,.07);
  --sh:0 14px 40px rgba(27,58,107,.10);
  --sh-lg:0 26px 70px rgba(27,58,107,.16);
  --t:.35s cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:110px;}
body{
  margin:0;
  font-family:var(--ff-body);
  font-size:17px;
  line-height:1.72;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
p{margin:0 0 1.1em;}
svg{width:100%;height:100%;}

.container{width:min(100% - 44px, var(--wrap));margin-inline:auto;}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:999;background:var(--blue);color:#fff;
  padding:10px 18px;border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}

/* ---------------- Tipografía ---------------- */
.h2{
  font-family:var(--ff-title);
  font-weight:600;
  font-size:clamp(1.9rem, 3.6vw, 2.85rem);
  line-height:1.18;
  letter-spacing:-.01em;
  color:var(--blue-dark);
  margin:.15em 0 .5em;
}
.h2--light{color:#fff;}
.h4{
  font-family:var(--ff-title);
  font-weight:600;
  font-size:1.32rem;
  color:var(--blue-dark);
  margin:0 0 .9em;
}
.h4--light{color:#fff;}

.eyebrow{
  display:inline-block;
  font-size:.76rem;
  font-weight:600;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:var(--blue);
  padding-bottom:.5rem;
  position:relative;
}
.eyebrow::after{
  content:"";position:absolute;left:0;bottom:0;width:38px;height:2px;background:var(--blue);
}
.eyebrow--light{color:#A9C4EC;}
.eyebrow--light::after{background:var(--gold);}
.eyebrow--green{color:var(--green-light);}
.eyebrow--green::after{background:var(--green-light);}

.lead{font-size:1.08rem;color:var(--ink-soft);}
.lead--center{max-width:820px;margin-inline:auto;text-align:center;}
.lead--light{color:#C9D8EE;}

/* Textos justificados para una lectura más ordenada.
   Solo en bloques anchos: en columnas estrechas la justificación abre huecos. */
.section p,
.card p,
.fair__item p,
.voice p{text-align:justify;text-justify:inter-word;hyphens:auto;}
.sector p,
.step p,
.harea p,
.cov-card p,
.strip__item p{text-align:left;hyphens:none;}
.section__head p,
.lead--center,
.sectors__foot,
.impact__caption,
.form__note,
.qr figcaption,
.coverage__note,
.impact__slogan{text-align:center;}
.quote--center{text-align:center;border-left:0;border-top:3px solid var(--gold);padding:1.4rem 1rem .4rem;}

.quote{
  margin:1.8rem 0 0;
  padding:1.1rem 0 1.1rem 1.5rem;
  border-left:3px solid var(--gold);
  font-family:var(--ff-title);
  font-style:italic;
  font-size:1.2rem;
  line-height:1.5;
  color:var(--blue-dark);
}

/* ---------------- Botones ---------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--ff-body);font-weight:600;font-size:.95rem;
  padding:.78rem 1.5rem;border-radius:999px;border:1.6px solid transparent;
  cursor:pointer;transition:var(--t);white-space:nowrap;
}
.btn .ico{width:19px;height:19px;flex:none;}
.btn--lg{padding:.95rem 1.9rem;font-size:1rem;}
.btn--block{width:100%;}
.btn--primary{background:var(--blue);color:#fff;box-shadow:0 10px 26px rgba(47,89,161,.28);}
.btn--primary:hover{background:var(--blue-dark);transform:translateY(-2px);}
.btn--wa{background:var(--wa);color:#08301A;box-shadow:0 10px 26px rgba(37,211,102,.3);}
.btn--wa:hover{background:var(--wa-dark);color:#fff;transform:translateY(-2px);}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}
.btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;}

.link-arrow{
  display:inline-flex;align-items:center;gap:.45rem;margin-top:.5rem;
  font-weight:600;font-size:.93rem;color:var(--blue);transition:var(--t);
}
.link-arrow::after{content:"→";transition:var(--t);}
.link-arrow:hover{color:var(--blue-dark);}
.link-arrow:hover::after{transform:translateX(5px);}

/* ---------------- Top bar ---------------- */
.topbar{
  background:linear-gradient(90deg, var(--blue-deep) 0%, var(--blue-dark) 60%, var(--blue) 100%);
  color:#EAF1FB;font-size:.95rem;font-weight:500;
  border-bottom:2px solid var(--gold);
}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:54px;flex-wrap:wrap;}
.topbar__contact{display:flex;align-items:center;gap:1.9rem;flex-wrap:wrap;}
.topbar__item{display:inline-flex;align-items:center;gap:.55rem;transition:var(--t);letter-spacing:.005em;}
.topbar__item svg{width:18px;height:18px;flex:none;color:var(--gold);opacity:1;}
a.topbar__item:hover{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.topbar__social{display:flex;gap:.4rem;}
.topbar__social a{
  width:34px;height:34px;display:grid;place-items:center;border-radius:50%;
  transition:var(--t);color:#EAF1FB;background:rgba(255,255,255,.1);
}
.topbar__social a svg{width:18px;height:18px;}
.topbar__social a:hover{background:var(--gold);color:var(--blue-deep);transform:translateY(-2px);}

/* ---------------- Header ---------------- */
.header{
  position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--blue-line);
  transition:var(--t);
}
.header.is-stuck{box-shadow:var(--sh-sm);}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.7rem 0;}
.brand__logo{height:88px;width:auto;transition:var(--t);}
.header.is-stuck .brand__logo{height:70px;}

.nav{display:flex;align-items:center;gap:1.4rem;}
.nav__list{display:flex;align-items:center;gap:1.15rem;flex-wrap:nowrap;}
.nav__list a{
  font-size:.9rem;font-weight:500;color:var(--ink);position:relative;padding:.35rem 0;transition:var(--t);
}
.nav__list a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--blue);transition:var(--t);
}
.nav__list a:hover,.nav__list a.is-active{color:var(--blue);}
.nav__list a:hover::after,.nav__list a.is-active::after{width:100%;}
.nav__cta{padding:.62rem 1.15rem;font-size:.87rem;}

.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer;}
.burger span{width:26px;height:2px;background:var(--blue-dark);border-radius:2px;transition:var(--t);}
.burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.is-open span:nth-child(2){opacity:0;}
.burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ---------------- Hero ---------------- */
.hero{position:relative;color:#fff;overflow:hidden;padding:clamp(3.5rem,7vw,6rem) 0 clamp(4rem,8vw,7rem);}
.hero__bg{
  position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(900px 520px at 82% 12%, rgba(47,89,161,.55), transparent 62%),
    linear-gradient(150deg, #132C52 0%, #1B3A6B 45%, #2F59A1 100%);
}
.hero__bg::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 30% 40%, #000, transparent 72%);
}
.hero__bg::after{
  content:"";position:absolute;left:-14%;bottom:-42%;width:62%;height:110%;
  background:radial-gradient(circle, rgba(216,180,90,.14), transparent 68%);
}
.hero__inner{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.hero__title{
  font-family:var(--ff-title);font-weight:500;
  font-size:clamp(2.1rem,4.4vw,3.55rem);line-height:1.14;letter-spacing:-.015em;
  margin:.7rem 0 1.1rem;color:#fff;
}
.hero__title em{font-style:italic;color:#F0D69A;}
.hero__lead{font-size:1.09rem;color:#CBDAF0;max-width:60ch;}
.hero__lead strong{color:#fff;}
.hero__actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.8rem 0 2.4rem;}

.hero__badges{display:flex;gap:2.4rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.18);padding-top:1.5rem;}
.hero__badges li{display:flex;flex-direction:column;}
.hero__badges strong{font-family:var(--ff-title);font-size:2.1rem;line-height:1;color:#F0D69A;}
.hero__badges span{font-size:.83rem;letter-spacing:.06em;text-transform:uppercase;color:#A9C4EC;margin-top:.35rem;}

.hero__media{position:relative;}
.hero__photo{
  width:100%;border-radius:var(--r-lg) var(--r-lg) 120px var(--r-lg);
  box-shadow:var(--sh-lg);border:5px solid rgba(255,255,255,.14);object-fit:cover;aspect-ratio:3/3.6;
}

/* ---------------- Strip de valor ---------------- */
.strip{background:var(--white);padding:clamp(2.5rem,5vw,3.6rem) 0;border-bottom:1px solid var(--blue-line);}
.strip__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;}
.strip__item{padding:1.4rem 1.5rem;border-radius:var(--r);background:var(--silver-soft);transition:var(--t);}
.strip__item:hover{background:var(--blue-soft);transform:translateY(-4px);box-shadow:var(--sh);}
.strip__item svg{width:34px;height:34px;color:var(--blue);margin-bottom:.7rem;}
.strip__item h3{font-family:var(--ff-title);font-size:1.12rem;font-weight:600;color:var(--blue-dark);margin:0 0 .45rem;}
.strip__item p{font-size:.93rem;color:var(--ink-soft);margin:0;line-height:1.6;}

/* ---------------- Secciones ---------------- */
.section{padding:clamp(3.5rem,7vw,6.5rem) 0;}
.section--tint{background:var(--silver-soft);}
.section--home{background:linear-gradient(180deg,#fff 0%, var(--blue-soft) 100%);}
.section--dark{background:linear-gradient(160deg,#132C52 0%, #1B3A6B 55%, #24487F 100%);color:#D7E3F4;}
.section--dark p{color:#C4D4EA;}
.section__head{text-align:center;max-width:900px;margin:0 auto clamp(2.2rem,4vw,3.4rem);}
.section__head .eyebrow::after{left:50%;transform:translateX(-50%);}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.2rem);align-items:center;}
.grid-2--tight{align-items:start;gap:clamp(2rem,4vw,3.2rem);}

.checklist{display:grid;gap:.7rem;margin:1.4rem 0 0;}
.checklist li{position:relative;padding-left:2rem;font-size:.98rem;color:var(--ink-soft);line-height:1.6;}
.checklist li::before{
  content:"";position:absolute;left:0;top:.42em;width:15px;height:15px;border-radius:50%;
  background:var(--blue-soft);
  box-shadow:inset 0 0 0 1.5px var(--blue);
}
.checklist li::after{
  content:"";position:absolute;left:4.5px;top:.72em;width:6px;height:3px;
  border-left:1.8px solid var(--blue);border-bottom:1.8px solid var(--blue);
  transform:rotate(-45deg);
}
.checklist--light li{color:#C9D8EE;}
.checklist--light li::before{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1.5px var(--gold);}
.checklist--light li::after{border-color:var(--gold);}
.checklist--compact li{font-size:.94rem;}

/* Retrato con credenciales */
.portrait{position:relative;margin:0;padding:1.6rem 1.6rem 0 0;}
.portrait::before{
  content:"";position:absolute;top:0;right:0;width:78%;height:74%;
  border-radius:var(--r-lg);
  background:linear-gradient(150deg, var(--blue) 0%, var(--blue-dark) 100%);
}
.portrait::after{
  content:"";position:absolute;left:0;bottom:5.5rem;width:46%;height:38%;
  border-radius:var(--r-lg);border:2px solid var(--silver);opacity:.5;
}
.portrait__frame{position:relative;width:84%;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);}
.portrait__frame img{width:100%;object-fit:cover;aspect-ratio:3/4;}
.portrait__tag{
  position:relative;margin:-3.5rem 0 0 auto;width:min(90%,400px);
  background:var(--blue-dark);color:#fff;
  padding:1.1rem 1.5rem;border-radius:var(--r);box-shadow:var(--sh-lg);
  border-left:4px solid var(--gold);
}
.portrait__tag strong{display:block;font-family:var(--ff-title);font-size:1.28rem;margin-bottom:.35rem;}
.portrait__tag span{display:block;font-size:.86rem;color:#C9D8EE;line-height:1.45;}
.portrait__tag span + span{margin-top:.1rem;}

/* ---------------- Cards ---------------- */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;}
.card{
  background:#fff;border-radius:var(--r-lg);padding:2rem 1.8rem;
  border:1px solid var(--blue-line);box-shadow:var(--sh-sm);transition:var(--t);
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--sh);border-color:var(--blue);}
.card__icon{
  width:56px;height:56px;border-radius:16px;display:grid;place-items:center;
  background:var(--blue-soft);color:var(--blue);margin-bottom:1.1rem;
}
.card__icon svg{width:28px;height:28px;}
.card h3{font-family:var(--ff-title);font-size:1.35rem;font-weight:600;color:var(--blue-dark);margin:0 0 .6rem;}
.card p{font-size:.96rem;color:var(--ink-soft);}
.card--accent{border-top:4px solid var(--gold);}
.card--accent .card__icon{background:#FBF3E0;color:#A9822F;}

.mini-list{margin:.4rem 0 1.2rem;display:grid;gap:.42rem;}
.mini-list li{position:relative;padding-left:1.1rem;font-size:.9rem;color:var(--ink-soft);}
.mini-list li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--silver);}
.card--accent .mini-list li::before{background:var(--gold);}
.card > .link-arrow{margin-top:auto;}

/* ---------------- Departamento jurídico ---------------- */
.dept{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
.dept__cta{margin-top:1.8rem;}
.outcomes{display:grid;gap:.9rem;}
.outcome{
  display:flex;gap:1rem;align-items:flex-start;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r);padding:.85rem 1.1rem;transition:var(--t);
}
.outcome:hover{background:rgba(255,255,255,.11);transform:translateX(4px);}
.outcome span{font-family:var(--ff-title);font-size:1.25rem;color:var(--gold);line-height:1.3;flex:none;}
.outcome p{margin:0;font-size:.95rem;color:#D7E3F4;}

/* ---------------- Tabs ---------------- */
.tabs{background:#fff;border:1px solid var(--blue-line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;}
.tabs__nav{display:flex;flex-wrap:wrap;gap:0;background:var(--silver-soft);border-bottom:1px solid var(--blue-line);}
.tabs__btn{
  flex:1 1 auto;font-family:var(--ff-title);font-size:1.02rem;font-weight:600;
  letter-spacing:.005em;
  padding:1.15rem 1.15rem;background:transparent;border:0;border-bottom:3px solid transparent;
  color:var(--blue-dark);cursor:pointer;transition:var(--t);white-space:nowrap;
}
.tabs__btn:hover{color:var(--blue);background:rgba(47,89,161,.06);}
.tabs__btn.is-active{
  color:#fff;background:linear-gradient(150deg,var(--blue) 0%,var(--blue-dark) 100%);
  border-bottom-color:var(--gold);
}
.tabs__panel{padding:clamp(1.6rem,3.5vw,2.6rem);}
.tabs__panel .h4{
  font-size:1.75rem;color:var(--blue);
  padding-bottom:.6rem;border-bottom:2px solid var(--blue-line);
}
.tabs__panel[hidden]{display:none;}
.tabs__panel.is-active{animation:fadeIn .4s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

.cols-list{columns:2;column-gap:2.6rem;}
.cols-list li{
  break-inside:avoid;position:relative;padding-left:1.5rem;margin-bottom:.62rem;
  font-size:.95rem;color:var(--ink-soft);line-height:1.55;
}
.cols-list li::before{
  content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;
  border-radius:2px;background:var(--blue);transform:rotate(45deg);
}

/* ---------------- Hogar ---------------- */
.section--home{position:relative;overflow:hidden;}
.section--home::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(720px 420px at 88% 6%, rgba(216,180,90,.16), transparent 62%),
    radial-gradient(620px 400px at 4% 92%, rgba(47,89,161,.12), transparent 60%);
  pointer-events:none;
}
.section--home > .container{position:relative;z-index:1;}
.section__head--home{max-width:960px;}
.home__badge{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--blue-dark);color:#F0D69A;
  font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  padding:.55rem 1.3rem;border-radius:999px;margin-bottom:1.3rem;
  box-shadow:0 10px 26px rgba(27,58,107,.28);
}
.home__badge svg{width:18px;height:18px;}
.h2--hero{
  font-size:clamp(2.2rem,4.6vw,3.5rem);
  text-shadow:0 1px 0 rgba(255,255,255,.6);
}
.h2--hero em{font-style:italic;color:var(--blue);}
.home__subtitle{
  text-align:center;margin:clamp(2.4rem,4vw,3.4rem) 0 1.6rem;
  font-size:1.5rem;
}
.home__subtitle::after{
  content:"";display:block;width:64px;height:3px;background:var(--gold);
  margin:.7rem auto 0;border-radius:2px;
}

.roles{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
.role{
  background:#fff;border:1px solid var(--blue-line);border-radius:var(--r);
  padding:1.5rem 1.3rem;text-align:center;transition:var(--t);
}
.role:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--blue);}
.role__ico{
  width:56px;height:56px;margin:0 auto .9rem;border-radius:50%;
  display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);
}
.role__ico svg{width:30px;height:30px;}
.role h4{font-family:var(--ff-title);font-size:1.06rem;font-weight:600;color:var(--blue-dark);margin:0 0 .4rem;}
.role p{font-size:.88rem;color:var(--ink-soft);margin:0;line-height:1.55;text-align:center !important;}
.role--note{background:var(--blue-dark);border-color:var(--blue-dark);}
.role--note .role__ico{background:rgba(255,255,255,.12);color:var(--gold);}
.role--note h4{color:#fff;}
.role--note p{color:#C9D8EE;}

.home-areas{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem;}
.harea{
  position:relative;background:#fff;border-radius:var(--r);padding:2.2rem 1.4rem 1.5rem;
  border-top:4px solid var(--blue);box-shadow:var(--sh-sm);transition:var(--t);
}
.harea:hover{transform:translateY(-5px);box-shadow:var(--sh);}
.harea__num{
  position:absolute;top:-1px;left:1.4rem;
  font-family:var(--ff-title);font-size:.95rem;font-weight:700;color:#fff;
  background:var(--blue);padding:.15rem .7rem;border-radius:0 0 8px 8px;
}
.harea h4{font-family:var(--ff-title);font-size:1.08rem;font-weight:600;color:var(--blue-dark);margin:0 0 .5rem;}
.harea p{font-size:.89rem;color:var(--ink-soft);margin:0;line-height:1.55;}

.home__cta{margin-top:clamp(2.4rem,4vw,3.4rem);text-align:center;}
.home__cta .quote{max-width:760px;margin-inline:auto;}
.home__cta .btn{margin-top:.8rem;}

/* ---------------- Sello Triple Impacto ---------------- */
.section--impact{
  background:
    radial-gradient(900px 600px at 15% 10%, rgba(141,198,63,.18), transparent 60%),
    radial-gradient(700px 500px at 88% 80%, rgba(123,92,214,.20), transparent 62%),
    linear-gradient(155deg,#0B2E1F 0%, #10432C 48%, #0C2C3E 100%);
  color:#DDEBE2;
}
.section--impact p{color:#C6DACE;}
.impact{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.impact__medal{text-align:center;}
.impact__medal img{
  width:min(320px,100%);margin:0 auto;border-radius:50%;
  box-shadow:0 0 0 10px rgba(216,180,90,.15), 0 24px 60px rgba(0,0,0,.4);
  animation:floaty 6s ease-in-out infinite;
}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.impact__caption{
  font-family:var(--ff-title);font-style:italic;font-size:1.15rem;color:#E7D9A8 !important;margin-top:1.4rem;
}
.impact__pillars{display:grid;gap:1.1rem;}
.pillar{
  display:grid;grid-template-columns:auto 1fr;column-gap:1.1rem;align-items:start;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);
  border-radius:var(--r);padding:1.3rem 1.5rem;transition:var(--t);
}
.pillar:hover{background:rgba(255,255,255,.11);transform:translateY(-3px);}
.pillar h3,.pillar p{grid-column:2;}
.pillar__ico{
  grid-column:1;grid-row:1 / span 2;
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.1);
}
.pillar__ico svg{width:26px;height:26px;}
.pillar h3{font-family:var(--ff-title);font-size:1.72rem;font-weight:700;color:#fff;margin:0 0 .45rem;line-height:1.2;}
.pillar p{margin:0;font-size:1.08rem;line-height:1.6;}
.pillar__ico{width:60px;height:60px;}
.pillar__ico svg{width:32px;height:32px;}
.pillar--eco .pillar__ico{color:var(--green-light);}
.pillar--soc .pillar__ico{color:#B49BF5;}
.pillar--amb .pillar__ico{color:#6FD69A;}

.impact__gallery{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,540px));
  justify-content:center;
  gap:clamp(1.6rem,3vw,2.6rem);margin-top:clamp(2.5rem,5vw,4rem);align-items:start;
}
.impact__shot{margin:0;}
.impact__shot img{
  width:100%;border-radius:var(--r-lg);box-shadow:var(--sh-lg);
  border:5px solid rgba(255,255,255,.14);background:#fff;
}
.impact__shot figcaption{margin-top:.9rem;font-size:.88rem;color:#A9C4B7;line-height:1.5;text-align:center;}
.impact__text{margin-top:clamp(2.5rem,5vw,4rem);}
.impact__intro{max-width:940px;margin-inline:auto;}
.impact__text .h4{text-align:center;font-size:1.6rem;}

.fair{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:1.8rem;}
.fair__item{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);
  border-left:4px solid var(--green-light);
  border-radius:var(--r);padding:1.3rem 1.5rem;transition:var(--t);
}
.fair__item:hover{background:rgba(255,255,255,.11);transform:translateY(-3px);}
.fair__item h4{font-family:var(--ff-title);font-size:1.2rem;font-weight:600;color:#fff;margin:0 0 .4rem;}
.fair__item p{margin:0;font-size:.97rem;}
.impact__slogan{
  font-family:var(--ff-title);font-style:italic;font-size:1.2rem;
  color:#E7D9A8 !important;border-left:3px solid var(--green-light);padding-left:1.2rem;margin-top:1.6rem;
}

/* ---------------- Cobertura / mapa ---------------- */
.coverage{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.coverage__map{display:flex;justify-content:center;}
.map{width:100%;max-width:480px;height:auto;overflow:visible;}
.map__shape{transition:var(--t);}
.city{cursor:pointer;outline:none;}
.city__dot{fill:#fff;stroke:var(--gold);stroke-width:3;transition:var(--t);}
.city__pulse{fill:rgba(255,255,255,.28);animation:pulse 2.6s ease-out infinite;transform-box:fill-box;transform-origin:center;}
.city:nth-child(2) .city__pulse{animation-delay:.4s;}
.city:nth-child(3) .city__pulse{animation-delay:.8s;}
.city:nth-child(4) .city__pulse{animation-delay:1.2s;}
.city:nth-child(5) .city__pulse{animation-delay:1.6s;}
@keyframes pulse{
  0%{transform:scale(.45);opacity:.75;}
  70%{transform:scale(1.25);opacity:0;}
  100%{transform:scale(1.25);opacity:0;}
}
.city__label{
  font-family:var(--ff-body);font-size:15px;font-weight:700;fill:var(--blue-dark);
  paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;
}
.city__sub{
  font-family:var(--ff-body);font-size:10.5px;font-weight:500;fill:var(--ink-soft);
  paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round;
}
.city__label--left,.city__sub--left{text-anchor:end;}
.city--main .city__dot{fill:var(--gold);stroke:#fff;}
.city--main .city__label{fill:var(--blue);}
.city:hover .city__dot,.city:focus .city__dot{r:11;fill:var(--gold);stroke:#fff;}
.city:hover .city__label,.city:focus .city__label{fill:var(--blue);}

.coverage__info{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.cov-card{background:#fff;border:1px solid var(--blue-line);border-radius:var(--r);padding:1.3rem 1.4rem;transition:var(--t);}
.cov-card:hover{transform:translateY(-4px);box-shadow:var(--sh);}
.cov-card__ico{width:42px;height:42px;border-radius:12px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;margin-bottom:.7rem;}
.cov-card__ico svg{width:22px;height:22px;}
.cov-card h3{font-family:var(--ff-title);font-size:1.08rem;font-weight:600;color:var(--blue-dark);margin:0 0 .35rem;}
.cov-card p{font-size:.9rem;color:var(--ink-soft);margin:0;line-height:1.55;}
.coverage__note{
  grid-column:1/-1;margin:0;padding:1.1rem 1.4rem;border-radius:var(--r);
  background:var(--blue-dark);color:#D7E3F4;font-size:.97rem;
}
.coverage__note strong{color:#F0D69A;}

/* ---------------- Sectores ---------------- */
.sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.sector{
  background:#fff;border:1px solid var(--blue-line);border-top:4px solid var(--blue);
  border-radius:var(--r);padding:1.5rem 1.5rem;transition:var(--t);
}
.sector:hover{transform:translateY(-5px);box-shadow:var(--sh);}
.sector__ico{
  width:54px;height:54px;border-radius:15px;display:grid;place-items:center;
  background:var(--blue-soft);color:var(--blue);margin-bottom:.9rem;
}
.sector__ico svg{width:29px;height:29px;}
.sector h3{font-family:var(--ff-title);font-size:1.08rem;font-weight:600;color:var(--blue-dark);margin:0 0 .5rem;}
.sector p{font-size:.9rem;color:var(--ink-soft);margin:0;line-height:1.6;}
.sector--case{border-top-color:var(--gold);}
.sector--case .sector__ico{background:#FBF3E0;color:#A9822F;}

/* ---------------- Testimonios ---------------- */
.voices{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(2rem,4vw,3.4rem);align-items:center;}
.voices__photo{margin:0;position:relative;}
.voices__photo::before{
  content:"";position:absolute;inset:1.5rem -1.5rem -1.5rem 1.5rem;
  border-radius:var(--r-lg);background:linear-gradient(150deg,var(--blue) 0%,var(--blue-dark) 100%);
}
.voices__photo img{
  position:relative;width:100%;border-radius:var(--r-lg);
  box-shadow:var(--sh-lg);object-fit:cover;aspect-ratio:3/4;
}
.voices__list{display:grid;gap:1.4rem;}
.voice{
  position:relative;margin:0;background:#fff;border:1px solid var(--blue-line);
  border-radius:var(--r-lg);padding:2.2rem 2rem 1.6rem;box-shadow:var(--sh-sm);transition:var(--t);
}
.voice:hover{transform:translateY(-4px);box-shadow:var(--sh);}
.voice__mark{position:absolute;top:1.2rem;left:1.9rem;width:34px;height:34px;color:var(--blue-line);}
.voice p{
  position:relative;font-family:var(--ff-title);font-style:italic;
  font-size:1.12rem;line-height:1.62;color:var(--blue-dark);margin:0 0 1rem;
}
.voice figcaption{
  font-size:.9rem;font-weight:600;color:var(--blue);
  display:flex;align-items:center;gap:.6rem;
}
.voice figcaption::before{content:"";width:26px;height:2px;background:var(--gold);flex:none;}
.voice figcaption span{font-weight:400;color:var(--ink-soft);}
.voice figcaption span::before{content:"· ";}
.sectors__foot{
  margin:2.4rem auto 0;max-width:860px;text-align:center;
  font-size:1.02rem;color:var(--ink-soft);
}
.sectors__foot strong{color:var(--blue-dark);}

/* ---------------- Proceso ---------------- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1.4rem;counter-reset:s;}
.step{position:relative;background:#fff;border-radius:var(--r-lg);padding:2.2rem 1.6rem 1.6rem;box-shadow:var(--sh-sm);transition:var(--t);}
.step:hover{transform:translateY(-5px);box-shadow:var(--sh);}
.step__num{
  position:absolute;top:-22px;left:1.6rem;width:46px;height:46px;border-radius:50%;
  display:grid;place-items:center;background:var(--blue);color:#fff;
  font-family:var(--ff-title);font-size:1.25rem;font-weight:600;box-shadow:0 8px 20px rgba(47,89,161,.35);
}
.step h3{font-family:var(--ff-title);font-size:1.16rem;font-weight:600;color:var(--blue-dark);margin:.5rem 0 .5rem;}
.step p{font-size:.93rem;color:var(--ink-soft);margin:0;line-height:1.6;}

/* ---------------- Contacto ---------------- */
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,3.6rem);align-items:start;}
.contact__info{display:grid;gap:.9rem;}
.cinfo{
  display:flex;align-items:center;gap:1rem;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);
  border-radius:var(--r);padding:1rem 1.2rem;transition:var(--t);
}
a.cinfo:hover{background:rgba(255,255,255,.12);transform:translateX(4px);}
.cinfo__ico{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.1);color:var(--gold);display:grid;place-items:center;flex:none;}
.cinfo__ico svg{width:21px;height:21px;}
.cinfo > span:last-child{display:flex;flex-direction:column;font-size:.95rem;color:#D7E3F4;line-height:1.4;}
.cinfo strong{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#A9C4EC;font-weight:600;}

.qr{
  margin:.6rem 0 0;display:flex;flex-direction:column;align-items:center;gap:.8rem;
  background:#fff;border-radius:var(--r-lg);padding:1.4rem 1.2rem;text-align:center;
}
.qr img{width:210px;height:210px;object-fit:contain;flex:none;}
.qr figcaption{font-size:1rem;color:var(--blue-dark);font-weight:600;}

.contact__form{background:#fff;border-radius:var(--r-lg);padding:clamp(1.6rem,3vw,2.4rem);box-shadow:var(--sh-lg);}
.field{display:flex;flex-direction:column;margin-bottom:1.05rem;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.field label{font-size:.83rem;font-weight:600;color:var(--blue-dark);margin-bottom:.4rem;}
.field input,.field select,.field textarea{
  font-family:var(--ff-body);font-size:.96rem;color:var(--ink);
  padding:.78rem .95rem;border:1.5px solid var(--blue-line);border-radius:10px;
  background:#fff;transition:var(--t);width:100%;
}
.field textarea{resize:vertical;min-height:120px;}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(47,89,161,.13);
}
.field input.is-error,.field select.is-error,.field textarea.is-error{border-color:#D64545;background:#FDF3F3;}
.check{display:flex;gap:.65rem;align-items:flex-start;margin:.4rem 0 1.3rem;font-size:.84rem;color:var(--ink-soft);line-height:1.5;cursor:pointer;}
.check input{margin-top:.25rem;width:17px;height:17px;accent-color:var(--blue);flex:none;}
.check.is-error span{color:#C03434;}
.form__note{font-size:.82rem;color:var(--ink-soft);text-align:center;margin:.9rem 0 0;}

/* ---------------- Footer ---------------- */
.footer{background:#0E2440;color:#A9BBD3;font-size:.93rem;}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.6rem;padding:clamp(3rem,5vw,4.4rem) 0 2.6rem;}
.footer__logo{height:78px;width:auto;filter:brightness(0) invert(1);opacity:.95;margin-bottom:1.2rem;}
.footer__brand p{font-size:.92rem;line-height:1.7;}
.footer__slogan{font-family:var(--ff-title);font-style:italic;color:#E7CE95;font-size:1rem;}
.footer__col h3{
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;
  margin:0 0 1.1rem;font-weight:600;font-family:var(--ff-body);
}
.footer__col ul{display:grid;gap:.55rem;}
.footer__col a{transition:var(--t);}
.footer__col a:hover{color:#fff;}
.footer__social{display:flex;gap:.5rem;margin-top:1.3rem;}
.footer__social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:var(--t);}
.footer__social a svg{width:18px;height:18px;}
.footer__social a:hover{background:var(--blue);color:#fff;transform:translateY(-3px);}
.footer__col--seal{text-align:left;}
.footer__seal{width:84px;height:84px;border-radius:50%;margin-bottom:.8rem;box-shadow:0 0 0 5px rgba(216,180,90,.18);}
.footer__col--seal p{font-size:.88rem;line-height:1.45;margin:0;color:#fff;}
.footer__col--seal span{color:#A9BBD3;font-size:.82rem;}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.2rem 0;}
.footer__bottom-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.82rem;}
.footer__bottom p{margin:0;}
.footer__legal{color:#7E93AF;}

/* ---------------- Flotantes ---------------- */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:90;
  display:flex;align-items:center;gap:.55rem;
  background:var(--wa);color:#08301A;font-weight:700;font-size:.92rem;
  padding:.85rem 1.3rem .85rem 1.05rem;border-radius:999px;
  box-shadow:0 12px 34px rgba(37,211,102,.45);transition:var(--t);
}
.wa-float svg{width:24px;height:24px;flex:none;}
.wa-float:hover{background:var(--wa-dark);color:#fff;transform:scale(1.05);}

.to-top{
  position:fixed;right:26px;bottom:96px;z-index:89;
  width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;
  background:var(--blue-dark);color:#fff;display:grid;place-items:center;
  opacity:0;pointer-events:none;transition:var(--t);box-shadow:var(--sh);
}
.to-top svg{width:20px;height:20px;}
.to-top.is-visible{opacity:1;pointer-events:auto;}
.to-top:hover{background:var(--blue);transform:translateY(-3px);}

/* ---------------- Animación reveal ---------------- */
/* Sin JS el contenido siempre es visible; la animación solo se activa con .js */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1);}
.js .reveal.is-in{opacity:1;transform:none;}

/* ---------------- Ajustes de revisión ---------------- */

/* Las frases destacadas se perdían: ahora en negrita y más contraste */
.quote{font-weight:700;color:var(--blue-dark);}
.impact__slogan,.hero__title em{font-weight:700;}


/* Reconocimiento debajo de la primera foto */
.hero__award{
  display:flex;align-items:center;gap:1.2rem;
  margin-top:1.4rem;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(216,180,90,.8);
  border-left:5px solid var(--gold);
  border-radius:18px;
  padding:1.1rem 1.4rem;
  box-shadow:0 16px 40px rgba(9,25,50,.3);
  transition:var(--t);
}
.hero__award:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(9,25,50,.4);}
.hero__award-medal{
  width:96px;height:96px;border-radius:50%;flex:none;
  box-shadow:0 0 0 4px rgba(216,180,90,.28), 0 6px 16px rgba(0,0,0,.25);
}
.hero__award-txt{display:flex;flex-direction:column;line-height:1.3;}
.hero__award strong{
  font-family:var(--ff-title);font-size:1.18rem;font-weight:700;color:var(--blue-dark);
}
.hero__award em{
  font-family:var(--ff-title);font-style:italic;font-size:.98rem;font-weight:600;
  color:var(--blue);margin:.2rem 0 .35rem;
}
.hero__award small{font-size:.72rem;color:var(--ink-soft);line-height:1.45;}

/* Entidades que otorgan el sello */
.grantors{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;
  margin:1.6rem auto 0;max-width:900px;
}
.grantors li{
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);
  border-radius:999px;padding:.42rem 1.1rem;
  font-size:.85rem;font-weight:600;color:#E4F0E9;
}

/* Diploma más pequeño, foto de la entrega al lado */
.impact__shot img{height:340px;object-fit:cover;padding:0;}
.impact__shot:last-child img{object-fit:contain;background:#fff;padding:12px;}

/* Redes visibles en contacto */
.follow{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r);padding:1.3rem 1.4rem;margin-top:.4rem;
}
.follow__title{
  margin:0 0 .9rem;font-size:.76rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold) !important;text-align:center;
}
.follow__links{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;}
.follow__link{
  display:flex;align-items:center;gap:.7rem;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  border-radius:12px;padding:.7rem .9rem;
  font-size:.9rem;font-weight:600;color:#EAF1FB;transition:var(--t);
}
.follow__link svg{width:26px;height:26px;flex:none;}
.follow__link:hover{transform:translateY(-3px);color:#fff;border-color:transparent;}
.follow__link--ig:hover{background:linear-gradient(45deg,#F09433,#DC2743 45%,#BC1888);}
.follow__link--fb:hover{background:#1877F2;}
.follow__link--tt:hover{background:#111;}
.follow__link--li:hover{background:#0A66C2;}
.follow__note{
  margin:.9rem 0 0;font-size:.78rem;color:#A9C4EC !important;text-align:center;
}

/* Iconos de redes más grandes para identificarlos mejor */
.topbar__social a{width:40px;height:40px;}
.topbar__social a svg{width:22px;height:22px;}
.footer__social a{width:46px;height:46px;}
.footer__social a svg{width:24px;height:24px;}

/* Cada área de práctica con su propio color */
.tabs__btn.is-active{background:var(--blue);}
#t-laboral.is-active{background:linear-gradient(150deg,#3A69B5,#1B3A6B);}
#t-comercial.is-active{background:linear-gradient(150deg,#129155,#0B5C33);}
#t-admin.is-active{background:linear-gradient(150deg,#7E5FC0,#4B327F);}
#t-civil.is-active{background:linear-gradient(150deg,#C98A28,#8A5A11);}
#t-familia.is-active{background:linear-gradient(150deg,#C2496F,#872F4A);}
#t-concil.is-active{background:linear-gradient(150deg,#128B96,#0A5A61);}
#t-judicial.is-active{background:linear-gradient(150deg,#31507E,#16294A);}

#p-laboral .h4{color:#2F59A1;}
#p-comercial .h4{color:#0B5C33;}
#p-admin .h4{color:#4B327F;}
#p-civil .h4{color:#8A5A11;}
#p-familia .h4{color:#872F4A;}
#p-concil .h4{color:#0A5A61;}
#p-judicial .h4{color:#16294A;}

#p-comercial .cols-list li::before{background:#129155;}
#p-admin .cols-list li::before{background:#7E5FC0;}
#p-civil .cols-list li::before{background:#C98A28;}
#p-familia .cols-list li::before{background:#C2496F;}
#p-concil .cols-list li::before{background:#128B96;}
#p-judicial .cols-list li::before{background:#31507E;}

/* ---------------- Responsive ---------------- */
/* Entre 1100 y 1400 px la barra queda justa: se compacta antes de romperse. */
@media (max-width:1400px){
  .nav{gap:1rem;}
  .nav__list{gap:.8rem;}
  .nav__list a{font-size:.83rem;}
  .nav__cta{padding:.55rem .95rem;font-size:.8rem;}
  .nav__cta .ico{width:16px;height:16px;}
  .brand__logo{height:74px;}
  .header.is-stuck .brand__logo{height:62px;}
}

@media (max-width:1080px){
  .strip__grid{grid-template-columns:repeat(2,1fr);}
  .sectors{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(3,1fr);gap:2.6rem 1.6rem;}
  .footer__grid{grid-template-columns:1fr 1fr;gap:2.2rem;}
  .roles{grid-template-columns:repeat(2,1fr);}
  .home-areas{grid-template-columns:repeat(2,1fr);}
  .fair{grid-template-columns:1fr;}
}

@media (max-width:1100px){
  /* El backdrop-filter del header crearía un bloque contenedor y encerraría
     el menú dentro de la barra: se desactiva en móvil. */
  .header{backdrop-filter:none;background:#fff;}
  .nav{
    position:fixed;inset:0 0 0 auto;width:min(85vw,340px);
    height:100vh;height:100dvh;
    flex-direction:column;align-items:flex-start;justify-content:flex-start;
    background:#fff;box-shadow:-14px 0 50px rgba(19,44,82,.2);
    padding:5.5rem 2rem 2rem;gap:1.4rem;
    transform:translateX(105%);transition:transform .4s cubic-bezier(.22,.61,.36,1);
    overflow-y:auto;z-index:120;
  }
  .nav.is-open{transform:none;}
  .nav__list{flex-direction:column;align-items:flex-start;gap:1.1rem;width:100%;}
  .nav__list a{font-size:1rem;}
  .burger{display:flex;position:relative;z-index:130;}
  .brand__logo,.header.is-stuck .brand__logo{height:66px;}

  .hero__inner{grid-template-columns:1fr;}
  .hero__media{max-width:460px;margin-inline:auto;order:-1;}
  .hero__photo{aspect-ratio:4/3.2;}
  .hero__seal{left:8px;bottom:-20px;}

  .grid-2,.dept,.impact,.coverage,.contact,.voices{grid-template-columns:1fr;}
  .cards-3{grid-template-columns:1fr;}
  .impact__medal img{width:min(260px,70%);}
  .cols-list{columns:1;}
  .portrait{max-width:460px;margin-inline:auto;}
  .voices__photo{max-width:380px;margin-inline:auto;}
  .voices__photo::before{inset:1.2rem -1rem -1rem 1.2rem;}
}

@media (max-width:680px){
  body{font-size:16px;}
  .topbar__contact{gap:.9rem;font-size:.78rem;}
  .topbar__item--plain{display:none;}
  .strip__grid,.sectors,.steps,.coverage__info,.field-row,.footer__grid,
  .roles,.home-areas{grid-template-columns:1fr;}
  .qr img{width:min(230px,72vw);height:auto;aspect-ratio:1;}
  .pillar h3{font-size:1.45rem;}
  .pillar p{font-size:1rem;}
  .tabs__panel .h4{font-size:1.4rem;}
  /* En pantallas angostas la cita justificada abre huecos: se deja a la izquierda. */
  .voice p{text-align:left;}
  .steps{gap:2.6rem;}
  .hero__badges{gap:1.6rem;}
  .hero__badges strong{font-size:1.7rem;}
  .hero__actions .btn{width:100%;}
  .tabs__btn{flex:1 1 100%;text-align:left;border-bottom:1px solid var(--blue-line);}
  .tabs__btn.is-active{border-bottom-color:var(--blue);}
  .quote{font-size:1.06rem;}
  .wa-float span{display:none;}
  .wa-float{padding:.95rem;}
  .to-top{bottom:88px;right:24px;}
  .footer__bottom-inner{flex-direction:column;gap:.4rem;}
  .qr{flex-direction:column;text-align:center;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;}
}

/* ---------------- Responsive de los ajustes de revisión ---------------- */
@media (max-width:1100px){
  .hero__award{max-width:none;}
}

@media (max-width:680px){
  .follow__links{grid-template-columns:1fr;}
  .impact__shot img{height:260px;}
  .grantors li{font-size:.78rem;padding:.35rem .9rem;}
  .hero__award{flex-direction:column;text-align:center;gap:.8rem;padding:1.2rem 1.1rem;}
  .hero__award-medal{width:82px;height:82px;}
  .hero__award-txt{align-items:center;}
  .hero__award small{text-align:center;}
}
