/* ============================================================================
   theme.css · deck "iq-wealth-hub"  (IQ Wealth — Home Wealth Fund)

   The two standardised slide treatments are NOT re-implemented here — they are
   imported verbatim from the template decks, so this deck can never drift from
   the house standard. Editing the templates updates this deck automatically.

     · variant: technical-grid (hero)    → decks/standard-title-slide/theme.css
     · variant: standard-text (bullets)  → decks/standard-text-slide/theme.css

   Everything BELOW the imports is only for this deck's non-standardised framing
   slides (opener/closer heroes, the shared disclosure + product sign-off, quote
   cards, and the labelled placeholder image slides). The palette (#000717 ink
   #f2f3f5 accent #a9c0ea) comes from deck.json `config`, applied as inline root
   styles that override the imported templates' default palette.
   ============================================================================ */

@import "../standard-title-slide/theme.css";
@import "../standard-text-slide/theme.css";

/* ---- deck extras the templates don't define -------------------------------- */
:root{
  --deck-line:      rgba(242,243,245,.42);
  --deck-card:      rgba(255,255,255,.028);
  --deck-card-bd:   rgba(255,255,255,.075);
}

/* ============================================================================
   FRAMING SLIDES (non-variant) — hero / statement / cards, from deep-2026.
   Titles here borrow the standard text slide's title look (Segoe, weight 300,
   #f9fafb) so nothing clashes with the standardised slides.
   ============================================================================ */
/* :not(.slide--variant-technical-grid) so this framing layer can never reach the standardised
   openers — the framework tags those sections with both slide--hero and the variant class. */
.slide--hero:not(.slide--variant-technical-grid){ display: block; padding: 0; }
.slide--hero:not(.slide--variant-technical-grid) .s-logo{ position: absolute; left: 2%; top: 6.5%; width: 6.5cqw; height: auto; transform-origin: left center; }
.slide--hero:not(.slide--variant-technical-grid) .s-eyebrow{ position: absolute; left: 2%; top: 24%; }
.slide--hero:not(.slide--variant-technical-grid) .s-title{ position: absolute; left: 2%; top: 40%; width: 87%; font-size: 4cqw; font-weight: 300; line-height: 1.15; letter-spacing: .002em; color: #f9fafb; }
.slide--hero:not(.slide--variant-technical-grid) .s-divider{ position: absolute; left: 2.8%; top: 52.4%; width: 66%; height: 1.4px; background: var(--deck-line); border-radius: 0; transform-origin: left center; }
.slide--hero:not(.slide--variant-technical-grid) .s-subtitle{ position: absolute; left: 2%; top: 55%; width: 76%; font-size: 2.35cqw; font-weight: 300; line-height: 1.6; color: var(--deck-ink); }

.slide--statement{ display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0; }
.slide--statement .s-title{ position: absolute; left: 3%; top: 7.2%; width: 94%; text-align: center; font-size: clamp(2.4rem, 5.4cqw, 4.5rem); font-weight: 300; line-height: 1.14; color: #f9fafb; }
.slide--statement .s-body{ position: static; width: 84%; max-width: none; margin: 0; text-align: center; font-size: 2.35cqw; font-weight: 300; line-height: 1.6; color: var(--deck-ink); }
.slide--statement .s-body strong{ color: #fff; font-weight: 500; }
.slide--statement .s-body img{ display: inline-block; width: 18cqw; height: auto; margin-top: 3.6cqh; }
.slide--statement .s-byline{ position: absolute; left: 4%; top: 80.5%; gap: 1.7cqw; }
.slide--statement .s-avatar{ width: 8.2cqw; height: 8.2cqw; }
.slide--statement .s-name{ font-size: 2cqw; font-style: normal; font-weight: 300; color: var(--deck-ink); }
.slide--statement .iqs-callout{ margin: 1.4cqh auto; max-width: 72cqw; text-align: left; }
.iqs-callout-title{ font-size: 1.6cqw; }
.iqs-callout-body{ font-size: 1.5cqw; line-height: 1.5; }

.slide--cards .s-title{ font-size: clamp(2.4rem, 5.4cqw, 4.5rem); font-weight: 300; color: #f9fafb; }
.s-quote{ font-size: 1.9cqw; }

/* ============================================================================
   PLACEHOLDER IMAGE SLIDES (raw .imgslide) — clean, labelled app screenshots
   ============================================================================ */
.slide--raw .imgslide{ position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2.2cqh; padding: 6cqh 8cqw; text-align: center; }
.imgslide-eyebrow{ margin: 0; font-size: 1.25cqw; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--deck-accent); opacity: .85; }
.imgslide-title{ margin: 0; font-size: clamp(2rem, 4.6cqw, 3.8rem); font-weight: 300; line-height: 1.15; color: #f9fafb; max-width: 84cqw; }
.imgslide img{ width: 56cqw; max-width: 56cqw; height: auto; border-radius: 10px; border: 1px solid var(--deck-card-bd); box-shadow: 0 2.4cqh 7cqh rgba(0,0,0,.45); }
.imgslide-cap{ margin: 0; font-size: 1.7cqw; font-weight: 300; line-height: 1.5; color: var(--deck-ink-dim); max-width: 70cqw; }
