@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/open-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/open-sans-latin.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:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/open-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/open-sans-latin.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:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/open-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/open-sans-latin.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:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/playfair-display-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/playfair-display-latin.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:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/playfair-display-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/playfair-display-latin.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:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/playfair-display-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/playfair-display-latin.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:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('/fonts/plus-jakarta-sans-latin.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:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('/fonts/plus-jakarta-sans-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}

/* ============================================================================
   IGNITE AI SOLUTIONS — styles.css  ·  SINGLE SOURCE OF TRUTH
   ----------------------------------------------------------------------------
   Drop this at the ROOT of github.com/IgniteAISolutions/ignite-ai-solutions
   and link it from every page's <head>, FIRST, before any page <style>:

       <link rel="stylesheet" href="styles.css">

   Every colour, type, spacing, radius and shadow token lives here. Pages
   reference them with var(--token). Change a value HERE and the whole site
   follows — no more per-page copies.

   Self-contained: no @import of a sibling file. Fonts load from Google CDN.
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Inter:wght@300;400;600;700;800&family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&family=Open+Sans:ital,wght@0,400;0,600;0,700;1,400&display=swap');

:root {
  color-scheme: dark;

  /* ---------------------------------------------------------------------------
     CORE PALETTE
     --------------------------------------------------------------------------- */

  /* — Signature accent (NON-NEGOTIABLE: every page shows Orange at least once) — */
  --ignite-orange:        #F97316;  /* web primary — vivid ignition orange    */
  --ignite-orange-soft:   #FB9A4B;  /* lighter orange — partner chips, hovers */
  --ignite-orange-deep:   #e2530a;  /* CTA gradient terminator (site convention) */
  --ignite-orange-doc:    #E27B3D;  /* document primary — warmer, print-safe  */
  --ignite-red:           #DC2626;  /* editorial gradient terminator          */
  --claude-blue:          #3B82F6;  /* web secondary accent — flame, links    */
  --tech-blue:            #5CA8D9;  /* softer blue — icons, data viz, droplet  */

  /* — Dark surfaces (web / marketing site) — */
  --navy:                 #021129;  /* primary background (deep navy)         */
  --navy-2:               #071B3A;  /* alt section background / table headers */
  --navy-card:            #0A2148;  /* card base                              */
  --navy-card-2:          #0C2854;  /* card raised                            */
  --deep-navy:            #0B1A2E;  /* doc DARK primary bg / LIGHT heading ink */
  --navy-mid:             #102A4C;  /* doc DARK cards                         */

  /* — Light surfaces (LIGHT document mode) — */
  --white:                #FFFFFF;
  --light-cream:          #F5F0EB;  /* LIGHT callout backgrounds              */
  --zebra-gray:           #F8F9FA;  /* table zebra striping                   */

  /* — Ink / text — */
  --near-black:           #1A1A1A;  /* LIGHT body text                        */
  --medium-gray:          #4A4A4A;  /* LIGHT secondary text                   */
  --text-light:           #EAF0FB;  /* web body text on navy                  */
  --text-dim:             #9FB0CC;  /* web secondary text on navy             */
  --text-faint:           #6F83A6;  /* web tertiary / labels on navy          */
  --light-gray:           #D1D5DB;  /* DARK doc secondary text, dividers      */

  /* — Gradients — */
  --gradient-primary:     linear-gradient(135deg, #F97316 0%, #e2530a 100%); /* site CTA */
  --gradient-editorial:   linear-gradient(135deg, #F97316 0%, #DC2626 100%); /* decks / hero */

  /* — Orbital glows (web atmosphere) — */
  --glow-orange:          radial-gradient(circle, rgba(249,115,22,0.16) 0%, rgba(0,0,0,0) 70%);
  --glow-red:             radial-gradient(circle, rgba(220,38,38,0.10) 0%, rgba(0,0,0,0) 70%);

  /* ---------------------------------------------------------------------------
     SEMANTIC TOKENS — WEB / PRODUCT (dark, default)
     --------------------------------------------------------------------------- */
  --bg:                   var(--navy);
  --bg-elevated:          var(--navy-card);
  --fg1:                  var(--text-light);
  --fg2:                  var(--text-dim);
  --accent:               var(--ignite-orange);
  --accent-2:             var(--claude-blue);
  --hairline:             rgba(255,255,255,0.08);
  --hairline-soft:        rgba(255,255,255,0.05);

  /* Glass panel (navy web) */
  --glass-bg:             rgba(255,255,255,0.05);
  --glass-bg-faint:       rgba(255,255,255,0.04);
  --glass-border:         rgba(255,255,255,0.08);
  --glass-blur:           blur(14px);

  /* ---------------------------------------------------------------------------
     TYPE FAMILIES
     --------------------------------------------------------------------------- */
  --font-web-display:     'Plus Jakarta Sans', system-ui, sans-serif;  /* web headings + body */
  --font-web:             'Plus Jakarta Sans', system-ui, sans-serif;  /* alias used by homepage */
  --font-web-alt:         'Inter', system-ui, sans-serif;               /* web data runs */
  --font-doc-display:     'Playfair Display', Georgia, serif;           /* doc H1/H2 */
  --font-doc-body:        'Open Sans', Arial, sans-serif;               /* doc body / H3 */

  /* ---------------------------------------------------------------------------
     RADII / SHADOW / SPACING
     --------------------------------------------------------------------------- */
  --r-sm:   0.5rem;    /*  8px — chips, small controls      */
  --r-md:   0.75rem;   /* 12px — inputs, dark callouts       */
  --r-lg:   1rem;      /* 16px — glass panels, cards         */
  --r-xl:   1.125rem;  /* 18px — large feature cards         */
  --r-pill: 9999px;    /* pills — all primary CTAs are pills */

  --shadow-card:   0 10px 30px rgba(0,0,0,0.35);
  --shadow-lift:   0 16px 40px -18px rgba(0,0,0,0.7);  /* card hover */
  --shadow-cta:    0 8px 24px -8px rgba(249,115,22,0.6); /* orange CTA */
  --glow-cta:      0 0 20px rgba(249,115,22,0.55);

  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-6: 24px; --space-8: 32px; --space-12: 48px; --space-16: 64px;

  --ease:       cubic-bezier(0.4, 0, 0.2, 1);
  --dur:        300ms;
}

/* ============================================================================
   MINIMAL SAFE RESET
   html/body get an explicit dark background so pages never flash white if
   a stylesheet loads slowly (mobile, slow CDN, JS-blocked).
   ============================================================================ */
*, *::before, *::after { box-sizing: border-box; }
html { background: var(--navy); }
body { background: var(--navy); color: var(--text-light); font-family: var(--font-web-display); -webkit-font-smoothing: antialiased; }
::selection { background: var(--ignite-orange); color: #fff; }

/* ============================================================================
   SEMANTIC TYPE — WEB / PRODUCT  (add class="ignite-web" on <body> to opt in:
   sets the navy surface + Plus Jakarta type for a whole marketing page)
   ============================================================================ */
.ignite-web        { font-family: var(--font-web-display); color: var(--fg1); background: var(--bg); line-height: 1.6; -webkit-font-smoothing: antialiased; }
.ignite-web h1,
.ignite-web .h1    { font-weight: 800; font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 1.05; letter-spacing: -0.02em; color: #fff; }
.ignite-web h2,
.ignite-web .h2    { font-weight: 700; font-size: clamp(1.875rem, 4vw, 2.5rem); line-height: 1.15; letter-spacing: -0.01em; color: #fff; }
.ignite-web h3,
.ignite-web .h3    { font-weight: 700; font-size: 1.25rem; line-height: 1.3; color: #fff; }
.ignite-web .eyebrow { font-weight: 700; font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); }
.ignite-web p,
.ignite-web .body  { font-weight: 400; font-size: 1.0625rem; line-height: 1.65; color: var(--fg2); }
.ignite-web .stat  { font-weight: 700; font-size: clamp(3rem, 6vw, 4rem); color: var(--accent); line-height: 1; }

/* Gradient text helper (second line of split headlines) */
.text-gradient     { background: var(--gradient-primary); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ============================================================================
   SEMANTIC TYPE — BRAND / DOCUMENT  (LIGHT default; add class="ignite-doc")
   H1 = Playfair Bold, Navy.  H2 = Playfair Bold ITALIC, Orange.
   H3 = Open Sans Bold, Navy.  Body = Open Sans 400.
   ============================================================================ */
.ignite-doc        { font-family: var(--font-doc-body); color: var(--near-black); background: var(--white); line-height: 1.5; }
.ignite-doc h1,
.ignite-doc .doc-h1 { font-family: var(--font-doc-display); font-weight: 700; font-style: normal;
                      font-size: 2.5rem; line-height: 1.2; color: var(--deep-navy); }
.ignite-doc h2,
.ignite-doc .doc-h2 { font-family: var(--font-doc-display); font-weight: 700; font-style: italic;
                      font-size: 1.75rem; line-height: 1.2; color: var(--ignite-orange-doc); }
.ignite-doc h3,
.ignite-doc .doc-h3 { font-family: var(--font-doc-body); font-weight: 700; font-style: normal;
                      font-size: 1rem; line-height: 1.3; color: var(--deep-navy); }
.ignite-doc p,
.ignite-doc .doc-body { font-family: var(--font-doc-body); font-weight: 400; font-size: 1rem; line-height: 1.5; color: var(--near-black); }

/* DARK doc mode (marketing decks/carousels) */
.ignite-doc.dark   { background: var(--deep-navy); color: #fff; }
.ignite-doc.dark h1, .ignite-doc.dark .doc-h1 { color: #fff; }
.ignite-doc.dark h3, .ignite-doc.dark .doc-h3 { color: #fff; }
.ignite-doc.dark p,  .ignite-doc.dark .doc-body { color: var(--light-gray); }
/* H2 stays Orange in both modes. */

/* ============================================================================
   LAYOUT CONTAINER  (class="wrap")
   ============================================================================ */
.wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; }

/* ============================================================================
   SITE NAV  (class="nav" on <nav>)
   ============================================================================ */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: var(--navy); border-bottom: 1px solid var(--hairline);
  font-family: var(--font-web-display);
}
.nav .wrap { display: flex; align-items: center; justify-content: space-between; height: 108px; }
.brand { display: flex; align-items: center; cursor: pointer; text-decoration: none; }
.brand-logo { height: 92px; width: auto; display: block; }
.navlinks { display: flex; gap: 18px; align-items: center; }
.navlinks a {
  font-size: .85rem; color: var(--text-dim); font-weight: 500;
  transition: color .2s; text-decoration: none; white-space: nowrap;
}
.navlinks a:hover { color: var(--text-light); }
.navlinks .btn { font-size: .85rem; }
.navtoggle {
  display: none; background: none; border: 0;
  color: var(--text-light); font-size: 1.5rem; cursor: pointer;
}
@media (max-width: 1180px) {
  .navlinks { display: none; }
  .navlinks.open {
    display: flex; position: absolute; top: 108px; left: 0; right: 0;
    flex-direction: column; gap: 6px; background: var(--navy);
    padding: 16px 24px 22px; border-bottom: 1px solid var(--hairline);
    align-items: flex-start;
  }
  .navtoggle { display: block; }
}

/* ============================================================================
   SITE FOOTER  (class="footer" on <footer>)
   ============================================================================ */
.footer { background: var(--navy); border-top: 1px solid var(--hairline); padding: 60px 0 40px; font-family: var(--font-web-display); }
.foot-badges {
  display: flex; align-items: center; justify-content: center; gap: 30px; flex-wrap: wrap;
  padding-bottom: 30px; margin-bottom: 34px; border-bottom: 1px solid var(--hairline);
}
.foot-badges img { height: 50px; width: auto; object-fit: contain; }
.foot-badges .badge-white img { background: #fff; border-radius: 8px; padding: 6px; height: 58px; }
.foot-badges a { display: inline-flex; }
.foot { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; align-items: start; }
.foot .flogo { width: 150px; height: auto; display: block; margin-bottom: 16px; }
.foot p { color: var(--text-dim); font-size: .92rem; max-width: 36ch; }
.foot h5 { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint); margin-bottom: 14px; margin-top: 0; }
.foot a { display: block; color: var(--text-dim); font-size: .93rem; margin-bottom: 9px; transition: color .2s; text-decoration: none; }
.foot a:hover { color: var(--text-light); }
.foot-pf { color: var(--ignite-orange-soft); font-weight: 700; margin-top: 14px; font-size: .92rem; }
.foot-offices { display: flex; flex-direction: column; gap: 20px; }
.foot-offices address { font-style: normal; color: var(--text-dim); font-size: .9rem; line-height: 1.55; }
.foot-offices .off-label { display: block; color: var(--ignite-orange); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 6px; }
.foot-offices strong { display: block; color: var(--text-light); font-weight: 700; }
.foot-offices .off-meta { color: var(--text-faint); font-size: .8rem; }
.foot-offices .off-map { display: inline-block; margin-top: 6px; color: var(--ignite-orange); font-size: .82rem; }
.foot-offices .off-map:hover { color: var(--text-light); }
.foot-nav {
  margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--hairline);
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 28px;
}
.foot-nav a {
  color: var(--text-dim); font-size: .9rem; text-decoration: none; transition: color .2s;
}
.foot-nav a:hover { color: var(--ignite-orange); }
@media (max-width: 760px) { .foot-nav { gap: 10px 18px; font-size: .86rem; } }

.foot-base {
  margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--hairline);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  color: var(--text-faint); font-size: .82rem;
}
@media (max-width: 760px) {
  .foot { grid-template-columns: 1fr; }
  .foot-base { flex-direction: column; text-align: center; }
}

/* ============================================================================
   SHARED UTILITIES (btn, reveal, toast — used by all pages)
   ============================================================================ */
.btn {
  display: inline-flex; align-items: center; font-family: var(--font-web-display);
  font-weight: 600; font-size: .95rem; padding: 14px 28px;
  border-radius: var(--r-pill); text-decoration: none; transition: all .2s var(--ease); cursor: pointer; border: none;
}
.btn-primary {
  background: var(--gradient-primary); color: #fff;
  box-shadow: var(--shadow-cta);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: var(--glow-cta); }
.btn-ghost {
  background: transparent; color: var(--text-light);
  border: 1.5px solid var(--hairline);
}
.btn-ghost:hover { border-color: var(--ignite-orange); color: var(--ignite-orange); }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } }

/* ============================================================================
   ELEVENLABS CONVAI WIDGET — pin bottom-right, never cover content
   ============================================================================ */
elevenlabs-convai {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 45;
}
@media (max-width: 600px) {
  elevenlabs-convai {
    right: 8px;
    bottom: 8px;
    transform: scale(0.85);
    transform-origin: bottom right;
  }
}
/* Give the footer clearance so the resting bubble never sits on links */
.footer { padding-bottom: 88px; }

/* ============================================================================
   PROSE HEADINGS ON DARK — override Tailwind Typography's light-mode default
   ----------------------------------------------------------------------------
   @tailwindcss/typography sets --tw-prose-headings to #111827, a near-black
   intended for white pages. Every heading inside a .prose block therefore
   rendered almost invisibly against the navy background: the h2 on
   /claude-vs-copilot read as a dark smudge while its sibling h2 outside .prose
   rendered correctly. Around 110 headings across 30 pages were affected.

   Anchoring to --text-light matches a plain h2, which inherits it from body.
   Colour only, deliberately: Tailwind's prose sizes and margins are left alone
   so this cannot reflow any existing page. Pages that already set their own
   .prose heading colours in a page-level <style> still win on source order.
   ============================================================================ */
.prose h1,
.prose h2,
.prose h3,
.prose h4,
.prose h5,
.prose h6 { color: var(--text-light); }

/* The same light-mode default also sets body text to #374151 and links, bold
   and code to #111827, so prose paragraphs and links read at about 1.1:1 to
   1.9:1 on navy (the homepage FAQ answers, "More in this series" link rows).
   Remap the prose palette to the navy tokens. Colour only, as above. */
.prose {
  --tw-prose-body: #C9D3E5;
  --tw-prose-links: var(--text-light);
  --tw-prose-bold: var(--text-light);
  --tw-prose-code: var(--text-light);
  --tw-prose-quotes: var(--text-light);
  --tw-prose-quote-borders: rgba(255,255,255,.2);
  --tw-prose-counters: var(--text-dim);
  --tw-prose-bullets: var(--text-dim);
  --tw-prose-captions: var(--text-dim);
  --tw-prose-lead: var(--text-dim);
  --tw-prose-hr: rgba(255,255,255,.12);
  --tw-prose-th-borders: rgba(255,255,255,.18);
  --tw-prose-td-borders: rgba(255,255,255,.1);
}

/* Deferred Substack embed: never loads until the visitor asks for it. */
.ig-substack{display:flex;align-items:center;justify-content:center;width:480px;max-width:100%;min-height:180px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.03)}
.ig-substack iframe{width:480px;max-width:100%;height:320px;border:0;background:#fff;border-radius:12px}
.ig-substack-btn{padding:.75rem 1.25rem;border:1px solid #F97316;border-radius:8px;background:transparent;color:#F97316;font:inherit;font-weight:600;cursor:pointer}
.ig-substack-btn:hover{background:#F97316;color:#021129}

/* Footer link hub: money pages and pillar pages, sitewide (added 2026-10-03) */
.foot-hub { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--hairline); display: grid; grid-template-columns: 1fr 1fr; gap: 24px 40px; max-width: 560px; }
.foot-hub h5 { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text-faint); margin: 0 0 12px; }
.foot-hub a { display: block; color: var(--text-dim); font-size: .93rem; margin-bottom: 9px; text-decoration: none; transition: color .2s; }
.foot-hub a:hover { color: var(--ignite-orange); }
@media (max-width: 480px) { .foot-hub { grid-template-columns: 1fr; } }
