/* ============================================================================
   iq-slides · framework/base.css
   Structure + sensible default layouts for every slide type.
   Everything is driven by design tokens (--deck-*) so a deck's theme.css can
   restyle the whole show by overriding a handful of variables.
   FRAMEWORK file — decks override via their own theme.css, not by editing this.
   ============================================================================ */

:root{
  /* tokens — overridden by deck.json `config` and/or the deck's theme.css */
  --deck-bg:        #05070e;
  --deck-ink:       #f2f3f5;
  --deck-ink-dim:   #9aa3b8;
  --deck-ink-faint: #7e879c;
  --deck-accent:    #a9c0ea;
  --deck-line:      rgba(242,243,245,.42);
  --deck-card:      rgba(255,255,255,.028);
  --deck-card-bd:   rgba(255,255,255,.075);
  --deck-font: "Segoe UI","Segoe UI Web (West European)",-apple-system,BlinkMacSystemFont,system-ui,Roboto,"Helvetica Neue",Arial,sans-serif;
  --ease: cubic-bezier(.22,1,.36,1);
  --iqs-stage-width: 16;
  --iqs-stage-height: 9;
  --iqs-stage-ratio: 16 / 9;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{
  background:var(--deck-bg);
  color:var(--deck-ink);
  font-family:var(--deck-font);
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow:auto;
}

/* ---- default: IQ Pages, a fluid scrolling document ---- */
.deck{width:100%;min-height:100vh}
.stage{
  position:relative;
  width:min(100%, 1120px);
  margin:0 auto;
  container-type:inline-size;
  background:var(--deck-bg);
}
.slide{position:relative;opacity:1;pointer-events:auto;padding:clamp(48px,8cqw,96px) clamp(24px,8.5cqw,96px);
  display:block;min-height:auto;container-type:inline-size}

/* ---- slide mode: fixed stage, one active slide, PowerPoint-style builds ---- */
html.iqs-mode-slides,html.iqs-mode-slides body{height:100%}
html.iqs-mode-slides body{display:flex;align-items:center;justify-content:center;overflow:hidden}
html.iqs-mode-slides .deck{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
html.iqs-mode-slides .stage{
  position:relative;
  width:min(100vw, calc(100vh * var(--iqs-stage-width) / var(--iqs-stage-height)));
  height:min(calc(100vw * var(--iqs-stage-height) / var(--iqs-stage-width)), 100vh);
  aspect-ratio:var(--iqs-stage-ratio);
  margin:0;
  container-type:size;
  overflow:hidden;
}
html.iqs-mode-slides.iqs-stage-fluid .stage{
  width:100vw;
  height:100vh;
  aspect-ratio:auto;
}
html.iqs-mode-slides .slide{position:absolute;inset:0;opacity:0;pointer-events:none;padding:8cqh 8.5cqw;
  display:flex;flex-direction:column;container-type:normal}
html.iqs-mode-slides .slide.active{opacity:1;pointer-events:auto}
html.iqs-mode-slides.iqs-js .anim,html.iqs-mode-slides.iqs-js .frag{opacity:0}      /* hidden until the engine animates them in */

/* shared type primitives ---------------------------------------------------- */
.s-title{font-weight:300;line-height:1.14;color:#fff}
.s-eyebrow{font-size:1.4cqw;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--deck-accent)}

/* ---- HERO ---- */
.slide--hero{justify-content:center;align-items:flex-start;gap:2.4cqh}
.slide--hero .s-eyebrow{margin-bottom:.4cqh}
.slide--hero .s-title{font-size:4.7cqw;max-width:82cqw;letter-spacing:-.018em}
.slide--hero .s-divider{height:1.5px;width:17cqw;transform-origin:left center;border-radius:2px;
  background:linear-gradient(90deg,var(--deck-accent),transparent)}
.slide--hero .s-subtitle{font-size:1.95cqw;font-style:italic;color:var(--deck-ink-dim)}
.s-hero-img{
  position:absolute;top:7%;left:33%;right:6%;bottom:9%;
  background-position:center 40%;background-size:cover;background-repeat:no-repeat;opacity:.17;
  -webkit-mask-image:radial-gradient(ellipse 82% 88% at 56% 44%, #000 24%, rgba(0,0,0,.4) 58%, transparent 84%);
          mask-image:radial-gradient(ellipse 82% 88% at 56% 44%, #000 24%, rgba(0,0,0,.4) 58%, transparent 84%);
}

/* ---- STATEMENT ---- */
/* Statement: a centring flex column. The title is pinned near the top and the byline (if any)
   bottom-left — both out of flow — so the BODY is the only in-flow child and the parent
   centres it H + V. Centring lives on the PARENT, not a transform on .s-body (which carries
   the entrance anim). Content stays centred whatever its height. Decks may override fonts. */
.slide--statement{display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:0;text-align:center}
.slide--statement .s-title{position:absolute;left:3%;top:7.2%;width:94%;text-align:center;
  font-size:3.25cqw;line-height:1.2}
.slide--statement .s-body{position:static;width:88%;max-width:none;margin:0;text-align:center;
  font-size:2.0cqw;line-height:1.7;color:var(--deck-ink-dim)}
.slide--statement .s-body strong{color:var(--deck-ink);font-weight:500}
.slide--statement .s-body p+p{margin-top:1.1cqh}
.slide--statement .s-body .iqs-metric{margin:1.6cqh 2.0cqw}
.slide--statement .s-body .iqs-datatable{margin:0 auto}
/* Embeds/widgets are the focus of their slide: ~84% of the stage (16:9 ⇒ ~84% of both width
   and height), centred. The caption is pulled out of the figure's flow height and pinned just
   under the frame, so the FRAME itself centres with even top/bottom margins. The caption
   anchors to the figure (which the engine never transforms), so it's reliable in every
   animation state. On these slides the title is compact and pinned to the very top so the
   media dominates without colliding with it. */
.slide--statement .iqs-embed,.slide--statement .iqs-widget{position:relative;width:84cqw;
  max-width:84cqw;margin:0 auto}
.slide--statement .iqs-embed figcaption,.slide--statement .iqs-widget figcaption{
  position:absolute;top:100%;left:0;right:0;margin:1.4cqh 0 0;text-align:center}
.slide--statement:has(.iqs-embed,.iqs-widget,.iqs-datatable) .s-title{top:1.5%;font-size:2cqw}
.s-byline{display:flex;align-items:center;gap:1.6cqw;align-self:flex-start}
.s-avatar{width:5cqw;height:5cqw;border-radius:50%;background-position:center;background-size:cover;
  display:grid;place-items:center;font-size:1.5cqw;color:var(--deck-accent);
  background-color:rgba(169,192,234,.12);box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.s-name{font-size:1.7cqw;font-style:italic;color:var(--deck-ink-dim)}

/* ---- BULLETS ---- */
/* Standard "title + bullets" layout: the title is pinned near the top, and the bullet
   list is a self-centring block — pinned to the slide's centre point and offset by half
   its own size, so it stays horizontally AND vertically centred regardless of how many
   points are present. The build animation targets the <li> .frag items, not this <ul>,
   so the centring transform is safe. Decks may override the font sizes in their theme.css. */
.slide--bullets{display:block;padding:0}
.slide--bullets .s-title{position:absolute;left:3%;top:7.2%;width:94%;
  text-align:center;font-size:2.9cqw;line-height:1.15}
.s-bullets{list-style:none;position:absolute;left:50%;top:50%;width:86%;max-width:none;
  transform:translate(-50%,-50%);margin:0;text-align:center;
  display:flex;flex-direction:column;gap:2.4cqh}
.s-bullet{font-size:2.0cqw;line-height:1.4;color:var(--deck-ink-dim);text-align:center}
.s-bullet strong{color:var(--deck-ink);font-weight:500}

/* ---- CARDS (diagonal cascade) ---- */
.slide--cards{gap:3.0cqh}
.slide--cards .s-title{font-size:2.7cqw;text-align:center;align-self:center}
.s-cards{position:relative;display:flex;flex-direction:column}
.s-card{width:60cqw;padding:2.0cqw 2.5cqw;border-radius:1.1cqw;
  background:var(--deck-card);border:1px solid var(--deck-card-bd);backdrop-filter:blur(4px);
  box-shadow:0 18px 40px -24px rgba(0,0,0,.7)}
.s-card:nth-child(2){margin-left:8cqw;margin-top:-1.4cqw;z-index:2}
.s-card:nth-child(3){margin-left:16cqw;margin-top:-1.4cqw;z-index:3}
.s-card:nth-child(4){margin-left:24cqw;margin-top:-1.4cqw;z-index:4}
.s-quote{font-size:1.55cqw;font-style:italic;line-height:1.45;color:#e4e8f2;border:0;margin:0}
.s-quote p{margin:0}
.s-cite{margin-top:1.0cqw;font-size:1.12cqw;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--deck-accent)}

/* ---- RAW LAYOUT HELPERS (image compositions for type: raw) ----
   Hand-composed markup, but all styling lives here (no inline styles). Title/text carry
   `anim` (fade in on entry); a `frag` element reveals on click when the slide sets clicks:. */
.slide--raw{padding:0}
/* Split: a full-height image on one third, content in the other two-thirds */
.split{position:absolute;inset:0}
.split-img{position:absolute;top:0;width:33.334%;height:100%;object-fit:cover} /* explicit height — an <img> won't stretch via top/bottom */
.split-img--left{left:0}
.split-img--right{right:0}
.split-body{position:absolute;top:0;bottom:0;width:56%;display:flex;flex-direction:column;
  justify-content:center;gap:2.2cqh}
.split-body--right{right:5%}   /* image on the left */
.split-body--left{left:5%}     /* image on the right */
.split-title{font-size:3cqw;font-weight:300;line-height:1.16;color:var(--deck-ink)}
.split-text{font-size:1.7cqw;line-height:1.6;color:var(--deck-ink-dim);max-width:46cqw}
/* Stack: a base image with a second that fades in over it, offset 10% down + across */
.stack{position:absolute;inset:0}
.stack-base,.stack-over{position:absolute;width:36%;height:78%;object-fit:cover;
  border-radius:.6cqw;box-shadow:0 24px 60px -28px rgba(0,0,0,.85)}
.stack--left .stack-base{left:10%;top:9%}
.stack--left .stack-over{left:20%;top:19%}    /* +10% right, +10% down */
.stack--right .stack-base{right:10%;top:9%}
.stack--right .stack-over{right:20%;top:19%}  /* +10% left, +10% down (mirrored) */
.stack-side{position:absolute;top:0;bottom:0;width:36%;display:flex;flex-direction:column;
  justify-content:center;gap:2cqh}
.stack-side--right{right:5%}
.stack-side--left{left:5%}
.stack-title{font-size:2.8cqw;font-weight:300;line-height:1.16;color:var(--deck-ink)}
.stack-text{font-size:1.6cqw;line-height:1.6;color:var(--deck-ink-dim)}

/* How-to: an instruction panel on the left ~third and a screenshot hero on the right ~two-thirds.
   The shot is a static <img> (not .anim) so it holds the frame while the panel's `anim`
   elements fade in; it bleeds a little under the panel, whose gradient keeps the text legible.
   Screenshots use height:auto (natural aspect) so UI is never cropped. */
.howto{position:absolute;inset:0}
.howto-shot{position:absolute;right:2%;top:50%;transform:translateY(-50%);width:68%;height:auto;
  max-height:84%;object-fit:contain;border-radius:.7cqw;box-shadow:0 26px 64px -30px rgba(0,0,0,.85);z-index:0}
.howto-panel{position:absolute;left:0;top:0;bottom:0;width:34%;z-index:1;padding:0 3% 0 5.5%;
  display:flex;flex-direction:column;justify-content:center;gap:1.7cqh;
  background:linear-gradient(90deg,var(--deck-bg) 68%,transparent)}
.howto-eyebrow{font-size:1cqw;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--deck-accent)}
.howto-title{margin:0;font-size:2.4cqw;font-weight:300;line-height:1.16;color:var(--deck-ink)}
.howto-steps{list-style:none;counter-reset:howto;margin:.4cqh 0 0;padding:0;
  display:flex;flex-direction:column;gap:1.5cqh}
.howto-steps li{position:relative;padding-left:2.7cqw;font-size:1.35cqw;line-height:1.5;color:var(--deck-ink-dim)}
.howto-steps li::before{counter-increment:howto;content:counter(howto);position:absolute;left:0;top:0;
  width:1.8cqw;height:1.8cqw;border-radius:50%;background:rgba(169,192,234,.14);color:var(--deck-accent);
  font-size:.95cqw;font-weight:600;display:grid;place-items:center}
.howto-steps li strong{color:var(--deck-ink);font-weight:500}

/* ---- reusable shortcode elements ---- */
.iqs-figure{display:inline-flex;flex-direction:column;align-items:center;gap:1.0cqh;max-width:72cqw;margin:1.6cqh auto}
.iqs-figure img{display:block;max-width:100%;max-height:42cqh;object-fit:contain}
.iqs-figure figcaption{font-size:1.05cqw;line-height:1.35;color:var(--deck-ink-dim)}
.iqs-figure--wide{display:flex;width:78cqw}
.iqs-figure--wide img{width:100%;max-height:50cqh}
.iqs-figure--icon img{width:10cqw;max-height:10cqw}
.iqs-fit--cover img{object-fit:cover}
.iqs-metric{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:16cqw;padding:1.6cqw 2.0cqw;margin:1cqh;border:1px solid var(--deck-card-bd);
  border-radius:1.1cqw;background:var(--deck-card);box-shadow:0 18px 40px -26px rgba(0,0,0,.75)}
.iqs-metric-value{font-size:3.2cqw;line-height:1;color:#fff;font-weight:300}
.iqs-metric-label{margin-top:.8cqh;font-size:1.05cqw;letter-spacing:.12em;text-transform:uppercase;color:var(--deck-accent)}
.iqs-metric-note{margin-top:.8cqh;font-size:1.1cqw;line-height:1.35;color:var(--deck-ink-dim)}
.iqs-callout{max-width:64cqw;margin:1.6cqh auto;padding:1.6cqw 2.0cqw;text-align:left;
  border-left:.22cqw solid var(--deck-accent);border-radius:.7cqw;background:var(--deck-card);
  box-shadow:0 18px 40px -28px rgba(0,0,0,.7)}
.iqs-callout-title{font-size:1.25cqw;line-height:1.25;font-weight:500;color:var(--deck-ink)}
.iqs-callout-body{margin-top:.7cqh;font-size:1.2cqw;line-height:1.45;color:var(--deck-ink-dim)}
.iqs-linkcard{max-width:58cqw;margin:1.4cqh auto;border:1px solid var(--deck-card-bd);
  border-radius:.85cqw;background:var(--deck-card);text-align:left}
.iqs-linkcard a{display:flex;align-items:center;gap:1.3cqw;padding:1.2cqw 1.5cqw;
  color:var(--deck-ink);text-decoration:none}
.iqs-linkcard:hover{border-color:rgba(169,192,234,.35)}
.iqs-linkcard img{width:5.2cqw;height:5.2cqw;object-fit:cover;border-radius:.55cqw;flex:0 0 auto}
.iqs-linkcard-title{display:block;font-size:1.35cqw;line-height:1.25;color:#fff}
.iqs-linkcard-text{display:block;margin-top:.45cqh;font-size:1.05cqw;line-height:1.35;color:var(--deck-ink-dim)}
.iqs-datatable{width:78cqw;max-width:78cqw;margin:1.4cqh auto;text-align:left}
.iqs-data-title{margin-bottom:1.0cqh;font-size:1.35cqw;line-height:1.25;color:var(--deck-ink)}
.iqs-data-scroll{max-height:48cqh;overflow:auto;border:1px solid var(--deck-card-bd);
  border-radius:.85cqw;background:rgba(0,0,0,.18);box-shadow:0 22px 48px -34px rgba(0,0,0,.8)}
.iqs-datatable table{width:100%;border-collapse:collapse;font-size:1.05cqw;line-height:1.35;
  color:var(--deck-ink-dim)}
.iqs-datatable th,.iqs-datatable td{padding:.85cqh 1.0cqw;border-bottom:1px solid rgba(255,255,255,.07);
  vertical-align:top}
.iqs-datatable th{position:sticky;top:0;z-index:1;background:rgba(5,7,14,.96);
  font-size:.82cqw;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--deck-accent)}
.iqs-datatable tr:last-child td{border-bottom:0}
.iqs-datatable td{font-variant-numeric:tabular-nums}
.iqs-data-pos{color:#9bd7a3}
.iqs-data-neg{color:#ffaaa8}
.iqs-data-more{margin-top:.8cqh;text-align:right;font-size:.9cqw;color:var(--deck-ink-faint)}
.iqs-datatable figcaption{margin-top:.8cqh;text-align:center;font-size:1.0cqw;line-height:1.35;color:var(--deck-ink-dim)}
.iqs-datatable--compact{width:60cqw;max-width:60cqw}
.iqs-datatable--wide{width:86cqw;max-width:86cqw}
.iqs-embed,.iqs-widget{display:flex;flex-direction:column;gap:1.0cqh;width:78cqw;max-width:78cqw;margin:1.4cqh auto}
.iqs-embed-frame,.iqs-widget-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;
  border:1px solid var(--deck-card-bd);border-radius:.9cqw;background:rgba(0,0,0,.28);
  box-shadow:0 22px 48px -32px rgba(0,0,0,.8)}
.iqs-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.iqs-embed video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;object-fit:contain}
.iqs-widget-target{position:absolute;inset:0;width:100%;height:100%}
.iqs-aspect--4x3 .iqs-embed-frame,.iqs-aspect--4x3 .iqs-widget-frame{aspect-ratio:4/3}
.iqs-aspect--1x1 .iqs-embed-frame,.iqs-aspect--1x1 .iqs-widget-frame{aspect-ratio:1/1}
.iqs-aspect--9x16{width:32cqw;max-width:32cqw}
.iqs-aspect--9x16 .iqs-embed-frame,.iqs-aspect--9x16 .iqs-widget-frame{aspect-ratio:9/16}
.iqs-aspect--ticker .iqs-embed-frame,.iqs-aspect--ticker .iqs-widget-frame{aspect-ratio:auto;height:13cqh}
.iqs-embed--compact,.iqs-widget--compact{width:54cqw;max-width:54cqw}
.iqs-embed--wide,.iqs-widget--wide{width:86cqw;max-width:86cqw}
.iqs-embed figcaption,.iqs-widget figcaption{font-size:1.0cqw;line-height:1.35;color:var(--deck-ink-dim)}
.tradingview-widget-copyright{position:absolute;left:1cqw;bottom:.7cqh;z-index:2;
  font-size:.8cqw;color:var(--deck-ink-faint);opacity:.75}
.tradingview-widget-copyright a{color:var(--deck-accent);text-decoration:none}

/* ---- icons (inline SVG, inherit currentColor) ---- */
.iqs-icon{width:1em;height:1em;display:inline-block;vertical-align:-0.125em;flex:0 0 auto}
.iqs-icon--accent{color:var(--deck-accent)}
.iqs-icon--muted{color:var(--deck-ink-dim)}
.iqs-icon--sm{width:2.2cqw;height:2.2cqw}
.iqs-icon--md{width:3.4cqw;height:3.4cqw}
.iqs-icon--lg{width:5cqw;height:5cqw}
.iqs-icon--xl{width:7cqw;height:7cqw}

/* ---- country flags ---- */
.iqs-flag{display:inline-block;width:2.6cqw;height:auto;vertical-align:-0.15em;border-radius:.2cqw;
  box-shadow:0 0 0 1px rgba(255,255,255,.14)}
.iqs-flag--sm{width:1.8cqw}
.iqs-flag--lg{width:4cqw}
.iqs-flag--xl{width:6cqw}
.iqs-flag-row{display:inline-flex;align-items:center;gap:.7cqw}
.iqs-flag-name{font-size:1.5cqw;color:var(--deck-ink)}

/* ---- motifs (decorative accents; safe in any slide via class-only HTML) ---- */
.iqs-kicker{display:inline-block;font-size:1.1cqw;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;color:var(--deck-accent)}
.iqs-rule{display:block;width:6cqw;height:2px;border:0;margin:1.4cqh auto;
  background:linear-gradient(90deg,var(--deck-accent),transparent)}
.iqs-chip{display:inline-flex;align-items:center;gap:.5cqw;padding:.5cqh 1.1cqw;border-radius:5cqw;
  font-size:1.1cqw;color:var(--deck-ink);background:rgba(169,192,234,.10);border:1px solid var(--deck-card-bd)}
.iqs-backdrop{position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(60% 80% at 80% 20%,rgba(169,192,234,.10),transparent 60%),
             radial-gradient(50% 60% at 10% 90%,rgba(169,192,234,.06),transparent 60%)}
.iqs-grid{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:6cqw 6cqw}

/* ---- MORPH ---- */
.slide--morph{padding:0}
.m-layer{position:absolute;inset:0}
.m-intro,.m-title{position:absolute;left:0;width:100%;text-align:center;color:var(--deck-ink);
  font-weight:300;white-space:nowrap;opacity:0;line-height:1.1}
.m-title{font-size:3.75cqw;top:7.6%;transform-origin:50% 0}
.m-intro{font-size:3.75cqw;top:7.6%}
.ic{position:absolute;opacity:0;object-fit:contain;pointer-events:none}

/* ---- chrome ---- */
.chrome-counter{position:absolute;top:5.2cqh;right:6cqw;z-index:20;font-size:1.12cqw;
  letter-spacing:.22em;color:var(--deck-ink-faint);font-variant-numeric:tabular-nums;opacity:.8}
.chrome-progress{position:absolute;left:0;right:0;bottom:0;height:2.5px;
  background:rgba(242,243,245,.10);z-index:20}
.chrome-bar{height:100%;width:0;background:rgba(242,243,245,.7);transition:width .42s var(--ease)}
.chrome-zone{position:absolute;top:0;bottom:8cqh;width:15%;z-index:20;cursor:pointer;border:0;
  background:transparent;color:var(--deck-ink-faint);display:flex;align-items:center}
.zone-prev{left:0;justify-content:flex-start;padding-left:1.8cqw}
.zone-next{right:0;justify-content:flex-end;padding-right:1.8cqw}
.chrome-zone svg{width:1.8cqw;height:1.8cqw;opacity:0;transition:opacity .3s}
.chrome-zone:hover svg{opacity:.7}

/* ---- pages mode: natural-flow variants of composed slide layouts ---- */
html.iqs-mode-pages body{display:block;overflow:auto}
html.iqs-mode-pages .stage{padding:0 0 clamp(48px,8vh,96px)}
html.iqs-mode-pages .slide{border-bottom:1px solid rgba(255,255,255,.08);overflow:visible}
html.iqs-mode-pages .slide:last-child{border-bottom:0}
html.iqs-mode-pages .chrome-counter,
html.iqs-mode-pages .chrome-progress,
html.iqs-mode-pages .chrome-zone{display:none}

html.iqs-mode-pages .s-title{font-size:clamp(2rem,5.2cqw,4.2rem);line-height:1.12;letter-spacing:0}
html.iqs-mode-pages .s-eyebrow{font-size:clamp(.8rem,1.55cqw,1.05rem)}

html.iqs-mode-pages .slide--hero{display:flex;flex-direction:column;min-height:clamp(520px,76vh,760px);
  justify-content:center;align-items:flex-start;gap:clamp(16px,2.4cqw,30px)}
html.iqs-mode-pages .slide--hero .s-title{max-width:13em;font-size:clamp(2.7rem,7cqw,5.8rem)}
html.iqs-mode-pages .slide--hero .s-subtitle{font-size:clamp(1.1rem,2.2cqw,1.6rem)}
html.iqs-mode-pages .slide--hero .s-divider{width:min(220px,24cqw)}

html.iqs-mode-pages .slide--statement{display:block;padding:clamp(56px,9cqw,108px) clamp(24px,8.5cqw,96px);
  text-align:left}
html.iqs-mode-pages .slide--statement .s-title{position:static;width:auto;text-align:left;
  font-size:clamp(2rem,5.2cqw,4.1rem);margin:0 0 clamp(24px,4cqw,48px)}
html.iqs-mode-pages .slide--statement .s-body{position:static;width:auto;max-width:72ch;text-align:left;
  font-size:clamp(1.08rem,2.25cqw,1.55rem);line-height:1.65}
html.iqs-mode-pages .slide--statement .iqs-embed,
html.iqs-mode-pages .slide--statement .iqs-widget{width:100%;max-width:100%}
html.iqs-mode-pages .slide--statement .iqs-embed figcaption,
html.iqs-mode-pages .slide--statement .iqs-widget figcaption{position:static;margin:1.2rem 0 0}
html.iqs-mode-pages .slide--statement:has(.iqs-embed,.iqs-widget,.iqs-datatable) .s-title{
  position:static;font-size:clamp(1.8rem,4.6cqw,3.4rem)}

html.iqs-mode-pages .slide--bullets{display:block;padding:clamp(56px,9cqw,108px) clamp(24px,8.5cqw,96px)}
html.iqs-mode-pages .slide--bullets .s-title{position:static;width:auto;text-align:left;
  font-size:clamp(2rem,5cqw,4rem);margin:0 0 clamp(24px,4cqw,48px)}
html.iqs-mode-pages .s-bullets{position:static;transform:none;width:auto;max-width:74ch;text-align:left;
  gap:clamp(14px,2cqw,24px);margin:0}
html.iqs-mode-pages .s-bullet{text-align:left;font-size:clamp(1.08rem,2.25cqw,1.55rem)}

html.iqs-mode-pages .slide--cards{display:block}
html.iqs-mode-pages .slide--cards .s-title{text-align:left;font-size:clamp(2rem,5cqw,4rem);
  margin:0 0 clamp(24px,4cqw,48px)}
html.iqs-mode-pages .s-cards{gap:clamp(18px,2.4cqw,30px)}
html.iqs-mode-pages .s-card{width:auto;max-width:76ch;margin:0!important;border-radius:12px}
html.iqs-mode-pages .s-quote{font-size:clamp(1.05rem,2cqw,1.4rem)}
html.iqs-mode-pages .s-cite{font-size:clamp(.8rem,1.25cqw,1rem)}

html.iqs-mode-pages .slide--raw,
html.iqs-mode-pages .slide--morph{min-height:min(72vh, 680px);overflow:hidden}
html.iqs-mode-pages .slide--raw{padding:0}
html.iqs-mode-pages .slide--morph{padding:0}

.slide--error,.slide--raw{justify-content:center}
