:root{
  --bg: #ffffff;
  --text: #0b0f14;
  --muted: #5b6673;
  --border: #e6e8ee;
  --line: #e6e8ee;
  --orange: #ff6a00;
  --orange2: #ff8a33;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --radius: 16px;
  --max: 1160px;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:18px;
  line-height:1.55;
  color:var(--text);
  background:#fff;
}

a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 20px}

.header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}
.logo{font-weight:800;letter-spacing:.5px}

.topnav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;align-items:center}
.topnav a{padding:10px 10px;border-radius:10px}
.topnav a:hover{background:var(--soft)}

.right{display:flex;align-items:center;gap:12px}

.lang-switch a{
  font-size:14px;
  padding:6px 8px;
  border:1px solid var(--line);
  border-radius:10px;
  margin-left:6px;
  color:var(--muted);
}
.lang-switch a.active{
  border-color:var(--orange);
  color:var(--black);
  font-weight:700;
}

/* Submenu: FIX “se desaparece” */
.has-submenu{position:relative}
.submenu{
  position:absolute;
  top:100%;
  left:0;
  min-width:300px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:8px;
  box-shadow:0 20px 40px rgba(0,0,0,.10);
  display:none;
  margin-top:10px;
}
.has-submenu:hover .submenu,
.has-submenu:focus-within .submenu{display:block}

.submenu a{
  display: flex;
  padding: 10px 12px;
  border-radius: 10px;
  align-items: center;
  justify-content: space-between;}
.submenu a:hover{background:var(--soft)}
.submenu .hint {
  font-size: 12px;
  color: var(--muted);
  font-weight: 600;
  background: #e8e8e1;
  border-radius: 12px;
  padding: 8px;
}
h1{font-size:52px;line-height:1.05;margin:30px 0 14px}
h2{font-size:32px;margin:34px 0 12px}
h3{font-size:22px;margin:0 0 8px}
p{color:var(--muted);margin:0 0 14px}

.hero{padding:56px 0 24px}
.hero .subtitle{font-size:20px}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0 10px}
.card{
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
}
.icon{font-size:44px;color:var(--orange);margin-bottom:10px}

.quote{
  border-left:6px solid var(--orange);
  padding:18px 18px;
  margin:26px 0;
  background: #fff7ef;
  border-radius:14px;
  color:var(--black);
  font-weight:700;
}

.visuals{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}
.placeholder{
  border:2px dashed var(--line);
  border-radius:18px;
  padding:20px;
  background:#fff;
  min-height:120px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  text-align:center;
  font-weight:700;
}

.hero .kicker {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--border);
  color: var(--muted);
  font-weight: 700;
  font-size: 13px;
  background: #fff;
}

.hero .cta {
  margin-top: 18px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  font-weight: 750;
  background: #fff;
}
.btn:hover{background:#fff7f0;border-color:#ffd2b3}
.btn.primary {
  background: linear-gradient(135deg,var(--orange),var(--orange2));
  color: #fff;
  border: none;
}

/* ================= DMC FOOTER (EXCLUSIVE / SAFE) ================= */

.dmc-footer{
  margin-top:48px;
  border-top:1px solid var(--line);
  background:#fff;
}

.dmc-footer-inner{
  max-width:1180px; /* NO usar var(--max) */
  margin:0 auto;
  padding:36px 20px 0;
}

.dmc-footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.2fr;
  gap:24px;
}

/* Brand */
.dmc-footer-logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
}

.dmc-footer-logo-badge{
  width:30px;
  height:30px;
  border-radius:10px;
  background:var(--orange); /* sin gradiente */
}

.dmc-footer-tagline{
  margin:10px 0 12px;
  color:var(--muted);
  line-height:1.5;
}

.dmc-footer-languages{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.dmc-footer-languages a{
  display:inline-block;           /* más seguro que block */
  padding:10px 12px;              /* de la modificada */
  font-weight:500;                /* balance entre 700 y 400 */
  font-size:13px;                 /* del original */
  color:var(--orange);            /* sin hardcode */
  border:1px solid var(--line);   /* variable existente */
  border-radius:999px;
  text-decoration:none;
}

/* Columns */
.dmc-footer-col h4{
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:12px;
  color:var(--text);
}

.dmc-footer-col > a{
  display:block;
  padding:3px 0;
  font-weight:400;
  color:grey;
}

/* Copyright */
.dmc-footer-copyright{
  margin-top:28px;
  padding:16px 0;
  border-top:1px solid var(--line);
  text-align:center;
  font-size:14px;
  color:var(--muted);
  font-weight:600;
}

/* Responsive */
@media (max-width: 980px){
  .dmc-footer-grid{grid-template-columns:1fr 1fr}
}

@media (max-width: 560px){
  .dmc-footer-grid{grid-template-columns:1fr}
}
