/* =========================================================================
   OPCIÓN 2 · DIAGONAL  (todo bajo .d2)
   Tipografía: Barlow Condensed (títulos) + Barlow (textos)
   Tarjeta  — nombre 9.5 · rubro 2.3 · dato 2.4 · servicio 2.2 · pequeño 1.7 (mm)
   Cartel   — nombre 175 · número 124 · lugar 54 · rubro 42 · servicio 27 · etiqueta 17-20 (mm)
   ========================================================================= */

.d2 {
  --rojo: #d3101f;
  --carbon: #26282c;
  --carbon-osc: #18191c;
  --gris: #a7abb2;
  --linea: rgba(255, 255, 255, 0.14);
  --f-titulo: "Barlow Condensed", "Arial Narrow", sans-serif;
  --f-texto: "Barlow", Arial, sans-serif;
}

.d2 .tarjeta, .d2 .cartel { font-family: var(--f-texto); color: #fff; }
.d2 .icono--rojo { color: var(--rojo); }

.d2 .frente__foto, .d2 .cartel__foto {
  background-size: cover;
  background-position: center;
  filter: grayscale(1) contrast(1.15);
}

/* ---------- ANVERSO ---------- */
.d2 .frente { background: var(--carbon-osc); }
.d2 .frente__foto {
  position: absolute; top: 0; right: 0; bottom: 0; width: 44mm;
  filter: grayscale(1) contrast(1.1) brightness(1.35);
  background-position: 55% center;
  clip-path: polygon(14mm 0, 100% 0, 100% 100%, 0 100%);
}
.d2 .frente__franja {
  position: absolute; top: 0; right: 0; bottom: 0; width: 46.2mm;
  background: var(--rojo);
  clip-path: polygon(14mm 0, 15.4mm 0, 1.4mm 100%, 0 100%);
}
.d2 .frente__marca {
  position: absolute; left: 6mm; top: 9mm;
  display: flex; flex-direction: column; align-items: flex-start;
}
.d2 .frente__etiqueta {
  font-size: 1.7mm; font-weight: 600; letter-spacing: .26em;
  text-transform: uppercase; color: var(--gris);
}
.d2 .frente__nombre {
  font-family: var(--f-titulo); font-weight: 700;
  font-size: 9.5mm; line-height: 1; letter-spacing: .03em;
  text-transform: uppercase; margin-top: 1mm;
}
.d2 .frente__regla { width: 7mm; height: .6mm; background: var(--rojo); margin: 1.6mm 0 1.5mm; }
.d2 .frente__rubro {
  font-size: 2.3mm; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
}
.d2 .frente__contacto {
  position: absolute; left: 6mm; bottom: 6mm;
  display: flex; flex-direction: column; gap: 1.4mm;
}
.d2 .frente__dato {
  display: flex; align-items: center; gap: 1.6mm;
  font-size: 2.4mm; font-weight: 500; line-height: 1;
}
.d2 .frente__dato .icono { width: 2.9mm; height: 2.9mm; }

/* ---------- REVERSO ---------- */
.d2 .reverso { background: var(--carbon); display: flex; }
.d2 .reverso__borde { width: 2mm; background: var(--rojo); flex: none; }
.d2 .reverso__contenido {
  flex: 1; padding: 5mm 0 5mm 5mm;
  display: flex; flex-direction: column;
}
.d2 .reverso__marca {
  display: flex; align-items: baseline; gap: 2mm;
  padding-bottom: 2.4mm; border-bottom: .25mm solid var(--linea);
}
.d2 .reverso__nombre {
  font-family: var(--f-titulo); font-weight: 700;
  font-size: 4.2mm; line-height: 1; letter-spacing: .03em; text-transform: uppercase;
}
.d2 .reverso__rubro {
  font-size: 1.7mm; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--gris);
}
.d2 .reverso__servicios { display: flex; flex-direction: column; gap: 1.9mm; padding: 3mm 0; }
.d2 .reverso__servicio {
  display: flex; align-items: center; gap: 2mm;
  font-size: 2.2mm; font-weight: 500; line-height: 1;
}
.d2 .reverso__servicio .icono { width: 3mm; height: 3mm; }
.d2 .reverso__contacto {
  margin-top: auto;
  display: flex; align-items: center; gap: 4mm;
  padding-top: 2.4mm; border-top: .25mm solid var(--linea);
}
.d2 .reverso__telefono, .d2 .reverso__ubicacion { display: flex; align-items: center; gap: 1.4mm; line-height: 1; }
.d2 .reverso__telefono { font-size: 2.8mm; font-weight: 700; letter-spacing: .02em; }
.d2 .reverso__ubicacion { font-size: 2.2mm; font-weight: 500; color: var(--gris); }
.d2 .reverso__telefono .icono, .d2 .reverso__ubicacion .icono { width: 3mm; height: 3mm; color: var(--rojo); }
.d2 .reverso__qr {
  width: 25mm; flex: none;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.6mm;
  padding-right: 1mm;
}
.d2 .reverso__qr-caja { width: 17mm; padding: 1.2mm; background: #fff; border-radius: .8mm; }
.d2 .reverso__qr-texto {
  max-width: 16mm;
  font-size: 1.7mm; font-weight: 500; line-height: 1.25;
  text-align: center; color: var(--gris);
}

/* ---------- CARTEL ---------- */
.d2 .cartel { background: var(--carbon-osc); }
.d2 .cartel__foto {
  position: absolute; top: 0; right: 0; width: 430mm; height: 440mm;
  background-position: 72% 40%;
  clip-path: polygon(70mm 0, 100% 0, 100% 100%, 0 100%);
}
.d2 .cartel__franja {
  position: absolute; top: 0; right: 0; width: 444mm; height: 440mm;
  background: var(--rojo);
  clip-path: polygon(70mm 0, 84mm 0, 14mm 100%, 0 100%);
}
.d2 .cartel__cuerpo { position: absolute; left: 70mm; top: 45mm; width: 720mm; }
.d2 .cartel__marca { display: flex; flex-direction: column; align-items: flex-start; }
.d2 .cartel__etiqueta-sup {
  font-size: 20mm; font-weight: 600; letter-spacing: .3em;
  text-transform: uppercase; color: var(--gris);
}
.d2 .cartel__nombre {
  font-family: var(--f-titulo); font-weight: 700;
  font-size: 175mm; line-height: .86; letter-spacing: .02em;
  text-transform: uppercase; margin-top: 6mm;
}
.d2 .cartel__rubro {
  font-family: var(--f-titulo); font-weight: 600;
  font-size: 42mm; line-height: 1; letter-spacing: .14em; text-transform: uppercase;
  margin-top: 10mm; padding-top: 10mm;
  border-top: 5mm solid var(--rojo);
}
.d2 .cartel__servicios {
  display: grid; grid-template-columns: repeat(2, auto); justify-content: start;
  gap: 16mm 44mm; margin-top: 28mm;
}
.d2 .cartel__servicio {
  display: flex; align-items: center;
  padding-left: 12mm; border-left: 4mm solid var(--rojo);
  font-family: var(--f-titulo); font-weight: 600;
  font-size: 27mm; line-height: 1; letter-spacing: .03em; text-transform: uppercase;
  white-space: nowrap;
}

.d2 .cartel__barra {
  position: absolute; left: 0; right: 0; bottom: 0; height: 160mm;
  background: var(--rojo);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 50mm 0 70mm;
}
.d2 .cartel__telefono, .d2 .cartel__ubicacion { display: flex; align-items: center; }
.d2 .cartel__ubicacion { padding-left: 36mm; border-left: 3mm solid rgba(255, 255, 255, .35); }
.d2 .cartel__etiqueta {
  display: block;
  font-size: 17mm; font-weight: 600; letter-spacing: .2em;
  text-transform: uppercase; opacity: .85;
}
.d2 .cartel__numero {
  display: block;
  font-family: var(--f-titulo); font-weight: 700;
  font-size: 100mm; line-height: .9; letter-spacing: .02em;
}
.d2 .cartel__lugar {
  display: block;
  font-family: var(--f-titulo); font-weight: 700;
  max-width: 350mm;
  font-size: 34mm; line-height: 1.05; letter-spacing: .04em; text-transform: uppercase;
}
.d2 .cartel__qr { display: flex; align-items: center; gap: 12mm; }
.d2 .cartel__qr-texto {
  max-width: 115mm;
  font-size: 15mm; font-weight: 600; line-height: 1.3;
  text-align: right; text-transform: uppercase; letter-spacing: .08em;
}
.d2 .cartel__qr-caja { width: 120mm; padding: 7mm; background: #fff; border-radius: 4mm; }
