/* Páginas de cada servicio (/servicios/… y /en/services/…). HTML sin JavaScript, con la misma marca que la página principal. */
:root {
  --negro: #0A0A0A; --panel: #121212; --rojo: #FF0000; --hueso: #EDE8E0; --gris: #7A7770; --gris-claro: #A8A49C; --linea: #2A2A2A;
  --display: "Archivo Black", "Arial Black", Impact, sans-serif;
  --texto: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --gutter: clamp(16px, 4vw, 48px);
}
* { box-sizing: border-box; margin: 0; }
html { -webkit-text-size-adjust: 100%; }
body { background: var(--negro); color: var(--hueso); font: 400 17px/1.6 var(--texto); overflow-x: hidden;
  background-image: radial-gradient(60% 50% at 85% 0%, rgba(255,0,0,.14), transparent 70%); background-repeat: no-repeat; }
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--rojo); outline-offset: 3px; }

.barra { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px var(--gutter); max-width: 1180px; margin: 0 auto; }
.marca { display: flex; align-items: center; gap: 10px; text-decoration: none; font: 400 14px/1.05 var(--display); letter-spacing: .08em; text-transform: uppercase; }
.barra nav { display: flex; align-items: center; gap: 10px; }
.idioma { display: inline-grid; place-items: center; min-width: 44px; height: 40px; padding: 0 12px; border: 1px solid rgba(237,232,224,.3); border-radius: 999px; text-decoration: none; font-size: 14px; font-weight: 600; }

.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px; border: 1px solid transparent; border-radius: 999px;
  font: 600 15px/1 var(--texto); letter-spacing: .02em; text-decoration: none; transition: transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .3s; }
.btn:hover { transform: translateY(-2px); }
.btn-chico { min-height: 40px; padding: 0 18px; font-size: 14px; }
.btn-rojo { color: #fff; border-color: rgba(255,120,110,.55);
  background: radial-gradient(120% 140% at 50% -20%, rgba(255,120,100,.55), transparent 55%), linear-gradient(180deg, #ff2a1f, #d40000);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), inset 0 -2px 8px rgba(120,0,0,.45), 0 0 0 1px rgba(255,0,0,.25), 0 10px 34px -8px rgba(255,0,0,.75); }
.btn-linea { color: var(--hueso); border-color: rgba(237,232,224,.32); background: linear-gradient(180deg, rgba(237,232,224,.12), rgba(237,232,224,.03)); }

main { max-width: 1180px; margin: 0 auto; padding: 0 var(--gutter); }
.portada { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(28px, 5vw, 72px); align-items: center; padding: clamp(28px, 6vw, 80px) 0 clamp(40px, 6vw, 88px); }
.migas { color: var(--gris-claro); font: 400 20px/1 "VT323", monospace; letter-spacing: .06em; margin-bottom: 18px; }
.migas a { text-decoration: none; } .migas a:hover { color: var(--hueso); }
h1 { font: 400 clamp(30px, 8.6vw, 78px)/.95 var(--display); text-transform: uppercase; letter-spacing: -.02em; margin-bottom: 26px; max-width: 16ch; hyphens: manual; }
@media (min-width: 861px) { h1 { font-size: clamp(44px, 5.4vw, 78px); } }
.lead { color: var(--gris-claro); font-size: clamp(17px, 1.6vw, 20px); max-width: 58ch; }
.precio { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin: 30px 0; }
.precio .desde { color: var(--gris-claro); font-size: 15px; }
.precio .monto { font: 400 clamp(40px, 5vw, 60px)/1 var(--display); color: var(--rojo); text-shadow: 0 0 34px rgba(255,0,0,.45); }
.precio .unidad { color: var(--gris-claro); font-size: 15px; }
.acciones { display: flex; flex-wrap: wrap; gap: 12px; }

/* foto como visor de cámara */
.visor { position: relative; margin: 0; padding: 14px; }
.visor img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 14px; border: 1px solid #222; filter: saturate(1.05) contrast(1.04); }
.visor i { position: absolute; width: 26px; height: 26px; border: 0 solid var(--hueso); }
.visor .e1 { top: 0; left: 0; border-top-width: 2px; border-left-width: 2px; }
.visor .e2 { top: 0; right: 0; border-top-width: 2px; border-right-width: 2px; }
.visor .e3 { bottom: 0; left: 0; border-bottom-width: 2px; border-left-width: 2px; }
.visor .e4 { bottom: 0; right: 0; border-bottom-width: 2px; border-right-width: 2px; }

.datos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--linea); }
.dato { padding: 30px 28px 34px 0; border-bottom: 1px solid var(--linea); }
.dato + .dato { padding-left: 28px; border-left: 1px solid var(--linea); }
.dato-ancho { grid-column: 1 / -1; border-left: 0 !important; padding-left: 0 !important; }
.datos h2, .otros h2 { font: 400 22px/1 "VT323", monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--rojo); margin-bottom: 14px; }
.dato p { max-width: 62ch; } .dato p + p { margin-top: 8px; }
.tenue { color: var(--gris); font-size: 15px; }
.dato ul { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px 28px; }
.dato li { position: relative; padding-left: 20px; }
.dato li::before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--rojo); box-shadow: 0 0 10px rgba(255,0,0,.7); }

.otros { padding: clamp(48px, 7vw, 96px) 0; }
.otros ul { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.otros a { display: grid; gap: 6px; height: 100%; padding: 20px 22px; border: 1px solid var(--linea); border-radius: 18px; background: var(--panel); text-decoration: none; transition: border-color .25s, transform .25s; }
.otros a:hover { border-color: rgba(255,0,0,.55); transform: translateY(-2px); }
.otros b { font: 400 17px/1.15 var(--display); text-transform: uppercase; }
.otros span { color: var(--gris-claro); font-size: 15px; line-height: 1.45; }
.otros em { font-style: normal; color: var(--hueso); font-size: 14px; font-weight: 600; margin-top: 4px; }

.pie { max-width: 1180px; margin: 0 auto; padding: 28px var(--gutter) 40px; border-top: 1px solid var(--linea); color: var(--gris); font-size: 14px; display: grid; gap: 6px; }
.pie p:first-child { color: var(--hueso); font: 400 15px/1.3 var(--display); text-transform: uppercase; letter-spacing: .02em; }

@media (max-width: 860px) {
  .portada { grid-template-columns: minmax(0, 1fr); }
  .visor { max-width: 420px; }
  .datos { grid-template-columns: minmax(0, 1fr); }
  .dato, .dato + .dato { padding: 26px 0; border-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .btn, .otros a { transition: none; } .btn:hover, .otros a:hover { transform: none; } }
.precio .con-iva { flex-basis: 100%; color: var(--hueso); font-size: 15px; }
.precio .con-iva b { font-weight: 600; }
