:root{
  --gold:#D8B880;
  --gold-strong:#C9A868;
  --gold-hi:#f3e2b7;
  --text:#111;
  --muted:#555;

  --header-h:68px;
}
*{ 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;
}
img{
  display:block;
  max-width:100%
}
.container{
  max-width:1200px;
  margin-inline:auto;
  padding:0 1.25rem
}

/* ===== 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}
}


/* =========================================================
   BOTONES
   ========================================================= */
.btn{ display:inline-block; padding:12px 18px; border-radius:12px; font-weight:700; transition:.2s ease; border:1px solid transparent; text-decoration:none }
.btn-primary{ background:var(--gold); color:#1a1a1a }
.btn-primary:hover{ transform:translateY(-1px); filter:brightness(1.02) }
.btn-outline{ border:1px solid var(--gold); color:#1a1a1a; background:transparent }
.btn-outline:hover{ background:rgba(216,184,128,.12) }
.btn-footer{ background:transparent; border:1px solid var(--gold); color:#1a1a1a }
.btn-footer:hover{ background:rgba(216,184,128,.12) }

/* HERO */
.tax-hero{
  position: relative;       
  width:100%;
  min-height:520px;
  min-height: calc(100vh - var(--offset-total, 68px));
  min-height: calc(100svh - var(--offset-total, 68px));
  display:flex;
  align-items:center;
  isolation:isolate;
  overflow:hidden;
  padding-inline: var(--container-pad, 16px);
  padding-block: clamp(24px, 4vh, 72px);
}

.hero-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top;
  z-index: 0;              
  pointer-events:none;     
  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}
}

/* 1) Capa blanca encima del video */
.tax-hero::after{
  content:"";
  position:absolute; inset:0;
  z-index: 0;                /* mismo plano que el video */
  background: radial-gradient(
    circle at 50% 50%,
    rgba(255, 255, 255, 0.671) 0%,
    rgba(255, 255, 255, 0.658) 35%,
    rgba(255, 255, 255, 0.39) 65%,
    rgba(255, 255, 255, 0) 100%
  );
  pointer-events:none;       /* no bloquea clics */
}

/* Asegura orden de capas */
.hero-media{ z-index: 0; }
.tax-hero .container{ z-index: 1; position: relative; }


.tax-hero .container{
  position: relative;
  z-index: 1;
  min-height: auto;
  width: min(650px, calc(100% - 2*var(--container-pad, 16px)));
  padding: 10px;
  height: auto;
  display:flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-inline: auto;
  background: rgba(255, 255, 255, 0.062);
  box-sizing: border-box; 
}

.tax-hero-title{
  text-align:center;
  margin:0 0 20px;
  font-size:27px;
  color:black;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}
.tax-hero .lead{
  text-align:center;
  max-width:820px;
  margin:0 20px 18px;
  font-size:15px;
  color:black;
  font-weight: 500;
}
.tax-hero .btn{
  display:inline-block;     /* más natural para botones */
  margin:14px auto 0;
}

@media (max-width:979px){
  .tax-hero .lead{
    margin: 0;
    font-size:13px;
    text-align: justify;
  }
  .tax-hero-title{
    font-size:20px;
  }
}

/*  COUNTDOWN  */
.tax-countdown{
  padding:56px 0;
  background: linear-gradient(180deg, var(--gold), #666);
}

.tax-countdown .container{
  max-width: 1000px;
  margin-inline: auto;
  text-align:center;
}

.cd-title{
  text-align:center;
  margin:0 0 12px;
  font-size:27px;
  color:white;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}
.cd-sub{
  text-align:center;
  color:rgba(255, 255, 255, 0.89);
  margin:0 auto 22px;
  max-width:720px;
}

/* Grid: 4 columnas SIEMPRE (en móvil reduce tamaños para que quepa) */
.cd-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:14px;
  width:100%;
  max-width: 1000px;
  margin:0 auto 18px;
}

/* Caja */
.cd-box{
  border:2px solid rgb(46, 46, 46);
  border-radius:16px;
  padding: clamp(18px, 4vw, 40px) clamp(12px, 2.8vw, 18px);
  background:black;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-shadow: 0 3px 10px rgba(0,0,0,.04);
  min-width: 0; /* evita overflow por texto largo */
}

/* Número grande */
.cd-num{
  font-weight:700;
  font-size: clamp(22px, 8vw, 50px);
  line-height: 1.05;
  letter-spacing:1px;
  color:var(--gold-strong);
  text-shadow:0 2px 0 var(--gold-hi);
}

/* Etiqueta */
.cd-label{
  color:white;
  margin-top:6px;
  font-weight:700;
  text-transform:uppercase;
  font-size: clamp(9px, 2.3vw, 12px);
  letter-spacing:.8px;
  white-space: nowrap;
}

/* Botón centrado */
.tax-countdown .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:16px auto 0;
  color:white;
  background-color: var(--gold-strong);
  border: 2px solid var(--gold);
  box-shadow: 0 3px 10px var(--gold);
}
.tax-countdown .btn:hover,
.tax-countdown .btn:focus-visible{
  transform: translateY(-3px);
  box-shadow: 0 12px 20px var(--gold-strong);
  outline: none;
}

.tax-countdown .btn:active{
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(0,0,0,.14);
}

@media (max-width: 820px){
  .cd-grid{ gap:10px; }
  .cd-num{text-shadow:0 1px 0 var(--gold-hi)}
}
@media (max-width: 600px){
  .cd-grid{ gap:8px; }
  .cd-box{ border-radius:12px; }
}
@media (max-width: 420px){
  .cd-grid{ gap:6px; }
  .cd-label{ letter-spacing:.5px; }
}


/* SERVICIOS */
.tax-services{
  padding: 35px 0;
  background: #fff;
}

.tax-services .section-title, .svc-extra-title{
  text-align:center;
  margin:0 0 30px;
  font-size:27px;
  color:black;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}

.svc-grid{ 
  display:grid; 
  gap:14px; 
  margin-bottom: 30px;
}

.svc-grid.primary{
  grid-template-columns: repeat(3, minmax(240px, 1fr));
  align-items: stretch;
}

.svc-grid.extra{
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap:14px;
  margin-top: 10px;
}

@media (max-width: 980px){
  .svc-grid.primary{ grid-template-columns: 1fr; }
}
@media (max-width: 900px){
  .svc-grid.extra{ grid-template-columns: 1fr; }
}

/* Card con imagen de fondo */
.svc-card, .svc-mini{
  --elev-hov-trf: translateY(-6px) scale(1);
  position: relative;
  isolation: isolate;             
  z-index: 0;
  border:2px solid gray;
  border-radius:16px;
  background: linear-gradient(360deg, black, #666);
  padding:50px 20px;
  box-shadow: 0 3px 10px rgba(0,0,0,.04);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  overflow: hidden;  
  box-shadow: 0 20px 44px #eaeaea, 0 8px 18px gray;        
}
.svc-card{
  background: rgba(241, 241, 241, 0.438);
  box-shadow: 0 20px 44px var(--gold-hi), 0 8px 18px var(--gold);
  border-color: color-mix(in srgb, var(--gold-strong, var(--gold)) 25%, transparent);

}

.svc-title, .mini-body h5{
  margin:0 0 6px;
  font-size: 18px;
  font-weight: 700;
  color:white;
  text-align: center;
}

.svc-title{
  color:black;
}
.svc-desc,.mini-desc{
  margin:0 0 12px;
  color:black;
  line-height:1.55;
  text-align: center;
  background: var(--gold);
  padding: 10px;
  border-radius: 10px;
  border: 2px solid var(--gold-hi);
}

.svc-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
  color:white
}
.cont1{
  color:black;

}

.svc-list li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:8px 10px;
  border-radius:12px;
  background: linear-gradient(180deg, rgba(216,184,128,.08), rgba(216,184,128,.04));
}

/* Check dorado (SVG con currentColor) */
.ico-check{
  flex:0 0 22px; width:22px; height:22px;
  color: var(--gold-strong, #b8892b);
  display:inline-block; position:relative;
}
.ico-check::before{
  content:""; position:absolute; inset:0;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 2a10 10 0 1 0 10 10A10.011 10.011 0 0 0 12 2Zm-1 15-4-4 1.41-1.41L11 13.17l5.59-5.59L18 9Z"/></svg>') no-repeat center / contain;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 2a10 10 0 1 0 10 10A10.011 10.011 0 0 0 12 2Zm-1 15-4-4 1.41-1.41L11 13.17l5.59-5.59L18 9Z"/></svg>') no-repeat center / contain;
  background: currentColor;
}


/* Hover/focus: se eleva MÁS (incluye centro si lo apuntas) */
.svc-grid.primary > .svc-card:hover,
.svc-grid.primary > .svc-card:focus-within{
  transform: var(--elev-hov-trf);
  box-shadow: 0 20px 44px var(--gold), 0 8px 18px var(--gold-strong);
  border-color: color-mix(in srgb, var(--gold-strong, #b8892b) 45%, transparent);
  z-index: 3;
}

.svc-grid.extra > .svc-mini:hover,
.svc-grid.extra > .svc-mini:focus-within{
  transform: var(--elev-hov-trf);
  box-shadow: 0 20px 44px gray, 0 8px 18px black;
  border-color: color-mix(in srgb, gray, #eaeaea) 45%, transparent;
  z-index: 3;
}

@media (prefers-reduced-motion: reduce){
  .svc-card, .svc-mini{
    transition: box-shadow .28s ease, border-color .28s ease; /* sin translate/scale */
  }
  .svc-grid.primary > .svc-card:nth-child(2),
  .svc-grid.primary > .svc-card:hover,
  .svc-grid.primary > .svc-card:focus-within,
  .svc-grid.extra > .svc-mini:nth-child(2),
  .svc-grid.extra > .svc-mini:hover,
  .svc-grid.extra > .svc-mini:focus-within{
    transform: none;
  }
}

/* PROCESO */

.tax-steps-carousel{
  padding: 30px 0;
  background: #fff;
}

.tax-steps-carousel .section-title{
  text-align:center;
  margin:0 0 30px;
  font-size:27px;
  color:black;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}

.ts-viewport{
  position: relative;
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  overflow: hidden;
  padding: 8px 16px;
}

/* Pista (una diapositiva visible, centrada) */
.ts-track{
  display: flex;
  align-items: stretch;
  list-style: none;
  padding: 0;
  margin: 0;
  transition: transform .45s ease;
  will-change: transform;
}

/* Slide */
.ts-slide{
  flex: 0 0 100%;
  max-width: 100%;
  padding: 8px;
  opacity: .92;
  transform: scale(.965);
  transition: transform .35s ease, opacity .35s ease, box-shadow .35s ease;
}

.ts-slide.is-active{
  opacity: 1;
  transform: scale(1);
}

/* Card interna */
.ts-media{
  margin: 0 0 0px 0;
  overflow: hidden;
  aspect-ratio: 4/1;
  background: #f4f4f4;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  border: 1px solid gray;
}
.ts-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ts-body{
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
  text-align: center;
}

.ts-body .num{
  padding:15px 0;
  margin: 0 0 20px;
  font-weight: 700;
  color: white;
  background: black;
  font-size: 20px;
}

.ts-body h3{
  margin: 40px 0 0px;
  font-size: clamp(18px, 2.6vw, 22px);
  color: #111;
  font-weight: 800;
}
.ts-body p{
  padding: 0 200px 40px;
  color: #444;
  line-height: 1.55;
}

.ts-slide.is-active .ts-body{
  box-shadow: 0 14px 34px rgba(0,0,0,.14), 0 6px 14px rgba(0,0,0,.08);
  border-color: color-mix(in srgb, var(--gold-strong, #b8892b) 35%, transparent);

}
.ts-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px; height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(0,0,0,.08);
  background: var(--gold);
  box-shadow: 0 2px 10px var(--gold-strong);
  display: grid; place-items: center;
  font-size: 20px; line-height: 1;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
  user-select: none;
  color:white
}
.ts-btn:hover{ transform: translateY(-50%) scale(1.06); box-shadow: 0 10px 24px rgba(0,0,0,.12); }

.ts-prev{ left: 8px; }
.ts-next{ right: 8px; }
.ts-viewport{ position: relative; } /* ya lo tienes, pero por si acaso */

.ts-track{
  position: relative;   /* nuevo */
  z-index: 1;           /* debajo de las flechas */
}

.ts-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;           /* por encima de la pista */
  /* ...el resto de tus estilos... */
}


/* Responsivo: espacio interior y tamaño texto */
@media (max-width: 720px){
  .ts-viewport{ padding: 6px 10px; }
  .ts-btn{ width: 40px; height: 40px; }
  .ts-media{
  aspect-ratio: 3/2;
  }
.ts-body h3{
  padding: 0 10px;
  }
.ts-body p{
  padding: 0 20px 40px;
  } 
}
@media (max-width: 480px){
  .ts-viewport{ padding: 4px 10px; }
  .ts-btn{ width: 36px; height: 36px; font-size: 18px; }
}

/* Accesibilidad: reducción de movimiento */
@media (prefers-reduced-motion: reduce){
  .ts-track{ transition: none; }
  .ts-slide{ transition: none; }
  .ts-btn{ transition: none; }
}



/* Why */
.tax-why-squares .section-title{
  text-align:center;
  margin:0 0 30px;
  font-size:27px;
  color:black;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}
.tax-why-squares{
  background:#fff; /* body blanco */
  padding:56px 0;
}

.tax-why-squares .why-list{
  list-style:none;
  margin:40px auto 0;
  padding:0;
  display:grid;
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  grid-template-rows: repeat(2, 1fr);
  gap:0px;
  max-width:1100px;
}

/* Colocación específica: (col, fila) */
.tax-why-squares .why-list .why-box:nth-child(1){ grid-column:1; grid-row:1; } /* Idioma (negro) */
.tax-why-squares .why-list .why-box:nth-child(2){ grid-column:2; grid-row:2; } /* Estrategia (blanco) */
.tax-why-squares .why-list .why-box:nth-child(3){ grid-column:3; grid-row:1; } /* Cumplimiento (negro) */
.tax-why-squares .why-list .why-box:nth-child(4){ grid-column:4; grid-row:2; } /* Acompañamiento (blanco) */

/* Cuadros perfectos */
.why-box{
  position:relative;
  overflow:hidden;
  transition: transform .2s ease, box-shadow .2s ease;
  aspect-ratio: 1 / 1;               /* navegs modernos */
}
@supports not (aspect-ratio: 1 / 1){
  .why-box::before{                   /* fallback para mantener cuadrado */
    content:"";
    display:block;
    padding-top:100%;
  }
}

/* Estados visuales por fila */
.why-box.dark{
  background:#111;
  color:#fff;
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
  border:2px solid rgba(128, 128, 128, 0.336);
}
.why-box.light{
  background:var(--gold-strong);
  color:white;
  border:2px solid var(--gold-hi);
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}

/* Hover (un poco más elevado) */
.why-box:hover{
  transform: translateY(-6px);
  box-shadow: 0 12px 26px rgba(0,0,0,.16);
}

/* Contenido centrado dentro del cuadrado */
.why-inner{
  position:absolute; inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px;
  text-align:center;
}

/* Icono */
.why-icon{
  width:100px; height:100px;
  display:grid; place-items:center;
  border-radius:12px;
  background: transparent;
}
.why-box.dark .why-icon svg{ fill:#fff; }
.why-box.light .why-icon svg{ fill: white; }
.why-icon svg{ width:65px; height:65px; }

/* Textos */
.why-title{
  margin:4px 0 2px;
  font-size: clamp(14px, 2.2vw, 16px);
  font-weight:800;
}
.why-text{
  margin:0;
  line-height:1.45;
  font-size:14px;
  opacity:.95;
}

/* ---------- Responsive ---------- */
/* Tablets: 2 columnas x 2 filas, mantiene posiciones */
@media (max-width: 980px){
  .tax-why-squares .why-list{
    grid-template-columns: repeat(2, minmax(160px, 1fr));
    grid-template-rows: repeat(2, 1fr);
    max-width:720px;
  }
  .tax-why-squares .why-list .why-box:nth-child(1){ grid-column:1; grid-row:1; }
  .tax-why-squares .why-list .why-box:nth-child(2){ grid-column:2; grid-row:2; }
  .tax-why-squares .why-list .why-box:nth-child(3){ grid-column:2; grid-row:1; }
  .tax-why-squares .why-list .why-box:nth-child(4){ grid-column:1; grid-row:2; }
}

/* Móvil: 1 columna x 4 filas, siguen siendo cuadrados */
@media (max-width: 560px){
  .tax-why-squares .why-list{
    grid-template-columns: 1fr;
    grid-auto-rows: 1fr;
    max-width:420px;
  }
  .tax-why-squares .why-list .why-box:nth-child(1),
  .tax-why-squares .why-list .why-box:nth-child(2),
  .tax-why-squares .why-list .why-box:nth-child(3),
  .tax-why-squares .why-list .why-box:nth-child(4){
    grid-column:auto; grid-row:auto;
  }
}


/*  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;
  text-decoration: none;
}
.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
}
/* ===== Títulos centrados con subrayado dorado ===== */
.h-underline-gold{
  position: relative;
  display: inline-block;      /* se ajusta al texto */
}

.h-underline-gold::after{
  content:"";
  position:absolute;
  left:50%;                   /* CENTRADO */
  bottom:-8px;
  width:120px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--gold), var(--gold-strong));
  opacity:0;
  transform: translateX(-50%) scaleX(.7);  /* arranca corto y centrado */
  transform-origin:center;                 /* crece desde el centro */
  transition: opacity .18s ease, transform .22s cubic-bezier(.22,.8,.22,1);
}

/* Reveal súper rápido */
.reveal{
  opacity:0;
  transform: translateY(6px);
  transition: opacity .22s cubic-bezier(.22,.8,.22,1),
              transform .22s cubic-bezier(.22,.8,.22,1);
}
.reveal.is-in{
  opacity:1;
  transform:none;
}
.reveal.is-in.h-underline-gold::after{
  opacity:1;
  transform: translateX(-50%) scaleX(1);
}

/* Accesibilidad: sin movimiento si el usuario lo pide */
@media (prefers-reduced-motion: reduce){
  .reveal{ transition:none; opacity:1; transform:none; }
  .h-underline-gold::after{ opacity:1; transform:translateX(-50%); }
}