/* ===== base ===== */
:root{
  --paper:#ffffff;
  --ink:#0b0b0b;
  --muted:#6b7280;
  --gold:#D8B880;
  --gold-strong:#caa760;
  --gold-hi:#f3e2b7;
  --navy:#142b4a;  
  --navy2:#19385e;
  --slate:#1f2937;
  --line:rgba(0,0,0,.10);
  --offset-total:72px;

  --header-h:64px;    /* ↓ Menú 3–4 px menos alto */
  --svc-min-h:420px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  background:#fff;
  font:16px/1.7 "Poppins", sans-serif; 
  font-size: 14px;
  padding-top:var(--offset-total);
  overflow-x:hidden;
}

.container{
  max-width:1200px;
  margin-inline:auto;
  padding:0 1.25rem
}

/* ===== TOPBAR ===== */
.topbar{
  position:fixed; 
  inset:0 0 auto 0; 
  z-index:10000;
  background: #D8B880;
  color:#2b1e07; 
  border-bottom:1px solid white;
}
.topbar-link{
  display:flex; 
  align-items:center; 
  justify-content:center; 
  gap:.7rem;
  padding:.55rem 2.5rem .55rem .85rem; 
  text-decoration:none; 
  color:white; 
  font-weight:600; 
  letter-spacing:.1px
}
.topbar .arrow{ 
  font-weight:900
 }
.pulse{
  width:
  8px;
  height:8px;
  border-radius:50%;
  background:white;
  box-shadow:0 0 0 0 white;
  animation:pulse 2s infinite
}
@keyframes pulse{to{box-shadow:0 0 0 12px rgba(122,90,31,0)}}
.topbar-close{
  position:absolute; 
  right:10px; 
  top:5px;
  width:28px; 
  height:28px;
  border-radius:6px; 
  border:0;
  background:none; 
  color:white; 
  font-weight:700; 
  cursor:pointer;
  display:grid; 
  place-items:center; 
  font-size:15px; 
  box-shadow:none;
}
.topbar.is-closed{
  display:none
}
.topbar-ticker{
  display:none
}

/* ——— SOLO responsive ——— */
@media (max-width:979px){
  .topbar{ padding-right:44px }
  .topbar-link{ display:none }
  .topbar-ticker{ 
    display:block; 
    overflow:hidden; 
    white-space:nowrap 
  }
  .ticker-track{ 
    display:inline-flex; 
    align-items:center; 
    gap:14px; 
    padding:.5rem .75rem; 
    animation:ticker 22s linear infinite 
  }
  .ticker-text{ 
    font-weight:600; 
    letter-spacing:.1px; 
    color:white; 
    font-size:13px 
  }
  .badge{
     display:inline-grid; 
     place-items:center; 
     width:22px; 
     height:22px; 
     border-radius:999px; 
     background:white; 
     color:#D8B880; 
     font-size:.8rem; 
     font-weight:700 
    }
  .spacer{ 
    opacity:.4; 
    margin:0 28px; 
    letter-spacing:8px 
  }
  .topbar-close{
     top:50%; 
     transform:translateY(-50%) 
    }
  @keyframes ticker{from{transform:translateX(0)} to{transform:translateX(-50%)}}
}

/* ===== MENÚ ===== */
.site-header{
  position:fixed; 
  top:var(--topbar-h,0); 
  left:0;
  right:0; 
  z-index:9999;
  background:#fff; 
  height:var(--header-h);
  
}
.header-inner{ 
  display:flex; 
  align-items:center; 
  gap:8rem; 
  padding:.5rem 0; 
  height:100% 
}
.logo{ 
  height:40px 
}
.nav{ 
  margin-left:auto 
}
.nav-toggle, .nav-toggle.m{
  display:inline-flex; 
  align-items:center; 
  justify-content:center;
  padding:.4rem .55rem; 
  border:1px solid var(--line); 
  background:#fff; 
  border-radius:10px; 
  font-size:.95rem; 
  cursor:pointer;
  color:gray;
}
.nav-list{ 
  list-style:none; 
  margin:0; 
  padding:0; 
  gap:.6rem; 
  align-items:center 
}
.nav-list a{
  color:var(--ink); 
  text-decoration:none; 
  padding:.7rem .6rem; 
  border-radius:5px; 
  font-weight:500;
}
.nav-list a.is-active{
  font-weight:700;
  background:transparent;
  text-decoration: underline var(--gold);
  text-decoration-thickness: 3px;
  text-underline-offset: 6px;
  text-decoration-skip-ink: auto;
}
.nav-list a:hover{ 
  color:rgb(78, 78, 78); 
  font-weight:600 
}
.lang-switch{ 
  display:flex; 
  align-items:center; 
  gap:.4rem; 
  margin-left:4.5rem; 
  border-radius:5px 
}
.lang,.m-lang .lang{ 
  border:1px solid var(--line); 
  background:#fff; 
  padding:.28rem 12px; 
  font-size:.9rem; 
  border-radius:7px;
  border: 1px solid black;
  color:black;
}
.lang:hover{ 
  border: 1px solid var(--gold);
  color:var(--gold-strong)
}
.lang.is-active{ 
  background:black; 
  font-weight:600; 
  color:white;
  border: 1px solid gray;
}

@media (min-width:980px){
  .nav-toggle{ display:none }
  .nav-list{ display:flex }
}
.header-mobile{ display:none }
@media (max-width:979px){
  .header-inner{display:none}
  .header-mobile{
    display:grid; 
    grid-template-columns:48px 1fr 100px; 
    align-items:center; 
    padding:.2rem .6rem; 
    gap:.25rem; 
    height:100%;
    border-top:1px solid rgb(207, 207, 207)
  }
  .nav-toggle.m{
    justify-self:start
  }
  .m-center{
    justify-self:center; 
    display:flex; 
    align-items:center; 
    justify-content:center
  }
  .m-brand{gap:.45rem}
  .m-logo{ 
    height:40px; 
    width:auto; 
    object-fit:contain
   }
  .m-lang{ 
    display:flex; 
    justify-self:end; 
    gap:.35rem; 
    padding-right:.25rem 
  }
  .m-lang .lang{ 
    padding:.25rem .6rem; 
    font-size:.8rem; 
    text-align:center;
  }
  #site-nav{
    position:fixed; 
    top:calc(var(--topbar-h) + var(--header-h) + 8px); 
    left:12px; 
    right:12px; 
    z-index:10001;
    background-color: rgba(255, 255, 255, 0.945); 
    border:1px solid var(--line); 
    border-radius:12px;
    display:none; 
    flex-direction:column; 
    gap:.2rem; 
    padding:.5rem;
    box-shadow:0 10px 30px rgba(0,0,0,.10); 
    max-height:50vh; 
    overflow:auto;
  }
  #site-nav.open{
    display:flex
  }
  #site-nav a{
    padding:.6rem;
    border-radius:8px;
    color:#111 !important}
}
/* ===== HERO ===== */
.hero-full{ 
  position:relative; 
  width:100%; 
  height:calc(100svh - var(--offset-total)); 
  min-height:520px; 
  overflow:hidden; 
  isolation:isolate
}
.hero-media{ 
  position:absolute; 
  inset:0; width:100%; 
  height:100%; 
  object-fit:cover; 
  object-position:top; 
  display:none 
}
.hero-video.desktop{display:block}
.hero-video.mobile{display:none}
@media (max-width:979px){ 
  .hero-video.desktop{display:none} 
  .hero-video.mobile{display:block} 
}
.hero-stack{ 
  position:absolute; 
  right:95px; 
  bottom:20px; 
}
.hero-ctas{ 
  display:flex; 
  gap:.9rem; 
  flex-wrap:nowrap 
}
.btn{ 
  display:inline-block; 
  padding:.5rem 1rem; 
  border-radius:12px; 
  text-decoration:none; 
  cursor:pointer; 
  font-weight:700 
}
.btn-hero{
  background:var(--gold); 
  color:black; 
  border:1px solid #dbd0bd; 
  padding:.6rem 1rem;
  border-radius:12px; 
  font-weight:600; 
  letter-spacing:.2px;
  transform:translateY(0); 
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease, background .15s ease, color .15s ease;
}
.btn-hero:hover{ transform:translateY(-2px); border:2px solid gray; background:black; color:white }
@media (max-width:979px){
  .hero-stack{left:35%; right:auto; transform:translateX(-26%); bottom:18px;}
  .hero-ctas{justify-content:center}
  .btn-hero{padding:.6rem .8rem;font-size:.74rem;border-radius:10px}
}

/* ===== SERVICIOS ===== */
.services{ 
  padding:40px 0 40px; 
  background-color:white 
}
.services-title{
  text-align:center;
  margin:0 0 12px;
  font-size:27px;
  color:black;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}

.services-p{ 
  text-align:center; 
  font-weight:600; 
  margin-top:0 
}
.services-grid{ 
  display:grid; 
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); 
  gap:18px 
}
.services-grid--3{ 
  grid-template-columns:repeat(3, 1fr) 
}
@media (max-width:979px){
  .services-grid--3{grid-template-columns:1fr} 
  .services-title{ font-size:23px;}
}

.svc-card{ 
  display:block; 
  width:100%; 
  color:white; 
  perspective:1000px 
}
.svc-inner{
  position:relative; 
  border-radius:5px; 
  border:1px solid var(--line); 
  min-height:var(--svc-min-h);
  box-shadow:0 12px 32px rgba(0,0,0,.08); 
  transform-style:preserve-3d; 
  background:#fff
}
.svc-inner.flip{ 
  transition:transform .6s ease 
}
.svc-card:hover .svc-inner.flip{ 
  transform:rotateY(180deg) 
}
.svc-inner.is-flipped{ 
  transform:rotateY(180deg) 
}
.svc-face{ 
  position:absolute; 
  inset:0; 
  padding:22px; 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  backface-visibility:hidden; 
  border-radius:5px 
}
.svc-face.front.white{
  background:#fff
}
.svc-face.front.white1{
  background:#fff
}
.svc-face.back.white{
  background:#fff; 
  transform:rotateY(180deg);
  align-items:center;                 /* centrado vertical */
  justify-content:center;             /* centrado horizontal */
  gap:12px;
  flex-direction:column; 
  font-size:13.5px;
  text-align:justify;                  /* texto centrado */
  font-weight:400;
  padding:50px;
}
.svc-face.back.white p{
  margin:0 0 8px 0;
  line-height:1.5;
}
.svc-lines{
  margin:0;
  padding-left:0;                     /* quitamos sangría */
  list-style-position: initial;         /* bullets centrables */
}
.svc-lines li{ 
  margin:4px 0 
}
.svc-title{ 
  display:flex; 
  align-items:center; 
  gap:.6rem; 
  font-size:1.14rem; 
  margin:0 
}
.svc-title.center{
  justify-content:center
}
.svc-face.front.white.front-v2{ 
  display:flex; 
  flex-direction:column; 
  align-items:center 
}
.svc-img{ 
  width:120px; 
  height:120px; 
  margin-top:20px 
}
.svc-hint{ 
  margin-top:10px; 
  font-size:.82rem; 
  color:#555555ad; 
  opacity:.9 ;
  display:none
}
.svc-hint.touch{
  display:none
}
@media (hover:none){.svc-hint{display:none}.svc-hint.touch{display:none}}
.services .svc-face.front.white{ 
  background:#fff url("Img/Inicio/Fondotarjeta3.png") top/cover no-repeat 
}
.services .svc-face.back.white{ 
  background:#fff url("Img/Inicio/Fondotarjeta.png") top/cover no-repeat; 
  color:black 
}
.svc-cta{ 
  align-self:center; 
  background:var(--gold); 
  color:#111; 
  border:1px solid rgba(0,0,0,.06) }
.svc-cta:hover{ 
  color:white; 
  background-color:black
 }

/* ===== ÁREAS DE ASESORÍA ===== */
.advisory{ 
  padding:25px 0 70px 0; 
  background:#eaeaea70 
}
.advisory-title{
  display:none
}
.advisory h1{
  text-align: center;
  font-size: 27px;
  padding: 0px 20px;
  margin:0;
}
.advisory p{ 
  text-align:center; 
  font-weight:600; 
  margin-bottom:30px;
  margin-top: 0;
}
.adv-grid{ 
  display:grid; 
  grid-template-columns:3fr 1fr; 
  gap:22px; 
  align-items:center 
}
@media (max-width:979px){.adv-grid{grid-template-columns:1fr;gap:16px}}
.adv-left{ 
  display:flex; 
  flex-direction:column; 
  align-items:center 
}

.adv-wheel{
  --size: 70vh;
  width:min(70vw, var(--size));
  aspect-ratio:1; 
  position:relative; 
  border-radius:50%; 
  background:transparent; 
  border:2px solid gray; 
}
@media (max-width:979px){.adv-wheel{ --size: 56vh; width:min(86vw, var(--size)); }}
.adv-wheel::before{ 
  content:""; 
  position:absolute; 
  inset:0; 
  border-radius:50%; 
  border:none 
}
.adv-ring{ 
  position:absolute;
  background:white;
  inset:10px; 
  border:2px solid gray; 
  border-radius:50% 
}
.adv-wheel::after{
  content:"Áreas de asesoría";
  position:absolute; 
  left:50%; 
  top:50%; 
  transform:translate(-50%,-50%);
  width:33%; 
  aspect-ratio:1; 
  display:grid; 
  place-items:center; 
  text-align:center;
  background:#ffffff; 
  color:black; 
  font-weight:700; 
  line-height:1.2; 
  border-radius:50%;
  border: 10px solid var(--gold); 
  box-shadow:0 10px 24px rgba(0,0,0,.10); 
  padding:10px;
}
.adv-node{
  position:absolute; 
  left:70%; 
  top:70%; 
  transform:translate(-70%,-70%);
  width:128px; 
  height:128px; 
  border-radius:50%; 
  background:white; 
  color:black;
  border:2px solid var(--gold-strong); 
  box-shadow:0 16px 40px rgba(0, 0, 0, 0.096);
  display:flex; 
  flex-direction:column; 
  align-items:center; 
  justify-content:center; 
  text-align:center;
  padding:.55rem; 
  font-size:.84rem; 
  gap:6px; 
  font-family:inherit;
}
.adv-node svg{
  width:35px; 
  height:35px; 
  color:black
}
.adv-node strong{ 
  font-size:.8rem; 
  line-height:1.1; 
  font-weight:600 
}
@media (max-width:979px){
  .adv-node{
    width:97px;
    height: 97px;
    font-size:.72rem
  }
  .adv-node svg{ 
    width:30px; 
    height:30px 
  }
  .adv-node strong{ 
    font-size:.68rem 
  }   /* letra más pequeña en móvil */
  .adv-wheel::after{
    font-size: 12px;
    font-weight: 700;
    width:25%
  }
}

.adv-right{ 
  display:flex; 
  justify-content:center 
}
.adv-detail-square{
  width:100%; 
  max-width:300px; 
  aspect-ratio:1/1; 
  border-radius:16px; 
  border:1px solid rgba(0,0,0,.08);
  background:#f9fafb; 
  color:black; 
  box-shadow:0 12px 28px rgba(0,0,0,.10); 
  padding:16px; 
  overflow:auto;
  display:flex; 
  flex-direction:column; 
  align-items:center; 
  justify-content:center;
}
.adv-detail-square h3{ 
  margin:0 0 10px 
}
.adv-detail-square ul{ 
  margin:0; 
  padding-left:20px 
}
.adv-detail-square li{ 
  margin:6px 0 
}
@media (max-width: 768px) {
  .adv-wheel::after {
    width: 45%;
    border-width: 6px;
    padding: 0;              /* elimina la expansión vertical */
    font-size: 0.85rem;      /* mantiene proporción de texto */
  }
}

/* ======================
   Centro perfecto y redondo
====================== */
.adv-wheel::after {
  content: "Áreas de asesoría";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #fff;
  color: #000;
  font-weight: 700;
  border-radius: 50%;
  border: 8px solid var(--gold);
  box-shadow: 0 8px 20px rgba(0,0,0,.1);
  box-sizing: border-box;
  line-height: 1.2;
  width: min(200px, 35vw);   /* 🔹 Siempre proporcional */
  height: min(200px, 35vw);  /* 🔹 Igual que el ancho */
  padding: 0;
}

/* ===== Ajuste para pantallas pequeñas ===== */
@media (max-width: 600px) {
  .adv-wheel::after {
    width: min(150px, 45vw);
    height: min(150px, 45vw);
    border-width: 5px;
    font-size: .9rem;
  }
}

/* INDUSTRIAS*/
.industries{ 
  padding:30px 0; 
  background:#fff 
}
.industries-title{ 
  margin:0 0 14px;  
  text-align:center;
  font-size:27px;
}
.ind-cards{ 
  display:grid; 
  grid-template-columns:repeat(3,1fr); 
  gap:16px 
}
@media (max-width:979px){.ind-cards{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.ind-cards{grid-template-columns:1fr}}

.ind-card{
  border:1px solid var(--line); 
  border-radius:18px; 
  background:#fff; 
  box-shadow:0 12px 28px rgba(0,0,0,.07);
  display:flex; 
  flex-direction:column; 
  min-height:480px; 
  overflow:hidden
}
.ind-card__media{ 
  width:100%; 
  height:220px; 
  object-fit:cover 
}
.ind-card__head{ 
  padding:12px 14px; 
  background:linear-gradient(135deg,#f3e7c6,#e5cc92); 
  color:#1b1b1b; 
  border-bottom:1px solid rgba(0,0,0,.06) 
}
.ind-card__title{ 
  margin:0; 
  font-size:1.06rem; 
  text-align:center 
}
.ind-card__body{ 
  padding:12px 14px 14px; 
  display:flex; 
  flex-direction:column; 
  gap:8px 
}
.ind-card__desc{ 
  margin:0; 
  color:#333; 
  text-align:justify; 
  line-height:1.5 
}
.ind-rotator{ 
  margin-top:auto; 
  padding:10px 0 2px; 
  border-top:1px dashed rgba(0,0,0,.12) 
}
.ind-rotator-label{ 
  font-size:.85rem; 
  color:#555; 
  margin:0 0 6px; 
  text-align:center
}
.ind-rotator-ui{ 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  gap:10px 
}
.ind-rot-btn{ 
  border:1px solid var(--line); 
  background:#fff; 
  border-radius:999px; 
  width:30px; 
  height:30px; 
  display:grid; 
  place-items:center; 
  cursor:pointer 
}
.ind-rotator-chip{ 
  display:inline-block; 
  min-width:60%; 
  text-align:center; 
  border:1px solid var(--line); 
  border-radius:999px; 
  padding:.32rem .8rem; 
  font-size:.9rem; 
  background:#eef1f4; 
  white-space:nowrap; 
  overflow:hidden; 
  text-overflow:ellipsis 
}

/* BLOG */
.blog{ 
  padding:22px 0 22px; 
  background:#eaeaea70;  
  display:none;
}
.blog-head{ 
  display:flex; 
  align-items:center; 
  justify-content:space-between; 
  margin:0 0 10px 
}
.blog-head h2{ 
  margin:0; 
  font-size:27px;
}
.blog-controls{ 
  display:flex; 
  gap:8px 
}
.blog-controls button{ 
  border:1px solid var(--line); 
  background:#fff; 
  border-radius:10px; 
  padding:.35rem .6rem; 
  cursor:pointer 
}
.blog-viewport{ 
  overflow:hidden; 
  position:relative 
}
.blog-track{ 
  display:flex; 
  gap:16px; 
  transition:transform .45s ease 
}
.blog-card{
  flex:0 0 calc((100% - (16px * 2))/3); 
  border:1px solid var(--line); 
  border-radius:16px; 
  overflow:hidden;
  background:#fff; 
  box-shadow:0 10px 24px rgba(0,0,0,.06); 
  min-height:460px; 
  display:flex; 
  flex-direction:column
}
.blog-card img{ 
  width:100%; 
  height:320px; 
  object-fit:cover 
}
.blog-body{ 
  padding:14px; 
  display:flex; 
  flex-direction:column; 
  align-items:center; 
  gap:10px; 
  margin-top:10px 
}
.blog-body h3{ 
  margin:0; 
  font-size:1.02rem; 
  line-height:1.35 
}
@media (max-width:979px){
  .blog-track{ gap:12px }
  .blog-card{ flex:0 0 100% }
  .blog-card img{ height:320px }
}
.btn-blog{
  background:linear-gradient(180deg, #111, #2b2b2b); 
  color:#fff; 
  border:1px solid rgba(0,0,0,.2);
  padding:.6rem 1.1rem; 
  border-radius:12px; 
  font-weight:800; 
  letter-spacing:.2px; 
  transform:translateY(0);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.btn-blog:hover{ 
  transform:translateY(-2px); 
  box-shadow:0 10px 20px rgba(0,0,0,.15); 
  filter:saturate(1.05) 
}

/* FAQ */
.faq{ 
  padding:22px 0 30px; 
  background:url("Img/Inicio/Fondofaq.png") top right/contain no-repeat 
}
.faq h2{ 
  text-align:center; 
  margin:0 0 16px;
  font-size:27px; 
}
.faq-grid{ 
  display:grid; 
  grid-template-columns:1fr; 
  gap:14px; 
  max-width:800px; 
  margin:0 auto 
}
.faq-item{ 
  border:1px solid #e5e7eb; 
  border-radius:14px; 
  background:#ffffff; 
  box-shadow:0 6px 18px rgba(0,0,0,.06); 
  overflow:hidden 
}
.faq-item summary{
  cursor:pointer; 
  display:flex; 
  align-items:center; 
  gap:.8rem; 
  font-weight:700; 
  list-style:none;
  padding:12px 14px; 
  background:#ffffff; 
  color:#111; 
  border-left:10px solid var(--gold);
}
.faq-item summary::-webkit-details-marker{ 
  display:none 
}
.faq-item summary::after{
  content:"›"; 
  transform:rotate(90deg); 
  margin-left:auto; 
  opacity:.6; 
  font-weight:900; 
  transition:transform .2s ease, opacity .2s ease;
  color:var(--gold); 
  font-size:20px;
}
.faq-item[open] summary::after{ 
  transform:rotate(-90deg); 
  opacity:.9 
}
.faq-title{ 
  font-size:.98rem; 
  line-height:1.3 
}
.faq-content{ 
  border-top:1px dashed #e5e7eb; 
  padding:10px 14px; 
  font-size:.95rem; 
  color:#222; 
  background:#fff }

/* ====== Footer ====== */
.site-footer{ 
  margin-top:15px; 
  border-top:1px solid #111; 
  background:#000; 
  color:#fff 
}
.footer-grid{
  display:grid; 
  grid-template-columns:repeat(4, minmax(0,1fr)); /* 4 columnas iguales y proporcionadas */
  gap:150px; 
  padding:22px 0; 
  align-items:start; 
  justify-items:center; 
  text-align:left; 
  width:100%;
}
@media (max-width:979px){
  .footer-grid{
    grid-template-columns:1fr; 
    justify-items:center; 
    text-align:center;
    gap:28px; 
  }
}

.f-col{ 
  display:flex; 
  flex-direction:column;
  align-items: center; 
  justify-content: center;
  gap:.8rem 
}
@media (max-width:979px){
  .f-col{ align-items:center }
}

.f-invert{ 
  filter:brightness(0) invert(1) 
}
.f-brand .isotipo{ 
  display:none 
}
.f-brand .logo{ 
  margin-top: 10px;
  margin-bottom:10px; 
  height:45px 
}
.f-social{ 
  display:flex; 
  gap:.7rem; 
  justify-content:flex-start; 
  align-items:center 
}
.f-social .sbtn:hover{
  color:gray;                  
  transform: translateY(-1px);
  outline: none;
}
@media (max-width:979px){ .f-social{ justify-content:center } }
.sbtn{
  display:inline-flex; 
  align-items:center; 
  justify-content:center; 
  min-width:36px; 
  height:36px; 
  padding:0 .6rem;
  border:1px solid var(--line); 
  border-radius:10px; 
  color:#1f2937; 
  text-decoration:none; 
  background:#fff
}

.f-links h5,.f-cta h5,.f-info h5{ 
  margin:.2rem 0 .4rem; 
  font-size:1rem; 
  color:#fff 
}
.f-links ul{ 
  list-style:none; 
  margin:0; 
  padding:0 
}
.f-links ul.cols-2{ 
  columns:2; 
  column-gap:28px 
}
.f-links ul.left{ 
  text-align:left 
}
.f-links li{ 
  break-inside:avoid; 
  margin-bottom:.35rem;
  font-weight: 500; 
}
.f-links a{ 
  color:#eee; 
  text-decoration:none; 
  opacity:.9 
}
.f-links a:hover{ 
  font-weight: 700;
}
.f-cta .schedule{ 
  font-weight:600; 
  margin-bottom:0; 
  color:#e5e7eb 
}

/* Nueva columna de info con íconos */
.f-info-list{ 
  list-style:none; 
  margin:0; 
  padding:0; 
  display:flex; 
  flex-direction:column; 
  gap:.6rem;
  font-weight: 500;
}
.fi-item{ 
  display:flex; 
  align-items:flex-start; 
  gap:.6rem 
}
@media (max-width:979px){ .fi-item{ 
  justify-content:left;
  padding: 0 35px; 
  text-align: justify;
} 
}
.fi-icon{ 
  display:inline-grid; 
  place-items:center; 
  width:28px; 
  height:28px; 
  border-radius:8px; 
  background:rgba(216,184,128,.12); 
  border:1px solid rgba(216,184,128,.35) 
}
.fi-icon.ubi{
  padding: 0 6px 0 4px;
}

.svg-gold{ 
  fill:var(--gold) 
}
.fi-text{ 
  display:flex; 
  flex-direction:column; 
  gap:2px 
}
.fi-label{ 
  font-weight:700; 
  color:#fff 
}
.fi-value{ 
  color:#e7e7e7; 
  text-decoration:none 
}
.fi-value:hover{ 
  font-weight: 600;
}

/* Botón del footer */
.btn-footer{
  background:#fff; 
  color:#111; 
  border:1px solid #111; 
  padding:.55rem 1rem; 
  border-radius:12px; 
  font-weight:800;
}
.btn-footer:hover{ 
  color:black;
  font-size: 15px;
  background: var(--gold);
}

/* Franja inferior DORADA*/
.copy{
  display:flex; 
  justify-content:center; 
  align-items:center;
  border-top:1px solid var(--line); 
  padding:12px; 
  background:var(--gold); 
  color:black; 
  font-weight:600; 
  letter-spacing:.3px;
}

/* Footer — responsive extras */
@media (max-width:979px){
  .f-brand .logo{display:none}
  .f-brand .isotipo{display:block;height:40px}
  .f-links h5,.f-cta h5,.f-info h5{font-size:.95rem}
    .copy{
    font-size:.85rem;
    text-align: center;
  }
}

/*  WhatsApp flotante  */
.whatsapp-float{
  position:fixed; 
  right:16px; 
  bottom:16px;
  width:56px; 
  height:56px; 
  display:grid; 
  place-items:center;
  border-radius:50%; 
  text-decoration:none; 
  z-index:1000;
  background: white; 
}
.whatsapp-float:hover{ 
  background-color:black
}

/* ===== Aparición suave para TODOS los títulos ===== */
.reveal-title{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .6s ease-out, transform .6s ease-out;
  will-change:opacity, transform;
}
.reveal-title.is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (prefers-reduced-motion: reduce){
  .reveal-title{transition:none; opacity:1; transform:none}
}
