/* ============================================================
   AETHEON / TalentOS — Presentation styles
   Brand: dark theme, flame gradient (purple → red → orange)
   ============================================================ */

:root {
  --bg: #0a0610;
  --bg-2: #14091e;
  --ink: #f5eef7;
  --ink-dim: #b5a8c2;
  --ink-faint: #6a5b78;
  --line: rgba(255, 255, 255, 0.08);
  --line-2: rgba(255, 255, 255, 0.14);

  /* Flame palette */
  --purple: #6a2cb8;
  --purple-deep: #2a1142;
  --red: #c0341a;
  --orange: #e8731c;
  --amber: #f4a02b;
  --ember: #ff5a1f;

  --grad-flame: linear-gradient(96deg, #4a1a8a 0%, #7a1eaa 18%, #a8284b 42%, #d63d1e 68%, #e8731c 88%, #f4a02b 100%);
  --grad-flame-soft: linear-gradient(96deg, rgba(122, 30, 170, 0.65) 0%, rgba(168, 40, 75, 0.65) 50%, rgba(232, 115, 28, 0.65) 100%);
  --grad-bg: radial-gradient(ellipse at 80% 0%, rgba(122, 30, 170, 0.35), transparent 55%),
             radial-gradient(ellipse at 0% 100%, rgba(232, 115, 28, 0.2), transparent 60%),
             linear-gradient(180deg, #0a0610 0%, #060309 100%);

  --shadow-card: 0 18px 50px rgba(0, 0, 0, 0.55), 0 2px 8px rgba(0, 0, 0, 0.4);
  --shadow-glow: 0 0 60px rgba(232, 115, 28, 0.25);

  --serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --sans: "Inter Tight", "Söhne", -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;
}

/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("assets/cc101944-03fb-45de-9239-3823a0f712f8.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("assets/21ad6239-3cf9-4cff-ad0e-4d6a38599d58.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("assets/6ae72f13-b5fd-45b6-b6d5-11838ab6c05a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("assets/7648d2b9-fbe6-4307-a080-d3a2207cecc3.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("assets/602fa0bb-69c2-4436-8d54-69018001cdf8.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/cc101944-03fb-45de-9239-3823a0f712f8.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/21ad6239-3cf9-4cff-ad0e-4d6a38599d58.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/6ae72f13-b5fd-45b6-b6d5-11838ab6c05a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/7648d2b9-fbe6-4307-a080-d3a2207cecc3.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/602fa0bb-69c2-4436-8d54-69018001cdf8.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("assets/cc101944-03fb-45de-9239-3823a0f712f8.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("assets/21ad6239-3cf9-4cff-ad0e-4d6a38599d58.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("assets/6ae72f13-b5fd-45b6-b6d5-11838ab6c05a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("assets/7648d2b9-fbe6-4307-a080-d3a2207cecc3.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("assets/602fa0bb-69c2-4436-8d54-69018001cdf8.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/cc101944-03fb-45de-9239-3823a0f712f8.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/21ad6239-3cf9-4cff-ad0e-4d6a38599d58.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/6ae72f13-b5fd-45b6-b6d5-11838ab6c05a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/7648d2b9-fbe6-4307-a080-d3a2207cecc3.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("assets/602fa0bb-69c2-4436-8d54-69018001cdf8.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("assets/cc101944-03fb-45de-9239-3823a0f712f8.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("assets/21ad6239-3cf9-4cff-ad0e-4d6a38599d58.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("assets/6ae72f13-b5fd-45b6-b6d5-11838ab6c05a.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("assets/7648d2b9-fbe6-4307-a080-d3a2207cecc3.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("assets/602fa0bb-69c2-4436-8d54-69018001cdf8.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/d95a1a35-8653-4043-a84c-dfa29d626bde.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/d8f28e7c-e8e9-4b16-aab3-3cbced5d6a71.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/5323a80b-0ce5-4dec-9a86-67e980e54260.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/0c30f646-59f9-43cc-bd8f-4645d4284ed1.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/666884a4-2a82-4a92-95a1-9794b8a65603.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/d95a1a35-8653-4043-a84c-dfa29d626bde.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/d8f28e7c-e8e9-4b16-aab3-3cbced5d6a71.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/5323a80b-0ce5-4dec-9a86-67e980e54260.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/0c30f646-59f9-43cc-bd8f-4645d4284ed1.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/666884a4-2a82-4a92-95a1-9794b8a65603.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/d95a1a35-8653-4043-a84c-dfa29d626bde.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/d8f28e7c-e8e9-4b16-aab3-3cbced5d6a71.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/5323a80b-0ce5-4dec-9a86-67e980e54260.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/0c30f646-59f9-43cc-bd8f-4645d4284ed1.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/666884a4-2a82-4a92-95a1-9794b8a65603.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/d95a1a35-8653-4043-a84c-dfa29d626bde.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/d8f28e7c-e8e9-4b16-aab3-3cbced5d6a71.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/5323a80b-0ce5-4dec-9a86-67e980e54260.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/0c30f646-59f9-43cc-bd8f-4645d4284ed1.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/666884a4-2a82-4a92-95a1-9794b8a65603.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/d95a1a35-8653-4043-a84c-dfa29d626bde.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/d8f28e7c-e8e9-4b16-aab3-3cbced5d6a71.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/5323a80b-0ce5-4dec-9a86-67e980e54260.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/0c30f646-59f9-43cc-bd8f-4645d4284ed1.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/666884a4-2a82-4a92-95a1-9794b8a65603.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/5c84d869-c9e5-4078-b9bf-82663796dd0a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/ec64ca6c-efb9-4ddf-9927-5f3fc90fa9ef.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/c6fe660c-8df0-4c32-8acc-ce0c72a28779.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/40e701c2-74f4-44f5-80e6-890465dbeb86.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/a4b5fb53-7b10-4d57-980b-5dcbca13b47d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/99a2844e-e000-423b-900c-ba6ec77dedb8.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;
}
/* latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/5d8eb188-5e74-408b-aa10-f22dd27c988a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/5c84d869-c9e5-4078-b9bf-82663796dd0a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/ec64ca6c-efb9-4ddf-9927-5f3fc90fa9ef.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/c6fe660c-8df0-4c32-8acc-ce0c72a28779.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/40e701c2-74f4-44f5-80e6-890465dbeb86.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/a4b5fb53-7b10-4d57-980b-5dcbca13b47d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/99a2844e-e000-423b-900c-ba6ec77dedb8.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;
}
/* latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/5d8eb188-5e74-408b-aa10-f22dd27c988a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/5c84d869-c9e5-4078-b9bf-82663796dd0a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/ec64ca6c-efb9-4ddf-9927-5f3fc90fa9ef.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/c6fe660c-8df0-4c32-8acc-ce0c72a28779.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/40e701c2-74f4-44f5-80e6-890465dbeb86.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/a4b5fb53-7b10-4d57-980b-5dcbca13b47d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/99a2844e-e000-423b-900c-ba6ec77dedb8.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;
}
/* latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/5d8eb188-5e74-408b-aa10-f22dd27c988a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/5c84d869-c9e5-4078-b9bf-82663796dd0a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/ec64ca6c-efb9-4ddf-9927-5f3fc90fa9ef.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/c6fe660c-8df0-4c32-8acc-ce0c72a28779.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/40e701c2-74f4-44f5-80e6-890465dbeb86.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/a4b5fb53-7b10-4d57-980b-5dcbca13b47d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/99a2844e-e000-423b-900c-ba6ec77dedb8.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;
}
/* latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/5d8eb188-5e74-408b-aa10-f22dd27c988a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/5c84d869-c9e5-4078-b9bf-82663796dd0a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/ec64ca6c-efb9-4ddf-9927-5f3fc90fa9ef.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/c6fe660c-8df0-4c32-8acc-ce0c72a28779.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/40e701c2-74f4-44f5-80e6-890465dbeb86.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/a4b5fb53-7b10-4d57-980b-5dcbca13b47d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/99a2844e-e000-423b-900c-ba6ec77dedb8.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;
}
/* latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/5d8eb188-5e74-408b-aa10-f22dd27c988a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/5c84d869-c9e5-4078-b9bf-82663796dd0a.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/ec64ca6c-efb9-4ddf-9927-5f3fc90fa9ef.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/c6fe660c-8df0-4c32-8acc-ce0c72a28779.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/40e701c2-74f4-44f5-80e6-890465dbeb86.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/a4b5fb53-7b10-4d57-980b-5dcbca13b47d.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/99a2844e-e000-423b-900c-ba6ec77dedb8.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;
}
/* latin */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/5d8eb188-5e74-408b-aa10-f22dd27c988a.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/052b89e5-edcc-4880-b410-35384235e7b0.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/9a044038-31ea-434d-9718-fa1ab236fa9c.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/c403625f-a238-45e4-b3e2-9aa81609eaaa.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/2ee38f41-1613-4c33-9f3f-c3e539d92306.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/777377d6-1479-412c-a7e0-b1b2a993f4bb.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;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fb9380c7-3372-461f-919c-81a40e2c5984.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/052b89e5-edcc-4880-b410-35384235e7b0.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/9a044038-31ea-434d-9718-fa1ab236fa9c.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/c403625f-a238-45e4-b3e2-9aa81609eaaa.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/2ee38f41-1613-4c33-9f3f-c3e539d92306.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/777377d6-1479-412c-a7e0-b1b2a993f4bb.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;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/fb9380c7-3372-461f-919c-81a40e2c5984.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;
}


deck-stage section {
  font-family: var(--sans);
  color: var(--ink);
  background: var(--grad-bg);
  width: 1920px;
  height: 1080px;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}

/* ---------- Common helpers ---------- */
.flame-text {
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.eyebrow {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--ink-dim);
}

.eyebrow-flame {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.serif {
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.02em;
}

/* Atmospheric noise */
deck-stage section::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 70%, rgba(255,255,255,0.015) 0, transparent 40%);
  pointer-events: none;
  z-index: 1;
}

deck-stage section > * {
  position: relative;
  z-index: 2;
}

/* ---------- Slide framing ---------- */
.frame {
  position: absolute;
  inset: 0;
  padding: 88px 120px;
  display: flex;
  flex-direction: column;
}

.slide-num {
  position: absolute;
  bottom: 48px;
  right: 64px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.3em;
  color: var(--ink-faint);
  z-index: 5;
}

.slide-num b { color: var(--ink-dim); font-weight: 500; }

.brand-mark {
  position: absolute;
  bottom: 48px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--ink-faint);
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
}
.brand-mark .url {
  color: var(--orange);
  letter-spacing: 0.12em;
  text-decoration: none;
  border-left: 1px solid var(--ink-faint);
  padding-left: 16px;
}
.brand-mark .url:hover { text-decoration: underline; }

/* ---------- Animation primitives (gated by [data-active]) ---------- */

/* Initial state for animatable elements */
.anim-fade,
.anim-up,
.anim-left,
.anim-right,
.anim-scale,
.anim-pulse,
.anim-grow,
.anim-flicker,
.anim-typeon,
.anim-cursor,
.anim-pop,
.anim-line {
  opacity: 0;
}

/* Active state — animations play */
[data-active="true"] .anim-fade { animation: aFade 700ms cubic-bezier(.2,.8,.2,1) forwards; }
[data-active="true"] .anim-up   { animation: aUp 800ms cubic-bezier(.2,.8,.2,1) forwards; }
[data-active="true"] .anim-left { animation: aLeft 900ms cubic-bezier(.2,.8,.2,1) forwards; }
[data-active="true"] .anim-right{ animation: aRight 900ms cubic-bezier(.2,.8,.2,1) forwards; }
[data-active="true"] .anim-scale{ animation: aScale 800ms cubic-bezier(.2,.8,.2,1) forwards; }
[data-active="true"] .anim-pop  { animation: aPop 600ms cubic-bezier(.34,1.56,.64,1) forwards; }
[data-active="true"] .anim-pulse{ animation: aFade 600ms forwards, aPulse 2.4s 600ms infinite; }
[data-active="true"] .anim-grow { animation: aFade 400ms forwards, aGrow 1.6s 200ms cubic-bezier(.2,.8,.2,1) forwards; }
[data-active="true"] .anim-flicker { animation: aFlicker 2.4s forwards; }
[data-active="true"] .anim-line { animation: aLine 1.2s cubic-bezier(.2,.8,.2,1) forwards; }

@keyframes aFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes aUp   { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes aLeft { from { opacity: 0; transform: translateX(-40px); } to { opacity: 1; transform: translateX(0); } }
@keyframes aRight{ from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: translateX(0); } }
@keyframes aScale{ from { opacity: 0; transform: scale(0.92); } to { opacity: 1; transform: scale(1); } }
@keyframes aPop  { 0% { opacity: 0; transform: scale(0.6); } 60% { opacity: 1; transform: scale(1.08); } 100% { opacity: 1; transform: scale(1); } }
@keyframes aPulse{ 0%, 100% { box-shadow: 0 0 0 0 rgba(232, 115, 28, 0.55); } 50% { box-shadow: 0 0 0 14px rgba(232, 115, 28, 0); } }
@keyframes aGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes aFlicker {
  0% { opacity: 0; }
  10% { opacity: 1; }
  12% { opacity: 0.2; }
  16% { opacity: 1; }
  22% { opacity: 0.4; }
  26% { opacity: 1; }
  100% { opacity: 1; }
}
@keyframes aLine { from { opacity: 0; transform: scaleX(0); transform-origin: left; } to { opacity: 1; transform: scaleX(1); } }

/* Stagger helpers */
.d1 { animation-delay: 100ms !important; }
.d2 { animation-delay: 250ms !important; }
.d3 { animation-delay: 450ms !important; }
.d4 { animation-delay: 650ms !important; }
.d5 { animation-delay: 900ms !important; }
.d6 { animation-delay: 1150ms !important; }
.d7 { animation-delay: 1400ms !important; }
.d8 { animation-delay: 1700ms !important; }
.d9 { animation-delay: 2000ms !important; }

/* ============================================================
   ACT I — The Break
   ============================================================ */

/* Slide 1: Cold open */
.cold-open-logo {
  position: absolute;
  top: 110px;
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  height: auto;
  opacity: 0.92;
  z-index: 3;
}
.cold-open-logo--bottom {
  position: static;
  transform: translateY(28px);
  opacity: 0;
  margin-top: 12px;
  width: 320px;
  transition: opacity 900ms cubic-bezier(.2,.8,.2,1), transform 900ms cubic-bezier(.2,.8,.2,1);
}
.cold-open-logo--bottom.reveal {
  opacity: 0.95;
  transform: translateY(0);
}
.cold-open {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 48px;
}
.cold-open--top {
  justify-content: flex-start;
  padding-top: 220px;
  gap: 40px;
}
.cold-open-sub {
  min-height: 1.6em;
}
.cold-open-sub::after {
  content: '▍';
  display: inline-block;
  margin-left: 4px;
  color: var(--orange);
  animation: caret-blink 0.9s steps(2) infinite;
}
.cold-open-sub.typing-done::after { content: ''; }
.cold-open .ember {
  width: 6px; height: 6px;
  background: var(--ember);
  border-radius: 50%;
  box-shadow: 0 0 24px 6px var(--ember);
}
.cold-open h1 {
  font-family: var(--serif);
  font-size: 128px;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.04em;
  margin: 0;
  max-width: 1500px;
  text-wrap: balance;
}
.cold-open h1 em {
  font-style: italic;
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cold-open .sub {
  font-size: 22px;
  color: var(--ink-dim);
  letter-spacing: 0.04em;
}

/* Slide 2: The collapse */
.collapse-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
  margin-top: 80px;
  flex: 0 0 auto;
}
.collapse-card {
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(20px);
  border-radius: 24px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
  overflow: hidden;
}
.collapse-card .label {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.28em;
  color: var(--ink-faint);
  text-transform: uppercase;
}
.collapse-card .doc {
  background: rgba(255,255,255,0.04);
  border-radius: 12px;
  padding: 24px;
  flex: 1;
  font-family: var(--mono);
  font-size: 13px;
  line-height: 1.7;
  color: var(--ink-dim);
  position: relative;
  overflow: hidden;
}
.collapse-card .doc-line {
  height: 8px;
  background: rgba(255,255,255,0.08);
  border-radius: 2px;
  margin-bottom: 8px;
}
.collapse-card .doc-line.short { width: 60%; }
.collapse-card .doc-line.mid { width: 80%; }
.collapse-card .ai-stamp {
  position: absolute;
  top: 16px; right: 16px;
  background: rgba(232, 115, 28, 0.15);
  color: var(--orange);
  border: 1px solid rgba(232, 115, 28, 0.4);
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-family: var(--mono);
  letter-spacing: 0.1em;
}
.collapse-card .verdict {
  font-family: var(--serif);
  font-size: 26px;
  width: 100%;
  text-wrap: balance;
  font-style: italic;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.collapse-card .verdict span {
  color: var(--ember);
}

/* The funnel */
.funnel-stage {
  position: relative;
  margin-top: 48px;
  padding: 64px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.funnel-row {
  display: flex;
  align-items: center;
  gap: 24px;
  font-family: var(--mono);
  font-size: 14px;
  color: var(--ink-dim);
}
.funnel-bar {
  height: 28px;
  background: linear-gradient(90deg, rgba(122, 30, 170, 0.5), rgba(168, 40, 75, 0.5));
  border-radius: 4px;
  transform-origin: center;
}
.funnel-num {
  font-family: var(--serif);
  font-size: 32px;
  color: var(--ink);
  width: 120px;
  text-align: right;
}

/* Slide 3: The cost */
.cost-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  margin-top: 80px;
  flex: 1;
  align-content: center;
}
.cost-stat {
  border-left: 2px solid var(--ember);
  padding-left: 32px;
}
.cost-stat .num {
  font-family: var(--serif);
  font-size: 140px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.05em;
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin: 0 0 16px;
}
.cost-stat .copy {
  font-family: var(--serif);
  font-size: 28px;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--ink);
  line-height: 1.3;
  max-width: 720px;
}
.cost-stat .src {
  font-family: var(--mono);
  font-size: 11px;
  color: var(--ink-faint);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-top: 16px;
}

/* ============================================================
   ACT II — The Reframe
   ============================================================ */

.thesis {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 88px 120px;
  gap: 56px;
}
.thesis h1 {
  font-family: var(--serif);
  font-size: 132px;
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.04em;
  margin: 0;
  max-width: 1600px;
  text-wrap: balance;
}
.thesis h1 em {
  font-style: italic;
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.thesis .lead {
  font-size: 26px;
  color: var(--ink-dim);
  max-width: 900px;
  line-height: 1.5;
  letter-spacing: 0.01em;
}
.thesis-rule {
  width: 200px;
  height: 1px;
  background: var(--grad-flame);
  transform-origin: left;
}

/* Logo reveal */
.logo-reveal {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 56px;
  text-align: center;
}
.logo-reveal .word {
  font-family: var(--serif);
  font-size: 28px;
  font-style: italic;
  color: var(--ink-dim);
  letter-spacing: 0.02em;
}
.logo-reveal img.wordmark {
  height: 140px;
  filter: drop-shadow(0 0 60px rgba(232, 115, 28, 0.35));
}
.logo-reveal .tagline {
  font-family: var(--mono);
  font-size: 16px;
  letter-spacing: 0.42em;
  /* compensate trailing letter-spacing so text optically centers */
  padding-left: 0.42em;
  text-transform: uppercase;
  color: var(--ink-dim);
  padding-top: 32px;
  border-top: 1px solid var(--line);
  width: 540px;
}

/* System overview — 4 modules */
.system-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 24px;
  margin-top: 64px;
  flex: 1;
}
.module-card {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 32px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  position: relative;
  overflow: hidden;
}
.module-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--grad-flame);
  transform-origin: left;
  transform: scaleX(0);
  animation: aGrow 1.2s 600ms cubic-bezier(.2,.8,.2,1) forwards;
}
.module-card .num {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.3em;
  color: var(--orange);
}
.module-card h3 {
  font-family: var(--serif);
  font-size: 38px;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0;
  text-wrap: balance;
}
.module-card p {
  font-size: 17px;
  color: var(--ink-dim);
  line-height: 1.5;
  margin: 0;
}
.module-card .who {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--ink-faint);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

/* ============================================================
   ACT III — Feature Walkthroughs
   Common: chapter title slide + screen+caption slides
   ============================================================ */

.chapter {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  padding: 0 120px;
  gap: 80px;
}
.chapter-title .label {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: 0.32em;
  color: var(--orange);
  text-transform: uppercase;
  margin-bottom: 32px;
}
.chapter-title h1 {
  font-family: var(--serif);
  font-size: 110px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
  margin: 0 0 32px;
  text-wrap: balance;
}
.chapter-title .sub {
  font-family: var(--serif);
  font-size: 30px;
  font-style: italic;
  color: var(--ink-dim);
  line-height: 1.4;
  max-width: 600px;
}
.chapter-side {
  border-radius: 28px;
  border: 1px solid var(--line);
  background: linear-gradient(165deg, rgba(122, 30, 170, 0.18), rgba(232, 115, 28, 0.1));
  padding: 56px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  box-shadow: var(--shadow-card);
  height: 700px;
  justify-content: center;
}
.chapter-side .item {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 24px;
  align-items: start;
}
.chapter-side .item .marker {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--grad-flame);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mono);
  font-size: 18px;
  font-weight: 600;
  color: #fff;
}
.chapter-side .item h4 {
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--ink);
}
.chapter-side .item p {
  font-size: 16px;
  color: var(--ink-dim);
  line-height: 1.5;
  margin: 0;
}

/* ---------- Walkthrough slide layout ---------- */
.walkthrough {
  display: grid;
  grid-template-columns: 480px 1fr;
  gap: 64px;
  height: 100%;
  padding: 88px 100px;
}
.walkthrough .narrative {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 28px;
}
.walkthrough .step {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.32em;
  color: var(--orange);
  text-transform: uppercase;
}
.walkthrough h2 {
  font-family: var(--serif);
  font-size: 64px;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0;
  text-wrap: balance;
}
.walkthrough .lead {
  font-size: 19px;
  color: var(--ink-dim);
  line-height: 1.55;
  max-width: 440px;
}
.walkthrough .pulls {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 12px;
}
.walkthrough .pull {
  display: grid;
  grid-template-columns: 8px 1fr;
  gap: 18px;
  align-items: start;
  padding-left: 4px;
}
.walkthrough .pull::before {
  content: "";
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--grad-flame);
  margin-top: 9px;
}
.walkthrough .pull p {
  margin: 0;
  font-size: 16px;
  color: var(--ink);
  line-height: 1.5;
}
.walkthrough .pull p b {
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 600;
}

/* Screen mount — holds the screenshot + animated overlays */
.screen-mount {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.06);
  background: #060309;
  align-self: center;
  height: 880px;
  width: 100%;
}
.screen-mount img.shot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.screen-mount img.shot.fit {
  object-fit: contain;
  object-position: top center;
  background: #060309;
}
.screen-mount img.shot.center {
  object-position: center;
}

/* Pan animation for tall screenshots */
[data-active="true"] .pan-down img.shot {
  animation: panDown 14s 600ms linear forwards;
}
@keyframes panDown {
  from { transform: translateY(0); }
  to   { transform: translateY(calc(-100% + 880px)); }
}

/* Highlight box — a glowing rectangle pulse */
.hl {
  position: absolute;
  border: 2px solid var(--ember);
  border-radius: 12px;
  background: rgba(232, 115, 28, 0.06);
  box-shadow: 0 0 0 6px rgba(232, 115, 28, 0.18), 0 0 40px rgba(232, 115, 28, 0.4);
  pointer-events: none;
}

/* Floating annotation */
.ann {
  position: absolute;
  background: rgba(20, 9, 30, 0.92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(232, 115, 28, 0.35);
  padding: 12px 18px;
  border-radius: 10px;
  font-size: 14px;
  color: var(--ink);
  max-width: 280px;
  line-height: 1.45;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5);
}
.ann b {
  color: var(--orange);
  font-weight: 600;
}
.ann::before {
  content: "";
  position: absolute;
  width: 10px; height: 10px;
  background: rgba(20, 9, 30, 0.92);
  border-left: 1px solid rgba(232, 115, 28, 0.35);
  border-top: 1px solid rgba(232, 115, 28, 0.35);
  transform: rotate(45deg);
  left: -6px;
  top: 50%;
  margin-top: -5px;
}
.ann.right::before { left: auto; right: -6px; transform: rotate(225deg); }
.ann.top::before { left: 50%; top: -6px; margin-left: -5px; transform: rotate(45deg); }

/* Connector line */
.line-connect {
  position: absolute;
  height: 2px;
  background: linear-gradient(90deg, var(--ember), transparent);
  transform-origin: left;
}

/* Cursor */
.cursor {
  position: absolute;
  width: 28px;
  height: 28px;
  pointer-events: none;
  z-index: 10;
  filter: drop-shadow(0 4px 8px rgba(0,0,0,0.7));
}

/* ---------- Special: sliders animation for the analysis slide ---------- */
.slider-track {
  position: absolute;
  height: 4px;
  background: rgba(255,255,255,0.1);
  border-radius: 2px;
  overflow: hidden;
}
.slider-fill {
  position: absolute;
  inset: 0;
  background: var(--grad-flame);
  transform-origin: left;
}

/* ============================================================
   ACT IV — Close
   ============================================================ */

.loop {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 120px;
  gap: 64px;
}
.loop h1 {
  font-family: var(--serif);
  font-size: 92px;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0;
  text-align: center;
  text-wrap: balance;
}
.loop h1 em {
  font-style: italic;
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.loop-diagram {
  display: grid;
  grid-template-columns: 1fr 240px 1fr;
  gap: 32px;
  align-items: center;
  width: 1400px;
}
.loop-side {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 36px;
  background: linear-gradient(180deg, rgba(122, 30, 170, 0.12), transparent);
  text-align: center;
}
.loop-side .who {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.3em;
  color: var(--orange);
  text-transform: uppercase;
  margin-bottom: 16px;
}
.loop-side h3 {
  font-family: var(--serif);
  font-size: 28px;
  font-weight: 400;
  margin: 0 0 16px;
  letter-spacing: -0.01em;
}
.loop-side p {
  font-size: 15px;
  color: var(--ink-dim);
  line-height: 1.5;
  margin: 0;
}
.loop-arrows {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
}
.loop-arrows .arrow {
  width: 100%;
  height: 2px;
  background: var(--grad-flame);
  position: relative;
}
.loop-arrows .arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: -5px;
  border-left: 12px solid var(--orange);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
}
.loop-arrows .arrow.rev { transform: rotate(180deg); }

/* Closing */
.closing {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 56px;
  padding: 0 200px;
}
.closing h1 {
  font-family: var(--serif);
  font-size: 168px;
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.05em;
  margin: 0;
  max-width: 1500px;
  text-wrap: balance;
}
.closing h1 em {
  font-style: italic;
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.closing .signoff {
  display: flex;
  align-items: center;
  gap: 24px;
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: var(--ink-dim);
}
.closing img {
  height: 36px;
  opacity: 0.85;
}

/* ---------- Video demo slide ---------- */
.video-stage {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #000;
}
.video-stage .demo-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: saturate(1.05) contrast(1.02);
}
.video-stage .video-vignette {
  position: absolute;
  inset: 0;
  background:
    /* Quiet overall framing — caption panel does the heavy lifting */
    linear-gradient(180deg, transparent 70%, rgba(8,4,16,0.45) 100%),
    radial-gradient(140% 100% at 50% 50%, transparent 65%, rgba(8,4,16,0.28) 100%);
  pointer-events: none;
}
.video-caption {
  position: absolute;
  left: 100px;
  bottom: 140px;
  max-width: 470px;
  z-index: 4;
  /* Translucent panel — video clearly visible through, text stays readable */
  background: rgba(0, 0, 0, 0.62);
  backdrop-filter: blur(10px) saturate(110%);
  -webkit-backdrop-filter: blur(10px) saturate(110%);
  padding: 22px 26px 24px;
  border-left: 2px solid var(--orange);
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.7),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.video-caption .cap-eyebrow {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: var(--orange);
  margin-bottom: 9px;
}
.video-caption h2 {
  font-family: var(--serif);
  font-size: 38px;
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: var(--ink);
  margin: 0 0 11px;
  text-wrap: balance;
}
.video-caption h2 em {
  font-style: italic;
  /* Brighter, warmer slice of the flame so it reads on the dark panel */
  background: linear-gradient(96deg, #ff6a3d 0%, #ff8a3d 45%, #ffb04a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.video-caption p {
  font-family: var(--serif);
  font-size: 19px;
  font-style: italic;
  color: var(--ink);
  opacity: 0.9;
  margin: 0;
  max-width: 410px;
  line-height: 1.4;
}
.divider-bg {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.13;
  pointer-events: none;
  user-select: none;
}
.divider-bg img {
  height: 720px;
  width: auto;
}
/* Watermark renders statically — no fade-in, no blink */
.divider-bg.anim-fade { opacity: 0.13 !important; animation: none !important; }
[data-active="true"] .divider-bg.anim-fade { opacity: 0.13 !important; animation: none !important; }

/* Slide 4 — emphasis spans for verify/see/hear */
.thesis .lead {
  /* Reserve final height to prevent layout jump on the last reveal */
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.thesis .lead .line-2 { display: block; margin-top: 28px; }
.thesis .lead .typed {
  color: var(--ink-dim);
}
.thesis .lead .emph {
  font-style: normal;
  font-weight: 600;
  color: #ffffff;
  display: inline-block;
  opacity: 0;
  transform: translateY(2px);
  text-shadow: 0 0 0 rgba(232,115,28,0);
  transition: opacity 0.25s ease, transform 0.25s ease, text-shadow 0.6s ease;
}
.thesis .lead .emph.shown {
  opacity: 1;
  transform: translateY(0);
  text-shadow: 0 0 18px rgba(232,115,28,0.55);
}
.thesis .lead .caret {
  display: inline-block;
  width: 2px;
  background: var(--orange);
  margin-left: 2px;
  animation: caret-blink 0.9s steps(2) infinite;
  vertical-align: -2px;
  height: 0.95em;
}
@keyframes caret-blink {
  0%, 50% { opacity: 1; }
  50.01%, 100% { opacity: 0; }
}

/* ---------- Act marker (small label top-left) ---------- */
.act-marker {
  position: absolute;
  top: 56px;
  left: 64px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: var(--ink-faint);
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 5;
}
.act-marker::before {
  content: "";
  width: 32px;
  height: 1px;
  background: var(--ink-faint);
}
.act-marker b {
  color: var(--orange);
  font-weight: 500;
}


/* Slide 2 — restructured cards: header row with label + AI-DRAFTED chip */
.collapse-card .card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.collapse-card .card-head .label { margin: 0; }
.collapse-card .card-head .ai-stamp {
  position: static;
  background: rgba(232, 115, 28, 0.12);
  color: var(--orange);
  border: 1px solid rgba(232, 115, 28, 0.4);
  padding: 4px 10px;
  border-radius: 4px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.collapse-card .doc.reject-doc {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(168, 40, 75, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 12px;
}

/* S2 — hall of mirrors gradient */
.hom-em {
  font-style: italic;
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-weight: 500;
}

/* Slide 3 — equal-width stats, citation breathing room, no underline */
.cost-stat .copy { white-space: normal; max-width: none; }
.cost-stat .src { margin-top: 56px; text-decoration: none !important; border-bottom: 0 !important; }
.cost-stat a.src:hover { text-decoration: none !important; }

/* Slide 3 — only the 0% number reveals late and pulses 3x; rest of the stat appears with d5 */
.cost-stat .zero-num-wrap { display: inline-block; }
.cost-stat .zero-num { opacity: 0; }
[data-active="true"] .cost-stat .zero-num {
  animation: zeroAppear 600ms 1200ms forwards, zeroPulseNum 1.4s 1900ms 3;
}
@keyframes zeroAppear { from { opacity: 0; } to { opacity: 1; } }
@keyframes zeroPulseNum {
  0%, 100% { color: var(--ink); text-shadow: none; transform: scale(1); }
  50%      { color: #ffb070; text-shadow: 0 0 40px rgba(232,115,28,0.85); transform: scale(1.06); }
}


/* Closing slide — stacked logo / tagline / URL */
.closing-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.closing-stack img { height: 56px; width: auto; }
.closing-stack .closing-tagline {
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--ink-dim);
}
.closing-stack .closing-url {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: 0.18em;
  color: var(--orange);
  text-decoration: none;
}
.closing-stack .closing-url:hover { text-decoration: underline; }

/* Slide 1 — wordmark fixed, top-right, no animation */
.cold-open-logo-tr {
  position: absolute;
  top: 64px;
  right: 64px;
  width: 200px;
  height: auto;
  opacity: 0.95;
  z-index: 5;
}


/* ============================================================
   Round-of-changes overrides (m0038)
   ============================================================ */

/* Footer — left-aligned brand name; URL absolutely centered */
.brand-mark {
  left: 100px !important;
  right: auto !important;
  transform: none !important;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.brand-mark .brand-name {
  color: var(--ink-faint);
  letter-spacing: 0.18em;
}
.brand-mark .url,
.brand-mark a.url {
  position: fixed;
  left: 50%;
  bottom: 48px;
  transform: translateX(-50%);
  padding-left: 0 !important;
  border-left: 0 !important;
}
/* Footer URL — absolutely centered on each slide, independent of brand-mark */
section > .footer-url {
  position: absolute;
  bottom: 48px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--orange);
  text-decoration: none;
  z-index: 6;
}
section > .footer-url:hover { text-decoration: underline; }

/* Vertical centering — equal top/bottom padding so flex/grid centering reads visually */
.frame { padding-block: 96px !important; }
.walkthrough { padding-block: 96px !important; }
.thesis { padding-block: 96px !important; justify-content: center !important; }
.chapter { padding-block: 96px !important; }

/* Top-right AETHEON logo on every slide (uses cold-open-logo-tr already styled) */
.cold-open-logo-tr {
  position: absolute;
  top: 48px;
  right: 100px;
  width: 150px;
  height: auto;
  opacity: 0.85;
  z-index: 5;
  pointer-events: none;
}

/* Walkthrough h2 invert: muted body, bold-white em */
.walkthrough h2.invert-em {
  color: #ffffff;
  text-wrap: balance;
}
.walkthrough h2.invert-em em {
  font-style: italic;
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-weight: 400;
}

/* Bullet text muted, formerly-gradient bold now bright white */
.walkthrough .pull p { color: var(--ink-dim) !important; }
.walkthrough .pull p b {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: #ffffff !important;
  color: #ffffff !important;
}

/* Chapter-title h1 em — gradient (S7 'pulse', S11 'a website', S17 'finds') */
.chapter-title h1 em {
  font-style: italic;
  background: var(--grad-flame);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-weight: 400;
}

/* Suppress centered footer URL globally — brand-mark already names the site */
section > .footer-url { display: none !important; }

/* S5 — wordmark: flicker on, then slow glow pulse */
[data-active="true"] .logo-reveal img.wordmark {
  animation: aFlicker 2.4s forwards, meGlow 6.4s ease-in-out 2.4s infinite alternate !important;
}
.logo-reveal img.wordmark {
  animation: none;
  filter: drop-shadow(0 0 30px rgba(232, 115, 28, 0.20));
}
@keyframes meGlow {
  0%   { filter: drop-shadow(0 0 30px rgba(232, 115, 28, 0.20)); }
  100% { filter: drop-shadow(0 0 80px rgba(232, 115, 28, 0.55)); }
}

/* S6 — short module cards, content snug, no top/bottom dead space */
.system-grid {
  gap: 22px !important;
  flex: none !important;
  align-self: center !important;
}
.module-card {
  padding: 18px 22px !important;
  min-height: 0 !important;
  height: auto !important;
  justify-content: flex-start !important;
  gap: 6px !important;
}
.module-card .num { margin: 0 !important; }
.module-card h3 { font-size: 30px !important; margin: 4px 0 8px !important; line-height: 1.05 !important; }
.module-card p { font-size: 15px !important; line-height: 1.45 !important; margin: 0 !important; }
.module-card .who { margin-top: 10px !important; }

/* S2 — equalize card heights and align doc/verdict rows across all three cards */
.collapse-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px !important;
}
.collapse-card .doc {
  min-height: 0 !important;
  height: 180px;
  padding: 14px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
}
.collapse-card .doc-para { display: block; margin: 0 0 14px; }
.collapse-card .doc-para:last-child { margin-bottom: 0; }
.collapse-card .doc-para .doc-line { margin-bottom: 8px; }
.collapse-card .doc-para .doc-line:last-child { margin-bottom: 0; }
.collapse-card .doc.reject-doc {
  align-items: stretch;
}
.collapse-card .doc.reject-doc svg {
  width: 100%;
  height: 100%;
  max-width: none;
  display: block;
}
.cost-stat .src,
a.cost-stat-src,
.cost-stat a.src {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-faint);
  text-decoration: none;
  display: inline-block;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}
/* Re-add verdict-sub for S2 cards (placed here after src styles) */
.collapse-card .verdict { margin-top: auto; }
.collapse-card .doc-para-gap {
  height: 12px;
}

/* S6 module-card — shorter, vertically centered */
.module-card {
  padding: 28px !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: auto !important;
}


/* === Round of fixes === */
/* S3 — orange "actual problem" label */
.cost-stat .src.actual-problem { color: var(--orange) !important; }

/* S4 — keep typewriter sentence on one line */
.thesis .lead { white-space: nowrap !important; min-height: 0 !important; max-width: none !important; }
.thesis .lead .line-1 { white-space: nowrap; }

/* S6 — vertically center system-grid in frame, balanced padding */
.system-grid {
  margin: auto 0 !important;
  align-self: center !important;
}
.module-card { padding: 44px 40px !important; gap: 14px !important; }
.module-card h3 { font-size: 32px !important; margin: 8px 0 14px !important; line-height: 1.1 !important; }
.module-card p { font-size: 17px !important; line-height: 1.55 !important; }
.module-card .who { margin-top: 22px !important; padding-top: 22px !important; }

/* S7 / chapter intros — actually vertically center against the section box */
section > .chapter { position: absolute; inset: 0; padding-block: 0 !important; align-content: center; }
.chapter-title { align-self: center; }
.chapter-side { align-self: center; }

/* S4 — center thesis block against full slide, ignoring act-marker/footer */
section > .thesis { position: absolute; inset: 0; padding-block: 0 !important; justify-content: center; }

/* S9 — narrative same height + center as the image so their tops line up */
[data-label="A · Company Landing"] .walkthrough .narrative,
[data-label="B · .ME Home"] .walkthrough .narrative {
  align-self: center !important;
  justify-content: flex-start !important;
  height: 840px;
}

/* Footer divider/text consistent baseline */
.brand-mark { bottom: 48px !important; }
.slide-num { bottom: 48px !important; }


/* --- */

deck-stage:not(:defined){visibility:hidden}