:root {
  --cobalt: #2927bd;
  --cobalt-2: #1a188a;
  --cobalt-3: #0e0d4f;
  --ink: #101124;
  --navy: #18192f;
  --cream: #f7f0e3;
  --cream-2: #fbf7ef;
  --soft: #eef0ff;
  --line: rgba(16, 17, 36, .16);
  --line-blue: rgba(41, 39, 189, .24);
  --muted: rgba(16, 17, 36, .64);
  --rose: #e86e78;
  --gold: #d9a83d;
  --mint: #67b5a7;
  --violet: #8e62d1;
  --white: #fffaf0;
  --radius: 8px;
  --font: "Aptos", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --t-fast: 220ms;
  --t-med: 520ms;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font);
}

body {
  display: grid;
  place-items: center;
  transition: background var(--t-med) var(--ease);
}

button, a { font: inherit; }

#deck {
  position: relative;
  width: min(100vw, 177.7778vh);
  height: min(56.25vw, 100vh);
  overflow: hidden;
  background: var(--cream);
}

.slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: 2.25rem 3.35rem 1.7rem;
  opacity: 0;
  visibility: hidden;
  transform: translateX(4rem) scale(.985);
  transition: opacity var(--t-med) var(--ease), transform var(--t-med) var(--ease), visibility 0s linear var(--t-med);
  overflow: hidden;
}

.slide::after {
  content: "";
  position: absolute;
  width: 28rem;
  height: 28rem;
  border-radius: 50%;
  right: -12rem;
  top: -16rem;
  background: radial-gradient(circle, rgba(41,39,189,.12), transparent 68%);
  pointer-events: none;
}

.slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0) scale(1);
  transition-delay: 0s;
  z-index: 2;
}

.slide.was-active {
  transform: translateX(-4rem) scale(.985);
}

.theme-cream { background: radial-gradient(circle at 88% 8%, rgba(41,39,189,.09), transparent 30%), var(--cream-2); }
.theme-soft { background: linear-gradient(145deg, #f8f5ee 0 50%, #ececff 100%); }
.theme-cobalt { background: linear-gradient(140deg, var(--cobalt) 0%, var(--cobalt-2) 72%, var(--cobalt-3) 100%); color: var(--white); }
.theme-navy, .theme-dark { background: radial-gradient(circle at 83% 18%, rgba(142,98,209,.25), transparent 32%), linear-gradient(145deg, var(--cobalt-3), var(--navy)); color: var(--white); }
.theme-rose { background: linear-gradient(135deg, #f5a2a5 0%, #f1c0b7 52%, var(--cream) 100%); }
.theme-gold { background: linear-gradient(135deg, #f0cc6c, #efd99d 52%, var(--cream-2)); }

.brand-row {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 1.8rem;
}

.wordmark {
  color: var(--cobalt);
  font-size: 1.05rem;
  font-weight: 950;
}

.wordmark.light, .slide-number.light, .eyebrow.light { color: var(--white); }

.slide-number, .eyebrow {
  color: var(--cobalt);
  font-size: .72rem;
  font-weight: 850;
  text-transform: uppercase;
}

.slide-footer {
  position: relative;
  z-index: 3;
  color: var(--muted);
  font-size: .62rem;
  font-weight: 650;
  line-height: 1.2;
}

.slide-footer.light { color: rgba(255,250,240,.72); }

.kicker {
  margin: 0 0 .65rem;
  color: var(--cobalt);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.kicker.gold { color: var(--gold); }
.kicker.ink { color: var(--ink); }

h1, h2, h3, p { margin-top: 0; }

h1 {
  margin-bottom: 1.05rem;
  font-size: clamp(3.2rem, 5vw, 5.9rem);
  line-height: .89;
  letter-spacing: -.055em;
  font-weight: 950;
}

h1 span, h2 span { color: var(--rose); }

h2 {
  margin-bottom: 1rem;
  font-size: clamp(2.25rem, 3.5vw, 4.3rem);
  line-height: .95;
  letter-spacing: -.045em;
  font-weight: 950;
}

h2.light { color: var(--white); }
h2.light span { color: var(--gold); }

.lead {
  max-width: 34rem;
  color: var(--muted);
  font-size: 1.15rem;
  line-height: 1.42;
}

.lead.small { max-width: 31rem; font-size: .98rem; }

.reveal {
  opacity: 0;
  transform: translateY(1rem);
}

.slide.is-active .reveal {
  animation: riseIn var(--t-med) var(--ease) forwards;
  animation-delay: calc(var(--i, 0) * 90ms + 80ms);
}

@keyframes riseIn { to { opacity: 1; transform: translateY(0); } }

/* Cover */

.slide-cover { grid-template-rows: auto 1fr auto; padding-bottom: 2.5rem; }
.cover-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 4rem; }
.cover-copy { position: relative; z-index: 2; }
.cover-lead { margin-bottom: 1.6rem; color: rgba(255,250,240,.78); font-size: 1.12rem; font-weight: 650; }
.cover-meta { display: flex; gap: .55rem; flex-wrap: wrap; }
.cover-meta span { padding: .42rem .7rem; border: 1px solid rgba(255,250,240,.22); border-radius: 999px; color: rgba(255,250,240,.84); font-size: .68rem; font-weight: 750; }
.cover-orbit { position: relative; justify-self: center; width: 23rem; height: 23rem; }
.orbit { position: absolute; inset: 0; border: 1px solid rgba(255,250,240,.22); border-radius: 50%; animation: spin 22s linear infinite; }
.orbit-two { inset: 3.1rem; border-color: rgba(217,168,61,.42); animation-direction: reverse; animation-duration: 17s; }
.orbit-one::before, .orbit-two::before { content: ""; position: absolute; width: .65rem; height: .65rem; border-radius: 50%; background: var(--rose); left: 50%; top: -.33rem; }
.orbit-two::before { background: var(--gold); }
.orbit-core { position: absolute; inset: 6.3rem; display: grid; place-items: center; text-align: center; border-radius: 50%; background: var(--cobalt); box-shadow: 0 1.4rem 3rem rgba(0,0,0,.28); font-size: .88rem; font-weight: 700; line-height: 1.45; }
.orbit-core b { font-size: 1.28rem; }
.orbit-node { position: absolute; padding: .45rem .7rem; border: 1px solid rgba(255,250,240,.24); background: rgba(16,17,36,.7); border-radius: 999px; font-size: .62rem; font-weight: 850; }
.node-a { left: -1rem; top: 4.5rem; }.node-b { right: -1.8rem; top: 10.6rem; }.node-c { left: 1rem; bottom: 2rem; }
.cover-statement { margin: 0; max-width: 54rem; color: rgba(255,250,240,.72); font-size: .86rem; }
@keyframes spin { to { transform: rotate(360deg); } }

/* Shared layouts */

.split-layout { display: grid; grid-template-columns: .84fr 1.16fr; align-items: center; gap: 3.3rem; }
.split-layout.compact { gap: 2.5rem; }
.title-column { position: relative; z-index: 2; }
.top-title { align-self: end; position: relative; z-index: 2; }
.top-title h2 { margin-bottom: .3rem; }

.challenge-stack { display: grid; gap: .66rem; }
.challenge-card { display: grid; grid-template-columns: 2.8rem 1fr; gap: .85rem; padding: .82rem 1rem; border: 1px solid var(--line-blue); border-radius: var(--radius); background: rgba(255,255,255,.62); box-shadow: 0 .6rem 1.6rem rgba(41,39,189,.07); }
.challenge-card > span { color: var(--rose); font-size: 1.5rem; font-weight: 950; }
.challenge-card strong { display: block; margin-bottom: .16rem; font-size: .96rem; }
.challenge-card p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.35; }
.callout { padding: .75rem 1rem; border-left: 4px solid var(--rose); background: var(--cobalt); color: var(--white); font-size: .76rem; font-weight: 800; }

.statement-layout { display: grid; align-content: center; gap: 2.3rem; }
.three-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.dark-card { padding: 1.25rem; border: 1px solid rgba(255,250,240,.16); border-radius: var(--radius); background: rgba(14,13,79,.35); }
.pillar b { display: block; margin-bottom: .8rem; color: var(--gold); font-size: 1.6rem; }
.pillar strong { display: block; margin-bottom: .48rem; color: var(--white); font-size: 1rem; }
.pillar p { margin: 0; color: rgba(255,250,240,.76); font-size: .78rem; line-height: 1.42; }
.bottom-thesis { align-self: end; padding: .75rem 1rem; border-top: 1px solid rgba(255,250,240,.22); color: rgba(255,250,240,.9); font-size: 1rem; font-weight: 780; }
.bottom-thesis i { color: var(--gold); font-style: normal; }

/* Architecture */

.architecture { position: relative; align-self: center; display: grid; grid-template-columns: repeat(5, 1fr); gap: .8rem; align-items: center; min-height: 19rem; }
.connectors { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; overflow: visible; }
.connectors path { fill: none; stroke: rgba(41,39,189,.35); stroke-width: 3; stroke-dasharray: 800; stroke-dashoffset: 800; }
.slide.is-active .connectors path { animation: draw 1.8s var(--ease) forwards .35s; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.arch-node { position: relative; z-index: 1; min-height: 11rem; display: flex; flex-direction: column; justify-content: space-between; padding: 1rem; border-radius: var(--radius); color: var(--white); box-shadow: 0 .8rem 1.8rem rgba(16,17,36,.12); }
.arch-node:nth-of-type(even) { transform: translateY(2rem); }
.slide.is-active .arch-node:nth-of-type(even) { animation-name: riseOffset; }
@keyframes riseOffset { to { opacity: 1; transform: translateY(2rem); } }
.arch-node span { font-size: 1.6rem; font-weight: 950; color: rgba(255,250,240,.6); }
.arch-node strong { font-size: 1.06rem; line-height: 1.05; }
.arch-node p { margin: .55rem 0 0; font-size: .65rem; line-height: 1.3; color: rgba(255,250,240,.78); }
.arch-node.systems { background: var(--cobalt); }.arch-node.rights { background: var(--violet); }.arch-node.experience { background: var(--rose); }.arch-node.comparison { background: var(--mint); }.arch-node.recommendations { background: var(--ink); }
.architecture-note { margin: 0; align-self: end; color: var(--muted); font-size: .75rem; text-align: center; }

/* Comparative matrix */

.metric-row { display: grid; grid-template-columns: repeat(3,1fr); gap: .65rem; margin-top: 1.4rem; }
.metric-row div { padding: .65rem; border-top: 3px solid var(--cobalt); background: rgba(255,255,255,.7); }
.metric-row strong { display: block; color: var(--cobalt); font-size: 1.5rem; }
.metric-row span { font-size: .6rem; color: var(--muted); font-weight: 750; }
.matrix-panel { border: 1px solid var(--line-blue); border-radius: var(--radius); overflow: hidden; background: rgba(255,255,255,.76); box-shadow: 0 1rem 2rem rgba(41,39,189,.08); }
.matrix-head { display: flex; justify-content: space-between; padding: .75rem 1rem; background: var(--cobalt); color: var(--white); font-size: .7rem; }
.matrix-grid { display: grid; grid-template-columns: repeat(2,1fr); }
.matrix-grid div { min-height: 5rem; padding: .68rem .8rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.matrix-grid b { color: var(--rose); font-size: .66rem; }
.matrix-grid strong { display: block; margin: .15rem 0 .2rem; font-size: .82rem; }
.matrix-grid span { display: block; color: var(--muted); font-size: .62rem; line-height: 1.3; }
.method-note { position: absolute; left: 3.35rem; right: 3.35rem; bottom: 1.75rem; padding: .62rem 1rem; border-left: 4px solid var(--gold); background: var(--ink); color: var(--white); font-size: .7rem; }

/* Rights */

.rights-track { position: relative; align-self: center; display: grid; grid-template-columns: repeat(6,1fr); gap: .65rem; }
.track-line { position: absolute; left: 4%; right: 4%; top: 2.1rem; height: 2px; background: rgba(255,250,240,.2); }
.track-line i { display: block; width: 10%; height: 100%; background: var(--gold); box-shadow: 0 0 .8rem var(--gold); }
.slide.is-active .track-line i { animation: travel 3s var(--ease) infinite; }
@keyframes travel { 0%{transform:translateX(0)} 100%{transform:translateX(900%)} }
.right-step { position: relative; z-index: 1; padding-top: .5rem; text-align: center; }
.right-step b { display: grid; place-items: center; margin: 0 auto .75rem; width: 3.2rem; height: 3.2rem; border-radius: 50%; border: 2px solid rgba(255,250,240,.4); background: var(--cobalt-3); color: var(--gold); font-size: 1rem; }
.right-step strong { display: block; color: var(--white); font-size: .8rem; }
.right-step span { display: block; margin-top: .28rem; color: rgba(255,250,240,.68); font-size: .58rem; line-height: 1.3; }
.double-penalty { display: grid; grid-template-columns: auto 1fr auto 1fr; align-items: center; gap: .9rem; align-self: end; padding: .72rem 1rem; background: var(--rose); color: var(--ink); border-radius: var(--radius); }
.double-penalty span { font-size: .62rem; font-weight: 950; }
.double-penalty strong { color: var(--ink); font-size: .82rem; text-align: center; }.double-penalty b { font-size: 1.35rem; }

/* Lived experience */

.evidence-questions { display: grid; grid-template-columns: repeat(2,1fr); gap: .75rem; }
.question-card { padding: .92rem; border: 1px solid var(--line-blue); border-radius: var(--radius); background: rgba(255,255,255,.7); }
.question-card span { float: right; color: var(--rose); font-size: 1.2rem; font-weight: 950; }
.question-card strong { display: block; color: var(--cobalt); font-size: .92rem; }
.question-card p { margin: .35rem 0 0; color: var(--muted); font-size: .68rem; line-height: 1.35; }
.ethics-strip, .qa-strip, .report-format, .actor-row, .intersection-tests { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: .45rem; align-self: end; }
.ethics-strip span, .qa-strip span, .report-format span, .actor-row span, .intersection-tests span { padding: .55rem .45rem; border: 1px solid var(--line-blue); background: rgba(255,255,255,.58); color: var(--cobalt-2); font-size: .6rem; font-weight: 850; text-align: center; }

/* Intersectionality */

.intersection-layout { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 3rem; }
.intersection-visual { position: relative; justify-self: center; width: 27rem; height: 20rem; }
.intersection-visual::before, .intersection-visual::after { content:""; position:absolute; border:1px solid rgba(16,17,36,.18); border-radius:50%; inset:1rem 4.5rem; }.intersection-visual::after { inset:4rem 7.5rem; border-color:rgba(41,39,189,.38); }
.intersection-core { position:absolute; z-index:2; inset:6.2rem 9.6rem; display:grid; place-items:center; text-align:center; border-radius:50%; background:var(--cobalt); color:var(--white); font-size:.7rem; line-height:1.2; box-shadow:0 .8rem 2rem rgba(41,39,189,.25); }.intersection-core b{font-size:1rem}
.axis { position:absolute; z-index:3; padding:.38rem .65rem; border:1px solid rgba(16,17,36,.17); border-radius:999px; background:rgba(255,250,240,.82); font-size:.6rem; font-weight:850; box-shadow:0 .35rem .8rem rgba(16,17,36,.08); }
.a1{left:1rem;top:2rem}.a2{left:9.2rem;top:.2rem}.a3{right:1rem;top:3rem}.a4{right:-.2rem;top:9.2rem}.a5{right:1rem;bottom:1.7rem}.a6{left:9rem;bottom:.2rem}.a7{left:.5rem;bottom:2.4rem}.a8{left:-1.2rem;top:9rem}
.intersection-tests span { background: rgba(255,250,240,.72); border-color: rgba(16,17,36,.16); color: var(--ink); }

/* Synthesis */

.synthesis-grid { align-self: center; display: grid; grid-template-columns: repeat(3,1fr); gap: .75rem; }
.synth-card { padding: .85rem 1rem; border: 1px solid rgba(255,250,240,.16); background: rgba(14,13,79,.34); border-radius: var(--radius); }
.synth-card b { color: var(--gold); font-size: .72rem; }.synth-card strong { display:block; margin:.25rem 0; color:var(--white); font-size:.83rem }.synth-card p { margin:0; color:rgba(255,250,240,.68); font-size:.62rem; line-height:1.35 }
.synthesis-output { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items:center; align-self:end; padding:.65rem 1rem; background:var(--gold); color:var(--ink); }
.synthesis-output span { font-size:.58rem;font-weight:950 }.synthesis-output strong{font-size:.75rem}

/* Recommendations */

.recommendation-card { padding: .75rem 1rem; border: 1px solid var(--line-blue); background: rgba(255,255,255,.76); border-radius: var(--radius); box-shadow:0 .8rem 1.8rem rgba(41,39,189,.08); }
.rec-row { display:grid; grid-template-columns:2rem 1fr; gap:.7rem; padding:.5rem 0; border-bottom:1px solid var(--line); }.rec-row:last-child{border:0}
.rec-row > span{color:var(--rose);font-weight:950}.rec-row b{font-size:.77rem}.rec-row p{margin:.12rem 0 0;color:var(--muted);font-size:.62rem}
.actor-row span { color:var(--white); background:var(--cobalt); border:0; }

/* Report */

.report-map { align-self:center; display:grid; grid-template-columns:repeat(4,1fr); gap:.65rem; }
.report-section { min-height:5.1rem; padding:.72rem; border:1px solid var(--line-blue); border-radius:var(--radius); background:rgba(255,255,255,.74); }
.report-section.wide{grid-column:span 2;background:var(--cobalt);color:var(--white)}
.report-section b{float:right;color:var(--rose);font-size:1.05rem}.report-section.wide b{color:var(--gold)}
.report-section strong{display:block;margin-bottom:.28rem;font-size:.73rem}.report-section span{display:block;color:var(--muted);font-size:.58rem}.report-section.wide span{color:rgba(255,250,240,.7)}
.report-format span { background:var(--ink);color:var(--white);border:0; }

/* Timeline */

.timeline { position:relative; align-self:center; display:grid; grid-template-columns:repeat(6,1fr); gap:.55rem; }
.timeline-line{position:absolute;left:4%;right:4%;top:2.6rem;height:2px;background:rgba(255,250,240,.18)}.timeline-line i{display:block;width:12%;height:100%;background:var(--rose);box-shadow:0 0 .8rem var(--rose)}.slide.is-active .timeline-line i{animation:travel 3.4s var(--ease) infinite}
.time-step{position:relative;z-index:1;text-align:center}.time-step>span{display:block;height:1.2rem;color:rgba(255,250,240,.65);font-size:.5rem;font-weight:850}.time-step>b{display:grid;place-items:center;width:3rem;height:3rem;margin:0 auto .6rem;border-radius:50%;background:var(--cobalt);border:1px solid rgba(255,250,240,.35);color:var(--gold)}.time-step strong{display:block;color:var(--white);font-size:.75rem}.time-step p{margin:.22rem 0 0;color:rgba(255,250,240,.64);font-size:.55rem;line-height:1.3}
.deadline-panel{display:flex;justify-content:space-between;align-items:center;align-self:end;padding:.65rem 1rem;border:1px solid rgba(255,250,240,.2);background:rgba(14,13,79,.4)}.deadline-panel span{color:var(--gold);font-size:.58rem;font-weight:900}.deadline-panel strong{font-size:.9rem}

/* Deliverables */

.deliverables-grid { align-self:center; display:grid; grid-template-columns:repeat(5,1fr); gap:.7rem; }
.deliverable { min-height:12rem; display:flex; flex-direction:column; padding:.9rem; border:1px solid var(--line-blue); border-radius:var(--radius); background:rgba(255,255,255,.72); box-shadow:0 .6rem 1.4rem rgba(41,39,189,.07); }
.deliverable b{color:var(--cobalt);font-size:1.55rem}.deliverable>span{margin:.3rem 0 .8rem;color:var(--rose);font-size:.56rem;font-weight:900}.deliverable strong{font-size:.8rem}.deliverable p{margin:auto 0 0;color:var(--muted);font-size:.58rem;line-height:1.35}
.deliverable-note{align-self:end;padding:.55rem 1rem;border-left:4px solid var(--gold);background:var(--ink);color:var(--white);font-size:.66rem}

/* Team */

.team-grid{align-self:center;display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;}
.expert-card{position:relative;min-height:17.2rem;overflow:hidden;padding:1rem;border:1px solid rgba(255,250,240,.16);border-radius:var(--radius);background:linear-gradient(160deg,rgba(41,39,189,.5),rgba(14,13,79,.68));}
.expert-card.noor{background:linear-gradient(160deg,rgba(142,98,209,.58),rgba(14,13,79,.7))}.expert-card.nadra{background:linear-gradient(160deg,rgba(103,181,167,.45),rgba(14,13,79,.72))}
.initials{position:absolute;right:-.2rem;top:-1.5rem;color:rgba(255,250,240,.06);font-size:8rem;font-weight:950}.expert-copy{position:relative;z-index:2}.expert-copy>p{margin:0 0 .5rem;color:var(--gold);font-size:.54rem;font-weight:900;text-transform:uppercase}.expert-copy h3{margin:0 0 .55rem;color:var(--white);font-size:1.55rem;line-height:.95}.expert-copy>strong{display:block;min-height:2.25rem;color:rgba(255,250,240,.76);font-size:.6rem;line-height:1.35}.expert-copy ul{margin:.7rem 0 0;padding:.65rem 0 0 1rem;border-top:1px solid rgba(255,250,240,.14);color:rgba(255,250,240,.83);font-size:.6rem;line-height:1.5}.team-note{margin:0;align-self:end;color:rgba(255,250,240,.68);font-size:.64rem;text-align:center}

/* Quality */

.risk-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.risk{padding:.7rem .8rem;border:1px solid var(--line-blue);border-radius:var(--radius);background:rgba(255,255,255,.72)}.risk b{display:block;color:var(--cobalt-2);font-size:.72rem}.risk span{display:block;margin-top:.24rem;color:var(--muted);font-size:.58rem;line-height:1.3}
.qa-strip span{background:var(--ink);color:var(--white);border:0}

/* Budget */

.budget-layout{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:2.7rem}.budget-intro h2{font-size:3.35rem}.total-panel{margin-top:1.1rem;padding:1.1rem;border-left:5px solid var(--cobalt);background:rgba(255,250,240,.58)}.total-panel span{display:block;font-size:.62rem;font-weight:900;text-transform:uppercase}.total-panel strong{display:block;color:var(--cobalt);font-size:3.25rem;line-height:1}.total-panel p{margin:.25rem 0 0;color:var(--muted);font-size:.72rem}
.budget-items{border:1px solid rgba(16,17,36,.18);border-radius:var(--radius);overflow:hidden;background:rgba(255,250,240,.68)}.budget-items>div{display:grid;grid-template-columns:2.3rem 1fr auto;gap:.7rem;align-items:center;padding:.55rem .75rem;border-bottom:1px solid rgba(16,17,36,.11)}.budget-items span{color:var(--cobalt);font-size:.58rem;font-weight:950}.budget-items strong{font-size:.66rem}.budget-items b{font-size:.72rem}.budget-items>p{margin:0;padding:.65rem .75rem;color:var(--muted);font-size:.57rem;line-height:1.35}

/* Closing */

.closing-layout{display:grid;align-content:center;gap:1.65rem}.closing-copy h2{font-size:3.55rem}.closing-path{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;padding-bottom:1.3rem}.closing-path>span{padding:.6rem;border:1px solid rgba(255,250,240,.18);background:rgba(255,250,240,.06);color:var(--white);font-size:.65rem;font-weight:800;text-align:center}.path-line{position:absolute;left:2%;right:2%;bottom:.2rem;height:2px;background:rgba(255,250,240,.18)}.path-line i{display:block;width:10%;height:100%;background:var(--gold);box-shadow:0 0 .8rem var(--gold)}.slide.is-active .path-line i{animation:travel 3s var(--ease) infinite}
.closing-details{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.closing-details>div{padding:.8rem;border-top:2px solid var(--gold)}.closing-details span{display:block;margin-bottom:.22rem;color:rgba(255,250,240,.58);font-size:.55rem;font-weight:850;text-transform:uppercase}.closing-details strong{display:block;color:var(--white);font-size:.82rem}.closing-details a{display:block;margin-top:.2rem;color:var(--gold);font-size:.55rem;text-decoration:none}.closing-url{margin:0;align-self:end;color:rgba(255,250,240,.55);font-size:.7rem}

/* Controls */

.controls{position:fixed;z-index:20;right:1.2rem;bottom:1rem;display:flex;align-items:center;gap:.55rem}.controls button{width:2rem;height:2rem;border:1px solid rgba(255,250,240,.34);border-radius:50%;background:rgba(14,13,79,.88);color:var(--white);cursor:pointer;box-shadow:0 .3rem 1rem rgba(0,0,0,.18)}.controls button:disabled{opacity:.3;cursor:default}.counter{display:flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:999px;background:rgba(14,13,79,.88);color:var(--white);font-size:.56rem;font-weight:850}.counter i{width:1rem;height:1px;background:rgba(255,250,240,.35)}
.controls .download-link{display:grid;place-items:center;height:2rem;padding:0 .65rem;border:1px solid rgba(255,250,240,.34);border-radius:999px;background:rgba(14,13,79,.88);color:var(--white);font-size:.56rem;font-weight:900;letter-spacing:.04em;text-decoration:none;box-shadow:0 .3rem 1rem rgba(0,0,0,.18)}
.progress{position:fixed;z-index:20;left:0;right:0;bottom:0;height:.24rem;background:rgba(16,17,36,.12)}.progress i{display:block;height:100%;width:5.88%;background:linear-gradient(90deg,var(--cobalt),var(--rose),var(--gold));transition:width var(--t-med) var(--ease)}

@media (max-width: 1000px), (max-height: 620px) {
  .slide { padding: 1.6rem 2.45rem 1.25rem; }
  h1 { font-size: 4.2rem; }
  h2 { font-size: 3rem; }
  .lead { font-size: .88rem; }
  .cover-orbit { transform: scale(.78); }
  .method-note { left:2.45rem;right:2.45rem;bottom:1.25rem }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media print {
  @page { size: 13.333in 7.5in; margin: 0; }
  html, body { width: auto; height: auto; overflow: visible; background: white; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  body, #deck { display:block; width:13.333in; height:auto; overflow:visible; }
  .slide { position:relative; width:13.333in; height:7.5in; page-break-after:always; opacity:1 !important; visibility:visible !important; transform:none !important; transition:none !important; }
  .reveal { opacity:1 !important; transform:none !important; animation:none !important; }
  .controls, .progress { display:none !important; }
}
