body.standalone-page {
  margin: 0;
  height: 100vh;
  overflow: hidden;
  background: #0b0a08;
  color: #f2ede6;
}

body.standalone-page::before {
  content: "";
  position: fixed;
  inset: 0;
  background:
    radial-gradient(circle at 16% 14%, rgba(217, 159, 13, .16), transparent 30%),
    radial-gradient(circle at 88% 78%, rgba(79, 173, 255, .08), transparent 34%),
    linear-gradient(135deg, #0b0a08, #19140e 58%, #070605);
  pointer-events: none;
  z-index: 0;
}

  
body.standalone-page .sitebar,
body.standalone-page .topbar,
body.standalone-page .topNav,
body.standalone-page .nav,
body.standalone-page .rail,
body.standalone-page .menu,
body.standalone-page .navhint,
body.standalone-page .navBtns,
body.standalone-page .menuBtn,
body.standalone-page .navButtons,
body.standalone-page .progressShell,
body.standalone-page .chrome,
body.standalone-page .corner,
body.standalone-page .tinycap,
/* UX-DESIGNER CHANGE 2026-07-06: hide legacy per-deck controls/progress when shared standalone chrome is active. */
body.standalone-page .progress,
body.standalone-page .controls,
body.standalone-page .tocScrim,
body.standalone-page .tocPanel,
body.standalone-page .sectionRail,
body.standalone-page .clickZone,
body.standalone-page .pager,
body.standalone-page .hint,
body.standalone-page .pagenav {
  display: none !important;
}

body.standalone-page > a[style*="position:fixed"] {
  display: none !important;
}

body.standalone-page .deck {
  position: relative;
  width: 100vw;
  height: 100vh;
}

body.standalone-page .slide {
  position: relative!important;
  inset: 0 !important;
  width: auto !important;
	  height: auto !important;
min-height:100%;
  display: none !important;
  overflow: hidden;
  padding: clamp(76px, 8.2vh, 92px) clamp(42px, 6vw, 92px) clamp(76px, 8.8vh, 104px) clamp(52px, 7vw, 116px) !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

body.standalone-page .slide.active {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* Optional title-slide visual treatment. Applied only where a slide sets
   --slide-image, so existing text-only decks remain unchanged. */
body.standalone-page .slide.visual-bg {
  background-image:
    linear-gradient(105deg, rgba(8,8,6,.84) 0%, rgba(8,8,6,.58) 48%, rgba(8,8,6,.78) 100%),
    var(--slide-image) !important;
  background-size: cover !important;
  background-position: center !important;
}
body.standalone-page .slide.visual-bg:before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  background:
    radial-gradient(rgba(255,210,74,.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(8,8,6,.08), rgba(8,8,6,.32)) !important;
  background-size: 38px 38px, auto !important;
  pointer-events: none !important;
}
body.standalone-page .slide.visual-bg:after {
  background: #d99f0d !important;
}
body.standalone-page .slide.visual-bg h1,
body.standalone-page .slide.visual-bg h2,
body.standalone-page .slide.visual-bg h3,
body.standalone-page .slide.visual-bg p,
body.standalone-page .slide.visual-bg .lead,
body.standalone-page .slide.visual-bg .muted {
  color: #f6efe3 !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.48);
}
body.standalone-page .slide.visual-bg .quote,
body.standalone-page .slide.visual-bg .box,
body.standalone-page .slide.visual-bg .callout {
  background: rgba(10,9,8,.62) !important;
  border-color: rgba(255,210,74,.38) !important;
  color: #f6efe3 !important;
}

/* Cold-open inject: every deck starts with full context, no prior article required */
body.standalone-page .slide.standalone-opener {
  background: #0f0e0b !important;
  padding: clamp(88px, 10vh, 110px) clamp(36px, 6vw, 96px) !important;
}
body.standalone-page .slide.standalone-opener:before,
body.standalone-page .slide.standalone-opener:after {
  display: none !important;
}
.standalone-opener-inner {
  max-width: 920px;
  width: 100%;
  margin: 0 auto;
}
.standalone-opener-kicker {
  font-family: "SF Mono", Menlo, Consolas, monospace;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 900;
  color: #ffd24a;
  margin: 0 0 18px;
}
.standalone-opener-h {
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(32px, 4.6vw, 52px) !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  color: #fbfaf7 !important;
  margin: 0 0 20px !important;
  max-width: 900px !important;
  letter-spacing: 0 !important;
}
.standalone-opener-premise {
  font-size: clamp(17px, 1.85vw, 21px) !important;
  line-height: 1.45 !important;
  color: #d8cfc0 !important;
  margin: 0 0 28px !important;
  max-width: 820px !important;
}
.standalone-opener-leave {
  border-left: 3px solid #ffd24a;
  padding: 4px 0 4px 18px;
  margin: 0 0 22px;
  max-width: 820px;
}
.standalone-opener-leave-k {
  display: block;
  font-family: "SF Mono", Menlo, monospace;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #ffd24a;
  font-weight: 800;
  margin-bottom: 8px;
}
.standalone-opener-leave p {
  margin: 0 !important;
  font-size: clamp(16px, 1.7vw, 19px) !important;
  line-height: 1.4 !important;
  color: #f0e8da !important;
  max-width: none !important;
}
.standalone-opener-note {
  margin: 0 !important;
  font-size: 14px !important;
  color: #9a9082 !important;
  letter-spacing: .02em;
}

body.standalone-page .slide > .content,
body.standalone-page .slide > div:not(.bg):not(.shade):not(.footer):not(.bigword) {
  max-width: min(1180px, 100%);
}

body.standalone-page .content {
  max-height: calc(100vh - 168px);
}

body.standalone-page h1,
body.standalone-page h2 {
  letter-spacing: 0 !important;
}

body.standalone-page h1 {
  font-size: clamp(46px, 5.2vw, 76px) !important;
  line-height: 1.02 !important;
}

body.standalone-page h2 {
  font-size: clamp(36px, 4vw, 58px) !important;
  line-height: 1.06 !important;
}

body.standalone-page p,
body.standalone-page .subtitle,
body.standalone-page .sub,
body.standalone-page .large,
body.standalone-page .body {
  letter-spacing: 0 !important;
}

body.standalone-page .card,
body.standalone-page .panel,
body.standalone-page .pane {
  border-radius: 14px !important;
}

.standalone-chrome {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 500;
  font-family: "SF Mono", Menlo, Consolas, monospace;
}

/* UX-DESIGNER CHANGE 2026-07-07: the deck title gets its own row above
   the menu/controls row instead of being squeezed between the buttons. */
.standalone-top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  min-height: 52px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 9px 18px 10px;
  background: rgba(10, 9, 8, .92);
  border-bottom: 1px solid rgba(169, 154, 135, .36);
  backdrop-filter: blur(12px);
  pointer-events: auto;
}

.standalone-link,
.standalone-btn,
.standalone-next {
  color: #e8e2d8;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(232, 226, 216, .18);
  border-radius: 999px;
  padding: 8px 12px;
  text-decoration: none;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
  cursor: pointer;
}

.standalone-link:hover,
.standalone-btn:hover,
.standalone-next:hover {
  background: rgba(217, 159, 13, .16);
  border-color: rgba(217, 159, 13, .55);
}

.standalone-title {
  order: -1;
  flex-basis: 100%;
  color: #ffd24a;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 900;
  white-space: normal;
}

.standalone-progress {
  flex: 1;
  height: 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .14);
  overflow: hidden;
}

.standalone-bar {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #d99f0d, #ffd24a);
}

.standalone-count {
  min-width: 64px;
  text-align: right;
  color: #cfc7ba;
  font-size: 12px;
  font-weight: 900;
}

.standalone-controls {
  position: absolute;
  right: 18px;
  bottom: 16px;
  display: flex;
  gap: 8px;
  pointer-events: auto;
}

.standalone-next {
  white-space: nowrap;
}

.standalone-rail {
  position: absolute;
  left: 18px;
  top: 104px;
  bottom: 70px;
  width: 34px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  pointer-events: auto;
}

.standalone-dot {
  width: 8px;
  min-height: 8px;
  flex: 1;
  max-height: 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  border: 0;
  cursor: pointer;
}

.standalone-dot.active {
  background: #d99f0d;
}

.standalone-menu {
  position: absolute;
  top: 104px;
  right: 18px;
  width: min(430px, calc(100vw - 36px));
  max-height: calc(100vh - 160px);
  overflow: auto;
  padding: 12px;
  border: 1px solid rgba(169, 154, 135, .36);
  border-radius: 18px;
  background: rgba(10, 9, 8, .97);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .55);
  pointer-events: auto;
  display: none;
}

.standalone-menu.open {
  display: block;
}

/* the deck title heads the slide menu so the panel is self-explaining */
.standalone-menu-title {
  padding: 10px 12px 12px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(169, 154, 135, .3);
  color: #ffd24a;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 900;
}

.standalone-menu-item {
  display: block;
  width: 100%;
  text-align: left;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: #e8e2d8;
  padding: 11px 12px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}

.standalone-menu-item:hover,
.standalone-menu-item.active {
  border-color: rgba(217, 159, 13, .45);
  background: rgba(217, 159, 13, .12);
}

body.standalone-page[data-presentation="persecution"] .slide {
  padding-left: clamp(48px, 6vw, 92px) !important;
}

body.standalone-page[data-presentation="persecution"] .slide.active {
  align-items: stretch;
}

body.standalone-page[data-presentation="persecution"] .content {
  max-height: calc(100vh - 150px);
  width: min(1180px, 100%);
}

body.standalone-page[data-presentation="persecution"] .case-layout {
  grid-template-columns: minmax(0, 1fr) minmax(340px, .76fr);
  gap: clamp(20px, 2vw, 34px);
}

body.standalone-page[data-presentation="persecution"] .subtitle {
  max-width: 60vw;
  font-size: clamp(20px, 1.45vw, 27px) !important;
  line-height: 1.22 !important;
}

body.standalone-page[data-presentation="persecution"] .quote {
  font-size: clamp(26px, 2.2vw, 38px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
}

body.standalone-page[data-presentation="persecution"] .footer {
  display: none;
}

@media (max-width: 900px) {
  /* UX-DESIGNER CHANGE 2026-07-07: mobile slides scroll instead of
     clipping — the active slide becomes its own scroll container and
     content anchors to the top so nothing is trapped above the fold. */
  body.standalone-page .slide {
    padding: 96px 24px 96px 30px !important;
  }

  body.standalone-page .row,
  body.standalone-page .row.top,
  body.standalone-page .duo,
  body.standalone-page .split,
  body.standalone-page .rail,
  body.standalone-page .flow,
  body.standalone-page .chain,
  body.standalone-page .arrowRow,
  body.standalone-page .equation {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  body.standalone-page .row .col {
    width: auto !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
  }

  body.standalone-page .grid2,
  body.standalone-page .grid3,
  body.standalone-page .grid4,
  body.standalone-page .grid5,
  body.standalone-page .cols2,
  body.standalone-page .cols3,
  body.standalone-page .cols4,
  body.standalone-page .thirds,
  body.standalone-page .four,
  body.standalone-page .five,
  body.standalone-page .splitTitle,
  body.standalone-page .twoCol,
  body.standalone-page .twoBand,
  body.standalone-page .lawrow,
  body.standalone-page .lawStack,
  body.standalone-page .matrix,
  body.standalone-page .timeline,
  body.standalone-page .case-layout,
  body.standalone-page .photoSlide,
  body.standalone-page .linkGrid,
  body.standalone-page .menuGrid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.standalone-page .flow .arr,
  body.standalone-page .arrow,
  body.standalone-page .step:not(:last-child)::after {
    transform: none !important;
    position: static !important;
    text-align: center !important;
  }

  body.standalone-page .slide.active {
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-direction: column;
  }

  body.standalone-page .content,
  body.standalone-page[data-presentation="persecution"] .content {
    max-height: none;
  }

  body.standalone-page[data-presentation="persecution"] .subtitle {
    max-width: 100%;
  }

  /* Mobile type scale that wins over per-deck embedded styles and inline
     font-size attributes. Standalone slides are fullscreen on desktop, but
     phones need a readable scroll layout instead of 70px deck headlines. */
  body.standalone-page h1,
  body.standalone-page .slide h1 {
    font-size: clamp(34px, 10vw, 52px) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
  }

  body.standalone-page h2,
  body.standalone-page .slide h2 {
    font-size: clamp(28px, 8.4vw, 42px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
  }

  body.standalone-page h3,
  body.standalone-page .slide h3,
  body.standalone-page .title,
  body.standalone-page .head,
  body.standalone-page .label {
    font-size: clamp(20px, 6vw, 28px) !important;
    line-height: 1.14 !important;
    letter-spacing: 0 !important;
  }

  body.standalone-page p,
  body.standalone-page li,
  body.standalone-page .subtitle,
  body.standalone-page .sub,
  body.standalone-page .large,
  body.standalone-page .body,
  body.standalone-page .copy,
  body.standalone-page .small,
  body.standalone-page .mini,
  body.standalone-page .source,
  body.standalone-page .sources {
    font-size: clamp(16px, 4.8vw, 20px) !important;
    line-height: 1.34 !important;
    letter-spacing: 0 !important;
  }

  body.standalone-page .huge,
  body.standalone-page .big,
  body.standalone-page .bigline,
  body.standalone-page .quote,
  body.standalone-page .warning,
  body.standalone-page .final,
  body.standalone-page .bigWord,
  body.standalone-page .bigword {
    font-size: clamp(28px, 8.5vw, 44px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
  }

  body.standalone-page .kicker,
  body.standalone-page .tag,
  body.standalone-page .counter,
  body.standalone-page .corner,
  body.standalone-page .footer {
    font-size: clamp(11px, 3.3vw, 14px) !important;
    line-height: 1.25 !important;
  }

  body.standalone-page [style*="font-size"] {
    font-size: clamp(16px, 5vw, 22px) !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }

  body.standalone-page h1[style*="font-size"],
  body.standalone-page h2[style*="font-size"],
  body.standalone-page .huge[style*="font-size"],
  body.standalone-page .big[style*="font-size"],
  body.standalone-page .bigline[style*="font-size"],
  body.standalone-page .quote[style*="font-size"],
  body.standalone-page .warning[style*="font-size"],
  body.standalone-page .final[style*="font-size"] {
    font-size: clamp(28px, 8.5vw, 44px) !important;
    line-height: 1.08 !important;
  }

  /* deck footer metadata returns to flow so it cannot float over text */
  body.standalone-page .slide .brandfoot,
  body.standalone-page .slide .slidenum {
    position: static !important;
    margin-top: 16px;
  }

  .standalone-rail {
    display: none;
  }

  .standalone-link {
    padding: 8px 10px;
  }

  .standalone-count {
    min-width: 48px;
  }

  .standalone-menu {
    max-height: calc(100vh - 200px);
  }

  body.standalone-page .cols2,
  body.standalone-page .cols3,
  body.standalone-page .grid2,
  body.standalone-page .grid3,
  body.standalone-page .four,
  body.standalone-page .five,
  body.standalone-page .case-layout {
    grid-template-columns: 1fr !important;
  }
}


  .topbar{position:fixed;top:0;left:0;right:0;height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 18px;background:rgba(15,20,27,.88);backdrop-filter:blur(12px);z-index:20}
  .brand{font-weight:800;letter-spacing:.02em;color:#fff;font-size:14px;white-space:nowrap}
  .progress{height:5px;background:rgba(255,255,255,.12);border-radius:999px;flex:1;overflow:hidden}
  .progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--blue));border-radius:999px}
  .counter{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px;min-width:60px;text-align:right}
  button{border:0;background:rgba(255,255,255,.1);color:white;border-radius:10px;padding:8px 11px;font-weight:700;cursor:pointer}
  button:hover{background:rgba(255,255,255,.18)}
  .menu{position:fixed;right:18px;top:58px;width:min(390px,calc(100vw - 36px));max-height:72vh;overflow:auto;background:#101720;border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.45);border-radius:18px;padding:10px;z-index:30;display:none}
  .menu.open{display:block}
  .menu .item{padding:12px 13px;border-radius:12px;cursor:pointer;color:#dce5f1;border:1px solid transparent;font-size:14px;line-height:1.2}
  .menu .item:hover,.menu .item.current{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}
    body.standalone-page .slide h1{font-size:72px;line-height:.96;margin:0 0 24px;letter-spacing:-.055em;max-width:1050px}
    body.standalone-page .slide h2{font-size:52px;line-height:1.02;margin:0 0 26px;letter-spacing:-.04em;max-width:1050px}
    body.standalone-page .slide h3{font-size:28px;line-height:1.15;margin:0 0 14px;color:var(--gold)}
    body.standalone-page .kicker{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:14px;margin-bottom:18px}
  .sub{font-size:28px;line-height:1.28;color:#d9e4f2;max-width:1050px}
  .large{font-size:35px;line-height:1.22;letter-spacing:-.015em;color:#edf4ff;max-width:1120px}
  .body{font-size:24px;line-height:1.42;color:#dfe8f4;max-width:1040px}
  .muted{color:var(--muted)}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch;width:100%;max-width:1180px}
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;width:100%;max-width:1180px}
  .card{background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 16px 50px rgba(0,0,0,.18)}
  .card.paper{background:var(--ink2);color:var(--paper);border:none}
  .card.paper .muted{color:#55606e}
  .card.big{padding:34px}
  .label{display:inline-block;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 12px;color:#dfe8f4;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
  .paper .label{border-color:rgba(0,0,0,.15);color:#374151}

  .smallquote{font-size:25px;line-height:1.28;}
  .source{position:absolute;left:90px;right:90px;bottom:52px;color:#8c9aac;font-size:12px;line-height:1.25;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}
  .cols{columns:2;column-gap:38px}
  ul{margin:0;padding-left:1.15em}
  li{margin:.38em 0}
  .timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1180px;margin-top:12px}
  .phase{background:rgba(255,255,255,.075);border:1px solid var(--line);border-radius:20px;padding:18px;min-height:160px}
  .phase b{color:var(--gold);display:block;margin-bottom:9px;font-size:15px;text-transform:uppercase;letter-spacing:.08em}
  .phase p{margin:0;font-size:20px;line-height:1.26;color:#dbe6f3}
  .equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:18px;align-items:center;max-width:1120px;margin-top:25px}
  .eqbox{background:var(--ink2);color:var(--ink);border-radius:26px;padding:28px;text-align:center;min-height:170px;display:grid;place-items:center;font-weight:900;font-size:30px;line-height:1.08}
  .arrow{font-size:42px;color:var(--gold);font-weight:900}
  .splitline{height:1px;background:var(--line);margin:24px 0}
  .rail{position:fixed;left:14px;top:64px;bottom:70px;width:42px;display:flex;flex-direction:column;gap:6px;z-index:15}
  .dot{height:8px;border-radius:999px;background:rgba(255,255,255,.16);cursor:pointer;transition:.15s}
  .dot.active{height:24px;background:var(--gold)}
  .navhint{position:fixed;bottom:16px;right:22px;color:#718096;font-size:12px;z-index:25}
  .bigword{font-size:110px;letter-spacing:-.08em;font-weight:950;line-height:.9;color:rgba(255,255,255,.08);position:absolute;right:72px;bottom:72px;pointer-events:none}
  .matrix{display:grid;grid-template-columns:260px repeat(3,1fr);gap:10px;max-width:1180px;width:100%;font-size:18px}
  .cell{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(255,255,255,.06);min-height:72px}
  .head{background:rgba(214,168,79,.16);font-weight:900;color:#fff}
  .rowhead{color:var(--gold);font-weight:900}
  .accent{color:var(--gold)}
  .blue{color:var(--law2)}
  .green{color:var(--green)}
  .red{color:var(--red)}
  @media (max-width:900px){.slide{padding:70px 34px 72px}.slide h1{font-size:46px}.slide h2{font-size:36px}.sub{font-size:22px}.large{font-size:25px}.body{font-size:19px}.grid2,.grid3,.equation,.timeline{grid-template-columns:1fr}.arrow{display:none}.source{left:34px;right:34px}.rail{display:none}.matrix{grid-template-columns:1fr}.bigword{display:none}}
