/* FIDE Brochure — hereda paleta y tipografía de la web */
:root {
  --ink: #0B0B0D;
  --ink-2: #14141A;
  --ink-3: #1E1E26;
  --line: rgba(255,255,255,0.08);
  --line-strong: rgba(255,255,255,0.16);
  --paper: #F4F0E8;
  --paper-2: #EAE4D6;
  --paper-ink: #181818;
  --muted: rgba(255,255,255,0.55);
  --muted-strong: rgba(255,255,255,0.75);
  --muted-ink: rgba(11,11,13,0.55);

  --fire: #D43E40;
  --fire-soft: #E36D6F;
  --ember: #8A2528;
  --amber: #F3AA4C;
  --amber-soft: #F8C685;
  --ice: #97D2E9;
  --ice-soft: #C4E4F1;
  --silver: #BFC3C6;

  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  background: #000;
  color: #fff;
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
}

deck-stage {
  --slide-bg: var(--ink);
}

/* Slide base — fija a 1920x1080, fondo oscuro */
.slide {
  width: 1920px;
  height: 1080px;
  background: var(--ink);
  color: #fff;
  position: relative;
  overflow: hidden;
  font-family: var(--font-body);
  display: flex;
  flex-direction: column;
}
.slide.paper {
  background: var(--paper);
  color: var(--paper-ink);
}

/* Subtle noise overlay */
.noise::before {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  opacity: 0.05;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.6'/></svg>");
}

/* Diamond marker (rotated square) */
.dia {
  display: inline-block;
  transform: rotate(45deg);
  flex-shrink: 0;
}

/* Kicker / eyebrow */
.kicker {
  font-family: var(--font-mono);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.slide.paper .kicker { color: var(--muted-ink); }

.display {
  font-family: var(--font-display);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.035em;
}

/* Slide chrome — header rail + footer */
.rail {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
}
.rail .top, .rail .bot {
  position: absolute;
  left: 80px;
  right: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}
.slide.paper .rail .top, .slide.paper .rail .bot { color: rgba(11,11,13,0.45); }
.rail .top { top: 48px; }
.rail .bot { bottom: 48px; }

.rail .logo-row {
  display: flex; align-items: center; gap: 14px;
}
.rail .logo-row img { height: 84px; width: auto; display: block; }
/* Slight contrast lift on dark slides so silver wordmark stays legible */
.slide:not(.paper) .rail .logo-row img { filter: brightness(1.05) contrast(1.05); }

/* Section index pill */
.sec-idx {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.sec-idx .num {
  font-family: var(--font-mono);
  color: var(--fire);
  font-size: 14px;
  letter-spacing: 0.18em;
}

.body-pad { padding: 140px 120px 140px 120px; flex: 1; display: flex; flex-direction: column; }

/* Display sizes */
.d-xxl { font-size: 220px; line-height: 0.86; }
.d-xl  { font-size: 160px; line-height: 0.9; }
.d-l   { font-size: 120px; line-height: 0.95; }
.d-m   { font-size: 84px; line-height: 1; }
.d-s   { font-size: 56px; line-height: 1.05; }

/* Diamond mosaic helper */
.diamond-fill {
  background-image:
    linear-gradient(45deg, transparent 47%, var(--line) 47% 53%, transparent 53%),
    linear-gradient(-45deg, transparent 47%, var(--line) 47% 53%, transparent 53%);
  background-size: 64px 64px;
}
.slide.paper .diamond-fill {
  background-image:
    linear-gradient(45deg, transparent 47%, rgba(0,0,0,0.07) 47% 53%, transparent 53%),
    linear-gradient(-45deg, transparent 47%, rgba(0,0,0,0.07) 47% 53%, transparent 53%);
}

/* Card */
.card {
  position: relative;
  background: var(--ink-2);
  border: 1px solid var(--line);
  padding: 36px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.slide.paper .card {
  background: rgba(0,0,0,0.03);
  border-color: rgba(0,0,0,0.08);
}
.card .num {
  font-family: var(--font-display);
  font-size: 96px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.05em;
  color: var(--muted-strong);
}
.slide.paper .card .num { color: rgba(11,11,13,0.4); }

.card .ttl {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.1;
}
.card .desc {
  font-size: 18px;
  line-height: 1.5;
  color: var(--muted-strong);
}
.slide.paper .card .desc { color: rgba(11,11,13,0.72); }

.tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 10px;
  border: 1px solid currentColor;
  border-radius: 999px;
}

/* Mono pill (year/year tag) */
.year-pill {
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.15em;
  padding: 6px 12px;
  border: 1px solid currentColor;
  display: inline-block;
}

/* Striped image placeholder */
.img-ph {
  position: relative;
  overflow: hidden;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.05) 0 14px, rgba(255,255,255,0.02) 14px 28px),
    var(--ink-2);
  border: 1px solid var(--line);
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 24px;
}
.slide.paper .img-ph {
  background:
    repeating-linear-gradient(135deg, rgba(0,0,0,0.06) 0 14px, rgba(0,0,0,0.02) 14px 28px),
    var(--paper-2);
  border-color: rgba(0,0,0,0.08);
}
.img-ph .lbl {
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.12em;
  color: var(--muted);
  text-transform: uppercase;
}
.slide.paper .img-ph .lbl { color: var(--muted-ink); }

/* Service diamond medallion (like hero) */
.service-medallion {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: rotate(45deg);
}
.service-medallion > * { transform: rotate(-45deg); }

/* Project row (used in proyectos slides) */
.pj-row {
  display: grid;
  grid-template-columns: 100px 1fr 280px 200px;
  gap: 28px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
  align-items: baseline;
}
.pj-row .yr {
  font-family: var(--font-mono);
  font-size: 14px;
  letter-spacing: 0.15em;
  color: var(--muted);
}
.pj-row .ttl {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.015em;
}
.pj-row .cli {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.pj-row .disc {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: right;
}

/* Diamond stacked logo (large) — reproduces logo */
.logo-stack { position: relative; }
.logo-stack .sq {
  position: absolute;
  width: var(--sq, 120px);
  height: var(--sq, 120px);
  transform: rotate(45deg);
  display: flex;
  align-items: center;
  justify-content: center;
}
.logo-stack .sq > * { transform: rotate(-45deg); }
