/* Picspace Pitch Deck — clean, web-app aligned */

@font-face {
  font-family: 'StudioType';
  src: url('fonts/StudioType-Regular.ttf') format('truetype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'StudioType';
  src: url('fonts/StudioType-RegularItalic.ttf') format('truetype');
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'StudioType';
  src: url('fonts/StudioType-Medium.ttf') format('truetype');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'StudioType';
  src: url('fonts/StudioType-Bold.ttf') format('truetype');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'StudioType';
  src: url('fonts/StudioType-Extrabold.ttf') format('truetype');
  font-weight: 800; font-style: normal; font-display: swap;
}

:root {
  --c-bg: #ffffff;
  --c-card: #f6f7f9;
  --c-accent: #03548d;
  --c-accent-hi: #0466a8;
  --c-text: #111827;
  --c-text-muted: #6b7280;
}

html, body { background: var(--c-bg); }

.reveal {
  font-family: 'StudioType', -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--c-text);
  font-size: 26px;
}

.reveal .slides { text-align: left; }

/* Slide layout lives on .slide-body — reveal's print/pdf.css can't reach it. */
.slide-body {
  width: 100%;
  height: 720px;
  padding: 70px 80px 50px 80px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

/* Typography */
.reveal h1, .reveal h2, .reveal h3 {
  color: var(--c-text);
  font-family: 'StudioType', sans-serif;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: none;
  text-align: center;
  margin: 0 0 0.5em;
  line-height: 1.1;
}
.reveal h1 { font-size: 2.4em; }
.reveal h2 { font-size: 1.55em; }
.reveal h3 { font-size: 1em; font-weight: 700; }

.reveal p { line-height: 1.5; margin: 0 0 0.6em; }
.reveal em { color: var(--c-text-muted); font-style: italic; }
.reveal strong { font-weight: 700; }
.reveal a { color: var(--c-accent); text-decoration: none; }
.reveal a:hover { color: var(--c-accent-hi); }

.muted { color: var(--c-text-muted); }
.accent { color: var(--c-accent); }

.foot {
  margin-top: auto;
  padding-top: 40px;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.5em;
  color: var(--c-text-muted);
  letter-spacing: 0.02em;
}
.foot .brand {
  display: inline-flex; align-items: center;
  gap: 8px;
}
.foot .brand img {
  width: 14px; height: auto;
  display: block;
}

.reveal .lead {
  color: var(--c-text-muted);
  font-size: 0.7em;
  margin: 1em 0;
  text-align: center;
}

/* ───── Cover ───── */
.cover {
  text-align: center !important;
  display: flex; flex-direction: column;
  justify-content: center; align-items: center;
  flex: 1;
}
/* Footer right-side: PDF link + page indicator */
.foot .meta {
  display: inline-flex; align-items: center; gap: 8px;
}
.foot .sep { opacity: 0.5; }
.foot-journey {
  color: var(--c-accent) !important;
  text-decoration: none !important;
  font-weight: 700;
  font-size: inherit;
  letter-spacing: 0.03em;
  transition: color 120ms ease;
}
.foot-journey:hover { color: var(--c-accent-hi) !important; }
/* Hide journey link in bake/print */
body.bake-mode .foot-journey { display: none !important; }
@media print { .foot-journey { display: none !important; } }

.foot-pdf {
  display: inline-flex; align-items: center; gap: 5px;
  color: var(--c-text-muted) !important;
  text-decoration: none !important;
  transition: color 120ms ease;
  letter-spacing: 0.04em;
  font-weight: 700;
}
.foot-pdf:hover { color: var(--c-accent) !important; }
.foot-pdf svg { width: 10px; height: 10px; }
/* Hide PDF link itself in the printed PDF */
.reveal.print-pdf .foot-pdf,
.reveal.print-pdf .foot .sep { display: none !important; }
@media print {
  .foot-pdf, .foot .sep { display: none !important; }
}

/* Bake mode (?bake URL param) — strip all interactive chrome for clean PDF screenshots */
body.bake-mode .reveal .progress,
body.bake-mode .reveal .controls,
body.bake-mode .foot-pdf,
body.bake-mode .foot .sep { display: none !important; }
.cover .logo-big { width: 96px; margin-bottom: 40px; }
.cover h1 { text-align: center; font-size: 2.6em; max-width: 14em; }
.cover .sub {
  text-align: center; color: var(--c-text-muted);
  font-size: 0.78em; max-width: 30em; margin: 0.4em auto 1.6em;
}
.cover .contact {
  color: var(--c-accent);
  font-size: 0.62em;
  letter-spacing: 0.04em;
}

/* ───── Grid ───── */
.grid {
  display: grid;
  gap: 18px;
  margin: 2em 0;
}
.grid.cols-4 { grid-template-columns: repeat(4, 1fr); }
.grid.cols-3 { grid-template-columns: repeat(3, 1fr); }

.card {
  background: var(--c-card);
  border-radius: 14px;
  padding: 22px 24px;
  font-size: 0.62em;
  line-height: 1.5;
}
.card .tag {
  font-size: 0.92em;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--c-accent);
  text-transform: uppercase;
  margin-bottom: 0.7em;
}
.card .num {
  font-family: 'SF Mono', Consolas, monospace;
  font-size: 0.82em;
  color: var(--c-accent);
  letter-spacing: 0.14em;
  margin-bottom: 0.55em;
}
.card .title {
  font-weight: 800;
  font-size: 1.22em;
  color: var(--c-text);
  margin-bottom: 0.45em;
  letter-spacing: -0.01em;
  line-height: 1.2;
}
.card .body { color: var(--c-text-muted); }


/* Clincher */
.clincher {
  color: var(--c-text-muted);
  margin-top: 0;
  font-size: 0.62em;
  text-align: center;
}

/* ───── Tech pipeline ───── */
.pipe {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin: 2em 0;
}
.pipe-step {
  background: var(--c-card);
  border-radius: 12px;
  padding: 18px 18px;
  font-size: 0.55em;
}
.pipe-step .step-n {
  font-family: 'SF Mono', Consolas, monospace;
  font-size: 0.7em;
  letter-spacing: 0.16em;
  color: var(--c-accent);
  margin-bottom: 0.5em;
}
.pipe-step .step-t {
  font-weight: 800;
  font-size: 1.12em;
  color: var(--c-text);
  margin-bottom: 0.35em;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.pipe-step .step-s {
  color: var(--c-text-muted);
  font-size: 0.92em;
  line-height: 1.4;
}

/* Trust row — plain headings, no borders, centered */
.trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  text-align: center;
}
.trust .item h3 {
  font-size: 0.95em;
  color: var(--c-text);
  margin-bottom: 0.35em;
  text-align: center;
}
.trust .item p {
  color: var(--c-text-muted);
  font-size: 0.6em;
  margin: 0;
  line-height: 1.5;
}

/* ───── CTA slide ───── */
.cta-block {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
  margin-top: 1.2em;
}
.cta-block .label {
  font-size: 0.5em;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--c-text-muted);
  text-transform: uppercase;
  margin-bottom: 0.6em;
}
.cta-block .value {
  font-size: 1.5em;
  font-weight: 800;
  color: var(--c-accent);
  letter-spacing: -0.01em;
}
.signature {
  color: var(--c-text-muted);
  font-size: 0.62em;
  margin-top: 2em;
}

/* Reveal UI */
.reveal .progress { color: var(--c-accent); }
.reveal .slide-number {
  color: var(--c-text-muted);
  background: transparent;
  font-family: 'StudioType', sans-serif;
  font-size: 14px;
}

/* Controls — center vertically on left/right edges */
.reveal .controls {
  color: var(--c-accent);
  bottom: auto;
  right: auto;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.reveal .controls .navigate-left,
.reveal .controls .navigate-right {
  pointer-events: auto;
  top: 50%;
  transform: translateY(-50%);
}
.reveal .controls .navigate-left { left: 24px; right: auto; bottom: auto; }
.reveal .controls .navigate-right { right: 24px; left: auto; bottom: auto; }
.reveal .controls .navigate-up,
.reveal .controls .navigate-down { display: none; }
