/* ════════════════════════════════════════
   VARIABLES DE TEMA
════════════════════════════════════════ */
:root {
  --gd:  #1B4332;
  --gm:  #2D6A4F;
  --gl:  #52B788;
  --gold:#C9910A;
  --glo: #E8B020;

  --bg:      #F5F8F6;
  --bg-card: #FFFFFF;
  --txt:     #0D1F17;
  --txt2:    #4A6355;
  --muted:   #7A9485;
  --border:  #DDE8E2;
  --shadow:  rgba(27,67,50,.08);
  --nav-bg:  rgba(255,255,255,.94);
}
[data-theme="dark"] {
  --bg:      #0C1C12;
  --bg-card: #122018;
  --txt:     #E6F2EC;
  --txt2:    #A3C2B0;
  --muted:   #637D6F;
  --border:  #1A3326;
  --shadow:  rgba(0,0,0,.35);
  --nav-bg:  rgba(12,28,18,.95);
}

/* ════════════════════════════════════════
   RESET
════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--txt);line-height:1.6;transition:background .3s,color .3s}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* ════════════════════════════════════════
   NAVBAR
════════════════════════════════════════ */
.navbar{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:72px;display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;
  background:var(--nav-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  transition:background .3s,box-shadow .3s;
}
.navbar.scrolled{box-shadow:0 2px 24px var(--shadow)}

.nav-logo{display:flex;align-items:center;gap:11px}
.logo-wrap{display:flex;flex-direction:column;line-height:1}
.logo-name{
  font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;
  letter-spacing:.14em;color:var(--gd);
}
[data-theme="dark"] .logo-name{color:var(--glo)}
.logo-sub{font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:3px}

/* WP custom logo sizing */
.custom-logo{width:46px;height:46px;object-fit:contain}

.nav-links{display:flex;align-items:center;gap:2px;list-style:none}
.nav-links li a{
  padding:.45rem .8rem;border-radius:6px;font-size:.84rem;font-weight:500;
  color:var(--txt2);transition:color .2s,background .2s;
}
.nav-links li a:hover{color:var(--gd);background:rgba(27,67,50,.07)}
[data-theme="dark"] .nav-links li a:hover{color:var(--glo);background:rgba(201,145,10,.1)}

.nav-actions{display:flex;align-items:center;gap:.6rem}
.btn-portal{
  display:inline-flex;align-items:center;gap:.4rem;
  padding:.5rem 1.15rem;background:var(--gd);color:#fff;
  border-radius:7px;font-size:.83rem;font-weight:600;
  border:none;cursor:pointer;transition:background .2s,transform .15s;
}
.btn-portal:hover{background:var(--gm);transform:translateY(-1px)}

.theme-btn{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--border);border-radius:8px;background:none;
  cursor:pointer;color:var(--txt2);font-size:1rem;transition:border-color .2s,color .2s;
}
.theme-btn:hover{border-color:var(--gold);color:var(--gold)}

.hamburger{
  display:none;width:38px;height:38px;align-items:center;justify-content:center;
  border:1.5px solid var(--border);border-radius:8px;background:none;
  cursor:pointer;font-size:1.1rem;color:var(--txt2);
}

/* Mobile drawer */
.nav-drawer{
  display:none;position:fixed;top:72px;left:0;right:0;
  background:var(--nav-bg);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  padding:1rem 2rem 1.5rem;z-index:999;
  flex-direction:column;gap:.2rem;
}
.nav-drawer.open{display:flex}
.nav-drawer a{
  padding:.65rem .5rem;font-size:.9rem;font-weight:500;
  color:var(--txt2);border-radius:6px;transition:background .2s;
}
.nav-drawer a:hover{background:rgba(27,67,50,.07);color:var(--gd)}

/* ════════════════════════════════════════
   HERO SLIDER
════════════════════════════════════════ */
.hero-slider{position:relative;width:100%;height:100vh;overflow:hidden;min-height:560px}

.slide{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:100px 2rem 5rem;
  opacity:0;transition:opacity .8s ease;
  pointer-events:none;
}
.slide.active{opacity:1;pointer-events:auto}

.slide-1,.slide-2,.slide-3{
  background-size:cover;background-position:center;background-repeat:no-repeat;
  background-color:#0B2416;
}

.slide::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 15% 85%,rgba(201,145,10,.22) 0%,transparent 50%),
    radial-gradient(circle at 85% 15%,rgba(82,183,136,.14) 0%,transparent 50%),
    linear-gradient(160deg,rgba(8,22,13,.82) 0%,rgba(15,40,25,.78) 60%,rgba(10,28,18,.85) 100%);
}

.slide-rings{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ring{
  position:absolute;border-radius:50%;border:1px solid rgba(201,145,10,.1);
  top:50%;left:50%;transform:translate(-50%,-50%);
}
.ring-1{width:700px;height:700px}
.ring-2{width:460px;height:460px;border-color:rgba(82,183,136,.07)}

.slide-deco{
  position:absolute;right:8%;bottom:12%;
  font-size:10rem;opacity:.06;
  transform:rotate(-10deg);
  pointer-events:none;line-height:1;
}

.slide-content{position:relative;z-index:1;max-width:820px}

.slide-badge{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(201,145,10,.12);border:1px solid rgba(201,145,10,.28);
  color:var(--glo);padding:.4rem 1.1rem;border-radius:50px;
  font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:1.75rem;
}

.slide-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.2rem,5.5vw,4rem);font-weight:700;
  color:#fff;line-height:1.1;margin-bottom:1.25rem;
}
.slide-title em{color:var(--glo);font-style:normal}

.slide-desc{
  font-size:1.05rem;color:rgba(255,255,255,.7);
  max-width:560px;margin:0 auto 2.75rem;line-height:1.75;
}

.slide-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

.btn-gold{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.9rem 2.1rem;background:var(--gold);color:#07130A;
  border-radius:8px;font-weight:700;font-size:.95rem;
  border:none;cursor:pointer;
  transition:background .2s,transform .15s,box-shadow .2s;
}
.btn-gold:hover{background:var(--glo);transform:translateY(-2px);box-shadow:0 8px 28px rgba(201,145,10,.38)}

.btn-ghost{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.9rem 2.1rem;background:transparent;
  color:rgba(255,255,255,.85);border:1.5px solid rgba(255,255,255,.3);
  border-radius:8px;font-weight:600;font-size:.95rem;
  cursor:pointer;transition:border-color .2s,background .2s;
}
.btn-ghost:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.07)}

.sl-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:10;
  width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);
  color:#fff;font-size:1.5rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,border-color .2s,transform .2s;
  backdrop-filter:blur(6px);
}
.sl-arrow:hover{background:rgba(201,145,10,.3);border-color:rgba(201,145,10,.6);transform:translateY(-50%) scale(1.05)}
.sl-prev{left:1.5rem}
.sl-next{right:1.5rem}

.sl-dots{
  position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);
  display:flex;gap:.7rem;z-index:10;
}
.sl-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,.35);border:none;cursor:pointer;
  transition:background .3s,transform .3s;
}
.sl-dot.active{background:var(--gold);transform:scale(1.3)}

.sl-progress{
  position:absolute;bottom:0;left:0;right:0;height:3px;
  background:rgba(255,255,255,.1);z-index:10;
}
.sl-progress-bar{height:100%;background:var(--gold);width:0%;transition:none}

.sl-counter{
  position:absolute;bottom:2.3rem;right:2rem;z-index:10;
  font-size:.75rem;color:rgba(255,255,255,.5);letter-spacing:.08em;
}

/* ════════════════════════════════════════
   ESTADÍSTICAS
════════════════════════════════════════ */
.stats-bar{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:var(--bg-card);border-bottom:1px solid var(--border);
  box-shadow:0 4px 20px var(--shadow);
}
.stat-item{
  padding:1.6rem 1rem;text-align:center;
  border-right:1px solid var(--border);
}
.stat-item:last-child{border-right:none}
.stat-num{
  font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;
  color:var(--gd);line-height:1;
}
[data-theme="dark"] .stat-num{color:var(--glo)}
.stat-lbl{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.3rem}

/* ════════════════════════════════════════
   BANNERS DE SECCIÓN
════════════════════════════════════════ */
.sec-banner{
  position:relative;overflow:hidden;
  padding:3.5rem 2rem 5rem;
  text-align:center;
  clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%);
  margin-bottom:-2.5rem;
  background-color:#1B4332;
}

.sec-banner::before{
  content:'';position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(circle at 15% 80%,rgba(201,145,10,.22) 0%,transparent 50%),
    radial-gradient(circle at 85% 20%,rgba(232,176,32,.14) 0%,transparent 50%);
}

.banner-qs  {background:linear-gradient(135deg,#0E2418 0%,#1B4332 60%,#2D6A4F 100%) !important}
.banner-svc {background:linear-gradient(135deg,#091610 0%,#163525 60%,#1F5038 100%) !important}
.banner-rep {background:linear-gradient(135deg,#0A1A0D 0%,#1A3B2C 60%,#264A39 100%) !important}
.banner-tra {background:linear-gradient(135deg,#0D2218 0%,#1B4332 60%,#2A6249 100%) !important}
.banner-crd {background:linear-gradient(135deg,#081208 0%,#153020 60%,#1F4D35 100%) !important}
.banner-por {background:linear-gradient(135deg,#050E07 0%,#122A1A 60%,#1A3D28 100%) !important}

.sec-banner-bg-icon{
  position:absolute;
  right:10%;top:50%;transform:translateY(-50%);
  font-size:9rem;opacity:.05;pointer-events:none;line-height:1;
  z-index:1;
}

.sec-banner-content{position:relative;z-index:2}

.sec-banner-label{
  display:inline-block;font-size:.72rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:#E8B020;
  margin-bottom:.6rem;
}
.sec-banner-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.9rem,4vw,3rem);font-weight:700;
  color:#FFFFFF;line-height:1.15;margin-bottom:.85rem;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.sec-banner-title em{color:#E8B020;font-style:normal}
.sec-banner-sub{
  font-size:1rem;color:rgba(255,255,255,.80);
  max-width:520px;margin:0 auto;line-height:1.7;
  text-shadow:0 1px 6px rgba(0,0,0,.3);
}
.sec-banner-divider{
  width:48px;height:3px;background:#C9910A;
  border-radius:2px;margin:.9rem auto 1.1rem;
}

/* ════════════════════════════════════════
   PAGE HERO (sub-páginas)
════════════════════════════════════════ */
.page-hero{
  position:relative;
  padding:8rem 2rem 5rem;
  text-align:center;
  background-size:cover;
  background-position:center;
  background-color:#1B4332;
  overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(circle at 20% 80%,rgba(201,145,10,.18) 0%,transparent 50%),
    radial-gradient(circle at 80% 20%,rgba(82,183,136,.12) 0%,transparent 50%),
    linear-gradient(rgba(5,12,7,.80),rgba(5,12,7,.80));
}
.page-hero-bg-icon{
  position:absolute;right:8%;top:50%;transform:translateY(-50%);
  font-size:9rem;opacity:.05;pointer-events:none;
}
.page-hero-content{position:relative;z-index:1}
.page-hero-label{
  font-size:.72rem;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:#E8B020;margin-bottom:.6rem;
}
.page-hero-divider{
  width:48px;height:3px;background:#C9910A;
  border-radius:2px;margin:.9rem auto 1.1rem;
}
.page-hero-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.9rem,4vw,3rem);font-weight:700;
  color:#FFFFFF;line-height:1.15;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
.page-hero-title em{color:#E8B020;font-style:normal}
.page-hero-sub{
  font-size:1rem;color:rgba(255,255,255,.80);
  max-width:520px;margin:1rem auto 0;line-height:1.7;
}

/* ════════════════════════════════════════
   UTILIDADES COMUNES
════════════════════════════════════════ */
.section{padding:5rem 2rem}
.container{max-width:1100px;margin:0 auto}
.page-content{max-width:800px;margin:0 auto;font-size:.97rem;color:var(--txt2);line-height:1.85}
.page-content h2,.page-content h3{font-family:'Playfair Display',serif;color:var(--txt);margin:2rem 0 .85rem}
.page-content p{margin-bottom:1rem}

.sec-label{
  display:inline-block;font-size:.72rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;
}
.sec-divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.85rem 0 1.4rem}
.sec-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.75rem,3vw,2.4rem);font-weight:700;
  color:var(--txt);line-height:1.18;margin-bottom:.9rem;
}
.sec-title em{font-style:normal;color:var(--gd)}
[data-theme="dark"] .sec-title em{color:var(--glo)}
.sec-desc{font-size:.97rem;color:var(--txt2);max-width:540px;line-height:1.75;margin-bottom:2.75rem}

/* ════════════════════════════════════════
   QUIÉNES SOMOS
════════════════════════════════════════ */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4.5rem;align-items:center}
.about-text p{font-size:.96rem;color:var(--txt2);line-height:1.8;margin-bottom:1rem}

.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.value-card{
  background:var(--bg-card);border:1px solid var(--border);
  border-radius:12px;padding:1.4rem;
  transition:border-color .25s,transform .2s;
}
.value-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.v-icon{
  width:38px;height:38px;border-radius:9px;
  background:rgba(27,67,50,.08);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;margin-bottom:.8rem;
}
[data-theme="dark"] .v-icon{background:rgba(201,145,10,.12)}
.v-title{font-weight:700;font-size:.88rem;margin-bottom:.3rem}
.v-desc{font-size:.78rem;color:var(--muted);line-height:1.55}

/* ════════════════════════════════════════
   SERVICIOS — OVERVIEW CARDS (homepage)
════════════════════════════════════════ */
.svo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.svo-card{
  display:flex;flex-direction:column;
  padding:1.7rem;border-radius:14px;
  border:1px solid var(--border);background:var(--bg);
  text-decoration:none;color:inherit;position:relative;overflow:hidden;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.svo-card::after{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform .3s ease;
}
.svo-card:hover{transform:translateY(-5px);box-shadow:0 14px 38px var(--shadow);border-color:rgba(201,145,10,.3)}
.svo-card:hover::after{transform:scaleX(1)}
.svo-icon-wrap{
  width:50px;height:50px;border-radius:12px;margin-bottom:1rem;
  background:rgba(27,67,50,.07);
  display:flex;align-items:center;justify-content:center;font-size:1.5rem;
}
[data-theme="dark"] .svo-icon-wrap{background:rgba(201,145,10,.1)}
.svo-title{font-weight:700;font-size:.97rem;color:var(--txt);margin-bottom:.2rem}
.svo-sub{font-size:.73rem;color:var(--gold);font-weight:600;margin-bottom:.55rem;text-transform:uppercase;letter-spacing:.06em}
.svo-desc{font-size:.83rem;color:var(--txt2);line-height:1.65;flex:1;margin-bottom:.9rem}
.svo-cta{
  display:inline-flex;align-items:center;gap:.35rem;
  font-size:.8rem;font-weight:700;color:var(--gd);
  transition:gap .2s;
}
[data-theme="dark"] .svo-cta{color:var(--glo)}
.svo-card:hover .svo-cta{gap:.55rem}
.svo-badge{
  display:inline-block;padding:.18rem .6rem;border-radius:50px;
  font-size:.7rem;font-weight:700;
  background:rgba(201,145,10,.12);color:var(--gold);
  margin-bottom:.55rem;
}

/* ════════════════════════════════════════
   INDICADORES — CÍRCULOS
════════════════════════════════════════ */
.ind-circles{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;margin-top:.5rem}
.ind-circle{
  width:220px;height:220px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:1.5rem;
  box-shadow:0 12px 40px rgba(0,0,0,.18);
  transition:transform .3s,box-shadow .3s;
}
.ind-circle:hover{transform:translateY(-6px);box-shadow:0 20px 55px rgba(0,0,0,.24)}
.ind-green{background:linear-gradient(135deg,#3AA15C,#52B788)}
.ind-gray {background:linear-gradient(135deg,#5A6475,#6B7684)}
.ind-gold {background:linear-gradient(135deg,#C9910A,#E8B020)}
.ind-label{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.85);margin-bottom:.35rem}
.ind-value{font-family:'Playfair Display',serif;font-size:1.25rem;font-weight:700;color:#fff;line-height:1.2}

/* ════════════════════════════════════════
   TESTIMONIOS — SOCIOS
════════════════════════════════════════ */
.test-slider{position:relative;overflow:hidden}
.test-track{display:flex;transition:transform .45s ease}
.test-card{
  flex:0 0 100%;padding:2.5rem;
  background:var(--bg);border:1px solid var(--border);border-radius:18px;
  position:relative;
}
.test-quote{
  font-family:'Playfair Display',serif;font-size:4rem;line-height:.7;
  color:var(--gold);opacity:.35;margin-bottom:.75rem;
}
.test-text{font-size:1rem;color:var(--txt2);line-height:1.8;margin-bottom:1.75rem;font-style:italic}
.test-author{display:flex;align-items:center;gap:1rem}
.test-avatar{
  width:48px;height:48px;border-radius:50%;
  background:var(--gd);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.9rem;flex-shrink:0;
}
[data-theme="dark"] .test-avatar{background:var(--gold);color:#07130A}
.test-name{font-weight:700;font-size:.9rem;color:var(--txt)}
.test-role{font-size:.78rem;color:var(--muted)}
.test-dots{display:flex;justify-content:center;gap:.65rem;margin-top:1.5rem}
.test-dot{
  width:9px;height:9px;border-radius:50%;border:none;
  background:var(--border);cursor:pointer;transition:background .3s,transform .3s;
}
.test-dot.active{background:var(--gold);transform:scale(1.3)}

/* ════════════════════════════════════════
   PORTAL EN LÍNEA
════════════════════════════════════════ */
.portal-inner{
  background:linear-gradient(150deg,#07130A 0%,#1B4332 100%);
  border-radius:20px;padding:4rem 2rem;text-align:center;
  position:relative;overflow:hidden;
}
.portal-inner::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle at 15% 85%,rgba(201,145,10,.1) 0%,transparent 55%),
                   radial-gradient(circle at 85% 15%,rgba(82,183,136,.07) 0%,transparent 55%);
}
.portal-deco{position:absolute;right:8%;top:50%;transform:translateY(-50%);font-size:8rem;opacity:.06;pointer-events:none}
.portal-content{position:relative;z-index:1}
.portal-lbl{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--glo);margin-bottom:.6rem}
.portal-divider{width:44px;height:3px;background:var(--gold);border-radius:2px;margin:.85rem auto 1.25rem}
.portal-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.9rem,3.5vw,2.7rem);font-weight:700;color:#fff;margin-bottom:1rem;
}
.portal-desc{color:rgba(255,255,255,.62);max-width:460px;margin:0 auto 2.5rem;line-height:1.75}
.portal-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

/* ════════════════════════════════════════
   SITIOS DE INTERÉS — COSEDE
════════════════════════════════════════ */
.cosede-banner{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  background:linear-gradient(135deg,#0A1F5C,#1A3AA0,#0D6EBF);
  border-radius:18px;padding:2.5rem 3rem;margin-bottom:2rem;
  text-decoration:none;transition:transform .25s,box-shadow .25s;overflow:hidden;
  position:relative;
}
.cosede-banner::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='10' cy='10' r='8' fill='none' stroke='rgba(255,255,255,.05)' stroke-width='1'/%3E%3C/svg%3E") repeat;opacity:.4}
.cosede-banner:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(10,31,92,.45)}
.cosede-left{display:flex;align-items:center;gap:1.5rem;position:relative;z-index:1}
.cosede-icon{font-size:2.8rem;flex-shrink:0}
.cosede-pre{font-size:.88rem;font-weight:600;color:rgba(255,255,255,.75);margin-bottom:.15rem}
.cosede-big{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:700;color:#FFD600;line-height:1;margin-bottom:.4rem}
.cosede-sub{font-size:.8rem;color:rgba(255,255,255,.6);line-height:1.5;max-width:320px}
.cosede-right{position:relative;z-index:1;text-align:center;border-left:1px solid rgba(255,255,255,.18);padding-left:2.5rem;flex-shrink:0}
.cosede-edu-label{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.25rem}
.cosede-edu-name{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:#fff;letter-spacing:.04em;margin-bottom:.15rem}
.cosede-edu-sub{font-size:.78rem;color:rgba(255,255,255,.55);margin-bottom:.9rem}
.cosede-edu-btn{
  display:inline-block;padding:.5rem 1.25rem;
  background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.35);
  color:#fff;border-radius:8px;font-size:.8rem;font-weight:600;
  text-decoration:none;transition:background .2s;
}
.cosede-edu-btn:hover{background:rgba(255,255,255,.28)}

.inst-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.inst-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:1.75rem 1rem;border-radius:14px;border:1px solid var(--border);
  background:var(--bg-card);text-decoration:none;color:inherit;
  transition:transform .25s,border-color .25s,box-shadow .25s;
}
.inst-card:hover{transform:translateY(-4px);border-color:rgba(201,145,10,.4);box-shadow:0 12px 32px var(--shadow)}
.inst-logo-wrap{
  width:100%;height:80px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:.9rem;overflow:hidden;
  padding:.75rem 1rem;
}
.inst-img-wrap{background:#FFFFFF;border:1.5px solid #E0E0E0;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.inst-img{max-width:100%;max-height:60px;width:auto;height:auto;object-fit:contain;display:block}
.inst-fallback{
  width:100%;height:100%;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:1.1rem;color:#fff;
}
.inst-seps {background:linear-gradient(135deg,#C0392B,#E74C3C)}
.inst-bce  {background:linear-gradient(135deg,#1A3AA0,#2E5EBF)}
.inst-uafe {background:linear-gradient(135deg,#E8941A,#F0B040)}
.inst-cosede{background:linear-gradient(135deg,#0A1F5C,#1A3AA0);font-size:1.5rem}
.inst-name{font-size:.76rem;font-weight:600;color:var(--txt2);line-height:1.4;margin-bottom:.6rem;flex:1}
.inst-visit{font-size:.74rem;font-weight:700;color:var(--gold)}
.inst-card:hover .inst-visit{color:var(--glo)}

/* ════════════════════════════════════════
   FOOTER
════════════════════════════════════════ */
footer{background:#080F09;color:rgba(255,255,255,.55);padding:4rem 2.5rem 2.5rem}
.foot-inner{max-width:1100px;margin:0 auto}
.foot-grid{
  display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:3rem;
  padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.07);
}
.foot-brand-name{font-family:'Playfair Display',serif;font-size:1.1rem;letter-spacing:.14em;color:#fff}
.foot-brand-sub{font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;margin-top:2px;color:rgba(255,255,255,.35)}
.foot-brand-desc{font-size:.83rem;line-height:1.7;margin-top:.9rem}
.foot-socials{display:flex;gap:.6rem;margin-top:1.25rem}
.foot-social{
  width:33px;height:33px;border-radius:7px;background:rgba(255,255,255,.05);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.45);font-size:.8rem;font-weight:600;
  transition:background .2s,color .2s;
}
.foot-social:hover{background:rgba(201,145,10,.25);color:var(--glo)}
.foot-col h4{
  color:rgba(255,255,255,.85);font-size:.8rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.1rem;
}
.foot-col ul{list-style:none}
.foot-col ul li{margin-bottom:.55rem}
.foot-col ul a{font-size:.83rem;color:rgba(255,255,255,.45);transition:color .2s}
.foot-col ul a:hover{color:var(--glo)}
.foot-contact-item{display:flex;align-items:flex-start;gap:.55rem;font-size:.82rem;margin-bottom:.65rem;line-height:1.5}
.foot-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:1.75rem;font-size:.75rem;color:rgba(255,255,255,.28);
  flex-wrap:wrap;gap:.5rem;
}

/* ════════════════════════════════════════
   SERVICIOS — TABS + ACORDEÓN (productos-servicios.html)
════════════════════════════════════════ */
.svc-nav{display:flex;gap:.4rem;flex-wrap:wrap;border-bottom:2px solid var(--border);margin-bottom:2.5rem}
.svc-tab{
  padding:.72rem 1.6rem;font-weight:700;font-size:.87rem;
  border:none;background:none;cursor:pointer;color:var(--txt2);
  border-bottom:3px solid transparent;margin-bottom:-2px;
  transition:color .2s,border-color .2s;letter-spacing:.02em;
}
.svc-tab.active{color:var(--gd);border-bottom-color:var(--gold)}
[data-theme="dark"] .svc-tab.active{color:var(--glo)}
.svc-tab:hover:not(.active){color:var(--txt)}

.cat-panel{display:none}
.cat-panel.active{display:block}

.sub-nav{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1.75rem}
.sub-tab{
  padding:.42rem 1.1rem;border-radius:8px;border:1.5px solid var(--border);
  background:transparent;color:var(--txt2);font-size:.82rem;font-weight:600;
  cursor:pointer;transition:all .2s;
}
.sub-tab.active{background:var(--gd);color:#fff;border-color:var(--gd)}
[data-theme="dark"] .sub-tab.active{background:var(--gold);color:#07130A;border-color:var(--gold)}
.sub-tab:hover:not(.active){border-color:var(--gd);color:var(--gd)}

.sub-panel{display:none}
.sub-panel.active{display:block}

.prod-intro{
  display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;
  margin-bottom:1.75rem;padding:2rem 2.25rem;
  background:var(--bg);border-radius:14px;border:1px solid var(--border);
}
.prod-intro.rev{direction:rtl}
.prod-intro.rev>*{direction:ltr}

.prod-intro-title{
  font-family:'Playfair Display',serif;font-size:1.85rem;font-weight:700;
  color:var(--gd);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.1rem;
}
[data-theme="dark"] .prod-intro-title{color:var(--glo)}

.prod-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.prod-list li{
  display:flex;align-items:center;gap:.75rem;
  font-size:.88rem;font-weight:700;color:var(--txt);
  letter-spacing:.04em;text-transform:uppercase;
}
.prod-list li::before{content:'';width:5px;height:28px;border-radius:3px;flex-shrink:0}
.bar-gold::before{background:var(--gold)}
.bar-green::before{background:var(--gd)}
.bar-brick::before{background:#B04010}
.bar-mid::before{background:var(--gm)}

.prod-img-box{
  border-radius:14px;aspect-ratio:4/3;
  display:flex;align-items:center;justify-content:center;
  font-size:4.5rem;box-shadow:0 8px 28px rgba(0,0,0,.18);overflow:hidden;
}
.pib-green{background:linear-gradient(135deg,#1B4332,#2D6A4F)}
.pib-gold {background:linear-gradient(135deg,#7A5500,#C9910A)}
.pib-dark {background:linear-gradient(135deg,#0C1C12,#1B4332)}

.prod-accordion{display:flex;flex-direction:column;gap:.55rem}

.prod-item{
  border:1px solid var(--border);border-radius:11px;overflow:hidden;
  background:var(--bg-card);transition:border-color .2s;
}
.prod-item:hover{border-color:rgba(201,145,10,.3)}
.prod-item.open{border-color:rgba(27,67,50,.22)}
[data-theme="dark"] .prod-item.open{border-color:rgba(201,145,10,.28)}

.prod-header{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:1rem 1.35rem;border:none;cursor:pointer;text-align:left;
  background:var(--bg-card);font-size:.87rem;font-weight:700;color:var(--txt);
  transition:background .2s;
}
.prod-header:hover{background:rgba(27,67,50,.03)}
[data-theme="dark"] .prod-header:hover{background:rgba(201,145,10,.04)}

.ph-icon{
  font-size:1.1rem;font-weight:300;color:var(--muted);
  transition:transform .3s,color .2s;flex-shrink:0;margin-left:1rem;
}
.prod-item.open .ph-icon{transform:rotate(45deg);color:var(--gold)}

.prod-body{max-height:0;overflow:hidden;transition:max-height .38s ease}
.prod-body-inner{
  padding:1.2rem 1.35rem 1.35rem;
  border-top:1px solid var(--border);background:var(--bg);
}
.prod-desc{font-size:.84rem;color:var(--txt2);line-height:1.7;margin-bottom:1rem}

.info-table{width:100%;border-collapse:collapse;margin-bottom:1.1rem;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.info-table th{background:var(--gd);color:#fff;padding:.5rem .9rem;font-size:.72rem;font-weight:600;text-align:left;text-transform:uppercase;letter-spacing:.06em}
.info-table td{padding:.54rem .9rem;font-size:.82rem;color:var(--txt2);border-bottom:1px solid var(--border)}
.info-table td:first-child{font-weight:600;color:var(--txt);width:37%}
.info-table tr:last-child td{border-bottom:none}

.prod-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.prod-section-title{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.prod-ul{list-style:none;display:flex;flex-direction:column;gap:.35rem}
.prod-ul li{display:flex;align-items:flex-start;gap:.45rem;font-size:.8rem;color:var(--txt2);line-height:1.55}
.prod-ul li::before{content:'›';color:var(--gl);font-weight:800;flex-shrink:0;margin-top:.1rem}

.tasas-section{margin-top:2.25rem;display:flex;flex-direction:column;gap:.6rem}
.tasa-item{border-radius:10px;overflow:hidden;border:1px solid rgba(201,145,10,.22)}
.tasa-btn{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:1rem 1.4rem;
  background:linear-gradient(90deg,#7A5500,var(--gold));
  color:#07130A;border:none;cursor:pointer;
  font-size:.84rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  transition:filter .2s;
}
.tasa-btn:hover{filter:brightness(1.06)}
.ta-plus{font-size:1.2rem;font-weight:300;transition:transform .3s;flex-shrink:0;margin-left:1rem}
.tasa-item.open .ta-plus{transform:rotate(45deg)}
.tasa-body{max-height:0;overflow:hidden;transition:max-height .45s ease}
.tasa-body-inner{padding:1.3rem;background:var(--bg-card);border-top:1px solid var(--border)}
.tasas-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.tasas-table th{background:var(--gd);color:#fff;padding:.52rem .9rem;font-size:.7rem;font-weight:600;text-align:left;text-transform:uppercase;letter-spacing:.05em}
.tasas-table td{padding:.52rem .9rem;font-size:.81rem;color:var(--txt2);border-bottom:1px solid var(--border)}
.tasas-table tr:last-child td{border-bottom:none}
.tasas-table .t-bold{font-weight:700;color:var(--txt)}
.tasas-table .t-rate{font-weight:700;color:var(--gd)}
[data-theme="dark"] .tasas-table .t-rate{color:var(--glo)}
.tasas-table .grp td{background:rgba(27,67,50,.05);font-weight:700;color:var(--gd);font-size:.77rem;text-transform:uppercase;letter-spacing:.05em}
[data-theme="dark"] .tasas-table .grp td{background:rgba(201,145,10,.07);color:var(--glo)}

/* ════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════ */
@media(max-width:900px){
  .nav-links{display:none}
  .hamburger{display:flex}
  .about-grid{grid-template-columns:1fr;gap:2.5rem}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .stats-bar{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(2){border-right:none}
  .sl-arrow{width:40px;height:40px;font-size:1.2rem}
  .sec-banner{padding:3rem 1.5rem 4.5rem}
  .sec-banner-bg-icon{font-size:6rem;right:5%}
  .slide-deco{font-size:7rem;right:5%;bottom:20%}
  .ind-circle{width:180px;height:180px}
  .ind-value{font-size:1.05rem}
  .cosede-banner{flex-direction:column;text-align:center}
  .cosede-right{border-left:none;border-top:1px solid rgba(255,255,255,.18);padding-left:0;padding-top:1.5rem}
  .inst-grid{grid-template-columns:repeat(3,1fr)}
  .svo-grid{grid-template-columns:repeat(2,1fr)}
  .prod-intro{grid-template-columns:1fr;gap:1.5rem}
  .prod-intro.rev{direction:ltr}
  .prod-cols{grid-template-columns:1fr}
  .svc-tab{padding:.6rem 1rem;font-size:.82rem}
}

@media(max-width:600px){
  .navbar{padding:0 1.25rem}
  .section{padding:4rem 1.25rem}
  .foot-grid{grid-template-columns:1fr}
  .sl-arrow{display:none}
  .hero-slider{min-height:100svh}
  .slide{padding:90px 1.25rem 4.5rem}
  .slide-deco{display:none}
  .sec-banner{clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%)}
  .sec-banner-bg-icon{display:none}
  .btn-portal span{display:none}
  .portal-deco{display:none}
  .portal-inner{border-radius:14px;padding:3rem 1.25rem}
  .ind-circles{gap:1.25rem}
  .ind-circle{width:145px;height:145px;padding:1rem}
  .ind-value{font-size:.9rem}
  .inst-grid{grid-template-columns:repeat(2,1fr)}
  .cosede-big{font-size:1.65rem}
  .cosede-banner{padding:1.75rem 1.25rem}
  .svo-grid{grid-template-columns:1fr}
  .prod-intro{padding:1.25rem}
  .prod-intro-title{font-size:1.5rem}
  .prod-img-box{aspect-ratio:2/1}
}



.t-rate{font-weight:700;color:var(--gd)}
[data-theme="dark"] .t-rate{color:var(--glo)}

/* ════════════════════════════════════════
   BREADCRUMB
════════════════════════════════════════ */
.breadcrumb{background:var(--bg-card);border-bottom:1px solid var(--border);padding:.7rem 2.5rem}
.bc-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:.55rem;font-size:.8rem;color:var(--muted)}
.bc-inner a{color:var(--muted);transition:color .2s}
.bc-inner a:hover{color:var(--gold)}
.bc-sep{color:var(--border)}
.bc-current{color:var(--txt2);font-weight:500}

/* PAGE HERO */
.page-hero{position:relative;min-height:400px;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 2rem 4rem;background-color:#1B4332;background-size:cover;background-position:center;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 85%,rgba(201,145,10,.16) 0%,transparent 55%),radial-gradient(circle at 85% 15%,rgba(82,183,136,.10) 0%,transparent 55%),linear-gradient(rgba(5,12,7,.80),rgba(5,12,7,.80))}
.page-hero-bg-icon{position:absolute;right:8%;top:50%;transform:translateY(-50%);font-size:11rem;opacity:.05;pointer-events:none}
.page-hero-content{position:relative;z-index:1;max-width:720px}
.page-hero-label{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--glo);margin-bottom:.7rem}
.page-hero-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:700;color:#fff;line-height:1.12;margin-bottom:.9rem}
.page-hero-title em{color:var(--glo);font-style:normal}
.page-hero-divider{width:50px;height:3px;background:var(--gold);border-radius:2px;margin:.85rem auto 1rem}
.page-hero-sub{font-size:1rem;color:rgba(255,255,255,.65);max-width:540px;margin:0 auto;line-height:1.75}

/* ════════════════════════════════════════
   MAIN TABS — Productos y Servicios
════════════════════════════════════════ */
.main-tabs{display:flex;gap:0;background:var(--bg-card);border-bottom:2px solid var(--border);position:sticky;top:72px;z-index:90}
.main-tab{flex:1;padding:1rem 1.5rem;border:none;cursor:pointer;font-size:.92rem;font-weight:600;color:var(--muted);background:transparent;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s,background .2s;text-align:center}
.main-tab.active{color:var(--gd);border-bottom-color:var(--gold);background:var(--bg)}
[data-theme="dark"] .main-tab.active{color:var(--glo)}
.main-tab:hover:not(.active){color:var(--txt2);background:rgba(27,67,50,.03)}
.main-panel{display:none}
.main-panel.active{display:block}

/* SUB-TABS */
.sub-nav{display:flex;gap:.35rem;flex-wrap:wrap;padding:.8rem 0 0;border-bottom:1px solid var(--border);margin-bottom:1.75rem}
.sub-tab{padding:.55rem 1.1rem;border:none;cursor:pointer;font-size:.82rem;font-weight:500;color:var(--muted);background:transparent;border-radius:8px 8px 0 0;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,background .2s}
.sub-tab.active{color:var(--gd);border-bottom-color:var(--gl);background:var(--bg-card)}
[data-theme="dark"] .sub-tab.active{color:var(--glo)}
.sub-tab:hover:not(.active){color:var(--txt2);background:rgba(27,67,50,.04)}
.sub-panel{display:none}
.sub-panel.active{display:block}

/* CAT INTRO */
.cat-intro{background:linear-gradient(135deg,var(--gd) 0%,var(--gm) 100%);border-radius:14px;padding:1.75rem 2rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1.5rem}
.cat-intro-icon{font-size:2.5rem;flex-shrink:0}
.cat-intro-title{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:.3rem}
.cat-intro-desc{font-size:.84rem;color:rgba(255,255,255,.7);line-height:1.6}

/* PH-LEFT (encabezado acordeón) */
.ph-left{display:flex;flex-direction:column;gap:.15rem}
.ph-name{font-size:.87rem;font-weight:700;color:var(--txt)}
.ph-sub{font-size:.73rem;color:var(--muted);font-weight:400}

/* AHORROS */
.ahorro-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}
.ahorro-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.ahorro-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px var(--shadow)}
.ahorro-head{padding:1.75rem;background:linear-gradient(135deg,#1B4332,#2D6A4F);text-align:center;position:relative}
.ahorro-card:nth-child(2) .ahorro-head{background:linear-gradient(135deg,#7A5500,#C9910A)}
.ahorro-rate-lbl{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.4rem}
.ahorro-rate{font-family:'Playfair Display',serif;font-size:3rem;font-weight:700;color:#fff;line-height:1}
.ahorro-rate span{font-size:1.2rem;vertical-align:super}
.ahorro-period{font-size:.78rem;color:rgba(255,255,255,.55);margin-top:.3rem}
.ahorro-name{font-size:.85rem;font-weight:700;color:rgba(255,255,255,.9);margin-top:.75rem;letter-spacing:.04em;text-transform:uppercase}
.ahorro-body{padding:1.5rem}
.ahorro-desc{font-size:.84rem;color:var(--txt2);line-height:1.7;margin-bottom:1.1rem}

/* DPF */
.dpf-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-top:1rem}
.dpf-head{background:linear-gradient(135deg,#0C1C12,#1B4332);padding:2rem;display:flex;align-items:center;gap:1.5rem}
.dpf-icon{font-size:3rem}
.dpf-head-txt h3{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;color:#fff;margin-bottom:.3rem}
.dpf-head-txt p{font-size:.84rem;color:rgba(255,255,255,.6);line-height:1.6}
.dpf-body{padding:1.75rem}
.dpf-desc{font-size:.85rem;color:var(--txt2);line-height:1.75;margin-bottom:1.5rem}
.dpf-table{width:100%;border-collapse:collapse;border-radius:10px;overflow:hidden;border:1px solid var(--border)}
.dpf-table th{background:var(--gd);color:#fff;padding:.6rem 1rem;font-size:.75rem;font-weight:600;text-align:left;letter-spacing:.05em;text-transform:uppercase}
.dpf-table td{padding:.65rem 1rem;font-size:.84rem;color:var(--txt2);border-bottom:1px solid var(--border)}
.dpf-table tr:last-child td{border-bottom:none}
.dpf-table .td-plazo{font-weight:600;color:var(--txt)}
.dpf-table .td-rate{font-weight:700;color:var(--gd);font-size:.92rem}
[data-theme="dark"] .dpf-table .td-rate{color:var(--glo)}
.dpf-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.5rem}

/* TASAS */
.tasas-section-wrap{background:var(--bg-card);padding:4rem 2rem}
.tasas-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.75rem}
.tasa-block{border-radius:14px;overflow:hidden;border:1px solid rgba(201,145,10,.25)}
.tasa-btn{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem;border:none;cursor:pointer;font-size:.88rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:filter .2s}
.tasa-btn-activas{background:linear-gradient(90deg,#7A5500,var(--gold));color:#07130A}
.tasa-btn-pasivas{background:linear-gradient(90deg,#0E3020,var(--gd));color:#fff}
.tasa-btn:hover{filter:brightness(1.08)}
.ta-plus{font-size:1.3rem;font-weight:300;transition:transform .3s;flex-shrink:0}
.tasa-block.open .ta-plus{transform:rotate(45deg)}
.tasa-body{max-height:0;overflow:hidden;transition:max-height .5s ease}
.tasa-body-inner{padding:1.25rem;background:var(--bg-card);border-top:1px solid var(--border)}
.tasas-table{width:100%;border-collapse:collapse;border-radius:8px;overflow:hidden;border:1px solid var(--border)}
.tasas-table th{background:var(--gd);color:#fff;padding:.5rem .9rem;font-size:.7rem;font-weight:600;text-align:left;text-transform:uppercase;letter-spacing:.05em}
.tasas-table td{padding:.5rem .9rem;font-size:.81rem;color:var(--txt2);border-bottom:1px solid var(--border)}
.tasas-table tr:last-child td{border-bottom:none}
.tasas-table .t-bold{font-weight:700;color:var(--txt)}
.tasas-table .t-rate{font-weight:700;color:var(--gd)}
[data-theme="dark"] .tasas-table .t-rate{color:var(--glo)}
.tasas-table .grp td{background:rgba(27,67,50,.06);font-weight:700;color:var(--gd);font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;padding:.4rem .9rem}
[data-theme="dark"] .tasas-table .grp td{background:rgba(201,145,10,.08);color:var(--glo)}

/* CTA BAND */
.cta-band{background:linear-gradient(150deg,#07130A 0%,#1B4332 100%);border-radius:18px;padding:3.5rem 2rem;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 15% 85%,rgba(201,145,10,.1) 0%,transparent 55%),radial-gradient(circle at 85% 15%,rgba(82,183,136,.07) 0%,transparent 55%)}
.cta-deco{position:absolute;right:6%;top:50%;transform:translateY(-50%);font-size:7rem;opacity:.05;pointer-events:none}
.cta-content{position:relative;z-index:1}
.cta-label{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--glo);margin-bottom:.6rem}
.cta-title{font-family:'Playfair Display',serif;font-size:clamp(1.7rem,3.5vw,2.4rem);font-weight:700;color:#fff;margin-bottom:.8rem}
.cta-desc{color:rgba(255,255,255,.6);max-width:420px;margin:0 auto 2rem;line-height:1.75;font-size:.93rem}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-ghost-white{display:inline-flex;align-items:center;gap:.45rem;padding:.85rem 1.8rem;background:transparent;color:rgba(255,255,255,.85);border:1.5px solid rgba(255,255,255,.3);border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:border-color .2s,background .2s}
.btn-ghost-white:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.07)}

/* ════════════════════════════════════════
   QUIÉNES SOMOS
════════════════════════════════════════ */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}
.mv-card{border-radius:18px;overflow:hidden;border:1px solid var(--border);transition:transform .25s,box-shadow .25s}
.mv-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px var(--shadow)}
.mv-head{padding:2rem 2rem 1.5rem;text-align:center}
.mv-card:first-child .mv-head{background:linear-gradient(135deg,#0E2418,#1B4332)}
.mv-card:last-child .mv-head{background:linear-gradient(135deg,#7A5500,#C9910A)}
.mv-icon{font-size:2.5rem;margin-bottom:.75rem}
.mv-label{font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:.35rem}
.mv-title{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:#fff}
.mv-body{padding:1.75rem 2rem;background:var(--bg-card)}
.mv-text{font-size:.9rem;color:var(--txt2);line-height:1.8}

.seps-band{background:linear-gradient(135deg,#07130A 0%,#1B4332 100%);border-radius:18px;padding:2.5rem 2rem;display:flex;align-items:center;gap:2rem;position:relative;overflow:hidden}
.seps-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(201,145,10,.09) 0%,transparent 60%)}
.seps-icon{font-size:3.5rem;flex-shrink:0;position:relative;z-index:1}
.seps-content{position:relative;z-index:1}
.seps-lbl{font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--glo);margin-bottom:.4rem}
.seps-title{font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:700;color:#fff;margin-bottom:.5rem}
.seps-desc{font-size:.84rem;color:rgba(255,255,255,.62);line-height:1.7}

.about-two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-text p{font-size:.95rem;color:var(--txt2);line-height:1.85;margin-bottom:1rem}
.stat-pills{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.stat-pill{background:var(--bg-card);border:1px solid var(--border);border-radius:50px;padding:.55rem 1.25rem;display:flex;align-items:center;gap:.6rem;font-size:.82rem}
.pill-num{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--gd)}
[data-theme="dark"] .pill-num{color:var(--glo)}
.pill-lbl{color:var(--txt2);font-weight:500}
.about-img-box{border-radius:18px;aspect-ratio:4/3;background:linear-gradient(135deg,#1B4332,#2D6A4F);display:flex;align-items:center;justify-content:center;font-size:5rem;box-shadow:0 12px 40px rgba(0,0,0,.18)}

.principios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1rem}
.principio-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.6rem 1.5rem;position:relative;overflow:hidden;transition:transform .25s,border-color .25s}
.principio-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.principio-card:hover{transform:translateY(-4px);border-color:rgba(201,145,10,.35)}
.principio-card:hover::after{transform:scaleX(1)}
.p-num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:rgba(27,67,50,.1);line-height:1;margin-bottom:.5rem}
[data-theme="dark"] .p-num{color:rgba(201,145,10,.12)}
.p-icon{font-size:1.5rem;margin-bottom:.75rem}
.p-title{font-weight:700;font-size:.93rem;color:var(--txt);margin-bottom:.4rem}
.p-desc{font-size:.8rem;color:var(--muted);line-height:1.6}

.valores-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}
.valor-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.5rem 1.25rem;text-align:center;transition:transform .25s,border-color .25s,box-shadow .25s}
.valor-card:hover{transform:translateY(-5px);border-color:rgba(201,145,10,.4);box-shadow:0 12px 32px var(--shadow)}
.v-icon-wrap{width:52px;height:52px;border-radius:14px;background:rgba(27,67,50,.07);display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin:0 auto .9rem}
[data-theme="dark"] .v-icon-wrap{background:rgba(201,145,10,.1)}
.v-title{font-weight:700;font-size:.9rem;color:var(--txt);margin-bottom:.4rem}
.v-desc{font-size:.78rem;color:var(--muted);line-height:1.6}

.org-chart-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:2.5rem;margin-top:1rem}
.org-level{display:flex;justify-content:center;gap:1rem;margin-bottom:0;position:relative}
.org-level+.org-level{margin-top:1.5rem}
.org-level+.org-level::before{content:'';position:absolute;top:-1.5rem;left:50%;transform:translateX(-50%);width:2px;height:1.5rem;background:var(--border)}
.org-node{background:var(--bg);border:1.5px solid var(--border);border-radius:10px;padding:.75rem 1.25rem;text-align:center;font-size:.8rem;font-weight:600;color:var(--txt2);min-width:140px;transition:border-color .2s}
.org-node.top{background:var(--gd);color:#fff;border-color:var(--gd);font-size:.85rem;font-weight:700;min-width:180px}
[data-theme="dark"] .org-node.top{background:var(--gold);color:#07130A;border-color:var(--gold)}
.org-node.mid{background:var(--gm);color:#fff;border-color:var(--gm)}
[data-theme="dark"] .org-node.mid{background:rgba(201,145,10,.15);color:var(--glo);border-color:rgba(201,145,10,.35)}
.org-node:hover{border-color:var(--gold)}
.org-note{margin-top:1.5rem;padding:1rem 1.25rem;background:rgba(27,67,50,.04);border-radius:8px;border-left:3px solid var(--gold);font-size:.8rem;color:var(--muted);line-height:1.6}

/* ════════════════════════════════════════
   RESPONSIVE — PÁGINAS INTERIORES
════════════════════════════════════════ */
@media(max-width:900px){
  .mv-grid{grid-template-columns:1fr}
  .about-two-col{grid-template-columns:1fr;gap:2rem}
  .about-img-box{aspect-ratio:3/1}
  .principios-grid{grid-template-columns:repeat(2,1fr)}
  .valores-grid{grid-template-columns:repeat(2,1fr)}
  .tasas-grid{grid-template-columns:1fr}
  .ahorro-grid{grid-template-columns:1fr}
  .dpf-cols{grid-template-columns:1fr}
  .prod-cols{grid-template-columns:1fr}
  .cta-band{padding:2.5rem 1.5rem}
  .cta-title{font-size:1.5rem}
  .main-tabs{position:static}
  .main-tab{font-size:.8rem;padding:.8rem .75rem}
}
@media(max-width:600px){
  .principios-grid{grid-template-columns:1fr}
  .valores-grid{grid-template-columns:1fr}
  .seps-band{flex-direction:column}
  .cat-intro{flex-direction:column;text-align:center}
  .page-hero{padding:100px 1.25rem 3rem}
  .page-hero-bg-icon{display:none}
  .breadcrumb{padding:.7rem 1.25rem}
  .tasas-section-wrap{padding:3rem 1.25rem}
}

/* ════════════════════════════════════════
   BLOG — LISTADO
════════════════════════════════════════ */
.blog-cats-bar{background:var(--bg-card);border-bottom:1px solid var(--border);padding:.85rem 2.5rem;overflow-x:auto;white-space:nowrap}
.blog-cats-bar .container{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.blog-cat-pill{display:inline-block;padding:.38rem 1rem;border-radius:50px;font-size:.78rem;font-weight:600;color:var(--txt2);border:1.5px solid var(--border);background:var(--bg-card);transition:all .2s;cursor:pointer;text-decoration:none}
.blog-cat-pill:hover,.blog-cat-pill.active{background:var(--gd);color:#fff;border-color:var(--gd)}
[data-theme="dark"] .blog-cat-pill:hover,[data-theme="dark"] .blog-cat-pill.active{background:var(--gold);color:#07130A;border-color:var(--gold)}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem}
.blog-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:transform .25s,box-shadow .25s;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px var(--shadow)}

.blog-card-img-wrap{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;text-decoration:none}
.blog-card-img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.blog-card:hover .blog-card-img{transform:scale(1.05)}
.blog-card-img-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--gd),var(--gm));display:flex;align-items:center;justify-content:center;font-size:3rem}
.blog-card-cat-badge{position:absolute;top:.75rem;left:.75rem;background:var(--gold);color:#07130A;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .7rem;border-radius:50px}

.blog-card-body{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1;gap:.5rem}
.blog-card-meta{display:flex;justify-content:space-between;align-items:center}
.blog-card-date{font-size:.75rem;color:var(--muted)}
.blog-card-read{font-size:.72rem;color:var(--muted);background:var(--bg);padding:.2rem .55rem;border-radius:50px;border:1px solid var(--border)}
.blog-card-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--txt);line-height:1.3;margin:0}
.blog-card-title a{color:inherit;text-decoration:none;transition:color .2s}
.blog-card-title a:hover{color:var(--gd)}
[data-theme="dark"] .blog-card-title a:hover{color:var(--glo)}
.blog-card-excerpt{font-size:.83rem;color:var(--txt2);line-height:1.7;margin:0;flex:1}
.blog-card-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;color:var(--gd);text-decoration:none;margin-top:.3rem;transition:gap .2s}
.blog-card-link:hover{gap:.6rem}
[data-theme="dark"] .blog-card-link{color:var(--glo)}

.blog-pagination{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-top:2rem}
.blog-pagination span a,.blog-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 .75rem;border-radius:8px;font-size:.83rem;font-weight:600;border:1.5px solid var(--border);color:var(--txt2);text-decoration:none;background:var(--bg-card);transition:all .2s}
.blog-pagination span.current,.blog-pagination span a:hover{background:var(--gd);color:#fff;border-color:var(--gd)}

.blog-empty{text-align:center;padding:5rem 2rem}
.blog-empty-icon{font-size:4rem;margin-bottom:1rem}
.blog-empty h3{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--txt);margin-bottom:.5rem}
.blog-empty p{color:var(--muted);font-size:.93rem}

/* ════════════════════════════════════════
   BLOG — POST INDIVIDUAL
════════════════════════════════════════ */
.post-hero-meta{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;font-size:.83rem;color:rgba(255,255,255,.65);margin-top:.5rem}
.post-cat-hero{color:var(--glo)!important;cursor:pointer}

.post-layout{display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start}

/* Artículo */
.post-article{}
.post-content{font-size:.97rem;color:var(--txt2);line-height:1.85}
.post-content h2{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:700;color:var(--txt);margin:2rem 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid var(--gold)}
.post-content h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--txt);margin:1.75rem 0 .6rem}
.post-content h4{font-size:1rem;font-weight:700;color:var(--txt);margin:1.5rem 0 .5rem}
.post-content p{margin-bottom:1.25rem}
.post-content ul,.post-content ol{margin:1rem 0 1.25rem 1.5rem}
.post-content li{margin-bottom:.45rem;line-height:1.7}
.post-content ul li::marker{color:var(--gold);font-weight:700}
.post-content ol li::marker{color:var(--gd);font-weight:700}
.post-content blockquote{margin:1.5rem 0;padding:1.25rem 1.5rem;background:linear-gradient(135deg,var(--gd),var(--gm));border-radius:12px;color:#fff;font-style:italic;font-size:1.05rem;position:relative}
.post-content blockquote::before{content:'"';font-family:'Playfair Display',serif;font-size:4rem;color:rgba(255,255,255,.2);position:absolute;top:-1rem;left:1rem;line-height:1}
.post-content blockquote p{color:#fff;margin:0}
.post-content img{max-width:100%;border-radius:12px;margin:1.5rem 0;box-shadow:0 8px 28px var(--shadow)}
.post-content a{color:var(--gd);font-weight:500;text-decoration:underline}
[data-theme="dark"] .post-content a{color:var(--glo)}
.post-content strong{color:var(--txt);font-weight:700}
.post-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;border-radius:10px;overflow:hidden;border:1px solid var(--border)}
.post-content table th{background:var(--gd);color:#fff;padding:.6rem 1rem;font-size:.83rem;text-align:left}
.post-content table td{padding:.6rem 1rem;font-size:.83rem;border-bottom:1px solid var(--border);color:var(--txt2)}
.post-content table tr:last-child td{border-bottom:none}
.post-content hr{border:none;border-top:2px solid var(--border);margin:2rem 0}

/* Tags */
.post-tags{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.post-tags-lbl{font-size:.8rem;font-weight:600;color:var(--muted);margin-right:.25rem}
.post-tag{display:inline-block;padding:.3rem .8rem;background:var(--bg);border:1px solid var(--border);border-radius:50px;font-size:.75rem;font-weight:500;color:var(--txt2);text-decoration:none;transition:all .2s}
.post-tag:hover{background:var(--gd);color:#fff;border-color:var(--gd)}

/* Nav prev/next */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.post-nav-btn{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.post-nav-btn:hover{border-color:var(--gold);box-shadow:0 4px 16px var(--shadow)}
.post-nav-right{text-align:right}
.post-nav-dir{font-size:.73rem;font-weight:700;color:var(--gold);letter-spacing:.06em;text-transform:uppercase}
.post-nav-title{font-size:.83rem;font-weight:600;color:var(--txt);line-height:1.35}

/* Sidebar */
.post-sidebar{display:flex;flex-direction:column;gap:1.25rem;position:sticky;top:90px}
.sidebar-widget{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.4rem 1.5rem}
.sidebar-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--txt);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:2px solid var(--gold)}
.sidebar-cats{list-style:none;display:flex;flex-direction:column;gap:.3rem}
.sidebar-cats li a{display:flex;justify-content:space-between;align-items:center;padding:.45rem .6rem;border-radius:8px;font-size:.83rem;color:var(--txt2);text-decoration:none;transition:background .2s,color .2s}
.sidebar-cats li a:hover{background:rgba(27,67,50,.07);color:var(--gd)}
.sidebar-cat-count{background:var(--bg);border:1px solid var(--border);border-radius:50px;font-size:.7rem;padding:.1rem .45rem;color:var(--muted)}
.sidebar-recent{list-style:none;display:flex;flex-direction:column;gap:.75rem}
.sidebar-recent li{padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.sidebar-recent li:last-child{border-bottom:none;padding-bottom:0}
.sidebar-recent li a{font-size:.83rem;font-weight:600;color:var(--txt);text-decoration:none;line-height:1.4;display:block;transition:color .2s}
.sidebar-recent li a:hover{color:var(--gd)}
.sidebar-recent-date{font-size:.73rem;color:var(--muted);margin-top:.25rem;display:block}
.sidebar-cta{background:linear-gradient(135deg,#07130A,#1B4332);border:none;text-align:center}
.sidebar-cta-icon{font-size:2.5rem;margin-bottom:.6rem}
.sidebar-cta h4{font-family:'Playfair Display',serif;font-size:1.05rem;color:#fff;margin-bottom:.4rem}
.sidebar-cta p{font-size:.8rem;color:rgba(255,255,255,.6);margin-bottom:1rem}

/* ════════════════════════════════════════
   BLOG RESPONSIVE
════════════════════════════════════════ */
@media(max-width:900px){
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .post-layout{grid-template-columns:1fr}
  .post-sidebar{position:static}
  .post-nav{grid-template-columns:1fr}
  .post-nav-right{text-align:left}
}
@media(max-width:600px){
  .blog-grid{grid-template-columns:1fr}
  .blog-cats-bar{padding:.75rem 1.25rem}
  .post-hero-meta{gap:.75rem;font-size:.78rem}
}

/* ════════════════════════════════════════
   LOGO DOBLE (modo claro / modo oscuro)
   Para cambiar tamaño edita --logo-h
════════════════════════════════════════ */
:root{--logo-h:190px}   /* ← cambia este número para ajustar el tamaño */

.nav-logo{gap:0}
.logo-light-img,
.logo-dark-img{height:var(--logo-h);width:auto}

/* Estado inicial controlado por JS (ver main.js → swapLogos) */
/* Fallback CSS por si JS no carga */
.logo-dark-img{display:none}
[data-theme="dark"] .logo-light-img{display:none}
[data-theme="dark"] .logo-dark-img{display:block}

@media(max-width:600px){:root{--logo-h:42px}}

/* ════════════════════════════════════════
   BOTÓN FLOTANTE WHATSAPP
════════════════════════════════════════ */
.wa-float{
  position:fixed;bottom:28px;right:28px;z-index:9999;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 18px rgba(37,211,102,.45);
  text-decoration:none;
  transition:transform .2s,box-shadow .2s;
}
.wa-float:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(37,211,102,.6)}
.wa-float svg{width:32px;height:32px;fill:#fff}

/* ════════════════════════════════════════
   AVISO DE COOKIES
════════════════════════════════════════ */
.cookie-notice{
  position:fixed;bottom:20px;left:20px;z-index:9998;
  max-width:360px;width:calc(100% - 40px);
  background:var(--bg-card,#fff);
  border:1px solid var(--border,#e5e7eb);
  border-radius:14px;
  padding:1.1rem 1.3rem;
  box-shadow:0 6px 24px rgba(0,0,0,.12);
  display:flex;flex-direction:column;gap:.75rem;
}
.cookie-text{font-size:.82rem;color:var(--txt2,#4b5563);line-height:1.5;margin:0}
.cookie-btn{
  align-self:flex-start;
  background:var(--gd,#1B4332);color:#fff;
  border:none;border-radius:8px;
  padding:.45rem 1.1rem;font-size:.82rem;font-weight:600;
  cursor:pointer;transition:opacity .2s;
}
.cookie-btn:hover{opacity:.85}
@media(max-width:500px){
  .wa-float{bottom:16px;right:16px;width:50px;height:50px}
  .wa-float svg{width:26px;height:26px}
  .cookie-notice{bottom:12px;left:12px;width:calc(100% - 24px)}
}
