:root{
  --navy:#0A2342;
  --blue:#2E5D8A;
  --burgundy:#7A1E2D;
  --silver:#C7CCD1;
  --ivory:#F6F2EA;

  --text:#0b1320;
  --muted:#546173;
  --card:#ffffff;
  --bg:#ffffff;

  --radius:18px;
  --radius-sm:12px;

  --shadow:0 10px 30px rgba(10,35,66,.18);
  --shadow-soft:0 10px 24px rgba(10,35,66,.10);

  --container:1120px;
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}
img{max-width:100%; height:auto; display:block}
a{color:inherit; text-decoration:none}
ul{padding-left:1.1rem}

.container{width:min(var(--container), calc(100% - 2rem)); margin-inline:auto;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

.skip-link{
  position:absolute; left:1rem; top:1rem;
  padding:.75rem 1rem; background:#fff; border-radius:10px;
  box-shadow:var(--shadow-soft);
  transform:translateY(-140%);
  transition:transform .2s var(--ease);
  z-index:9999;
}
.skip-link:focus{transform:translateY(0)}

/* Header */
.site-header{
  position:sticky; top:0; z-index:1000;
  background:linear-gradient(180deg, rgba(10,35,66,.86), rgba(10,35,66,.55));
  backdrop-filter:saturate(160%) blur(8px);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.site-header.is-scrolled{background:rgba(10,35,66,.86);}

.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:.85rem 0;
}
.brand{display:flex; align-items:center; gap:.6rem; min-width:170px;}

.brand-logo{
  width:115px;
  height:115px;
}

.brand-name{font-weight:700; letter-spacing:.2px; color:#fff;}

.nav{display:flex; gap:1rem; align-items:center;}
.nav-link{
  color:rgba(255,255,255,.86);
  font-weight:600; font-size:.92rem;
  padding:.45rem .55rem; border-radius:10px;
  transition:color .2s var(--ease), background .2s var(--ease), transform .2s var(--ease);
}
.nav-link:hover{background:rgba(255,255,255,.10); color:#fff; transform:translateY(-1px);}

.header-actions{display:flex; align-items:center; gap:.65rem;}
.lang-pill{
  font-weight:800; letter-spacing:.6px; font-size:.82rem;
  padding:.25rem .55rem; border-radius:999px;
  color:#fff; background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:.5rem; border-radius:999px;
  padding:.75rem 1.05rem;
  border:1px solid transparent;
  font-weight:700; cursor:pointer;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);
  user-select:none; line-height:1;
}
.btn:active{transform:translateY(1px)}
.btn-primary{
  background:linear-gradient(135deg, var(--burgundy), #9c2c3f);
  color:#fff; box-shadow:0 14px 30px rgba(122,30,45,.25);
}
.btn-primary:hover{transform:translateY(-1px); box-shadow:0 18px 38px rgba(122,30,45,.30)}
.btn-secondary{
  background:rgba(255,255,255,.10);
  color:#fff;
  border-color:rgba(255,255,255,.22);
}
.section-light .btn-secondary{
  background:#fff; color:var(--navy);
  border-color:rgba(10,35,66,.14);
}
.btn-secondary:hover{transform:translateY(-1px); box-shadow:var(--shadow-soft)}
.btn-ghost{
  background:transparent;
  color:var(--navy);
  border-color:rgba(10,35,66,.18);
}
.btn-ghost:hover{background:rgba(10,35,66,.04); transform:translateY(-1px)}
.btn-icon{width:44px;height:44px;padding:0;}
.btn-inverse{color:#fff;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06);}
.btn-inverse:hover{background:rgba(255,255,255,.10); transform:translateY(-1px);}

.nav-toggle{display:none}
.hamburger{
  width:18px;height:12px;
  border-top:2px solid rgba(255,255,255,.9);
  border-bottom:2px solid rgba(255,255,255,.9);
  position:relative;
}
.hamburger::after{
  content:""; position:absolute; left:0; right:0; top:50%;
  transform:translateY(-50%);
  border-top:2px solid rgba(255,255,255,.9);
}
.mobile-nav{background:rgba(10,35,66,.95); border-bottom:1px solid rgba(255,255,255,.12);}
.mobile-nav-inner{display:grid; gap:.35rem; padding:.75rem 0 1rem;}
.mobile-link{color:rgba(255,255,255,.92); font-weight:700; padding:.7rem .75rem; border-radius:12px;}
.mobile-link:hover{background:rgba(255,255,255,.10)}

/* Hero */
.hero{
  position:relative; min-height:78vh;
  display:flex; align-items:center; overflow:hidden;
  background:var(--navy);
}
.hero-bg{
  position:absolute; inset:0;

  /* IMPORTANTE: la imagen va al final (capa de abajo).
     Lo de arriba son overlays para que el texto se lea bien. */
  background:
    linear-gradient(90deg,
      rgba(10,35,66,.92) 0%,
      rgba(10,35,66,.74) 48%,
      rgba(10,35,66,.38) 100%
    ),
    radial-gradient(900px 420px at 18% 28%, rgba(46,93,138,.45), transparent 58%),
    radial-gradient(700px 380px at 78% 12%, rgba(122,30,45,.28), transparent 60%),
    url("../img/fondo-top.png") center / cover no-repeat;

  animation:floatGlow 12s var(--ease) infinite alternate;
  filter:saturate(1.05) contrast(1.02);
}

@keyframes floatGlow{from{filter:saturate(120%)}to{filter:saturate(160%)}}

.hero-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.25fr .85fr;
  gap:2.2rem; padding:5.25rem 0 4.25rem;
}
.hero-copy{color:#fff}
.eyebrow{
  margin:0 0 .65rem; color:rgba(255,255,255,.86);
  text-transform:uppercase; letter-spacing:.22em;
  font-weight:800; font-size:.78rem;
}
.hero-title{
  margin:0 0 1rem;
  font-size:clamp(2.05rem, 3.4vw, 3.05rem);
  line-height:1.07;
}
.hero-subtitle{margin:0 0 1.5rem; color:rgba(255,255,255,.86); max-width:55ch;}
.hero-actions{display:flex; flex-wrap:wrap; gap:.75rem; margin-bottom:1.35rem;}
.trust-row{list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; padding:0; margin:0;}
.trust-item{
  padding:.5rem .75rem; border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.92);
  font-weight:700; font-size:.88rem;
}
.hero-card{
  align-self:center;
  background:rgba(246,242,234,.95);
  color:var(--navy);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  border:1px solid rgba(199,204,209,.55);
  padding:1.25rem 1.2rem;
}
.hero-card-badge{display:flex; align-items:center; gap:.55rem; font-weight:900;}
.dot{width:10px;height:10px;border-radius:999px;background:var(--burgundy);box-shadow:0 0 0 6px rgba(122,30,45,.16);}
.hero-card-text{margin:.85rem 0 1rem; color:rgba(10,35,66,.82); font-weight:650;}
.hero-card-meta{display:grid; grid-template-columns:1fr 1fr; gap:.75rem;}
.meta{padding:.75rem; border-radius:14px; background:#fff; border:1px solid rgba(10,35,66,.10);}
.meta-label{display:block;font-size:.78rem;color:rgba(10,35,66,.62);font-weight:800;text-transform:uppercase;letter-spacing:.12em;}
.meta-value{display:block;margin-top:.15rem;font-weight:900;}

.hero-bottom-fade{position:absolute; inset:auto 0 0 0; height:90px; background:linear-gradient(180deg, transparent, #fff); pointer-events:none;}

/* Sections */
.section{padding:4.25rem 0}
.section-light{background:#fff}
.section-ivory{background:linear-gradient(180deg, #fff, var(--ivory))}
.section-head{margin-bottom:1.6rem; text-align:center;}
.section-title{margin:0 0 .45rem; font-size:clamp(1.6rem, 2.2vw, 2.1rem); color:var(--burgundy); letter-spacing:.2px;}
.section-desc{margin:0 auto; max-width:70ch; color:var(--muted); font-weight:600;}

/* Cards */
.cards-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.15rem;}
.card{background:var(--card); border-radius:var(--radius); border:1px solid rgba(12, 9, 49, 0.1); box-shadow:var(--shadow-soft);}
.service-card{padding:1.15rem 1.1rem; transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);}
.service-card:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:rgba(46,93,138,.26);}
.card-icon{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--burgundy),#9c2c3f);
  box-shadow:0 10px 22px rgba(122,30,45,.22);
  margin-bottom:.8rem;
}
.card-icon svg{width:22px;height:22px; fill:#fff}
.card-title{margin:0 0 .55rem; color:var(--navy); font-size:1.05rem; font-weight:900;}
.card-list{margin:0; color:rgba(10,35,66,.75); font-weight:650;}
.card-list li{margin:.28rem 0}

/* About */
.about-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:1.8rem; align-items:center;}
.about-photo{
  height:380px;
  border-radius:var(--radius);
  border:1px solid rgba(10,35,66,.10);
  box-shadow:var(--shadow);
  overflow:hidden;

  background:
    linear-gradient(135deg, rgba(10,35,66,.35), rgba(10,35,66,.10)),
    url("../img/about.jpeg  ") center / cover no-repeat;
}
.about-text{margin:.9rem 0 1.1rem; color:rgba(10,35,66,.80); font-weight:650;}
.stats-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:.85rem; margin:1rem 0 1.25rem;}
.stat{background:#fff;border:1px solid rgba(10,35,66,.10);border-radius:var(--radius-sm);padding:.95rem;}
.stat-num{font-size:1.8rem;font-weight:1000;letter-spacing:.5px;color:var(--burgundy);}
.stat-label{margin-top:.25rem;color:rgba(10,35,66,.70);font-weight:750;}

/* Blog */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.15rem;}
.blog-card{overflow:hidden}
.blog-thumb{height:160px;background:
  radial-gradient(500px 170px at 20% 40%, rgba(46,93,138,.35), transparent 55%),
  linear-gradient(135deg, rgba(10,35,66,.92), rgba(10,35,66,.62));
}
.blog-thumb-2{background:
  radial-gradient(500px 170px at 80% 20%, rgba(122,30,45,.35), transparent 55%),
  linear-gradient(135deg, rgba(10,35,66,.92), rgba(10,35,66,.62));
}
.blog-thumb-3{background:
  radial-gradient(500px 170px at 40% 30%, rgba(199,204,209,.45), transparent 55%),
  linear-gradient(135deg, rgba(10,35,66,.92), rgba(10,35,66,.62));
}
.blog-body{padding:1.05rem 1.1rem 1.15rem}
.card-snippet{margin:.2rem 0 .85rem; color:rgba(10,35,66,.70); font-weight:650;}

/* CTA band */
.cta-band{
  background:linear-gradient(135deg, var(--navy), #061629);
  color:#fff; position:relative; overflow:hidden;
}
.cta-band::before{
  content:""; position:absolute; inset:-40%;
  background:
    radial-gradient(600px 260px at 20% 35%, rgba(46,93,138,.45), transparent 60%),
    radial-gradient(560px 240px at 80% 55%, rgba(122,30,45,.40), transparent 60%);
  transform:rotate(-8deg);
}
.cta-inner{
  position:relative; z-index:1;
  display:flex; align-items:center; justify-content:space-between;
  gap:1.2rem;
}
.cta-title{margin:0 0 .35rem; font-size:clamp(1.45rem, 2.2vw, 2rem); line-height:1.12;}
.cta-desc{margin:0; color:rgba(255,255,255,.86); font-weight:650;}
.cta-actions{display:flex; flex-wrap:wrap; gap:.75rem;}

/* Footer */
.site-footer{
  background:linear-gradient(180deg, #061629, #031021);
  color:rgba(255,255,255,.90);
  padding:3rem 0 1.4rem;
}
.footer-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:1.4rem; align-items:start;}
.footer-logo{background:rgba(255,255,255,.06); padding:6px; border-radius:14px;}
.footer-title{margin:0 0 .65rem; color:#fff; font-weight:900;}
.footer-text, .footer-links{margin:0; color:rgba(255,255,255,.78); font-weight:650;}
.footer-links{padding-left:1.1rem}
.footer-links a:hover{color:#fff}
.footer-bottom{margin-top:2rem; padding-top:1.1rem; border-top:1px solid rgba(255,255,255,.10);}
.footer-small{margin:0; color:rgba(255,255,255,.70); font-weight:650;}

/* Reveal */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .65s var(--ease), transform .65s var(--ease);}
.reveal.is-visible{opacity:1; transform:translateY(0);}

/* Responsive */
@media (max-width: 980px){
  .nav{display:none}
  .nav-toggle{display:inline-flex}
  .hero-grid{grid-template-columns:1fr; padding:4.4rem 0 3.6rem}
  .hero-card{max-width:520px}
  .cards-grid{grid-template-columns:repeat(2,1fr)}
  .about-grid{grid-template-columns:1fr}
  .about-photo{height:320px}
  .blog-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cta-inner{flex-direction:column; align-items:flex-start}
}
@media (max-width: 560px){
  .cards-grid{grid-template-columns:1fr}
  .header-cta{display:none}
  .brand-name{display:none}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *{animation:none !important; transition:none !important}
}

/* =========================
   Servicios — página dedicada
   ========================= */

   .page-hero{
    background:linear-gradient(180deg, #fff, var(--ivory));
    padding:3.4rem 0 1.25rem;
  }
  .page-hero-inner{
    display:grid;
    gap:1rem;
  }
  .page-kicker{color:rgba(10,35,66,.70)}
  .page-title{
    margin:.2rem 0 .55rem;
    font-size:clamp(2.0rem, 3.0vw, 2.6rem);
    line-height:1.08;
    color:var(--navy);
    letter-spacing:.2px;
  }
  .page-subtitle{
    margin:0;
    max-width:75ch;
    color:rgba(10,35,66,.70);
    font-weight:650;
  }
  
  /* Chips (móvil) */
  .svc-chips{
    display:none;
    gap:.55rem;
    overflow:auto;
    padding:.45rem .1rem .1rem;
    scrollbar-width:thin;
  }
  .chip{
    white-space:nowrap;
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.55rem .85rem;
    border-radius:999px;
    border:1px solid rgba(46,93,138,.20);
    background:rgba(46,93,138,.08);
    color:rgba(10,35,66,.86);
    font-weight:850;
    transition:transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);
  }
  .chip:hover{transform:translateY(-1px); background:rgba(46,93,138,.12); border-color:rgba(46,93,138,.30)}
  .chip.is-active{
    background:linear-gradient(135deg, rgba(122,30,45,.18), rgba(46,93,138,.14));
    border-color:rgba(122,30,45,.28);
  }
  
  /* Layout */
  .svc-wrap{padding:2.25rem 0 3.75rem; background:#fff;}
  .svc-layout{
    display:grid;
    grid-template-columns: 270px 1fr;
    gap:1.35rem;
    align-items:start;
  }
  
  .svc-sidebar{
    position:sticky;
    top:92px;
    padding:1rem;
    border-radius:var(--radius);
    border:1px solid rgba(10,35,66,.10);
    background:linear-gradient(180deg, rgba(46,93,138,.10), rgba(46,93,138,.04));
    box-shadow:var(--shadow-soft);
  }
  .svc-sidebar-title{
    margin:0 0 .75rem;
    color:var(--burgundy);
    font-size:1.05rem;
    font-weight:950;
  }
  .svc-side-nav{display:grid; gap:.35rem;}
  .svc-side-link{
    padding:.65rem .7rem;
    border-radius:14px;
    border:1px solid rgba(10,35,66,.10);
    background:#fff;
    color:rgba(10,35,66,.80);
    font-weight:850;
    transition:transform .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);
  }
  .svc-side-link:hover{transform:translateY(-1px); border-color:rgba(46,93,138,.28); box-shadow:var(--shadow-soft)}
  .svc-side-link.is-active{
    border-color:rgba(122,30,45,.32);
    box-shadow:0 14px 30px rgba(122,30,45,.10);
  }
  
  /* Secciones */
  .svc-content{display:grid; gap:2.1rem;}
  .svc-section{scroll-margin-top:95px;}
  .svc-block{
    display:grid;
    grid-template-columns: 1.05fr .95fr;
    gap:1.25rem;
    padding:1.25rem 1.15rem;
    border-radius:var(--radius);
    border:1px solid rgba(10,35,66,.10);
    background:linear-gradient(180deg, rgba(46,93,138,.08), rgba(46,93,138,.03));
    box-shadow:var(--shadow-soft);
  }
  .svc-title{
    margin:0 0 .55rem;
    color:var(--burgundy);
    font-size:clamp(1.35rem, 2.0vw, 1.65rem);
    letter-spacing:.2px;
  }
  .svc-desc{
    margin:0 0 .85rem;
    color:rgba(10,35,66,.74);
    font-weight:650;
  }
  .svc-list{
    margin:0;
    color:rgba(10,35,66,.80);
    font-weight:650;
  }
  .svc-list li{margin:.35rem 0}
  
  /* Media cards */
  .svc-media{
    display:grid;
    grid-template-columns: 1fr;
    gap:.85rem;
    align-content:start;
  }
  .svc-card{
    margin:0;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid rgba(10,35,66,.10);
    background:#fff;
    box-shadow:var(--shadow-soft);
    position:relative;
    transition:transform .2s var(--ease), box-shadow .2s var(--ease);
  }
  .svc-card:hover{transform:translateY(-3px); box-shadow:var(--shadow)}
  .svc-card img{width:100%; height:auto; display:block;}
  .svc-tag{
    position:absolute;
    left:.85rem;
    top:.85rem;
    padding:.35rem .65rem;
    border-radius:999px;
    background:rgba(10,35,66,.84);
    color:#fff;
    font-weight:900;
    font-size:.82rem;
    border:1px solid rgba(255,255,255,.16);
  }
  
  /* Método */
  .svc-method{
    padding:1.25rem 1.15rem;
    border-radius:var(--radius);
    border:1px solid rgba(10,35,66,.10);
    background:linear-gradient(180deg, rgba(246,242,234,.85), rgba(246,242,234,.55));
    box-shadow:var(--shadow-soft);
  }
  .method-grid{
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    gap:.85rem;
    margin-top:1rem;
  }
  .method-step{
    background:#fff;
    border:1px solid rgba(10,35,66,.10);
    border-radius:var(--radius-sm);
    padding:.95rem;
    box-shadow:var(--shadow-soft);
  }
  .method-num{
    font-weight:1000;
    letter-spacing:.12em;
    color:rgba(46,93,138,.90);
  }
  .method-title{
    margin:.45rem 0 .25rem;
    color:var(--navy);
    font-weight:950;
    font-size:1rem;
  }
  .method-text{
    margin:0;
    color:rgba(10,35,66,.72);
    font-weight:650;
  }
  .svc-method-media{margin-top:1rem;}
  .method-image{
    width:100%;
    height:auto;
    border-radius:var(--radius);
    border:1px solid rgba(10,35,66,.10);
    box-shadow:var(--shadow);
  }
  
  /* Responsive */
  @media (max-width: 980px){
    .svc-layout{grid-template-columns:1fr}
    .svc-sidebar{display:none}
    .svc-chips{display:flex}
    .svc-block{grid-template-columns:1fr}
    .method-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width: 560px){
    .method-grid{grid-template-columns:1fr}
  }
  
  /* =========================
   Nosotros — página dedicada
   ========================= */

.about-hero{
  position:relative;
  overflow:hidden;
  background:var(--navy);
  padding:4.4rem 0 3.1rem;
}
.about-hero-bg{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg,
      rgba(10,35,66,.92) 0%,
      rgba(10,35,66,.70) 52%,
      rgba(10,35,66,.40) 100%
    ),
    radial-gradient(900px 420px at 18% 28%, rgba(46,93,138,.45), transparent 58%),
    radial-gradient(700px 380px at 78% 12%, rgba(122,30,45,.28), transparent 60%),
    url("../img/about/hero_bg.jpg") center / cover no-repeat;
  filter:saturate(1.05) contrast(1.02);
}
.about-hero-inner{
  position:relative; z-index:1;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:1.5rem;
  align-items:center;
}
.about-hero-title{
  margin:.15rem 0 .75rem;
  color:#fff;
  font-size:clamp(2.05rem, 3.4vw, 3.0rem);
  line-height:1.06;
}
.about-hero-subtitle{
  margin:0 0 1rem;
  max-width:70ch;
  color:rgba(255,255,255,.86);
  font-weight:650;
}
.about-hero-badges{
  display:flex; flex-wrap:wrap; gap:.55rem;
}
.badge{
  padding:.5rem .75rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.92);
  font-weight:850;
  font-size:.9rem;
}

.about-hero-media{
  display:grid;
  gap:.85rem;
  align-content:start;
}
.about-media-card{
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  box-shadow:var(--shadow);
  position:relative;
}
.about-media-card img{width:100%; height:auto; display:block;}

.left-title{text-align:left}
.lead{
  margin:.25rem 0 1.1rem;
  color:rgba(10,35,66,.74);
  font-weight:650;
  max-width:75ch;
}

/* Split */
.about-split{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:1.35rem;
  align-items:start;
}
.bullets{display:grid; gap:.75rem; margin-top:1rem;}
.bullet{
  display:flex; gap:.75rem; align-items:flex-start;
  padding:.95rem;
  border-radius:var(--radius-sm);
  border:1px solid rgba(10,35,66,.10);
  background:linear-gradient(180deg, rgba(46,93,138,.08), rgba(46,93,138,.03));
  box-shadow:var(--shadow-soft);
}
.bullet-dot{
  width:10px;height:10px;border-radius:999px;
  background:var(--burgundy);
  box-shadow:0 0 0 7px rgba(122,30,45,.14);
  margin-top:.35rem;
}
.bullet-title{font-weight:950;color:var(--navy);}
.bullet-text{color:rgba(10,35,66,.72); font-weight:650; margin-top:.2rem;}

.about-side{
  padding:1rem;
  border-radius:var(--radius);
  border:1px solid rgba(10,35,66,.10);
  background:#fff;
  box-shadow:var(--shadow-soft);
}
.mini-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem;
}
.mini-stat{
  padding:.9rem;
  border-radius:var(--radius-sm);
  border:1px solid rgba(10,35,66,.10);
  background:linear-gradient(180deg, rgba(46,93,138,.10), rgba(46,93,138,.04));
}
.mini-num{
  font-size:1.65rem;
  font-weight:1000;
  color:var(--burgundy);
}
.mini-label{
  margin-top:.2rem;
  color:rgba(10,35,66,.70);
  font-weight:750;
}

.note-card{
  margin-top:1rem;
  padding:1rem;
  border-radius:var(--radius);
  border:1px solid rgba(10,35,66,.10);
  background:linear-gradient(180deg, rgba(246,242,234,.90), rgba(246,242,234,.60));
}
.note-title{
  margin:0 0 .6rem;
  color:var(--navy);
  font-weight:950;
}
.note-list{margin:0; color:rgba(10,35,66,.78); font-weight:650;}
.note-list li{margin:.3rem 0}

/* Misión/Visión */
.mv-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.15rem;
}
.mv-card{
  padding:1.15rem 1.1rem;
  border-radius:var(--radius);
  border:1px solid rgba(10,35,66,.10);
  background:linear-gradient(180deg, rgba(46,93,138,.10), rgba(46,93,138,.04));
  box-shadow:var(--shadow-soft);
}
.mv-icon{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--burgundy),#9c2c3f);
  color:#fff; font-weight:1000;
  box-shadow:0 10px 22px rgba(122,30,45,.22);
  margin-bottom:.75rem;
}
.mv-title{margin:0 0 .4rem; color:var(--navy); font-weight:950;}
.mv-text{margin:0; color:rgba(10,35,66,.76); font-weight:650;}

/* Valores */
.values-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.05rem;
}
.value-card{
  padding:1.05rem;
  border-radius:var(--radius);
  border:1px solid rgba(10,35,66,.10);
  background:linear-gradient(180deg, rgba(46,93,138,.10), rgba(46,93,138,.04));
  box-shadow:var(--shadow-soft);
  transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);
}
.value-card:hover{transform:translateY(-3px); box-shadow:var(--shadow); border-color:rgba(46,93,138,.28);}
.value-title{margin:0 0 .35rem; color:var(--navy); font-weight:950;}
.value-text{margin:0; color:rgba(10,35,66,.72); font-weight:650;}

/* Banner */
.about-banner{
  margin-top:1rem;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid rgba(10,35,66,.10);
  box-shadow:var(--shadow);
  background:#fff;
}
.about-banner img{width:100%; height:auto; display:block;}

/* Cobertura */
.coverage-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:1.25rem;
  align-items:start;
}
.coverage-list{margin:0; color:rgba(10,35,66,.78); font-weight:650;}
.coverage-list li{margin:.35rem 0}
.coverage-card{
  padding:1.1rem;
  border-radius:var(--radius);
  border:1px solid rgba(10,35,66,.10);
  background:linear-gradient(180deg, rgba(246,242,234,.92), rgba(246,242,234,.58));
  box-shadow:var(--shadow-soft);
}
.coverage-card-title{margin:0 0 .35rem; color:var(--navy); font-weight:950;}
.coverage-card-text{margin:0 0 .9rem; color:rgba(10,35,66,.72); font-weight:650;}
.coverage-pill-row{display:flex; flex-wrap:wrap; gap:.5rem;}
.pill{
  padding:.45rem .7rem;
  border-radius:999px;
  border:1px solid rgba(10,35,66,.12);
  background:#fff;
  color:rgba(10,35,66,.80);
  font-weight:850;
  font-size:.88rem;
}

/* Responsive */
@media (max-width: 980px){
  .about-hero-inner{grid-template-columns:1fr}
  .about-split{grid-template-columns:1fr}
  .mv-grid{grid-template-columns:1fr}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .coverage-grid{grid-template-columns:1fr}
}
@media (max-width: 560px){
  .values-grid{grid-template-columns:1fr}
}
