/* Falden deck
   Same hand as falden.ai: paper, ink, one green accent. Caslon for reading, Inter for
   interface, IBM Plex Mono for every fact. Hairlines, not shadows. Tokens, fonts and
   the dark band come from the site's styles.css.

   Sizing: on desktop every slide is a 16:9 frame that scales with its width, and the
   frame is capped by the viewport height as well as at 1280px, so a slide always fits
   above the footer bar. One unit, --px, equals 1px when the frame is 1280 wide, so the
   numbers below read as the design at 1280. Phones reflow to one column with fixed
   sizes. Print fixes --px to 1px on a 1280 x 720 page, one slide per page. */

/* ---------- fonts (self-hosted, latin subsets, OFL) ----------
   Inter ships as three static instances, not the variable file: Chrome embeds
   variable fonts in PDFs as unhinted Type 3 glyph programs. */
@font-face{font-family:"Libre Caslon Display";font-style:normal;font-weight:400;font-display:swap;
  src:url("/fonts/libre-caslon-display-latin.v19.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Caslon Text";font-style:normal;font-weight:400;font-display:swap;
  src:url("/fonts/libre-caslon-text-latin.v6.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Caslon Text";font-style:italic;font-weight:400;font-display:swap;
  src:url("/fonts/libre-caslon-text-latin-italic.v6.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Caslon Text";font-style:normal;font-weight:700;font-display:swap;
  src:url("/fonts/libre-caslon-text-latin-700.v6.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;
  src:url("/fonts/inter-latin-400.v21.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;
  src:url("/fonts/inter-latin-500.v21.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;
  src:url("/fonts/inter-latin-600.v21.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("/fonts/ibm-plex-mono-latin-400.v21.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url("/fonts/ibm-plex-mono-latin-500.v21.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* metric-matched fallbacks so the swap does not move layout (values from the site) */
@font-face{font-family:"Caslon Text Fallback";src:local("Georgia");size-adjust:107.27%;ascent-override:90.43%;descent-override:24.24%;line-gap-override:0%}
@font-face{font-family:"Caslon Display Fallback";src:local("Georgia");size-adjust:83.56%;ascent-override:116.08%;descent-override:31.83%;line-gap-override:0%}
@font-face{font-family:"Inter Fallback";src:local("Arial");size-adjust:106.93%;ascent-override:90.60%;descent-override:22.56%;line-gap-override:0%}
@font-face{font-family:"Plex Mono Fallback";src:local("Menlo"),local("Consolas"),local("Courier New");size-adjust:99.66%;ascent-override:102.85%;descent-override:27.59%;line-gap-override:0%}

/* ---------- tokens (from falden.ai) ---------- */
:root{
  --paper:#FAFAFA; --paper-2:#F1F1F1; --card:#FDFDFD;
  --ink:#14171C; --ink-2:#5A616D; --ink-3:#666C76;
  --rule:#E6E6E6; --rule-2:#D6D6D6;
  --accent:#1D6A4E; --flag:#A8552C; --mark-ink:#17231C;
  --dark:#070A09; --on-dark:#F2F4F3;
  --display:"Libre Caslon Display","Caslon Display Fallback",Georgia,"Times New Roman",serif;
  --text:"Libre Caslon Text","Caslon Text Fallback",Georgia,"Times New Roman",serif;
  --ui:"Inter","Inter Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono","Plex Mono Fallback",ui-monospace,Menlo,Consolas,monospace;
  --r:3px; --gut:32px; --bar:44px;
  --wash-a:#FFFFFF; --wash-b:#EEF0F2; --wash-c:#F5F5F5;
  --fast:140ms; --base:220ms; --ease:cubic-bezier(.25,1,.5,1);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--paper);-webkit-print-color-adjust:exact;print-color-adjust:exact;font-synthesis:none}
body{
  margin:0;min-height:100vh;color:var(--ink);background:var(--paper);
  background-image:
    radial-gradient(120% 80% at 12% 0%,var(--wash-a) 0%,rgba(255,255,255,0) 54%),
    radial-gradient(90% 70% at 94% 4%,var(--wash-b) 0%,rgba(255,255,255,0) 60%),
    linear-gradient(180deg,var(--paper) 0%,var(--wash-c) 100%);
  background-repeat:no-repeat;
  font-family:var(--text);font-size:17px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  padding-bottom:calc(var(--bar) + var(--gut));
  overflow-x:clip;
}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px;transition:color var(--fast) var(--ease)}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
::selection{background:rgba(29,106,78,.18)}
h1,h2,h3,p,dl,dt,dd,ul,pre{margin:0}
ul{padding:0;list-style:none}
img{display:block}
/* text that stays in the document (and in the text lock) but not on the canvas */
.sep{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* ---------- mark ---------- */
.mark{display:block;width:32px;height:32px;flex:none}
.mark .bars{fill:var(--mark-ink)}
.mark .strike{stroke:var(--accent);stroke-width:5;stroke-linecap:butt;fill:none}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.brand:hover{color:inherit}
.wm{font-family:var(--ui);font-size:20px;font-weight:600;letter-spacing:-.012em;color:var(--ink)}

/* ---------- the deck ---------- */
.deck{
  --px:calc(100cqw / 1280);
  container-type:inline-size;
  /* capped at 1280 wide, and by the height left above the footer bar, so one 16:9
     frame always fits the viewport (a 700px laptop window gets a 1052px frame) */
  max-width:min(calc(1280px + 2 * var(--gut)),calc((100vh - var(--bar) - 2 * var(--gut)) * 16 / 9 + 2 * var(--gut)));
  margin:0 auto;
  padding:var(--gut) var(--gut) 0;
  display:flex;flex-direction:column;gap:var(--gut);
}
/* a flex column, not a grid: a grid track would take the slide's aspect-ratio
   transferred minimum width and grow past the 1280 cap */
.slide{
  position:relative;display:flex;flex-direction:column;width:100%;min-width:0;
  aspect-ratio:16 / 9;
  background:var(--card);border:1px solid var(--rule-2);border-radius:var(--r);
  padding:calc(60 * var(--px)) calc(80 * var(--px)) calc(48 * var(--px));
  scroll-margin-top:var(--gut);
}
.grow{flex:1}

/* type roles */
.eyebrow{
  font-family:var(--mono);font-size:max(10px,calc(11 * var(--px)));letter-spacing:.13em;
  text-transform:uppercase;color:var(--accent);line-height:1.45;margin:0 0 calc(22 * var(--px));
}
/* label left, qualifier right on the same line, as the site's section eyebrows */
.eyebrow-split{display:flex;justify-content:space-between;align-items:baseline;gap:calc(24 * var(--px))}
.eyebrow-split .q{color:var(--ink-3);text-align:right}
.slide h2{
  font-family:var(--display);font-weight:400;font-size:calc(52 * var(--px));line-height:1.06;
  letter-spacing:-.016em;max-width:20ch;text-wrap:pretty;
}
.slide .h2-wide{max-width:26ch}
.slide .h2-full{max-width:none}
.slide .h2-line{max-width:none;white-space:nowrap}
.slide .h2-46{font-size:calc(46 * var(--px))}
.slide .h2-40{font-size:calc(40 * var(--px))}
.slide .h2-42{font-size:calc(42 * var(--px))}
.sub{font-size:calc(22 * var(--px));line-height:1.5;color:var(--ink-2);max-width:60ch;margin-top:calc(24 * var(--px))}
.sub b{color:var(--ink);font-weight:400}
.sub-full{max-width:none;margin-top:calc(20 * var(--px))}
.foot{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  font-family:var(--mono);font-size:max(10px,calc(11 * var(--px)));letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);border-top:1px solid var(--rule);padding-top:calc(14 * var(--px));margin-top:calc(20 * var(--px));
}

/* ---------- 1 · cover on the dark band ---------- */
.cover{background:var(--dark);border-color:var(--dark);color:var(--on-dark);isolation:isolate;overflow:hidden}
.cover picture{display:contents}
.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1;pointer-events:none}
.cover .brand{gap:calc(12 * var(--px))}
.cover .mark{width:calc(34 * var(--px));height:calc(34 * var(--px))}
.cover .mark .bars{fill:#F3F5EF}
.cover .mark .strike{stroke:#57B287}
.cover .wm{font-size:calc(20 * var(--px));color:var(--on-dark)}
.cover-body{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:calc(8 * var(--px))}
.cover h1{
  font-family:var(--display);font-weight:400;font-size:calc(54 * var(--px));line-height:1;
  letter-spacing:-.008em;color:var(--on-dark);max-width:16em;text-wrap:balance;font-kerning:normal;
}
/* the eyebrow reads above the heading like every other slide; the document order
   (heading first) is the locked source, so the move is visual only */
.cover .eyebrow{order:-1;color:rgba(250,250,250,.62);margin:0 0 calc(18 * var(--px))}
.cover .sub{font-size:calc(18 * var(--px));color:rgba(250,250,250,.78);max-width:60ch;margin:calc(16 * var(--px)) 0 0}
.cover .sub b{color:var(--on-dark)}
.cover .foot{border-top-color:rgba(250,250,250,.14);color:rgba(250,250,250,.62);margin-top:calc(12 * var(--px))}
.cover :focus-visible{outline-color:#7CCDB0}

/* ---------- 2 · the filing ---------- */
.quote{
  border-left:2px solid var(--ink);padding:calc(6 * var(--px)) 0 calc(6 * var(--px)) calc(26 * var(--px));
  margin-top:calc(28 * var(--px));display:grid;grid-template-columns:1.1fr 1fr;gap:calc(36 * var(--px));align-items:start;
}
.quote > *{min-width:0}
/* the real Caslon Text italic, as the site sets this filing; Caslon Display has no italic face */
.quote p{font-family:var(--text);font-style:italic;font-size:calc(26 * var(--px));letter-spacing:-.008em;line-height:1.3;color:var(--ink)}
.quote cite{display:block;font-style:normal;font-family:var(--ui);font-size:calc(13.5 * var(--px));color:var(--ink-3);line-height:1.55}
.quote cite .src{color:var(--ink);font-weight:600}
.quote cite .note{color:var(--ink-2);font-weight:400}

/* ---------- 3 · figures ---------- */
.figs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:calc(24 * var(--px))}
.figs > div{background:var(--card);padding:calc(24 * var(--px)) calc(22 * var(--px));min-width:0}
/* findings in the display serif, as the site's headline figures; mono stays for the
   instrument figures inside the pack */
.figs b{
  display:block;font-family:var(--display);font-weight:400;font-size:calc(54 * var(--px));line-height:1;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);
}
.figs .lit b{color:var(--accent)}
.figs span{display:block;font-family:var(--ui);font-size:calc(13 * var(--px));color:var(--ink-3);margin-top:calc(12 * var(--px));line-height:1.45}
.body2{
  display:grid;grid-template-columns:1fr 1fr;gap:0 calc(48 * var(--px));margin-top:calc(24 * var(--px));
  font-size:calc(18 * var(--px));line-height:1.5;color:var(--ink-2);
}
.body2 b{color:var(--ink);font-weight:400}
.body2-lg{font-size:calc(19 * var(--px));margin-top:calc(30 * var(--px))}

/* ---------- 4 · the artifact ---------- */
.artifact{display:grid;grid-template-columns:1.05fr .95fr;gap:calc(44 * var(--px));align-items:start;margin-top:calc(6 * var(--px))}
.artifact > div{min-width:0}
.pack{background:var(--card);border:1px solid var(--rule-2);border-radius:var(--r);overflow:hidden}
.pk-top{
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:calc(14 * var(--px)) calc(22 * var(--px));border-bottom:1px solid var(--ink);
  font-family:var(--mono);font-size:max(9px,calc(11 * var(--px)));letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);
}
.pk-body{padding:calc(24 * var(--px)) calc(22 * var(--px)) calc(20 * var(--px))}
.pk-big{font-family:var(--mono);font-weight:500;font-size:calc(62 * var(--px));line-height:.9;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.pk-of{font-size:calc(17 * var(--px));color:var(--ink-2);margin-left:calc(10 * var(--px))}
.pk-body p{font-size:calc(16 * var(--px));line-height:1.5;color:var(--ink-2);margin-top:calc(14 * var(--px));max-width:38ch}
.pk-body p b{font-weight:400;color:var(--ink)}
.pk-seal{background:var(--paper-2);border-top:1px solid var(--rule-2);padding:calc(16 * var(--px)) calc(22 * var(--px));display:grid;gap:calc(10 * var(--px))}
.pk-seal dt{font-family:var(--mono);font-size:max(9px,calc(10 * var(--px)));letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.pk-seal dd{font-family:var(--mono);font-size:max(9px,calc(12 * var(--px)));color:var(--ink);word-break:break-all;margin-top:3px;line-height:1.5}
.verify-label{font-family:var(--ui);font-size:calc(19 * var(--px));line-height:1.5;color:var(--ink)}
.verify-label b{font-weight:600}
.verify-label span{color:var(--ink-2)}
.term{
  margin-top:calc(16 * var(--px));background:var(--card);border:1px solid var(--rule-2);border-radius:var(--r);
  padding:calc(16 * var(--px)) calc(18 * var(--px));font-family:var(--mono);font-size:max(10px,calc(12.5 * var(--px)));
  line-height:1.7;color:var(--ink);white-space:pre;overflow-x:auto;
}
.term .d{color:var(--ink-3)}
.term .ok{color:var(--accent);font-weight:500}
.term .bad{color:var(--flag);font-weight:500}
.after{font-family:var(--ui);font-size:calc(15 * var(--px));color:var(--ink-2);margin-top:calc(16 * var(--px));line-height:1.55;max-width:42ch}
.after a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule-2);transition:color var(--fast) var(--ease),border-color var(--fast) var(--ease)}
.after a:hover{color:var(--accent);border-color:var(--accent)}
.after b{font-weight:600}

/* ---------- 5 and 7 · two columns ---------- */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:calc(56 * var(--px));margin-top:calc(32 * var(--px))}
.cols > div{min-width:0}
.cols h3{
  font-family:var(--mono);font-size:max(10px,calc(11 * var(--px)));letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-3);font-weight:400;margin-bottom:calc(18 * var(--px));
}
.cols p{font-size:calc(19.5 * var(--px));line-height:1.45;color:var(--ink-2)}
.cols p + p{margin-top:calc(14 * var(--px))}
.cols b{color:var(--ink);font-weight:400}
.cols-tight{margin-top:calc(24 * var(--px));gap:calc(48 * var(--px))}
.cols-tight p{font-size:calc(18 * var(--px))}
.cols .owner{font-size:calc(17 * var(--px));color:var(--ink-3)}
.cols .owner b{color:var(--ink-2)}

/* ---------- 6 · price ---------- */
.price{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:calc(30 * var(--px))}
.price > div{background:var(--card);padding:calc(36 * var(--px)) calc(34 * var(--px)) calc(32 * var(--px));min-width:0}
.price .n{display:block;font-family:var(--display);font-size:calc(46 * var(--px));line-height:1.05;letter-spacing:-.012em;color:var(--ink)}
.price .k{font-family:var(--ui);font-size:calc(15 * var(--px));color:var(--ink-3);margin-top:calc(18 * var(--px));line-height:1.5}
.price .k b{color:var(--ink);font-weight:600}

/* ---------- 7 · status and contact ---------- */
.status{margin-top:calc(20 * var(--px))}
.status li{
  position:relative;padding:calc(8 * var(--px)) 0 calc(8 * var(--px)) calc(22 * var(--px));
  border-bottom:1px solid var(--rule);font-size:calc(16 * var(--px));line-height:1.45;color:var(--ink);
}
.status li::before{content:"";position:absolute;left:0;top:calc(15 * var(--px));width:7px;height:7px;background:var(--accent);border-radius:50%}
.status li.no::before{background:var(--flag)}
.contact{display:flex;align-items:baseline;gap:calc(18 * var(--px));flex-wrap:wrap;padding-top:calc(18 * var(--px));font-family:var(--ui);font-size:calc(15 * var(--px))}
.contact .nm{font-family:var(--display);font-size:calc(20 * var(--px));letter-spacing:-.005em;color:var(--ink)}
.contact a{color:var(--accent);text-decoration:none;font-family:var(--mono);font-size:calc(14 * var(--px))}
.contact a:hover{text-decoration:underline}
.contact .site{color:var(--ink-3);font-family:var(--mono);font-size:calc(14 * var(--px));margin-left:auto}
.foot-last{margin-top:calc(16 * var(--px))}

/* ---------- progress rail ----------
   Every tick is legible at rest (ink-3 on paper, 5.07:1); the script only emphasizes:
   passed slides in ink, the current one as a wider accent dash. */
.rail{position:fixed;top:50%;right:6px;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:4px}
.rail a{display:block;position:relative;width:32px;height:28px;border-radius:2px}
.rail a::before{
  content:"";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:12px;height:1px;background:var(--ink-3);
  transition:width var(--fast) var(--ease),height var(--fast) var(--ease),background var(--fast) var(--ease);
}
.rail a.is-done::before{background:var(--ink)}
.rail a:hover::before{background:var(--ink);width:16px}
.rail a[aria-current]::before{width:18px;height:2px;background:var(--accent)}

/* ---------- footer bar ---------- */
.bar{
  position:fixed;left:0;right:0;bottom:0;z-index:10;height:var(--bar);
  display:flex;align-items:center;gap:16px;padding:0 var(--gut);
  background:color-mix(in srgb,var(--paper) 86%,transparent);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--rule);
  font-family:var(--ui);font-size:13px;color:var(--ink-2);
}
.bar p{flex:1 1 auto;margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hint{flex:none;font-size:12px;color:var(--ink-3);white-space:nowrap;margin-right:8px}
.bar a{
  flex:none;display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;font-weight:500;white-space:nowrap;
  transition:color var(--fast) var(--ease);
}
.bar a::after{content:"\2193";margin-left:7px;color:var(--ink-3);transition:color var(--fast) var(--ease)}
.bar a:hover,.bar a:hover::after{color:var(--accent)}

/* ---------- bare pages (index, 404) ---------- */
.bare{display:grid;place-items:center;min-height:100vh;padding:0 16px 0;text-align:center}
.bare main{display:grid;gap:22px;justify-items:center;padding:40px 0}
.bare .brand{gap:11px}
.bare h1{font-family:var(--display);font-weight:400;font-size:clamp(28px,4vw,40px);letter-spacing:-.012em}
.bare p{color:var(--ink-2);max-width:40ch;font-size:16px}
.bare p a{color:var(--ink-2)}

/* ---------- phones and small tablets: one column, real sizes ----------
   screen only: headless Chrome evaluates max-width against its window, not
   the page box, when it prints, and the PDF must keep the desktop layout */
@media screen and (max-width:999px){
  :root{--gut:16px;--rail:24px}
  body{padding-bottom:calc(var(--bar) + 16px)}
  .deck{padding:calc(var(--rail) + 8px) 16px 0;gap:16px;max-width:none}
  .slide{aspect-ratio:auto;padding:26px 18px 18px;scroll-margin-top:calc(var(--rail) + 8px)}
  .deck .slide h1 br,.deck .slide h2 br{display:none}
  .eyebrow{font-size:10px;margin-bottom:16px}
  .eyebrow-split{display:block}
  .eyebrow-split .lb,.eyebrow-split .q{display:block}
  .eyebrow-split .q{margin-top:6px;letter-spacing:.06em;text-align:left}
  .deck .slide h2{font-size:clamp(26px,7.2vw,34px);max-width:none;white-space:normal}
  .sub{font-size:17px;margin-top:16px;max-width:none}
  .foot{font-size:10px;padding-top:12px;margin-top:22px;flex-wrap:wrap;gap:4px 16px}
  .foot span{white-space:nowrap}

  .cover{min-height:min(76svh,620px);padding-top:22px}
  /* on a tall phone frame the poster sits at the top and fades into the ground,
     so the headline never crosses the mark */
  .poster{height:64%;object-position:center top}
  .cover::after{content:"";position:absolute;left:0;right:0;top:34%;height:31%;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,rgba(7,10,9,0),var(--dark))}
  .cover .brand{gap:10px}
  .cover .mark{width:28px;height:28px}
  .cover .wm{font-size:18px}
  .cover-body{padding-bottom:22px}
  .cover h1{font-size:clamp(32px,9.2vw,44px);line-height:1.02;max-width:none}
  .cover .eyebrow{margin:0 0 12px}
  .cover .sub{font-size:17px;max-width:none;margin-top:14px}

  .quote{grid-template-columns:1fr;gap:14px;padding:4px 0 4px 16px;margin-top:20px}
  .quote p{font-size:20px}
  .quote cite{font-size:13px}

  .figs{grid-template-columns:1fr;margin-top:20px}
  .figs > div{padding:16px 16px 18px}
  .figs b{font-size:40px}
  .figs span{font-size:13px;margin-top:8px}
  .body2{grid-template-columns:1fr;gap:12px 0;margin-top:20px;font-size:16px}
  .body2-lg{font-size:16px}

  .artifact{grid-template-columns:1fr;gap:20px;margin-top:4px}
  .pk-top{padding:10px 14px;font-size:9px}
  .pk-body{padding:16px 14px 14px}
  .pk-big{font-size:44px}
  .pk-of{font-size:15px;margin-left:8px}
  .pk-body p{font-size:14.5px;margin-top:10px;max-width:none}
  .pk-seal{padding:12px 14px;gap:8px}
  .pk-seal dt{font-size:9px}
  .pk-seal dd{font-size:11px}
  .verify-label{font-size:16px}
  .term{margin-top:12px;padding:12px 14px;font-size:11px}
  .after{font-size:13.5px;margin-top:12px;max-width:none}

  .cols{grid-template-columns:1fr;gap:24px;margin-top:22px}
  .cols h3{font-size:10px;margin-bottom:12px}
  .cols p,.cols-tight p{font-size:16.5px}
  .cols p + p{margin-top:10px}
  .cols .owner{font-size:15.5px}

  .price{grid-template-columns:1fr;margin-top:20px}
  .price > div{padding:20px 18px 18px}
  .price .n{font-size:28px}
  .price .k{font-size:14.5px;margin-top:10px}

  .status{margin-top:14px}
  .status li{padding:8px 0 8px 18px;font-size:15px}
  .status li::before{top:14px}
  .contact{gap:12px;padding-top:16px;font-size:14px}
  .contact .nm{font-size:18px;flex-basis:100%}
  .contact a{font-size:13px}
  .contact .site{font-size:13px}

  /* a 24px strip along the top with the same wash as the bar, so it reads as chrome
     and the ticks never draw over slide text */
  .rail{
    top:0;right:0;left:0;transform:none;flex-direction:row;gap:3px;height:var(--rail);padding:0 16px;
    background:color-mix(in srgb,var(--paper) 86%,transparent);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);
  }
  .rail a{flex:1;width:auto;height:100%;border-radius:0}
  .rail a::before{left:0;right:0;top:auto;bottom:0;transform:none;width:auto;height:2px;background:var(--ink-3)}
  .rail a:hover::before{width:auto;background:var(--ink)}
  .rail a.is-done::before{width:auto;height:2px;background:var(--ink)}
  .rail a[aria-current]::before{width:auto;height:2px;background:var(--accent)}

  .bar{padding:0 16px;font-size:12px}
  .bar-brand,.hint{display:none}
}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ---------- print: one slide per 16:9 page, the design at 1280 x 720 ---------- */
@page{size:1280px 720px;margin:0}
@media print{
  html,body{background:#fff;background-image:none;padding:0;margin:0;overflow:visible}
  .rail,.bar{display:none!important}
  .deck{--px:1px;display:block;max-width:none;padding:0;container-type:normal}
  .slide{
    width:1280px;height:720px;aspect-ratio:auto;margin:0;border:0;border-radius:0;overflow:hidden;
    break-after:page;page-break-after:always;break-inside:avoid;
  }
  .slide:last-child{break-after:auto;page-break-after:auto}
  .deck .slide h1 br,.deck .slide h2 br{display:inline}
  a{color:inherit}
}
