/* ===== MINEFILL 2028 — Tema Elegante (Banner + Contacto) ===== */
:root{
  --gold:#C9A24B;
  --gold-light:#E4CB8A;
  --ink:#12151A;
  --ink-2:#1B1F27;
  --white:#ffffff;
  --muted:#9AA0AC;
  --font-head:'Cormorant Garamond',serif;
  --font-body:'Poppins',sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--white);
  background:var(--ink);
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}

/* Navbar de idioma */
.lang-nav{
  background:var(--ink-2);
  border-bottom:1px solid rgba(201,162,75,.18);
}
.lang-nav-inner{
  max-width:1180px;
  margin:0 auto;
  padding:12px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.lang-nav-brand{
  font-family:var(--font-head);
  font-weight:600;
  font-size:1.15rem;
  letter-spacing:.5px;
  color:var(--white);
}
.lang-nav-switch{
  display:flex;
  align-items:center;
  gap:10px;
}
.lang-flag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;height:32px;
  border-radius:50%;
  font-size:0.75rem;
  border:1px solid transparent;
  opacity:.55;
  transition:opacity .25s ease, border-color .25s ease, transform .25s ease;
}
.lang-flag:hover{opacity:.9;transform:translateY(-2px);}
.lang-flag.active{
  opacity:1;
  border-color:var(--gold);
}

/* Banner: la imagen es la información, no se recorta ni se opaca */
.banner{
  width:100%;
  line-height:0;
  background:var(--ink);
}
.banner img{
  width:100%;
  height:auto;
  display:block;
}

/* Sección de contacto */
.contact-elegant{
  padding:clamp(56px,10vw,110px) 24px;
  text-align:center;
  position:relative;
}
.contact-elegant::before{
  content:'';
  display:block;
  width:70px;height:1px;
  margin:0 auto 28px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.contact-eyebrow{
  font-family:var(--font-body);
  letter-spacing:4px;
  text-transform:uppercase;
  font-size:.78rem;
  color:var(--gold-light);
  margin:0 0 14px;
}
.contact-title{
  font-family:var(--font-head);
  font-weight:600;
  font-size:clamp(2rem,4.5vw,3.1rem);
  margin:0 0 16px;
  color:var(--white);
  letter-spacing:.5px;
}
.contact-sub{
  font-weight:300;
  color:var(--muted);
  max-width:520px;
  margin:0 auto 46px;
  font-size:1rem;
  line-height:1.7;
}

.contact-cards{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
  max-width:760px;
  margin:0 auto;
}
.contact-card{
  flex:1 1 280px;
  max-width:320px;
  background:var(--ink-2);
  border:1px solid rgba(201,162,75,.25);
  border-radius:6px;
  padding:36px 28px;
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.contact-card:hover{
  transform:translateY(-6px);
  border-color:var(--gold);
  box-shadow:0 24px 50px -24px rgba(201,162,75,.35);
}
.contact-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;height:52px;
  border-radius:50%;
  border:1px solid var(--gold);
  color:var(--gold-light);
  font-size:1.3rem;
  margin-bottom:20px;
}
.contact-card h3{
  font-family:var(--font-head);
  font-weight:600;
  font-size:1.35rem;
  margin:0 0 10px;
  letter-spacing:.5px;
}
.contact-card a{
  color:var(--gold-light);
  font-weight:500;
  font-size:1.02rem;
  word-break:break-word;
  border-bottom:1px solid transparent;
  transition:border-color .3s ease;
}
.contact-card a:hover{
  border-color:var(--gold-light);
}

.elegant-footer{
  text-align:center;
  padding:26px 24px;
  border-top:1px solid rgba(201,162,75,.18);
  color:var(--muted);
  font-size:.82rem;
  letter-spacing:.5px;
}
.elegant-footer em{
  color:var(--gold-light);
  font-style:normal;
}

@media (max-width:560px){
  .contact-cards{gap:18px;}
  .contact-card{padding:28px 22px;}
}
