/* Pitch deck: designed on a fixed 1920x1080 stage, scaled to fit. */
:root {
  --paper: #ECEAE4; --ink: #12130F; --muted: #66655D; --rule: #CCC8BD; --accent: #D93F0B;
  --dark: #0D0E0B; --dark-ink: #F6F3EA; --dark-muted: #9A978B; --dark-rule: #2A2B25;
  --sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: #080907; }
body { background: #080907; overflow: hidden; font-family: var(--sans); -webkit-font-smoothing: antialiased; }
h1, h2, h3, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; }

.stage {
  position: fixed; left: 50%; top: 50%; width: 1920px; height: 1080px;
  transform: translate(-50%, -50%) scale(var(--s, 1)); transform-origin: center center;
}
.slide {
  position: absolute; inset: 0; display: none; flex-direction: column;
  padding: 96px 120px 0; background: var(--paper); color: var(--ink); overflow: hidden;
}
.slide.active { display: flex; animation: in .35s ease both; }
@keyframes in { from { opacity: 0; } to { opacity: 1; } }
.slide.dark { background: var(--dark); color: var(--dark-ink); }

.eyebrow { font-family: var(--mono); font-size: 22px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); display: flex; align-items: center; gap: 16px; }
.eyebrow::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); }
.dark .eyebrow { color: var(--dark-muted); }

h2 { margin-top: 36px; font-weight: 500; font-size: 92px; line-height: 1.02; letter-spacing: -0.042em; max-width: 1700px; }
.body { flex: 1; display: flex; flex-direction: column; justify-content: center; padding-bottom: 84px; }

.foot { position: absolute; left: 120px; right: 120px; bottom: 44px; display: flex; justify-content: space-between; align-items: center; font-family: var(--mono); font-size: 18px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.dark .foot { color: var(--dark-muted); }
.foot .mk { display: inline-flex; align-items: center; gap: 12px; }
.foot svg { width: 24px; height: 24px; }

/* cols */
.cols { display: grid; gap: 56px; }
.cols.c3 { grid-template-columns: repeat(3, 1fr); }
.cols.c4 { grid-template-columns: repeat(4, 1fr); gap: 40px; }
.cols.c5 { grid-template-columns: repeat(5, 1fr); gap: 32px; }
.col { border-top: 2px solid var(--ink); padding-top: 30px; }
.col .n { font-family: var(--mono); font-size: 20px; letter-spacing: .1em; color: var(--muted); display: block; margin-bottom: 56px; }
.col h3 { font-weight: 500; font-size: 46px; letter-spacing: -0.03em; line-height: 1.1; margin-bottom: 20px; }
.col p { font-size: 29px; line-height: 1.45; color: var(--muted); }
.c4 .col h3 { font-size: 40px; } .c4 .col p { font-size: 27px; }
.c5 .col h3 { font-size: 40px; } .c5 .col p { font-size: 25px; }
.c3 .col { padding-top: 34px; }

/* title */
.title { padding: 0; }
.title .bg { position: absolute; inset: 0; background: center/cover no-repeat; }
.title .inner { position: relative; padding: 150px 120px 0; max-width: 1700px; }
.pill { display: inline-flex; align-items: center; gap: 14px; height: 48px; padding: 0 24px; border: 1px solid rgba(246,243,234,.28); border-radius: 99px; font-family: var(--mono); font-size: 20px; letter-spacing: .1em; text-transform: uppercase; color: #CFCCC2; }
.pill i { width: 10px; height: 10px; border-radius: 50%; background: #FF5A1F; }
.title h1 { margin-top: 44px; font-weight: 500; font-size: 170px; line-height: .95; letter-spacing: -0.05em; max-width: 1400px; }
.title .sub { margin-top: 40px; font-size: 38px; line-height: 1.4; color: #B9B6AA; max-width: 1050px; }

/* stat */
.stat-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }
.stat { font-weight: 500; font-size: 270px; letter-spacing: -0.06em; line-height: .9; color: var(--accent); }
.stat-label { margin-top: 28px; font-size: 34px; line-height: 1.35; max-width: 640px; }
.source { margin-top: 40px; font-family: var(--mono); font-size: 18px; letter-spacing: .04em; color: var(--muted); max-width: 640px; line-height: 1.5; }
.bul li { padding: 30px 0; border-top: 1px solid var(--rule); font-size: 34px; line-height: 1.35; }
.bul li:last-child { border-bottom: 1px solid var(--rule); }

/* statpair */
.pair { display: grid; grid-template-columns: 1fr 120px 1fr; align-items: center; }
.pair .stat { font-size: 176px; white-space: nowrap; } .pair .stat.ink { color: var(--ink); }
.pair .vs { font-family: var(--mono); font-size: 28px; color: var(--muted); text-align: center; text-transform: uppercase; letter-spacing: .1em; }
.ratio { margin-top: 44px; } .ratio .rbar { height: 18px; background: #DAD6CB; position: relative; }
.ratio .rbar i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--accent); min-width: 4px; }
.ratio span { display: block; margin-top: 16px; font-size: 26px; color: var(--muted); }
/* stats3 */
.s3wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 56px; }
.s3 { border-top: 2px solid var(--ink); padding-top: 30px; }
.stat.m { font-size: 100px; letter-spacing: -0.05em; line-height: 1; white-space: nowrap; }
.s3 h3 { margin-top: 28px; font-weight: 500; font-size: 36px; letter-spacing: -0.025em; }
.s3 p { margin-top: 14px; font-size: 24px; line-height: 1.4; color: var(--muted); }
/* chart */
.chart { width: 100%; height: auto; }
/* strip stat */
.strip-stat { margin-top: 36px; display: flex; gap: 48px; align-items: center; border-top: 2px solid var(--ink); padding-top: 32px; }
.strip-stat .stat.m { font-size: 96px; flex: none; }
.strip-stat p { font-size: 27px; line-height: 1.4; color: var(--ink); max-width: 1100px; }
.strip-stat em { display: block; margin-top: 10px; font-style: normal; font-family: var(--mono); font-size: 17px; color: var(--muted); }
/* domains */
.doms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px 56px; }
.dom { border-top: 2px solid var(--ink); padding-top: 22px; }
.dom h3 { font-weight: 500; font-size: 38px; letter-spacing: -0.03em; line-height: 1.1; }
.dom p { margin-top: 12px; font-size: 25px; line-height: 1.4; color: var(--muted); }
/* team */
.team { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.person { border-top: 2px solid var(--ink); padding-top: 28px; }
.person h3 { font-weight: 500; font-size: 64px; letter-spacing: -0.04em; line-height: 1.05; margin-bottom: 24px; }
.person li { padding: 18px 0; border-top: 1px solid var(--rule); font-size: 30px; line-height: 1.35; color: var(--muted); }
.person li:last-child { border-bottom: 1px solid var(--rule); }
.tbl.compact td { padding: 20px 24px 20px 0; font-size: 26px; }
.tbl.compact th { padding-bottom: 14px; }
/* sources */
.src { width: 100%; border-collapse: collapse; }
.src td { padding: 14px 24px 14px 0; border-top: 1px solid var(--rule); font-size: 22px; line-height: 1.3; vertical-align: top; }
.src td:first-child { color: var(--ink); width: 40%; } .src td:nth-child(2) { color: var(--muted); width: 28%; }
.src td.u { font-family: var(--mono); font-size: 17px; color: var(--muted); word-break: break-all; }

/* image */
.fig { display: flex; flex-direction: column; align-items: center; gap: 28px; }
.fig img { height: 640px; width: auto; border-radius: 22px; box-shadow: 0 30px 80px -40px rgba(0,0,0,.5); }
.fig figcaption { font-size: 26px; color: var(--muted); }

/* two */
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.two h3 { font-weight: 500; font-size: 62px; letter-spacing: -0.035em; padding-top: 30px; border-top: 2px solid var(--ink); margin-bottom: 28px; }
.two li { padding: 20px 0; border-top: 1px solid var(--rule); font-size: 34px; }
.two li:last-child { border-bottom: 1px solid var(--rule); }

/* table */
.tbl { width: 100%; border-collapse: collapse; }
.tbl th { text-align: left; font-family: var(--mono); font-weight: 400; font-size: 20px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 0 24px 22px 0; }
.tbl td { padding: 30px 24px 30px 0; border-top: 1px solid var(--rule); font-size: 28px; line-height: 1.35; vertical-align: top; color: var(--muted); }
.tbl td:first-child { color: var(--ink); font-weight: 500; width: 26%; }
.tbl td:last-child { color: var(--ink); }
.note { margin-top: 28px; font-size: 22px; color: var(--muted); }

/* closing */
.closing .body { justify-content: center; }
.closing h2 { font-size: 150px; line-height: .98; letter-spacing: -0.05em; max-width: 1500px; margin-top: 0; }
.closing .lines { margin-top: 64px; display: flex; gap: 48px; font-size: 44px; letter-spacing: -0.02em; }
.closing .lines span:first-child { color: #FF5A1F; }

/* chrome */
.ui { position: fixed; top: 16px; right: 16px; z-index: 10; display: flex; gap: 8px; opacity: 0; transition: opacity .2s ease; }
body:hover .ui, .ui:focus-within { opacity: 1; }
.ui a, .ui button { font: 500 13px var(--sans); color: #F6F3EA; background: rgba(20,21,17,.85); border: 1px solid #2A2B25; border-radius: 8px; padding: 8px 12px; text-decoration: none; cursor: pointer; }
.ui a:hover, .ui button:hover { border-color: #8D8B80; }
.nav-hit { position: fixed; top: 0; bottom: 0; width: 18%; z-index: 5; cursor: pointer; background: none; border: 0; }
.nav-hit.prev { left: 0; } .nav-hit.next { right: 0; }
.bar { position: fixed; left: 0; bottom: 0; height: 3px; background: #D93F0B; z-index: 10; transition: width .3s ease; }

@page { size: 1920px 1080px; margin: 0; }
@media print {
  html, body { height: auto; overflow: visible; background: #fff; }
  .stage { position: static; width: 1920px; height: auto; transform: none; }
  .slide { display: flex !important; position: relative; width: 1920px; height: 1080px; break-after: page; page-break-after: always; animation: none; }
  .ui, .nav-hit, .bar { display: none !important; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
