/* ============================================================
   GROWTH TIME — Design Tokens
   colors_and_type.css

   Two surfaces share one teal-green identity:
   1. SYSTEM  — the GT app (gt-system). Light UI, dark sidebar, Inter.
   2. BRAND   — the marketing landing. Russo One + Open Sans, petróleo
                + action-green, vibrant teal accents.

   Fonts are now SELF-HOSTED on Cloudflare Pages (woff2 in fonts/files/,
   @font-face rules in fonts/fonts.css) — no external CDN dependency.
   ============================================================ */

/* fonts merged below */

:root {
  /* ---------------------------------------------------------
     CORE BRAND COLORS
     The signature mark is teal-green. The marketing language adds
     a darker "petróleo" for contrast and a slightly bluer action
     green for buttons.
     --------------------------------------------------------- */

  /* Teal-green — the signature. Used in the logo arrow, system primary,
     accents, charts, CTAs. */
  --gt-teal:            #38cc9c;   /* system primary, hsl(156 54% 51%) */
  --gt-teal-vibrant:    #15dba8;   /* marketing accent — arrows, glows, key numbers */
  --gt-teal-logo:       #00cf9a;   /* the exact green of the logo arrow mark */
  --gt-teal-dark:       #27ae8f;   /* CTA gradient end */
  --gt-action:          #2bb673;   /* marketing action green — buttons (gradient start) */
  --gt-green-inst:      #066767;   /* institutional / sober logo variant */

  /* Petróleo — deep teal-black. Dark sections, footer, contrast moments. */
  --gt-petroleo:        #0b2b29;
  --gt-petroleo-deep:   #001516;
  --gt-ink:             #121212;   /* sidebar, strong titles (hsl 0 0% 7%) */

  /* Neutrals */
  --gt-bg:              #fafafa;   /* app + landing light base (hsl 0 0% 98%) */
  --gt-bg-alt:          #f4f6f5;   /* hero / alt light section */
  --gt-surface:         #ffffff;   /* cards */
  --gt-fg:              #171717;   /* foreground (hsl 0 0% 9%) */
  --gt-fg-muted:        #5f5e5a;   /* secondary text / subtitles */
  --gt-fg-subtle:       #737373;   /* muted-foreground (hsl 0 0% 45%) */
  --gt-border:          #e5e5e5;   /* hsl 0 0% 90% */

  /* ---------------------------------------------------------
     SYSTEM (APP) SEMANTIC TOKENS  — mirrors gt-system index.css
     --------------------------------------------------------- */
  --background:         var(--gt-bg);
  --foreground:         var(--gt-fg);
  --card:               #ffffff;
  --card-foreground:    var(--gt-fg);
  --primary:            var(--gt-teal);
  --primary-foreground: #ffffff;
  --secondary:          #f5f5f5;          /* hsl 0 0% 96% */
  --muted:              #f5f5f5;
  --muted-foreground:   var(--gt-fg-subtle);
  --accent:             var(--gt-teal);
  --destructive:        #ef4444;          /* hsl 0 84% 60% */
  --success:            var(--gt-teal);
  --warning:            #f97316;          /* hsl 25 95% 53% */
  --info:               var(--gt-teal);
  --border:             var(--gt-border);
  --input:              var(--gt-border);
  --ring:               var(--gt-teal);

  /* Sidebar — dark */
  --sidebar-bg:         #121212;          /* hsl 0 0% 7% */
  --sidebar-fg:         #f5f5f5;          /* hsl 0 0% 96% */
  --sidebar-accent:     #242424;          /* hsl 0 0% 14% */
  --sidebar-border:     #242424;
  --sidebar-primary:    var(--gt-teal);

  /* Tier colors (gamified seller goals: bronze / prata / ouro) */
  --tier-bronze:        #bd6b2f;
  --tier-prata:         #a3adba;
  --tier-ouro:          #f3b315;

  /* Funnel palette (the stacked sales funnel) — cyan→emerald→amber→orange→purple */
  --funnel-1:           #06b6d4;   /* cyan-500  — Mensagens Recebidas */
  --funnel-2:           #10b981;   /* emerald-500 — Leads Qualificados */
  --funnel-3:           #f59e0b;   /* amber-500 — Pedidos */
  --funnel-4:           #f97316;   /* orange-500 — Custos */
  --funnel-5:           #a855f7;   /* purple-500 — Valor de Vendas */

  /* KPI pastel card tints (app dashboard) */
  --kpi-emerald-bg:     #ecfdf5;  --kpi-emerald-fg: #059669;
  --kpi-purple-bg:      #faf5ff;  --kpi-purple-fg:  #9333ea;
  --kpi-blue-bg:        #eff6ff;  --kpi-blue-fg:    #2563eb;
  --kpi-slate-bg:       #f8fafc;  --kpi-slate-fg:   #475569;

  /* ---------------------------------------------------------
     GRADIENTS
     --------------------------------------------------------- */
  --gradient-primary:   linear-gradient(135deg, #38cc9c 0%, #2b9d78 100%);
  --gradient-cta:       linear-gradient(135deg, #2bb673 0%, #27ae8f 100%); /* marketing buttons */
  --gradient-petroleo:  linear-gradient(160deg, #0b2b29 0%, #001516 100%); /* dark sections */
  --gradient-teal-glow: linear-gradient(135deg, #15dba8 0%, #38cc9c 100%);

  /* ---------------------------------------------------------
     RADII — system radius is 0.75rem (12px)
     --------------------------------------------------------- */
  --radius:             0.75rem;   /* 12px — default card/button (lg) */
  --radius-md:          0.625rem;  /* calc(radius - 2px) */
  --radius-sm:          0.5rem;    /* calc(radius - 4px) */
  --radius-xl:          1rem;      /* 16px — large feature cards */
  --radius-pill:        999px;

  /* ---------------------------------------------------------
     SHADOWS — soft, neutral, low-spread
     --------------------------------------------------------- */
  --shadow-sm:   0 1px 2px 0 hsl(0 0% 0% / 0.05);
  --shadow-md:   0 4px 6px -1px hsl(0 0% 0% / 0.1), 0 2px 4px -2px hsl(0 0% 0% / 0.1);
  --shadow-lg:   0 10px 15px -3px hsl(0 0% 0% / 0.1), 0 4px 6px -4px hsl(0 0% 0% / 0.1);
  --shadow-xl:   0 20px 25px -5px hsl(0 0% 0% / 0.1), 0 8px 10px -6px hsl(0 0% 0% / 0.1);
  --shadow-glow: 0 0 20px hsl(156 54% 51% / 0.3);   /* teal glow for accents */

  /* ---------------------------------------------------------
     TYPOGRAPHY
     - Russo One : display / headlines / big numbers (MARKETING only)
     - Open Sans : marketing body, subtitles, paragraphs
     - Inter     : the SYSTEM UI font (all app mockups use Inter)
     --------------------------------------------------------- */
  --font-display: 'Russo One', system-ui, sans-serif;  /* headlines, uppercase-friendly */
  --font-body:    'Open Sans', system-ui, sans-serif;  /* marketing prose */
  --font-ui:      'Inter', system-ui, -apple-system, sans-serif; /* app interface */

  /* Type scale (marketing landing) */
  --text-hero:     clamp(2.75rem, 6vw, 5rem);   /* Russo One hero headline */
  --text-display:  clamp(2rem, 4vw, 3.25rem);   /* section headlines */
  --text-h2:       2rem;
  --text-h3:       1.5rem;
  --text-eyebrow:  0.8125rem;   /* the SUPER-TITLE / olho — uppercase, tracked */
  --text-body-lg:  1.25rem;
  --text-body:     1rem;
  --text-sm:       0.875rem;
  --text-xs:       0.75rem;

  --tracking-eyebrow: 0.14em;
  --leading-tight:    1.1;
  --leading-body:     1.6;
}

/* ============================================================
   SEMANTIC TYPE CLASSES
   ============================================================ */

/* --- Marketing (landing) --- */
.gt-eyebrow {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-eyebrow);
  letter-spacing: var(--tracking-eyebrow);
  text-transform: uppercase;
  color: var(--gt-teal);
}
.gt-hero {
  font-family: var(--font-display);
  font-size: var(--text-hero);
  line-height: var(--leading-tight);
  letter-spacing: -0.01em;
  color: var(--gt-ink);
}
.gt-display {
  font-family: var(--font-display);
  font-size: var(--text-display);
  line-height: 1.12;
  color: var(--gt-ink);
}
.gt-h2 { font-family: var(--font-display); font-size: var(--text-h2); line-height: 1.15; }
.gt-h3 { font-family: var(--font-body); font-weight: 700; font-size: var(--text-h3); line-height: 1.25; }
.gt-lead {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-lg);
  line-height: var(--leading-body);
  color: var(--gt-fg-muted);
}
.gt-body {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body);
  line-height: var(--leading-body);
  color: var(--gt-fg-muted);
}
.gt-stat {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 1;
  color: var(--gt-teal);
}

/* --- System (app) --- */
.ui-h1   { font-family: var(--font-ui); font-weight: 700; font-size: 1.5rem;  line-height: 1.2; color: var(--gt-fg); }
.ui-h2   { font-family: var(--font-ui); font-weight: 600; font-size: 1.125rem; line-height: 1.3; color: var(--gt-fg); }
.ui-body { font-family: var(--font-ui); font-weight: 400; font-size: 0.875rem; line-height: 1.5; color: var(--gt-fg); }
.ui-label{ font-family: var(--font-ui); font-weight: 500; font-size: 0.8125rem; color: var(--muted-foreground); }
.ui-kpi  { font-family: var(--font-ui); font-weight: 700; font-size: 1.5rem; letter-spacing: -0.01em; color: var(--gt-fg); }


/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.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';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.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';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.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';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.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';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.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';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.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';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.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';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.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';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.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';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.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';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/files/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* hebrew */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* math */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* hebrew */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* math */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* hebrew */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* math */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* hebrew */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* math */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* hebrew */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* math */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTVOmu1aB.woff2) format('woff2');
  unicode-range: U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;
}
/* symbols */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTUGmu1aB.woff2) format('woff2');
  unicode-range: U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;
}
/* vietnamese */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.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: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/files/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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 */
@font-face {
  font-family: 'Russo One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/files/Z9XUDmZRWg6M1LvRYsHOy8mJrrg.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Russo One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/files/Z9XUDmZRWg6M1LvRYsHOwcmJrrg.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: 'Russo One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/files/Z9XUDmZRWg6M1LvRYsHOz8mJ.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;
}


/* ============================================================
   Growth Time — Marketing Landing  (MOBILE-FIRST)
   facilpay-style: floating widgets, continuous drift, scroll
   parallax, count-up, animated reach-map, message choreography.
   Designed for the mobile format first; content lives in a
   centered ~460px column.
   ============================================================ */
/* tokens merged above */

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Open Sans', system-ui, sans-serif;
  color: #171717;
  background: #fafafa;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
.wrap { width: 100%; max-width: 480px; margin: 0 auto; padding: 0 22px; }
h1, h2, h3, .display { font-family: 'Russo One', sans-serif; font-weight: 400; }

/* --- Reveal (JS rAF-driven) --- */
.reveal { opacity: 0; transform: translateY(26px); will-change: opacity, transform; }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1 !important; transform: none !important; } }

.eyebrow { font-family: 'Open Sans'; font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #27ae8f; }
.eyebrow.on-dark { color: #15dba8; }

/* --- Buttons --- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-family: 'Open Sans'; font-weight: 700; font-size: 16px; padding: 16px 26px; border-radius: 14px; border: none; cursor: pointer; text-decoration: none; transition: transform .15s, box-shadow .2s, filter .2s; }
.btn-cta { background: var(--gradient-cta); color: #fff; box-shadow: 0 10px 26px rgba(43,182,115,.36); }
.btn-cta:hover { transform: translateY(-2px); filter: brightness(1.04); }
.btn-cta:active { transform: translateY(0) scale(.98); }
.btn-ghost { background: #fff; color: #171717; font-weight: 700; border: 1px solid #e7e7e7; }
.btn-block { width: 100%; }

/* ============================== NAV ============================== */
.nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; padding: 13px 18px; transition: background .3s, box-shadow .3s, padding .3s; }
.nav.scrolled { background: rgba(250,250,250,.86); backdrop-filter: blur(12px); box-shadow: 0 1px 0 rgba(0,0,0,.06); }
.nav .brand { display: flex; align-items: center; gap: 9px; }
.nav .brand img { height: 30px; }
.nav .brand span { font-family: 'Russo One'; font-size: 19px; }
.nav .brand .dot { color: #15dba8; }
.nav-links { display: flex; align-items: center; gap: 8px; }
.nav-links a:not(.btn) { display: none; }
.nav-cta { font-size: 13.5px; padding: 10px 16px; border-radius: 11px; }

/* ============================== HERO ============================== */
.hero { position: relative; padding: 104px 0 56px; overflow: hidden; background: radial-gradient(120% 60% at 50% 0%, #e7f5ef 0%, #fafafa 58%); text-align: center; }
.hero-kicker { display: inline-flex; align-items: center; gap: 8px; font-family: 'Russo One'; font-size: 12.5px; color: #27ae8f; background: rgba(56,204,156,.1); border: 1px solid rgba(56,204,156,.25); padding: 7px 15px; border-radius: 999px; margin-bottom: 18px; }
.hero-kicker .sep { color: #9fd3c2; }
.hero h1 { font-size: clamp(2.4rem, 12vw, 3.5rem); line-height: 1.0; letter-spacing: -.015em; color: #121212; }
.hero h1 .hl { color: #27ae8f; }
.hero .lead { font-size: 16.5px; line-height: 1.55; color: #5f5e5a; margin: 18px auto 24px; max-width: 380px; }
.hero-cta { display: flex; flex-direction: column; align-items: stretch; gap: 11px; max-width: 360px; margin: 0 auto; }
.hero-trust { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 22px; font-size: 12.5px; color: #8a8a86; }
.hero-trust b { color: #121212; font-weight: 800; }
.hero-trust .dot { width: 4px; height: 4px; border-radius: 999px; background: #cbd2cf; }

/* phone stage — the focal point */
.hero-stage { position: relative; height: 600px; margin: 44px auto 0; max-width: 460px; }
.stage-glow { position: absolute; left: 50%; top: 46%; width: 360px; height: 360px; transform: translate(-50%,-50%); border-radius: 999px; background: radial-gradient(circle, rgba(56,204,156,.32) 0%, rgba(56,204,156,0) 66%); z-index: 0; will-change: transform, opacity; }

/* ===== WhatsApp moderno (modo claro) — chrome credível, papel de parede,
   balões com rabinho, ticks SVG, barra de status + barra de digitar ===== */
.phone { position: absolute; left: 50%; top: 0; transform: translateX(-50%); width: 290px; height: 560px; background: #fff; border-radius: 46px; box-shadow: 0 44px 90px rgba(11,43,41,.28), 0 10px 24px rgba(11,43,41,.12); border: 10px solid #0e1013; overflow: hidden; z-index: 3; will-change: transform; display: flex; flex-direction: column;
  font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
/* Dynamic Island (pílula central) */
.phone .island { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); width: 86px; height: 24px; background: #0a0a0a; border-radius: 999px; z-index: 9; }
/* barra de status do aparelho */
.phone .pstatus { flex: 0 0 auto; height: 32px; display: flex; align-items: flex-end; justify-content: space-between; padding: 0 16px 5px; background: #fff; color: #0b141a; }
.phone .pst-time { font-size: 12.5px; font-weight: 600; letter-spacing: .02em; }
.phone .pst-ic { display: flex; align-items: center; gap: 5px; }
.phone .pst-ic svg { display: block; }
/* header do chat (branco, ícones verdes — WhatsApp 2024) */
.phone .pbar { flex: 0 0 auto; background: #fff; color: #111b21; display: flex; align-items: center; gap: 6px; padding: 6px 6px 7px 2px; border-bottom: 1px solid #e9edef; }
.phone .pbk { flex: 0 0 auto; display: flex; color: #008069; padding: 0; }
.phone .pbk svg { display: block; }
.phone .pav { position: relative; flex: 0 0 auto; height: 34px; width: 34px; border-radius: 999px; background: linear-gradient(135deg,#25d366,#128c7e); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; }
.phone .pav .dot { position: absolute; right: -1px; bottom: -1px; width: 10px; height: 10px; border-radius: 999px; background: #25d366; border: 2px solid #fff; }
.phone .pbar-id { flex: 1 1 auto; min-width: 0; }
.phone .pbar-name { display: flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; color: #111b21; line-height: 1.15; white-space: nowrap; }
.phone .pbar-name .nm { overflow: hidden; text-overflow: ellipsis; }
.phone .pbar-name .vf { flex: 0 0 auto; display: flex; color: #25d366; }
.phone .pbar-sub { font-size: 11.5px; color: #667781; line-height: 1.2; }
.phone .pbar-acts { flex: 0 0 auto; display: flex; align-items: center; gap: 12px; color: #008069; padding-right: 3px; }
.phone .pbar-acts svg { display: block; }
/* feed = papel de parede de rabiscos do WhatsApp (claro) */
.phone .pbody { flex: 1 1 auto; min-height: 0; height: auto; display: flex; flex-direction: column; justify-content: flex-end; gap: 3px; padding: 10px 11px 8px; overflow: hidden;
  text-align: left; /* o .hero é center; o chat tem que ser left (WhatsApp real) */
  background-color: #efeae2;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150' viewBox='0 0 150 150'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='0.035' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M26 34c0-4 3-7 7-7s6 3 6 6c0 5-6 9-6 9s-7-4-7-8z'/%3E%3Ccircle cx='112' cy='30' r='9'/%3E%3Cpath d='M108 31a4 3 0 0 0 8 0'/%3E%3Cpath d='M64 78l3 7 7 1-5 5 1 7-6-3-7 3 1-7-5-5 7-1z'/%3E%3Cpath d='M122 92c4 0 6 3 6 6s-2 6-6 6'/%3E%3Cpath d='M22 108h13M28 102v13'/%3E%3Cpath d='M44 118c0-7 5-12 12-12'/%3E%3Crect x='96' y='118' width='17' height='13' rx='2.5'/%3E%3Ccircle cx='104.5' cy='124.5' r='3.2'/%3E%3Cpath d='M100 118l1.5-2.5h6L109 118'/%3E%3Cpath d='M132 56v13M138 60l-6-4-6 4'/%3E%3Cpath d='M20 66c3-3 8-3 11 0'/%3E%3Ccircle cx='78' cy='30' r='3'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 150px; }
/* barra de digitar */
.phone .pcompose { flex: 0 0 auto; display: flex; align-items: flex-end; gap: 7px; padding: 6px 8px; background: #f0f2f5; }
.phone .pcomp-pill { flex: 1 1 auto; display: flex; align-items: center; gap: 8px; background: #fff; border-radius: 20px; min-height: 36px; padding: 6px 10px; }
.phone .pcomp-pill .em, .phone .pcomp-pill .at, .phone .pcomp-pill .cm { flex: 0 0 auto; display: flex; color: #8696a0; }
.phone .pcomp-pill .ph { flex: 1 1 auto; font-size: 14px; color: #8696a0; }
.phone .pcomp-send { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 999px; background: #00a884; color: #fff; display: flex; align-items: center; justify-content: center; }

/* ----- balões com rabinho (CSS puro) ----- */
.msg { position: relative; max-width: 78%; font-size: 14px; line-height: 1.32; color: #111b21; padding: 5px 8px 6px 9px; box-shadow: 0 1px .5px rgba(11,20,26,.13); font-family: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; word-wrap: break-word; }
.msg.them { background: #fff; align-self: flex-start; border-radius: 1px 8px 8px 8px; }
.msg.me { background: #d9fdd3; align-self: flex-end; border-radius: 8px 1px 8px 8px; }
.msg.them::before { content: ''; position: absolute; top: 0; left: -7px; width: 0; height: 0; border-style: solid; border-width: 0 0 10px 8px; border-color: transparent transparent transparent #fff; }
.msg.me::after { content: ''; position: absolute; top: 0; right: -7px; width: 0; height: 0; border-style: solid; border-width: 0 8px 10px 0; border-color: transparent #d9fdd3 transparent transparent; }
.msg .meta { float: right; display: inline-flex; align-items: center; gap: 3px; font-size: 10.5px; color: #667781; margin: 7px 0 -2px 10px; line-height: 1; }
.msg .tick { display: inline-flex; color: #8696a0; }
.msg .tick.blue { color: #53bdeb; }
.msg .tick svg { display: block; }

/* ----- card de referral de anúncio (CTWA): "Conversa iniciada por um anúncio" ----- */
.chip-ad { align-self: flex-start; max-width: 84%; background: #fff; border-radius: 5px 10px 10px 10px; box-shadow: 0 1px .5px rgba(11,20,26,.14); padding: 7px 8px; margin-bottom: 2px; position: relative; }
.chip-ad::before { content: ''; position: absolute; top: 0; left: -7px; width: 0; height: 0; border-style: solid; border-width: 0 0 9px 8px; border-color: transparent transparent transparent #fff; }
.chip-ad .ad-h { display: flex; align-items: center; gap: 5px; color: #667781; font-size: 10.5px; font-weight: 600; margin-bottom: 6px; }
.chip-ad .ad-h svg { width: 12px; height: 12px; flex: 0 0 auto; }
.chip-ad .ad-b { display: flex; gap: 8px; align-items: center; }
.chip-ad .ad-thumb { flex: 0 0 auto; width: 50px; height: 50px; border-radius: 7px; background: linear-gradient(135deg,#27ae8f,#0b6b56); display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.92); }
.chip-ad .ad-tx { min-width: 0; }
.chip-ad .ad-tt { font-size: 12.5px; font-weight: 600; color: #111b21; line-height: 1.25; margin-bottom: 2px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.chip-ad .ad-ds { font-size: 11px; color: #667781; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* floating annotation widgets (facilpay-coin equivalent) */
.annot { position: absolute; z-index: 6; background: #fff; border-radius: 13px; box-shadow: 0 16px 36px rgba(11,43,41,.18); padding: 9px 13px; font-family: 'Inter', sans-serif; font-size: 12.5px; font-weight: 600; display: flex; align-items: center; gap: 7px; white-space: nowrap; opacity: 0; will-change: transform, opacity; }
.annot .k { font-family: 'Russo One'; color: #27ae8f; }
.annot .ic { display: inline-flex; }
.annot.a-ad   { top: 16%; left: -14px; }
.annot.a-ai   { top: 40%; right: -18px; border: 1px solid rgba(56,204,156,.4); }
.annot.a-hot  { top: 64%; left: -16px; }
.annot.a-meta { bottom: 18%; right: -6px; }
.annot.a-roas { top: 3%; right: 6px; }
.annot.a-leads{ bottom: 2%; left: 8px; }

/* ============================== MARQUEE ============================== */
.marquee { border-top: 1px solid #ececec; border-bottom: 1px solid #ececec; background: #fff; padding: 15px 0; overflow: hidden; }
.marquee-track { display: flex; gap: 40px; width: max-content; will-change: transform; }
.marquee-track .it { font-family: 'Russo One'; font-size: 15px; color: #b9bcbb; white-space: nowrap; display: flex; align-items: center; gap: 9px; }
.marquee-track .it::before { content: ''; height: 6px; width: 6px; border-radius: 999px; background: #38cc9c; }

/* ============================== SECTION SHELL ============================== */
section.block { padding: 68px 0; }
.sec-head { text-align: center; margin: 0 auto 36px; }
.sec-head h2 { font-size: clamp(1.7rem, 7vw, 2.2rem); line-height: 1.12; color: #121212; margin-top: 12px; }
.sec-head p { font-size: 16px; color: #5f5e5a; margin-top: 12px; line-height: 1.55; }

/* PAIN */
.pain { background: #f4f6f5; }
.pain-grid { display: flex; flex-direction: column; gap: 14px; }
.pain-card { background: #fff; border: 1px solid #ececec; border-radius: 18px; padding: 24px; transition: transform .25s, box-shadow .25s; }
.pain-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.pain-card .ic { height: 46px; width: 46px; border-radius: 13px; background: rgba(239,68,68,.1); display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 14px; }
.pain-card h3 { font-family: 'Open Sans'; font-weight: 700; font-size: 17px; margin-bottom: 6px; }
.pain-card p { font-size: 14.5px; color: #5f5e5a; line-height: 1.55; }
.pain-close { text-align: center; margin-top: 32px; font-family: 'Russo One'; font-size: clamp(1.3rem,5.5vw,1.7rem); color: #121212; line-height: 1.2; }
.pain-close .hl { color: #27ae8f; }

/* PILLARS */
.pillar { display: flex; flex-direction: column; gap: 18px; margin-bottom: 44px; }
.pillar:last-child { margin-bottom: 0; }
.pillar .num { font-family: 'Russo One'; font-size: 13px; color: #38cc9c; letter-spacing: .1em; }
.pillar h3 { font-size: clamp(1.5rem,6vw,2rem); color: #121212; margin: 6px 0 12px; }
.pillar p { font-size: 16px; color: #5f5e5a; line-height: 1.6; }
.pillar .pvis { border-radius: 18px; padding: 20px; background: #f4f6f5; border: 1px solid #ececec; box-shadow: var(--shadow-md); }

/* SYSTEM SHOWCASE (embedded, interactive) */
.sys-sec { background: linear-gradient(180deg,#fafafa,#eef4f1); }
.sys-frame-outer { margin: 0 auto; }
.sys-toggle { display: flex; justify-content: center; width: fit-content; gap: 4px; background: rgba(18,43,41,.06); border-radius: 999px; padding: 4px; margin: 0 auto 22px; }
.sys-tg-btn { display: inline-flex; align-items: center; gap: 6px; font-family: 'Open Sans'; font-size: 13.5px; font-weight: 700; color: #5f5e5a; background: transparent; border: none; border-radius: 999px; padding: 9px 18px; cursor: pointer; transition: background .2s, color .2s, box-shadow .2s; }
.sys-tg-btn .ic { font-size: 14px; }
.sys-tg-btn.active { background: #fff; color: #121212; box-shadow: 0 2px 8px rgba(11,43,41,.12); }
.sys-window { border-radius: 16px; overflow: hidden; box-shadow: 0 30px 70px rgba(11,43,41,.2); border: 1px solid #e2e6e4; background: #fff; }
.sys-bar { height: 36px; background: #f0f2f1; display: flex; align-items: center; gap: 7px; padding: 0 14px; border-bottom: 1px solid #e6e9e8; }
.sys-bar .d { height: 11px; width: 11px; border-radius: 999px; }
.sys-bar .u { margin-left: 10px; font-family: 'Inter'; font-size: 11px; color: #9aa0a0; background: #fff; border: 1px solid #e6e9e8; border-radius: 6px; padding: 3px 12px; }
.sys-viewport { position: relative; overflow: hidden; width: 100%; }
.sys-viewport iframe { border: 0; position: absolute; top: 0; left: 0; transform-origin: top left; }
/* mobile device frame */
.sys-phone { position: relative; width: 300px; margin: 0 auto; background: #15171a; border-radius: 42px; padding: 11px; box-shadow: 0 34px 80px rgba(11,43,41,.26); }
.sys-phone-notch { position: absolute; top: 11px; left: 50%; transform: translateX(-50%); width: 130px; height: 26px; background: #15171a; border-radius: 0 0 16px 16px; z-index: 4; }
.sys-phone-viewport { position: relative; overflow: hidden; width: 100%; border-radius: 32px; background: #fff; }
.sys-phone-viewport iframe { border: 0; position: absolute; top: 0; left: 0; transform-origin: top left; }
.sys-hint { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 16px; font-size: 13.5px; color: #5f5e5a; }
.sys-full-btn { margin-top: 16px; }

/* SYSTEM EXPLAINER (accordion) */
.explain-sec { background: #fff; }
.accordion { display: flex; flex-direction: column; gap: 12px; max-width: 720px; margin: 0 auto; }
.acc-item { border: 1px solid #e8ebea; border-radius: 16px; background: #fff; overflow: hidden; transition: box-shadow .25s, border-color .25s; }
.acc-item.open { border-color: rgba(56,204,156,.4); box-shadow: 0 12px 30px rgba(11,43,41,.08); }
.acc-head { width: 100%; display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: transparent; border: none; cursor: pointer; font-family: 'Open Sans', sans-serif; text-align: left; }
.acc-ic { font-size: 22px; line-height: 1; flex-shrink: 0; }
.acc-title { flex: 1; font-family: 'Russo One', sans-serif; font-size: 18px; color: #121212; }
.acc-chev { font-family: 'Open Sans', sans-serif; font-size: 26px; font-weight: 300; color: #27ae8f; line-height: 1; transition: transform .3s; width: 22px; text-align: center; }
.acc-item.open .acc-chev { transform: rotate(45deg); }
.acc-body { overflow: hidden; height: 0; }
.acc-inner { padding: 0 20px 20px; }
.acc-list { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.acc-list li { position: relative; padding-left: 22px; font-size: 15px; line-height: 1.55; color: #5f5e5a; }
.acc-list li::before { content: ''; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 999px; background: #38cc9c; }
.acc-list li b { color: #171717; }
.acc-list .hot { color: #dc2626; font-weight: 700; }
.acc-list .cold { color: #0284c7; font-weight: 700; }
.acc-list .frozen { color: #64748b; font-weight: 700; }
.ba-stage { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.ba-monthbar { display: flex; align-items: baseline; justify-content: center; gap: 10px; }
.ba-month { font-family: 'Russo One'; font-size: 22px; color: #121212; line-height: 1; white-space: nowrap; }
.ba-date { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 700; color: #fff; background: var(--gradient-cta); padding: 4px 12px; border-radius: 999px; letter-spacing: .02em; text-transform: capitalize; white-space: nowrap; }
.ba-metrics { display: flex; gap: 14px; width: 100%; justify-content: center; }
.ba-metric { text-align: center; flex: 1; }
.ba-metric .lab { font-size: 12px; color: #737373; font-weight: 600; }
.ba-metric .val { font-family: 'Russo One'; font-size: clamp(1.5rem,7vw,2.2rem); line-height: 1.05; color: #27ae8f; transition: color .3s; }
.ba-phone { position: relative; width: 240px; height: 360px; background: #fff; border-radius: 34px; border: 8px solid #15171a; overflow: hidden; box-shadow: var(--shadow-lg); }
.ba-phone .pbar { background: #075e54; color: #fff; padding: 12px; display: flex; align-items: center; gap: 8px; }
.ba-phone .pav { height: 28px; width: 28px; border-radius: 999px; background: rgba(255,255,255,.22); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; }
.ba-phone .pbody { background: #e5ddd3; height: 100%; padding: 10px; display: flex; flex-direction: column; gap: 6px; overflow: hidden; }
.ba-slider-wrap { max-width: 380px; margin: 28px auto 0; text-align: center; width: 100%; }
.ba-scale { display: flex; justify-content: space-between; margin-top: 9px; padding: 0 2px; }
.ba-scale span { width: 7px; height: 7px; border-radius: 999px; background: #d4ddd9; transition: background .2s, transform .2s; }
.ba-scale span.on { background: #27ae8f; transform: scale(1.25); }
.ba-track { -webkit-appearance: none; appearance: none; width: 100%; height: 10px; border-radius: 999px; background: linear-gradient(90deg,#2bb673,#15dba8); outline: none; }
.ba-track::-webkit-slider-thumb { -webkit-appearance: none; height: 30px; width: 30px; border-radius: 999px; background: #fff; border: 4px solid #27ae8f; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.2); }
.ba-labels { display: flex; justify-content: space-between; margin-top: 10px; font-size: 12.5px; font-weight: 700; color: #737373; }
.ba-labels .on { color: #27ae8f; }

/* GPS */
.gps-grid { display: flex; flex-direction: column; gap: 26px; }
.gps h2 { font-size: clamp(1.6rem,6.5vw,2.1rem); color: #121212; line-height: 1.12; }
.gps p { font-size: 16px; color: #5f5e5a; line-height: 1.6; margin-top: 14px; }
.gps-bullets { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.gps-bullets .b { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #ececec; border-radius: 999px; padding: 9px 15px; font-size: 13.5px; font-weight: 600; box-shadow: var(--shadow-sm); }

/* MAP (petróleo) */
.map-sec { background: var(--gradient-petroleo); color: #fff; position: relative; overflow: hidden; }
.map-sec .sec-head h2 { color: #fff; }
.map-sec .sec-head p { color: rgba(255,255,255,.7); }
.map-stage { position: relative; max-width: 340px; margin: 0 auto; }
.map-stage img { display: block; width: 100%; height: auto; }
.map-stage svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.map-stage svg { width: 100%; height: auto; display: block; }
.arc { fill: none; stroke: #15dba8; stroke-width: 2.5; stroke-linecap: round; opacity: .9; stroke-dasharray: var(--len); stroke-dashoffset: var(--len); }
.pulse { fill: #15dba8; }
.pulse-ring { fill: none; stroke: #15dba8; opacity: 0; }
.map-widget { position: absolute; background: rgba(255,255,255,.08); border: 1px solid rgba(21,219,168,.3); backdrop-filter: blur(6px); border-radius: 11px; padding: 7px 11px; font-family: 'Inter'; z-index: 3; will-change: transform; }
.map-widget b { font-family: 'Russo One'; color: #15dba8; font-size: 15px; display: block; }
.map-widget span { font-size: 10px; color: rgba(255,255,255,.7); }

/* CONFECÇÃO */
.conf { background: #fff; }
.conf-grid { display: flex; flex-direction: column; gap: 26px; }
.conf h2 { font-size: clamp(1.6rem,6.5vw,2.1rem); color: #121212; line-height: 1.16; margin: 12px 0 14px; }
.conf .lead2 { font-size: 16px; color: #5f5e5a; line-height: 1.6; }
.conf-rows { display: flex; flex-direction: column; gap: 12px; }
.conf-row { display: flex; flex-direction: column; gap: 8px; background: #f4f6f5; border-radius: 14px; padding: 15px 16px; border: 1px solid #ececec; }
.conf-row .pain-t { font-size: 13.5px; color: #8a8a86; }
.conf-row .arrow { color: #27ae8f; font-weight: 700; }
.conf-row .sol-t { font-size: 14px; font-weight: 700; color: #171717; }

/* PROOF (counters) */
.proof { background: #f4f6f5; }
.proof-grid { display: flex; flex-direction: column; gap: 16px; }
.proof-card { background: #fff; border: 1px solid #ececec; border-radius: 20px; padding: 32px 24px; text-align: center; box-shadow: var(--shadow-sm); }
.proof-card .big { font-family: 'Russo One'; font-size: clamp(2.4rem,11vw,3.2rem); line-height: 1; color: #27ae8f; }
.proof-card .cap { font-size: 14.5px; color: #5f5e5a; margin-top: 10px; }

/* DIFERENCIAL */
.dif { background: #fafafa; text-align: center; }
.dif h2 { font-size: clamp(1.7rem,7vw,2.4rem); color: #121212; }
.dif p { font-size: 16.5px; color: #5f5e5a; line-height: 1.6; margin: 16px auto 0; }

/* FINAL CTA (petróleo) */
.cta-final { background: var(--gradient-petroleo); color: #fff; text-align: center; position: relative; overflow: hidden; }
.cta-final h2 { font-size: clamp(1.9rem,8vw,2.8rem); color: #fff; line-height: 1.08; }
.cta-final p { font-size: 16px; color: rgba(255,255,255,.75); margin: 14px auto 26px; line-height: 1.55; }
.cta-final .reinforce { font-size: 12.5px; color: rgba(255,255,255,.6); margin-top: 16px; }
.cta-glow { position: absolute; width: 420px; height: 420px; border-radius: 999px; background: radial-gradient(circle, rgba(21,219,168,.24), transparent 65%); top: -160px; left: 50%; transform: translateX(-50%); pointer-events: none; }

/* FOOTER */
footer { background: #001516; color: rgba(255,255,255,.6); padding: 48px 0 32px; }
.foot-grid { display: flex; flex-direction: column; gap: 28px; }
footer .brand { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
footer .brand img { height: 28px; }
footer .brand span { font-family: 'Russo One'; font-size: 17px; color: #fff; }
footer .brand .dot { color: #15dba8; }
.foot-links { display: flex; gap: 40px; flex-wrap: wrap; }
.foot-col h4 { font-family: 'Open Sans'; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-bottom: 11px; }
.foot-col a { display: block; color: rgba(255,255,255,.7); text-decoration: none; font-size: 13.5px; margin-bottom: 8px; }
.foot-col a:hover { color: #15dba8; }
.foot-legal { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.08); font-size: 12px; line-height: 1.7; color: rgba(255,255,255,.45); }

/* ============================================================
   DESKTOP RESPONSIVE LAYER
   Mobile-first stays the base; these expand the layout to use
   the full width gracefully on tablet/desktop.
   ============================================================ */
@media (min-width: 760px) {
  .wrap { max-width: 720px; padding: 0 28px; }
  .nav { padding: 16px 34px; }
  .nav.scrolled { padding: 12px 34px; }
  .nav-links { gap: 26px; }
  .nav-links a:not(.btn) { display: inline; font-size: 14.5px; font-weight: 600; color: #5f5e5a; text-decoration: none; }
  .nav-links a:not(.btn):hover { color: #171717; }
  .nav-cta { font-size: 14px; padding: 11px 20px; }

  section.block { padding: 88px 0; }
  .sec-head { max-width: 640px; }
  .sec-head h2 { font-size: 2.3rem; }
  .sec-head p { font-size: 17px; }

  /* Hero */
  .hero { padding: 132px 0 72px; }
  .hero h1 { font-size: 3.8rem; max-width: 18ch; }
  .hero .lead { font-size: 18.5px; max-width: 480px; }
  .hero-cta { flex-direction: row; justify-content: center; max-width: none; }
  .hero-cta .btn { width: auto; }
  .hero-trust { font-size: 13.5px; gap: 12px; }
  .hero-stage { max-width: 520px; height: 620px; }

  /* Pain → 3 columns */
  .pain-grid { flex-direction: row; }
  .pain-card { flex: 1; }

  /* Pillars → alternating 2-col */
  .pillar { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; margin-bottom: 64px; }
  .pillar.rev .ptext { order: 2; }
  .pillar .pvis { margin: 0; }

  /* GPS → 2-col */
  .gps-grid { flex-direction: row; align-items: center; gap: 44px; }
  .gps-grid > * { flex: 1; }

  /* Before/After → row */
  .ba-stage { flex-direction: row; justify-content: center; align-items: center; gap: 30px; flex-wrap: wrap; }
  .ba-monthbar { order: -1; flex-basis: 100%; }
  .ba-metrics { flex-direction: column; width: auto; gap: 26px; }

  /* Confecção → 2-col */
  .conf-grid { flex-direction: row; align-items: center; gap: 44px; }
  .conf-grid > * { flex: 1; }

  /* Proof → 3-col */
  .proof-grid { flex-direction: row; }
  .proof-card { flex: 1; }

  /* System window can breathe */
  .map-stage { max-width: 440px; }

  /* Footer row */
  .foot-grid { flex-direction: row; justify-content: space-between; align-items: flex-start; }
}

@media (min-width: 1080px) {
  .wrap { max-width: 1040px; padding: 0 32px; }
  .sec-head h2 { font-size: 2.7rem; }

  /* Hero → 2 colunas (texto à esquerda, celular à direita) */
  .hero { padding: 128px 0 72px; text-align: left; }
  .hero .wrap { display: grid; grid-template-columns: 1.06fr .94fr; align-items: center; column-gap: 56px; }
  .hero-copy { max-width: 540px; }
  .hero-kicker { margin-bottom: 20px; }
  .hero h1 { font-size: 4rem; max-width: 13ch; }
  .hero .lead { font-size: 19px; max-width: 500px; margin: 20px 0 28px; }
  .hero-cta { flex-direction: row; justify-content: flex-start; flex-wrap: wrap; max-width: none; margin: 0; }
  .hero-trust { justify-content: flex-start; margin-top: 26px; }
  .hero-stage { max-width: 100%; height: 620px; margin: 0; }

  .accordion { max-width: 880px; }
  .pillar { gap: 64px; }
  .map-stage { max-width: 500px; }
}

/* ===================== CALCULADORA ===================== */
.calc-sec { background: var(--gt-bg-alt, #f4f6f5); }
.calc-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
@media (min-width: 760px) {
  .calc-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
}
.calc-inputs, .calc-result {
  background: #fff; border: 1px solid #ececec; border-radius: var(--radius-xl, 16px);
  padding: 22px; box-shadow: var(--shadow-md);
}
.calc-field { margin-bottom: 16px; position: relative; }
.calc-field:last-child { margin-bottom: 0; }
.calc-field > label {
  display: block; font-family: var(--font-ui, 'Inter', sans-serif);
  font-size: 13px; font-weight: 600; color: #5f5e5a; margin-bottom: 7px;
}
.calc-input {
  display: flex; align-items: center; background: #f4f6f5;
  border: 1px solid #e2e6e4; border-radius: 12px; overflow: hidden;
  transition: border-color .15s, box-shadow .15s;
}
.calc-input:focus-within { border-color: #27ae8f; box-shadow: 0 0 0 3px rgba(39,174,143,.12); }
.calc-input .pre, .calc-input .suf {
  font-family: var(--font-ui, 'Inter', sans-serif); font-size: 15px; font-weight: 700;
  color: #9aa0a0; padding: 0 12px; white-space: nowrap;
}
.calc-input input {
  flex: 1; min-width: 0; border: none; background: transparent; outline: none;
  font-family: var(--font-ui, 'Inter', sans-serif); font-size: 19px; font-weight: 800;
  color: #121212; padding: 12px 12px 12px 14px;
}
.calc-input .pre + input { padding-left: 0; }
.calc-input input::-webkit-outer-spin-button,
.calc-input input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.calc-input input[type=number] { -moz-appearance: textfield; }
.calc-help {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; border-radius: 999px; background: #d4ddd9; color: #5f5e5a;
  font-size: 11px; font-weight: 700; cursor: help; vertical-align: middle; outline: none;
}
.calc-help::after {
  content: attr(data-tip); position: absolute; left: 0; right: 0; bottom: calc(100% + 6px);
  width: auto; max-width: 100%; background: #0b2b29; color: #fff;
  font-family: var(--font-ui, 'Inter', sans-serif); font-size: 12px; font-weight: 500;
  line-height: 1.45; text-align: left; padding: 10px 12px; border-radius: 10px;
  box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; transition: opacity .15s;
  z-index: 10; pointer-events: none;
}
.calc-help:hover::after, .calc-help:focus::after { opacity: 1; visibility: visible; }

.calc-invest { text-align: center; margin-bottom: 20px; }
.calc-invest-lab { font-family: var(--font-ui, 'Inter', sans-serif); font-size: 13px; color: #737373; }
.calc-invest-val {
  font-family: var(--font-display, 'Russo One', sans-serif);
  font-size: clamp(2rem, 9vw, 2.6rem); color: #121212; line-height: 1.1; margin: 2px 0 14px;
}
.calc-invest .ba-track { margin: 0; max-width: none; }
.calc-invest-range {
  display: flex; justify-content: space-between;
  font-family: var(--font-ui, 'Inter', sans-serif); font-size: 11px; color: #9aa0a0; margin-top: 9px;
}

.calc-multi {
  text-align: center; border-radius: var(--radius-xl, 16px); padding: 16px; margin-bottom: 18px;
  background: #f4f6f5; border: 1px solid #ececec;
}
.calc-multi-lab {
  font-family: var(--font-ui, 'Inter', sans-serif); font-size: 12px; font-weight: 600;
  letter-spacing: .04em; text-transform: uppercase; color: #737373;
}
.calc-multi-val {
  font-family: var(--font-display, 'Russo One', sans-serif);
  font-size: clamp(2.6rem, 13vw, 3.6rem); line-height: 1; margin: 4px 0;
  color: var(--tier-col, #27ae8f); transition: color .25s;
}
.calc-multi-tag {
  display: inline-block; font-family: var(--font-ui, 'Inter', sans-serif);
  font-size: 13px; font-weight: 700; color: #fff; background: var(--tier-col, #27ae8f);
  padding: 5px 16px; border-radius: 999px; transition: background .25s;
}

.calc-metrics {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1px;
  background: #ececec; border: 1px solid #ececec; border-radius: 14px; overflow: hidden;
}
.calc-m { background: #fff; padding: 13px 14px; }
.calc-m .lab { font-family: var(--font-ui, 'Inter', sans-serif); font-size: 11.5px; color: #737373; margin-bottom: 3px; }
.calc-m .val { font-family: var(--font-display, 'Russo One', sans-serif); font-size: 18px; color: #121212; line-height: 1.1; }
.calc-m-hi { grid-column: 1 / -1; background: linear-gradient(135deg, rgba(43,182,115,.14), rgba(39,174,143,.14)); }
.calc-m-hi .val { color: #27ae8f; }

.calc-foot {
  text-align: center; font-family: var(--font-ui, 'Inter', sans-serif);
  font-size: 12.5px; color: #9aa0a0; margin: 18px auto 0; max-width: 520px;
}

.calc-note {
  margin-top: 18px; text-align: center; border-radius: var(--radius-xl, 16px);
  padding: 22px 22px; border: 1px solid rgba(21,219,168,.25);
  background: var(--gradient-petroleo, linear-gradient(160deg, #0b2b29 0%, #001516 100%));
}
.calc-note-big {
  font-family: var(--font-display, 'Russo One', sans-serif);
  font-size: clamp(1.15rem, 4.6vw, 1.55rem); color: #fff; line-height: 1.3;
}
.calc-note-big .hl-teal { color: #15dba8; }
.calc-note-sm {
  font-family: var(--font-ui, 'Inter', sans-serif); font-size: 13.5px;
  color: #9fd9c9; margin-top: 9px; line-height: 1.55; max-width: 460px;
  margin-left: auto; margin-right: auto;
}

/* Calculadora compacta no mobile (~360px) — desktop intacto */
@media (max-width: 560px) {
  .calc-inputs, .calc-result { padding: 16px; }
  .calc-field { margin-bottom: 13px; }
  .calc-field > label { font-size: 12.5px; }
  .calc-input input { font-size: 16px; padding: 11px 10px; }
  .calc-input .pre, .calc-input .suf { font-size: 13px; padding: 0 10px; }
  .calc-invest-val { font-size: 1.7rem; }
  .calc-multi-val { font-size: 2.3rem; }
  .calc-multi { padding: 14px; margin-bottom: 14px; }
  .calc-m { padding: 11px 12px; }
  .calc-m .val { font-size: 16px; }
  .calc-m .lab { font-size: 11px; }
  .calc-note { padding: 18px; }
  .calc-note-big { font-size: 1.2rem; }
}

/* ===== Modo TV embutido no accordion ===== */
.acc-tv {
  margin-top: 16px; border-radius: 14px; overflow: hidden;
  border: 1px solid #e5e5e5; background: #fafafa; box-shadow: var(--shadow-sm);
}
.acc-tv-head {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--font-ui, 'Inter', sans-serif); font-size: 12.5px; font-weight: 600;
  color: #5f5e5a; padding: 10px 14px; background: #f4f6f5; border-bottom: 1px solid #e5e5e5;
}
.acc-tv-dot {
  height: 8px; width: 8px; border-radius: 999px; background: #ef4444;
  box-shadow: 0 0 0 4px rgba(239,68,68,.15); animation: acc-tv-pulse 1.6s ease-in-out infinite;
}
@keyframes acc-tv-pulse { 0%,100% { opacity: 1; } 50% { opacity: .4; } }
.acc-tv-vp { width: 100%; aspect-ratio: 1280 / 720; overflow: hidden; background: #fafafa; }
.acc-tv-frame { display: block; width: 1280px; height: 720px; border: 0; transform-origin: top left; background: #fafafa; }


/* ============================================================
   Growth Time — "Tudo que já existe, vivo" (motion v2)
   Coreografia 100% sobre elementos EXISTENTES — zero camada nova.
   Tudo gateado por classes que só o motion.js coloca:
   .mo-on (motor ativo) · .mo-hero-sticky · .mo-virada · .mo-degrade
   Sem JS / com reduced-motion, este arquivo é inerte.
   ============================================================ */

/* ---------- tokens de movimento (linguagem única) ----------
   uso: texto = --eo/--t3/--st1 · cards = --ep/--t3/--st2 ·
   micro = --es/--t2/--st1 · scrub = linear · loops idle = ease-in-out 5-6s */
.mo-on {
  --eo: cubic-bezier(.22,.9,.3,1);   /* glide — blocos/texto, sem overshoot */
  --ep: cubic-bezier(.3,1.25,.4,1);  /* pop — cards, overshoot médio */
  --es: cubic-bezier(.34,1.6,.45,1); /* snap — chips/ícones, overshoot forte */
  --t1: .25s; --t2: .45s; --t3: .65s; --t4: .95s;
  --st1: 60ms; --st2: 110ms; --st3: 150ms;
  --rise: 24px; --shift: 36px;
}

/* ---------- handover do .reveal nas seções coreografadas ---------- */
.mo-on [data-mo] .reveal { opacity: 1; transform: none; }

/* ============================================================
   MOTOR DE CARDS — ring de gradiente + spotlight que segue o
   cursor (desktop fino) + tilt 3D ≤6° (JS); touch = :active
   ============================================================ */
.mo-on .mo-card { position: relative; }
/* anel de gradiente na borda (segunda camada, estilo facilpay) */
.mo-on .mo-card::before {
  content: ''; position: absolute; inset: -1px; border-radius: inherit; padding: 1px;
  background: linear-gradient(135deg, rgba(56,204,156,.65), rgba(21,219,168,.2) 45%, transparent 75%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity .25s ease; pointer-events: none;
}
/* spotlight radial que segue o cursor (--mx/--my via JS) */
.mo-on .mo-card::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0;
  background: radial-gradient(240px circle at var(--mx, 50%) var(--my, 40%), rgba(56,204,156,.09), transparent 65%);
  transition: opacity .25s ease;
}
@media (hover: hover) and (pointer: fine) {
  .mo-on .mo-card:hover::before, .mo-on .mo-card:hover::after { opacity: 1; }
  .mo-on .mo-card:hover { box-shadow: 0 18px 44px rgba(11,43,41,.14), 0 0 0 1px rgba(56,204,156,.12); }
}
@media (hover: none) {
  .mo-on .mo-card:active { transform: scale(.985); transition: transform .15s var(--eo); }
  .mo-on .mo-card:active::before { opacity: 1; transition-duration: .1s; }
}
@supports not ((mask-composite: exclude) or (-webkit-mask-composite: xor)) {
  .mo-on .mo-card::before { display: none; }
}
/* depois de assentado, o transform é 100% do GSAP (tilt) — transition só no resto */
.mo-on .mo-card.mo-settled { transition: box-shadow .3s ease, border-color .3s ease; }
/* degrade derruba as camadas extras */
html.mo-degrade .mo-card::before, html.mo-degrade .mo-card::after { display: none; }

/* loop idle padrão (levitação facilpay) — cada seção opta nos seus ícones;
   pausado por padrão, roda só com a seção visível (.mo-idle via IO) */
@keyframes mo-levit { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.mo-on .mo-emo { display: inline-block; }

/* ============================================================
   RITMO DE HEADER UNIFICADO — eyebrow → h2 → p, cadência idêntica
   em todas as seções (initHeads põe .go-head; failsafe nunca deixa
   header invisível)
   ============================================================ */
.mo-on [data-mo] .sec-head .eyebrow {
  opacity: 0; transform: translateY(14px); letter-spacing: .26em;
  transition: opacity var(--t2) ease, transform var(--t2) var(--eo), letter-spacing var(--t3) var(--eo);
}
.mo-on [data-mo] .sec-head h2 {
  opacity: 0; transform: translateY(var(--rise));
  transition: opacity var(--t3) ease var(--st2), transform var(--t3) var(--eo) var(--st2);
}
.mo-on [data-mo] .sec-head p {
  opacity: 0; transform: translateY(var(--rise));
  transition: opacity var(--t3) ease calc(var(--st2) * 2), transform var(--t3) var(--eo) calc(var(--st2) * 2);
}
.mo-on [data-mo].go-head .sec-head .eyebrow { opacity: 1; transform: none; letter-spacing: .14em; }
.mo-on [data-mo].go-head .sec-head h2, .mo-on [data-mo].go-head .sec-head p { opacity: 1; transform: none; }

/* estados de entrada com translateX vazam pro scrollWidth do documento
   (zoom-out fantasma no iOS — classe do incidente 03/06); as seções
   coreografadas não-sticky clipam o próprio overflow horizontal */
@supports (overflow: clip) {
  .mo-on [data-mo] { overflow-x: clip; }
}

/* rig do phone: wrapper estrutural neutro fora do hero v3
   (static = não vira containing block; phone segue ancorado no stage) */
.phone-rig { display: contents; }
.ph-shadow { display: none; }

/* ============================================================
   HERO — celular sticky + conversa scrubada (estilo facilpay)
   ============================================================ */
@supports (overflow: clip) {
  .mo-hero-sticky .hero { overflow-x: clip; overflow-y: visible; }

  /* mobile: só o celular gruda; copy+CTA rolam embora primeiro */
  @media (max-width: 1079px) {
    .mo-hero-sticky .hero .wrap::after { content: ''; display: block; height: 150vh; height: 150svh; }
    .mo-hero-sticky .hero-stage {
      position: sticky; position: -webkit-sticky;
      top: clamp(64px, calc((100vh - 640px) / 2), 140px);
      top: clamp(64px, calc((100svh - 640px) / 2), 140px);
      z-index: 2;
    }
  }
  /* desktop: o palco inteiro gruda; copy ganha parallax via JS */
  @media (min-width: 1080px) {
    .mo-hero-sticky .hero::after { content: ''; display: block; height: 150vh; height: 150svh; }
    .mo-hero-sticky .hero > .wrap {
      position: sticky; position: -webkit-sticky;
      top: calc((100vh - 660px) / 2);
      top: calc((100svh - 660px) / 2);
    }
  }
}

/* ============================================================
   HERO v3 — abertura facilpay: celular GRANDE que encolhe no scroll
   + textos grandes do processo (lead → cliente ouro)
   Gate: classe .mo-hero-v3 (só o initHero v3 coloca, tier full)
   ============================================================ */
@supports (overflow: clip) {
  .mo-hero-v3 .hero { overflow-x: clip; overflow-y: visible; padding-bottom: 0; }
  /* trilho único: sticky é o .hero-stage em TODOS os breakpoints.
     Gate extra .mo-on: layout v3 pode vir pré-paint (inline no head),
     mas o trilho só existe com o MOTOR vivo (senão = 3 telas mortas) */
  /* trilho mais curto que a v3 inicial (320svh): menos "arrastões", cada scroll rende mais */
  .mo-on.mo-hero-v3 .hero .wrap::after { content: ''; display: block; height: 240vh; height: 240svh; }
  .mo-hero-v3 .hero-stage {
    position: sticky; position: -webkit-sticky; z-index: 2;
  }

  /* copy compacta — o palco é do celular */
  .mo-hero-v3 .hero-kicker { display: none; }

  /* rig vira caixa real = caixa do stage (phone segue ancorado igual) */
  .mo-hero-v3 .phone-rig {
    display: block; position: absolute; inset: 0; z-index: 3;
    will-change: transform;
  }
  /* sombra sai do .phone (raster do chat) e vira crossfade de 2 spans no rig */
  .mo-hero-v3 .phone { box-shadow: none; }
  .mo-hero-v3 .ph-shadow {
    display: block; position: absolute; left: 50%; top: 0; transform: translateX(-50%);
    border-radius: 46px; pointer-events: none; z-index: -1;
  }
  .mo-hero-v3 .ph-shadow-near { box-shadow: 0 70px 140px rgba(11,43,41,.34); }
  .mo-hero-v3 .ph-shadow-far  { box-shadow: 0 44px 90px rgba(11,43,41,.28), 0 10px 24px rgba(11,43,41,.12); opacity: 0; }

  /* annots aposentadas (a informação virou os textos grandes); só o ROAS fecha a história */
  .mo-hero-v3 .annot { display: none; }
  .mo-hero-v3 .annot.a-roas { display: flex; z-index: 6; }

  /* ===== trilho de fases premium (Atrair→…→Ouro) — só no v3 ===== */
  .hero-steps { display: none; } /* fora do v3 (ou rollback) fica inerte */
  .mo-hero-v3 .hero-steps {
    display: block; position: absolute; inset: 0; z-index: 4; pointer-events: none;
    /* some de verdade (visibility herda) até o phone assentar — zero overlap por construção */
    opacity: 0; visibility: hidden; transition: opacity .45s ease, visibility 0s .45s;
  }
  .mo-hero-v3 .hero-steps.rail-show { opacity: 1; visibility: visible; transition: opacity .45s ease, visibility 0s; }
  .mo-fast .hero-steps { transition: none !important; }
  /* trilho (bolinhas) EM CIMA, nome grande da fase EMBAIXO (estilo facilpay), phone no meio */
  .mo-hero-v3 .hero-rail { display: flex; flex-direction: column; align-items: center; justify-content: space-between; height: 100%; padding: 26px 0 16px; }
  /* trilha de 5 nós */
  .mo-hero-v3 .rail-track { flex: 0 0 auto; display: flex; align-items: flex-start; width: 92%; max-width: 360px; }
  .mo-hero-v3 .rail-node { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 4px; }
  .mo-hero-v3 .rail-dot {
    width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 2px solid #cfe6dc;
    display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 3px rgba(11,43,41,.12);
    transition: background .4s var(--es), border-color .4s var(--es), box-shadow .4s ease;
  }
  .mo-hero-v3 .rail-dot svg { width: 11px; height: 11px; color: #fff; opacity: 0; transform: scale(.4); transition: opacity .3s ease, transform .3s var(--es); }
  .mo-hero-v3 .rail-lbl { font: 700 8.5px 'Open Sans', sans-serif; letter-spacing: .04em; text-transform: uppercase; color: #9aa7a1; transition: color .35s ease; white-space: nowrap; }
  .mo-hero-v3 .rail-link { flex: 1 1 auto; height: 2px; background: #dbe7e1; border-radius: 2px; margin: 8px -2px 0; position: relative; overflow: hidden; }
  .mo-hero-v3 .rail-link::after { content: ''; position: absolute; inset: 0; width: 0; background: linear-gradient(90deg,#27ae8f,#15dba8); transition: width .5s ease; }
  .mo-hero-v3 .rail-node.done .rail-dot { background: #27ae8f; border-color: #27ae8f; }
  .mo-hero-v3 .rail-node.done .rail-dot svg { opacity: 1; transform: none; }
  .mo-hero-v3 .rail-node.done .rail-lbl { color: #27ae8f; }
  .mo-hero-v3 .rail-node.active .rail-dot { border-color: #15dba8; box-shadow: 0 0 0 4px rgba(21,219,168,.18), 0 2px 6px rgba(11,43,41,.16); }
  .mo-hero-v3 .rail-node.active .rail-lbl { color: #0b2b29; }
  .mo-hero-v3 .rail-link.fill::after { width: 100%; }
  /* nome grande da fase (swap entre 5 estados) — ancorado no RODAPÉ, sobe ao entrar (facilpay) */
  .mo-hero-v3 .rail-cap { flex: 0 0 auto; position: relative; width: 100%; min-height: 66px; text-align: center; }
  .mo-hero-v3 .hstep {
    position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; align-items: center; gap: 3px;
    opacity: 0; transform: translateY(14px); visibility: hidden;
    transition: opacity .18s ease, transform .2s ease, visibility 0s .2s; /* saída rápida no reverso */
  }
  .mo-hero-v3 .hstep.on { opacity: 1; transform: none; visibility: visible; transition: opacity .42s ease .06s, transform .55s var(--ep) .06s, visibility 0s; }
  .mo-hero-v3 .hstep .he { font: 700 10.5px 'Open Sans', sans-serif; letter-spacing: .18em; text-transform: uppercase; color: #27ae8f; }
  .mo-hero-v3 .hstep .ht { font-family: 'Russo One', sans-serif; font-weight: 400; color: #121212; font-size: clamp(1.4rem, 6.6vw, 1.9rem); line-height: 1.1; }
  .mo-hero-v3 .hstep .ht .hl { color: #27ae8f; }
  .mo-fast .hstep, .mo-fast .rail-dot, .mo-fast .rail-dot svg, .mo-fast .rail-link::after, .mo-fast .rail-lbl { transition: none !important; }

  /* ---------- mobile ≤759 ---------- */
  @media (max-width: 759px) {
    .mo-hero-v3 .hero { padding-top: 76px; }
    .mo-hero-v3 .hero h1 { font-size: clamp(1.9rem, 8.6vw, 2.3rem); line-height: 1.04; margin-bottom: 10px; }
    .mo-hero-v3 .hero .lead { display: none; }
    .mo-hero-v3 .hero-cta { gap: 8px; }
    .mo-hero-v3 .hero-cta .btn-ghost {
      background: none; border: 0; box-shadow: none; padding: 5px;
      font-size: 13.5px; text-decoration: underline; color: #5f5e5a;
    }
    .mo-hero-v3 .hero-trust { margin-top: 10px; font-size: 11px; gap: 6px; flex-wrap: nowrap; white-space: nowrap; }
    /* palco ocupa a tela (some o branco do rodapé); pose centraliza o phone via JS */
    .mo-hero-v3 .hero-stage { height: 640px; height: min(820px, calc(100svh - 92px)); margin: 0 auto; max-width: 460px; top: 80px; }
    .mo-hero-v3 .phone-rig { transform-origin: top center; }
    .mo-hero-v3 .phone, .mo-hero-v3 .ph-shadow { width: 320px; height: 620px; }
    .mo-hero-v3 #phoneFeed .msg { font-size: 14px; }
    .mo-hero-v3 .annot.a-roas { top: 92px; right: calc(50% - 150px); left: auto; }
  }
  /* ---------- tablet 760–1079 ---------- */
  @media (min-width: 760px) and (max-width: 1079px) {
    .mo-hero-v3 .hero { padding-top: 84px; }
    .mo-hero-v3 .hero h1 { font-size: 2.4rem; }
    .mo-hero-v3 .hero .lead { font-size: 16px; max-width: 52ch; margin: 12px auto 16px; }
    .mo-hero-v3 .hero-trust { margin-top: 12px; }
    .mo-hero-v3 .hero-stage { height: 716px; height: min(900px, calc(100svh - 104px)); margin: 0 auto; max-width: 560px; top: 88px; }
    .mo-hero-v3 .phone-rig { transform-origin: top center; }
    .mo-hero-v3 .phone, .mo-hero-v3 .ph-shadow { width: 360px; height: 700px; }
    .mo-hero-v3 #phoneFeed .msg { font-size: 15px; }
    .mo-hero-v3 .hstep .ht { font-size: clamp(1.6rem, 3.4vw, 2rem); }
    .mo-hero-v3 .annot.a-roas { top: 110px; right: calc(50% - 170px); left: auto; }
  }
  /* ---------- desktop ≥1080 ---------- */
  @media (min-width: 1080px) {
    .mo-hero-v3 .hero { padding-top: 84px; text-align: center; }
    .mo-hero-v3 .hero .wrap { display: block; }
    .mo-hero-v3 .hero-copy { max-width: none; margin: 0 auto; }
    .mo-hero-v3 .hero h1 { font-size: 2.9rem; max-width: none; }
    .mo-hero-v3 .hero .lead { font-size: 17px; max-width: 56ch; margin: 12px auto 18px; }
    .mo-hero-v3 .hero-cta { justify-content: center; }
    .mo-hero-v3 .hero-trust { justify-content: center; margin-top: 14px; }
    .mo-hero-v3 .hero-stage { height: 760px; margin: 18px auto 0; max-width: 1040px; width: 100%; }
    .mo-hero-v3 .hero-stage { top: clamp(40px, calc((100vh - 760px) / 2), 120px); top: clamp(40px, calc((100svh - 760px) / 2), 120px); }
    .mo-hero-v3 .phone-rig { transform-origin: center center; }
    .mo-hero-v3 .phone, .mo-hero-v3 .ph-shadow { width: 380px; height: 740px; }
    .mo-hero-v3 #phoneFeed .msg { font-size: 16px; }
    .mo-hero-v3 .hero-steps { right: auto; width: 46%; height: auto; bottom: 0; text-align: left; }
    .mo-hero-v3 .hero-rail { align-items: flex-start; justify-content: center; height: 100%; gap: 20px; padding-left: 4%; }
    .mo-hero-v3 .rail-track { width: 100%; max-width: 420px; }
    .mo-hero-v3 .rail-cap { text-align: left; min-height: 92px; }
    .mo-hero-v3 .hstep { align-items: flex-start; bottom: auto; top: 0; }
    .mo-hero-v3 .hstep .ht { font-size: clamp(2.1rem, 3vw, 2.9rem); max-width: 12ch; }
    .mo-hero-v3 .annot.a-roas { top: 96px; left: calc(75% + 88px); right: auto; }
  }
  /* desktop baixo (notebooks 768p): tudo um tique menor */
  @media (min-width: 1080px) and (max-height: 899px) {
    .mo-hero-v3 .hero-stage { height: 690px; }
    .mo-hero-v3 .hero-stage { top: clamp(40px, calc((100vh - 690px) / 2), 120px); top: clamp(40px, calc((100svh - 690px) / 2), 120px); }
    .mo-hero-v3 .phone, .mo-hero-v3 .ph-shadow { width: 340px; height: 660px; }
    .mo-hero-v3 #phoneFeed .msg { font-size: 14.5px; }
    .mo-hero-v3 .annot.a-roas { top: 80px; }
  }

  /* degrade/lite: 3 poses discretas por classe (transition compositor, sem rAF) */
  html.mo-degrade .phone-rig, html.mo-lite .phone-rig { transition: transform .4s ease; will-change: auto; }
  html.mo-degrade .phone-rig.ph-big,  html.mo-lite .phone-rig.ph-big  { transform: none; }
  html.mo-degrade .phone-rig.ph-mid,  html.mo-lite .phone-rig.ph-mid  {
    transform: translate(calc(var(--ph-x, 0px) / 2), calc(var(--ph-y, 0px) / 2)) scale(calc((var(--ph-s, 1) + 1) / 2));
  }
  html.mo-degrade .phone-rig.ph-dock, html.mo-lite .phone-rig.ph-dock {
    transform: translate(var(--ph-x, 0px), var(--ph-y, 0px)) scale(var(--ph-s, 1));
  }
  html.mo-degrade .ph-shadow-near, html.mo-lite .ph-shadow-near { opacity: 0 !important; }
  html.mo-degrade .ph-shadow-far,  html.mo-lite .ph-shadow-far  { opacity: 1 !important; }
}

/* ===== aurora decorativa atrás do celular (só com motor) =====
   wrapper recebe o parallax do scroll (JS); blobs derivam sozinhos (CSS).
   transform-only = compositor barato; hero tem overflow:hidden → sem overflow-x */
.hero-aurora { display: none; }
.mo-on .hero-aurora { display: block; position: absolute; inset: -14% -10%; z-index: 0; pointer-events: none; overflow: hidden; will-change: transform; }
/* o movimento principal é o SCROLL-PARALLAX no wrapper (JS) — o que o dono pediu.
   A "vida" idle é UMA animação só, na camada .au-inner (3 blobs estáticos pintam 1x),
   pausada quando o stage sai da tela. Custo quase nulo no scroll longo. */
.mo-on .au-inner { position: absolute; inset: 0; will-change: transform; animation: mo-aurora 26s ease-in-out infinite; animation-play-state: paused; }
.mo-on .hero-aurora.au-vis .au-inner { animation-play-state: running; }
.mo-on .au-blob { position: absolute; border-radius: 50%; }
.mo-on .au-1 { width: 64%; height: 40%; left: -8%; top: 4%; background: radial-gradient(circle at 50% 50%, rgba(56,204,156,.42), rgba(56,204,156,0) 68%); }
.mo-on .au-2 { width: 56%; height: 46%; right: -10%; top: 30%; background: radial-gradient(circle at 50% 50%, rgba(21,219,168,.36), rgba(21,219,168,0) 70%); }
.mo-on .au-3 { width: 70%; height: 40%; left: 4%; bottom: 0; background: radial-gradient(circle at 50% 50%, rgba(39,174,143,.28), rgba(39,174,143,0) 72%); }
@keyframes mo-aurora { 0%,100% { transform: translate(0,0) scale(1); } 33% { transform: translate(2.5%,-2%) scale(1.05); } 66% { transform: translate(-2%,2%) scale(1.03); } }
html.mo-degrade .au-inner, html.mo-lite .au-inner { animation: none !important; will-change: auto; }
/* desktop cobre área enorme (fill-rate alto a cada frame compositado): foco desta etapa
   é o mobile, então no desktop a aurora fica desligada (o #glow já dá ambiance) */
@media (min-width: 1080px) { .mo-on .hero-aurora { display: none; } }

/* chips nativos de chat: separador de data (estilo WhatsApp) + badge cliente ouro
   (visual vale nos dois modos; o esconder até .on é só do motor) */
#phoneFeed .chip-date {
  align-self: center; background: rgba(255,255,255,.92); color: #54656f;
  font: 600 10px -apple-system, "Segoe UI", Roboto, sans-serif; letter-spacing: .04em; text-transform: uppercase;
  padding: 4px 11px; border-radius: 8px; box-shadow: 0 1px 1px rgba(11,20,26,.07);
  margin: 6px 0 3px;
}
#phoneFeed .chip-gold {
  align-self: center; text-align: center; display: inline-flex; align-items: center; gap: 5px;
  background: linear-gradient(135deg, rgba(243,179,21,.2), rgba(255,255,255,.96));
  border: 1px solid rgba(243,179,21,.5); color: #a16207;
  font: 700 11px -apple-system, "Segoe UI", Roboto, sans-serif;
  padding: 6px 13px; border-radius: 999px; margin: 5px 0 2px;
  box-shadow: 0 4px 14px rgba(243,179,21,.18);
}

/* pbody tinha height:100% do phone mas começa após o pbar → últimos ~74px
   caíam fora do clip (invisível com 4 msgs; real com 7+badge). O phone vira
   coluna flex e o feed preenche exatamente o resto — vale também no fallback */
.phone { display: flex; flex-direction: column; }
.phone .pbody { flex: 1 1 auto; height: auto; min-height: 0; }

/* conversa: 7 msgs + chips não cabem todos — feed ancora EMBAIXO como
   chat real (antigas saem pelo clip de cima); reflow confinado ao feed */
.mo-on #phoneFeed { justify-content: flex-end; contain: layout paint; }

/* conversa: mensagens não-enviadas não existem no fluxo (chat real);
   .on insere com pop — display+animation (transition não cruza display) */
.mo-on #phoneFeed .msg { display: none; }
.mo-on #phoneFeed .chip-date, .mo-on #phoneFeed .chip-gold { display: none; }
.mo-on #phoneFeed .chip-date.on, .mo-on #phoneFeed .chip-gold.on { display: block; animation: mo-msg .38s cubic-bezier(.34,1.45,.5,1) both; }
.mo-on #phoneFeed .msg.them { transform-origin: bottom left; }
.mo-on #phoneFeed .msg.me { transform-origin: bottom right; }
.mo-on #phoneFeed .msg.on { display: block; animation: mo-msg .38s cubic-bezier(.34,1.45,.5,1) both; }
@keyframes mo-msg { from { opacity: 0; transform: translateY(12px) scale(.92); } to { opacity: 1; transform: none; } }

/* recibos ✓ / ✓✓ / azul (microanimação de conteúdo existente) */
.mo-on #phoneFeed .meta .tick { transition: color .3s; font-style: normal; }
.mo-on #phoneFeed .meta .tick.blue { color: #53bdeb; }

/* typing dots — UI nativa de chat (sancionada pela referência facilpay) */
.mo-typing {
  display: none; gap: 3px; align-items: center; padding: 9px 12px;
  background: #fff; border-radius: 12px; border-top-left-radius: 3px;
  box-shadow: 0 1px 1px rgba(0,0,0,.07); align-self: flex-start;
  transform-origin: bottom left;
}
.mo-typing.me { align-self: flex-end; background: #d9fdd3; border-top-left-radius: 12px; border-top-right-radius: 3px; transform-origin: bottom right; }
.mo-typing.on { display: inline-flex; animation: mo-msg .25s cubic-bezier(.34,1.45,.5,1) both; }
.mo-typing i { width: 5px; height: 5px; border-radius: 999px; background: #9aa0a0; animation: mo-typ .9s ease-in-out infinite; }
.mo-typing i:nth-child(2) { animation-delay: .15s; }
.mo-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes mo-typ { 0%,100% { transform: translateY(0); opacity: .5; } 50% { transform: translateY(-3px); opacity: 1; } }

/* aplicação instantânea (reload/âncora no meio do trilho) */
.mo-fast #phoneFeed .msg.on, .mo-fast .mo-typing.on,
.mo-fast #phoneFeed .chip-date.on, .mo-fast #phoneFeed .chip-gold.on { animation: none !important; }

/* ============================================================
   MARQUEE — esteira com inércia (skew via JS no pai .marquee)
   ============================================================ */
.mo-on .marquee { will-change: transform; }

/* ============================================================
   DOR — pilha bagunçada que se distribui; a frase "cura" o caos
   ============================================================ */
.mo-on .pain-card {
  transition: transform .7s cubic-bezier(.3,1.25,.4,1), opacity .5s ease;
}
.mo-on .pain-grid:not(.go) .pain-card:nth-child(1) { opacity: 0; transform: translateY(34px) rotate(-3deg) scale(.96); }
.mo-on .pain-grid:not(.go) .pain-card:nth-child(2) { opacity: 0; transform: translateY(-30px) rotate(2.6deg) scale(.95); }
.mo-on .pain-grid:not(.go) .pain-card:nth-child(3) { opacity: 0; transform: translateY(-86px) rotate(-2.2deg) scale(.93); }
@media (min-width: 760px) { /* desktop: convergem do centro */
  .mo-on .pain-grid:not(.go) .pain-card:nth-child(1) { transform: translateX(36px) rotate(-3deg) scale(.95); }
  .mo-on .pain-grid:not(.go) .pain-card:nth-child(3) { transform: translateX(-36px) rotate(2.4deg) scale(.95); }
}
/* distribuídas: rotação residual = o caos ainda existe */
.mo-on .pain-grid.go .pain-card:nth-child(1) { opacity: 1; transform: rotate(-2deg); }
.mo-on .pain-grid.go .pain-card:nth-child(2) { opacity: 1; transform: rotate(1.6deg); transition-delay: .11s; }
.mo-on .pain-grid.go .pain-card:nth-child(3) { opacity: 1; transform: rotate(-1.2deg); transition-delay: .22s; }
/* "Performance tem método" endireita tudo */
.mo-on .pain.cured .pain-grid.go .pain-card { transform: rotate(0deg); }
.mo-on .pain.cured .pain-grid.go .pain-card:nth-child(2) { transition-delay: .08s; }
.mo-on .pain.cured .pain-grid.go .pain-card:nth-child(3) { transition-delay: .16s; }
.mo-on .pain-close .hl { display: inline-block; transition: transform .5s cubic-bezier(.3,1.4,.4,1); }
.mo-on .pain:not(.cured) .pain-close .hl { transform: scale(.94); }
.mo-on .pain.cured .pain-close .hl { transform: scale(1.04); }

/* ============================================================
   PILARES — texto/visual de lados opostos + demos internas
   ============================================================ */
.mo-on .pillar .ptext, .mo-on .pillar .pvis {
  opacity: 0; transition: opacity .55s ease, transform .6s cubic-bezier(.22,.9,.3,1);
  transform: translateY(26px);
}
@media (min-width: 760px) {
  .mo-on .pillar .ptext { transform: translateX(-34px); }
  .mo-on .pillar .pvis { transform: translateX(34px); }
  .mo-on .pillar.rev .ptext { transform: translateX(34px); }
  .mo-on .pillar.rev .pvis { transform: translateX(-34px); }
}
.mo-on .pillar.go .ptext, .mo-on .pillar.go .pvis { opacity: 1; transform: none; }
.mo-on .pillar.go .pvis { transition-delay: .12s; }
.mo-on .pillar .num { display: inline-block; letter-spacing: .3em; opacity: 0; transition: letter-spacing .5s ease, opacity .5s ease; }
.mo-on .pillar.go .num { letter-spacing: .1em; opacity: 1; }

/* 01 ATRAIR: mini-bars sobem em cascata
   (a demo era invisível na v2: .mini-bars não tinha estilo base nenhum) */
.mo-on .mini-bars { display: flex; align-items: flex-end; gap: 7px; }
.mo-on .mini-bars i { flex: 1; min-width: 0; border-radius: 6px 6px 2px 2px; background-image: linear-gradient(to top, #27ae8f, #15dba8); }
/* colunas 410/305 entram junto das barras (eram engolidas pela cascata do MEDIR) */
.mo-on .pillar.mo-bars-host .pvis > div > div { opacity: 0; transform: translateY(10px); transition: opacity .45s ease, transform .45s var(--eo); }
.mo-on .pillar.mo-bars-host.go.bars .pvis > div > div { opacity: 1; transform: none; }
.mo-on .pillar.mo-bars-host.go.bars .pvis > div > div:nth-child(2) { transition-delay: .12s; }
.mo-on .pillar .mini-bars i { transform: scaleY(0); transform-origin: bottom; transition: transform .5s cubic-bezier(.34,1.4,.5,1); }
.mo-on .pillar.go.bars .mini-bars i { transform: scaleY(1); }
.mo-on .pillar.go.bars .mini-bars i:nth-child(2) { transition-delay: .06s; }
.mo-on .pillar.go.bars .mini-bars i:nth-child(3) { transition-delay: .12s; }
.mo-on .pillar.go.bars .mini-bars i:nth-child(4) { transition-delay: .18s; }
.mo-on .pillar.go.bars .mini-bars i:nth-child(5) { transition-delay: .24s; }
.mo-on .pillar.go.bars .mini-bars i:nth-child(6) { transition-delay: .30s; }
.mo-on .pillar.go.bars .mini-bars i:nth-child(7) { transition-delay: .36s; }

/* 02 ATENDER: typing → mensagens pop → resumo IA */
.mo-on .pillar.rev .pvis .msg, .mo-on .pillar.rev .pvis .ia-sum {
  opacity: 0; transform: translateY(10px) scale(.96);
  transition: opacity .45s, transform .45s cubic-bezier(.34,1.45,.5,1);
}
.mo-on .pillar.rev.chat .pvis .msg, .mo-on .pillar.rev.chat .pvis .ia-sum { opacity: 1; transform: none; }
.mo-on .pillar.rev.chat .pvis .msg.me { transition-delay: .55s; }
.mo-on .pillar.rev.chat .pvis .ia-sum { transition-delay: 1.05s; }

/* 03 MEDIR: jornada do real em cascata
   (escopado ao host — o seletor guloso da v2 escondia as estatísticas do ATRAIR) */
.mo-on .pillar.mo-steps-host .pvis > div > div { opacity: 0; transform: translateY(12px); transition: opacity .4s, transform .4s cubic-bezier(.3,1.2,.5,1); }
.mo-on .pillar.mo-steps-host.go.steps .pvis > div > div { opacity: 1; transform: none; }
.mo-on .pillar.mo-steps-host.go.steps .pvis > div > div:nth-child(2) { transition-delay: .12s; }
.mo-on .pillar.mo-steps-host.go.steps .pvis > div > div:nth-child(3) { transition-delay: .24s; }
.mo-on .pillar.mo-steps-host.go.steps .pvis > div > div:nth-child(4) { transition-delay: .36s; }
.mo-on .pillar.mo-steps-host.go.steps .pvis > div > div:nth-child(5) { transition-delay: .48s; }

/* ============================================================
   SISTEMA — a janela levanta da mesa (scrub JS na .sys-window)
   ============================================================ */
.mo-on .sys-frame-outer { perspective: 1100px; }
.mo-on .sys-bar .d { scale: 0; transition: scale .35s cubic-bezier(.34,1.8,.5,1); }
.mo-on .sys-window.go .d:nth-of-type(1) { scale: 1; }
.mo-on .sys-window.go .d:nth-of-type(2) { scale: 1; transition-delay: .07s; }
.mo-on .sys-window.go .d:nth-of-type(3) { scale: 1; transition-delay: .14s; }
.mo-on .sys-toggle { opacity: 0; transform: translateY(10px); transition: .45s ease; }
.mo-on .sys-sec.go .sys-toggle { opacity: 1; transform: none; }

/* ============================================================
   EXPLICA — baralho alternado
   ============================================================ */
.mo-on .acc-item { opacity: 0; transform: translateX(-26px) scale(.985); transition: opacity .5s ease, transform .5s cubic-bezier(.25,.9,.3,1); }
.mo-on .acc-item:nth-child(even) { transform: translateX(26px) scale(.985); }
.mo-on #accordion.go .acc-item { opacity: 1; transform: none; }
.mo-on #accordion.go .acc-item:nth-child(2) { transition-delay: .07s; }
.mo-on #accordion.go .acc-item:nth-child(3) { transition-delay: .14s; }
.mo-on #accordion.go .acc-item:nth-child(4) { transition-delay: .21s; }
.mo-on #accordion.go .acc-item:nth-child(5) { transition-delay: .28s; }
.mo-on .acc-item.open .acc-list li { animation: mo-li .4s both; }
.mo-on .acc-item.open .acc-list li:nth-child(2) { animation-delay: .05s; }
.mo-on .acc-item.open .acc-list li:nth-child(3) { animation-delay: .1s; }
.mo-on .acc-item.open .acc-list li:nth-child(4) { animation-delay: .15s; }
@keyframes mo-li { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ============================================================
   VIRADA — 12 meses pinados no slider EXISTENTE
   ============================================================ */
.mo-virada #virada::after { content: ''; display: block; height: 100vh; height: 100svh; }
.mo-virada #virada > .wrap {
  position: sticky; position: -webkit-sticky;
  top: clamp(64px, calc((100vh - 600px) / 2), 160px);
  top: clamp(64px, calc((100svh - 600px) / 2), 160px);
}
/* odometer do mês + pulso dos valores quando o mês vira */
.mo-on #ba-month { display: inline-block; }
.mo-on #ba-month.tick { animation: mo-odo .24s ease; }
@keyframes mo-odo { 0% { opacity: .2; transform: translateY(8px); } 100% { opacity: 1; transform: none; } }
.mo-on .ba-metric .val { transition: transform .2s ease; }
.mo-on .ba-stage.pulse .ba-metric .val { transform: scale(1.05); }

/* ============================================================
   CALCULADORA — split-reveal; depois é 100% do usuário
   ============================================================ */
.mo-on .calc-inputs, .mo-on .calc-result { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .65s cubic-bezier(.22,.9,.3,1); }
@media (min-width: 760px) {
  .mo-on .calc-inputs { transform: translateX(-42px); }
  .mo-on .calc-result { transform: translateX(42px); }
}
.mo-on #calculadora.go .calc-inputs, .mo-on #calculadora.go .calc-result { opacity: 1; transform: none; }
.mo-on #calculadora.go .calc-result { transition-delay: .1s; }
.mo-on .calc-note { clip-path: inset(0 0 100% 0); transition: clip-path .6s cubic-bezier(.4,0,.2,1); }
.mo-on #calculadora.go .calc-note { clip-path: inset(0 0 0 0); transition-delay: .25s; }
.mo-flash { animation: mo-cflash .5s ease-out; }
@keyframes mo-cflash { 0% { background: rgba(21,219,168,.25); } 100% { background: transparent; } }

/* ============================================================
   GPS — pins caem no mapa da rota; tarefas chegam como notificações
   ============================================================ */
.mo-on .gps-bullets .b { opacity: 0; }
.mo-on .gps-grid .pvis > div { opacity: 0; transform: translateX(26px); transition: opacity .45s ease, transform .5s cubic-bezier(.25,.9,.3,1); }
.mo-on .gps-grid.go .pvis > div { opacity: 1; transform: none; }
.mo-on .gps-grid.go .pvis > div:nth-child(2) { transition-delay: .12s; }
.mo-on .gps-grid.go .pvis > div:nth-child(3) { transition-delay: .24s; }

/* ============================================================
   MAPA — palco revela; arcos são puxados pelo scroll (JS)
   ============================================================ */
.mo-on .map-stage { opacity: 0; transform: scale(1.05); transition: opacity .7s ease, transform .8s cubic-bezier(.22,.9,.3,1); }
.mo-on .map-sec.go .map-stage { opacity: 1; transform: none; }

/* ============================================================
   CONFECÇÃO — dor esmaece → seta → solução (na direção da leitura)
   ============================================================ */
.mo-on .conf-row .pain-t, .mo-on .conf-row .arrow, .mo-on .conf-row .sol-t { opacity: 0; transition: opacity .4s ease, transform .4s ease-out; }
.mo-on .conf-row .arrow { transform: translateX(-8px); }
.mo-on .conf-row .sol-t { transform: translateX(-12px); }
.mo-on .conf-rows.go .conf-row .pain-t { opacity: .6; }
.mo-on .conf-rows.go .conf-row .arrow { opacity: 1; transform: none; }
.mo-on .conf-rows.go .conf-row .sol-t { opacity: 1; transform: none; }
.mo-on .conf-rows.go .conf-row:nth-child(1) .pain-t { transition-delay: 0s; }
.mo-on .conf-rows.go .conf-row:nth-child(1) .arrow { transition-delay: .15s; }
.mo-on .conf-rows.go .conf-row:nth-child(1) .sol-t { transition-delay: .28s; }
.mo-on .conf-rows.go .conf-row:nth-child(2) .pain-t { transition-delay: .13s; }
.mo-on .conf-rows.go .conf-row:nth-child(2) .arrow { transition-delay: .28s; }
.mo-on .conf-rows.go .conf-row:nth-child(2) .sol-t { transition-delay: .41s; }
.mo-on .conf-rows.go .conf-row:nth-child(3) .pain-t { transition-delay: .26s; }
.mo-on .conf-rows.go .conf-row:nth-child(3) .arrow { transition-delay: .41s; }
.mo-on .conf-rows.go .conf-row:nth-child(3) .sol-t { transition-delay: .54s; }
.mo-on .conf-rows.go .conf-row:nth-child(4) .pain-t { transition-delay: .39s; }
.mo-on .conf-rows.go .conf-row:nth-child(4) .arrow { transition-delay: .54s; }
.mo-on .conf-rows.go .conf-row:nth-child(4) .sol-t { transition-delay: .67s; }

/* ============================================================
   PROVA — flip-slam; counter conta quando o card pousa
   ============================================================ */
.mo-on .proof-grid { perspective: 900px; }
.mo-on .proof-card {
  opacity: 0; transform: rotateX(42deg) translateY(30px) scale(.96); transform-origin: bottom center;
  box-shadow: 0 2px 8px rgba(11,43,41,.06);
  transition: opacity var(--t3) ease, transform var(--t4) var(--ep), box-shadow var(--t4) ease;
}
.mo-on .proof-grid.go .proof-card { opacity: 1; transform: none; box-shadow: 0 18px 44px rgba(11,43,41,.12); }
.mo-on .proof-grid.go .proof-card:nth-child(2) { transition-delay: .12s; }
.mo-on .proof-grid.go .proof-card:nth-child(3) { transition-delay: .24s; }

/* ============================================================
   DIF — manifesto tipográfico ("vaidade." perde a voz)
   ============================================================ */
.mo-on .dif h2 .mo-w { display: inline-block; opacity: 0; transform: translateY(.6em); transition: opacity .5s ease, transform .55s cubic-bezier(.22,.9,.3,1); }
.mo-on .dif.go h2 .mo-w { opacity: 1; transform: none; }
.mo-on .dif.go h2 .mo-w:nth-child(2) { transition-delay: .06s; }
.mo-on .dif.go h2 .mo-w:nth-child(3) { transition-delay: .12s; }
.mo-on .dif.go h2 .mo-w.dim { opacity: .45; transition-delay: .55s; }

/* ============================================================
   CTA — duas metades se encaixam; shine 1x; pulso calmo (≥4s)
   ============================================================ */
.mo-on .cta-final h2 .mo-half { display: inline-block; opacity: 0; transition: opacity .5s ease, transform .55s cubic-bezier(.22,.9,.3,1); }
.mo-on .cta-final h2 .mo-half:first-child { transform: translateX(-28px); }
.mo-on .cta-final h2 .mo-half:last-child { transform: translateX(28px); transition-delay: .08s; }
.mo-on .cta-final.go h2 .mo-half { opacity: 1; transform: none; }
.mo-on .cta-final .btn-cta { opacity: 0; transform: scale(.9); transition: opacity .45s ease, transform .55s cubic-bezier(.34,1.5,.5,1); transition-delay: .2s; }
.mo-on .cta-final.go .btn-cta { opacity: 1; transform: none; }
.mo-on .cta-final p, .mo-on .cta-final .reinforce { opacity: 0; transition: opacity .5s ease .35s; }
.mo-on .cta-final.go p, .mo-on .cta-final.go .reinforce { opacity: 1; }

.btn-cta { position: relative; overflow: hidden; }
.btn-cta::after {
  content: ''; position: absolute; top: 0; bottom: 0; width: 45%; left: 0; pointer-events: none;
  background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,.45) 50%, transparent 100%);
  transform: translateX(-220%) skewX(-18deg); opacity: 0;
}
.btn-cta.mo-shine::after { animation: mo-shine .85s cubic-bezier(.5,0,.3,1) forwards; }
@keyframes mo-shine { 0% { opacity: 1; transform: translateX(-220%) skewX(-18deg); } 100% { opacity: 1; transform: translateX(360%) skewX(-18deg); } }
.btn-cta.mo-pulse { animation: mo-cta-pulse 4.2s ease-in-out infinite; }
@keyframes mo-cta-pulse {
  0%, 100% { box-shadow: 0 10px 26px rgba(43,182,115,.36); }
  50% { box-shadow: 0 10px 34px rgba(43,182,115,.58), 0 0 0 6px rgba(21,219,168,.1); }
}

/* ============================================================
   FOOTER — discreto de propósito
   ============================================================ */
.mo-on .foot-grid > * { opacity: 0; transform: translateY(16px); transition: opacity .5s ease, transform .5s ease; }
.mo-on footer.go .foot-grid > * { opacity: 1; transform: none; }
.mo-on footer.go .foot-grid > *:nth-child(2) { transition-delay: .1s; }

/* ============================================================
   F5 — upgrades por seção (motor de cards + idle gates por cima)
   ============================================================ */

/* ---------- DOR: a cura pinta os ícones; hover dá vida ---------- */
.mo-on .pain-card .ic { transition: background .8s ease, transform var(--t2) var(--es); }
.mo-on .pain.cured .pain-card .ic { background: rgba(56,204,156,.14); }
.mo-on .pain.cured .pain-card:nth-child(1) .ic { animation: mo-cure .9s ease .05s 1; }
.mo-on .pain.cured .pain-card:nth-child(2) .ic { animation: mo-cure .9s ease .2s 1; }
.mo-on .pain.cured .pain-card:nth-child(3) .ic { animation: mo-cure .9s ease .35s 1; }
@keyframes mo-cure { 35% { box-shadow: 0 0 0 9px rgba(56,204,156,.16); } 100% { box-shadow: 0 0 0 0 rgba(56,204,156,0); } }
@media (hover: hover) and (pointer: fine) {
  .mo-on .pain-card:hover .ic { transform: translateY(-3px) rotate(-5deg) scale(1.06); }
}
.mo-on [data-mo] .pain-card .ic { animation: mo-levit 5.5s ease-in-out infinite paused; }
.mo-on [data-mo] .pain-card:nth-child(2) .ic { animation-delay: -1.8s; }
.mo-on [data-mo] .pain-card:nth-child(3) .ic { animation-delay: -3.6s; }
.mo-on [data-mo].mo-idle .pain-card .ic { animation-play-state: running; }
.mo-on .pain-close .hl { margin-left: .22em; }

/* ---------- PILARES: números vivos, bars que re-quicam, jornada que respira ---------- */
.mo-on .pillar .num {
  background: linear-gradient(100deg, #27ae8f, #15dba8 60%, #27ae8f);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.mo-on .pillar .mini-bars i { background-image: linear-gradient(to top, #27ae8f, #15dba8); }
@media (hover: hover) and (pointer: fine) {
  .mo-on .pillar.go.bars .pvis:hover .mini-bars i { animation: mo-bar .6s var(--es) 1; }
  .mo-on .pillar.go.bars .pvis:hover .mini-bars i:nth-child(2) { animation-delay: .05s; }
  .mo-on .pillar.go.bars .pvis:hover .mini-bars i:nth-child(3) { animation-delay: .1s; }
  .mo-on .pillar.go.bars .pvis:hover .mini-bars i:nth-child(4) { animation-delay: .15s; }
  .mo-on .pillar.go.bars .pvis:hover .mini-bars i:nth-child(5) { animation-delay: .2s; }
  .mo-on .pillar.go.bars .pvis:hover .mini-bars i:nth-child(6) { animation-delay: .25s; }
  .mo-on .pillar.go.bars .pvis:hover .mini-bars i:nth-child(7) { animation-delay: .3s; }
}
@keyframes mo-bar { 0% { transform: scaleY(1); } 40% { transform: scaleY(.55); } 100% { transform: scaleY(1); } }
/* jornada do real: emojis levitam; a linha do cliente ouro ganha um glow único */
.mo-on .pillar .mo-emo { animation: mo-levit 6s ease-in-out infinite paused; }
.mo-on .pillar .pvis > div > div:nth-child(3) .mo-emo { animation-delay: -2s; }
.mo-on .pillar .pvis > div > div:nth-child(5) .mo-emo { animation-delay: -4s; }
.mo-on [data-mo].mo-idle .pillar .mo-emo, .mo-on #pilares.mo-idle .pillar .mo-emo { animation-play-state: running; }
.mo-on .pillar.go.steps .pvis > div > div:nth-child(5) { animation: mo-gold 1.2s ease .9s 1; border-radius: 12px; }
@keyframes mo-gold { 35% { box-shadow: 0 0 0 8px rgba(243,179,21,.14), 0 0 24px rgba(21,219,168,.25); } 100% { box-shadow: 0 0 0 0 rgba(243,179,21,0); } }
/* ATENDER: flash único quando a resposta da IA pousa */
.mo-on .pillar.rev.chat .pvis > div { animation: mo-cflash .6s ease-out 1.45s 1; border-radius: 14px; }

/* ---------- PROVA: números gigantes com gradiente + shimmer pós-contagem ---------- */
.mo-on .proof-card .big {
  background: linear-gradient(105deg, #0b2b29 10%, #27ae8f 50%, #0b2b29 90%);
  background-size: 220% 100%; background-position: 85% 0;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.mo-on .proof-card .big.mo-shimmer { animation: mo-shimmer 1.1s ease-out 1; }
@keyframes mo-shimmer { 0% { background-position: 85% 0; } 100% { background-position: 0% 0; } }
@media (hover: hover) and (pointer: fine) {
  .mo-on .proof-card .big { transition: transform var(--t2) var(--es); }
  .mo-on .proof-card:hover .big { transform: scale(1.04); }
}

/* ---------- CTA: encaixe com rotação + gradiente vivo + sheen no hover ---------- */
.mo-on .cta-final h2 .mo-half:first-child { transform: translateX(-28px) rotate(-2deg); }
.mo-on .cta-final h2 .mo-half:last-child { transform: translateX(28px) rotate(2deg); }
.mo-on.mo-rich .cta-final.go h2 .mo-half:last-child {
  background: linear-gradient(100deg, #15dba8, #27ae8f 45%, #15dba8); background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  animation: mo-hl-shift 6s ease-in-out infinite paused;
}
.mo-on.mo-rich [data-mo].mo-idle h2 .mo-half:last-child { animation-play-state: running; }
@keyframes mo-hl-shift { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }
@media (hover: hover) and (pointer: fine) {
  .mo-on .btn-cta:hover::after { animation: mo-shine .85s cubic-bezier(.5,0,.3,1) 1; }
}

/* ---------- marquee: fade nas bordas + hover acende o item ---------- */
.mo-on .marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
@media (hover: hover) and (pointer: fine) {
  .mo-on .marquee-track .it { transition: color .2s ease; }
  .mo-on .marquee-track .it:hover { color: #5f5e5a; }
}

/* ---------- sistema: spring no toggle, hint chega depois ---------- */
.mo-on .sys-tg-btn:active { transform: scale(.94); transition: transform .15s var(--es); }
.mo-on .sys-hint { transition-delay: .5s; }

/* ---------- explica: chevron/emoji reagem; ícone do item aberto respira ---------- */
@media (hover: hover) and (pointer: fine) {
  .mo-on .acc-head:hover .acc-chev { transform: scale(1.18); color: #0b2b29; }
  .mo-on .acc-item.open .acc-head:hover .acc-chev { transform: rotate(45deg) scale(1.18); }
  .mo-on .acc-head:hover .acc-ic { transform: translateY(-2px); }
}
.mo-on .acc-ic { display: inline-block; transition: transform var(--t2) var(--es); }
.mo-on .acc-item.open .acc-ic { animation: mo-levit 5.5s ease-in-out infinite paused; }
.mo-on [data-mo].mo-idle .acc-item.open .acc-ic { animation-play-state: running; }

/* ---------- gps: pins levitam, wiggle no hover, rotas reagem ---------- */
.mo-on .gps-bullets .b .mo-emo { animation: mo-levit 5.8s ease-in-out infinite paused; }
.mo-on .gps-bullets .b:nth-child(2) .mo-emo { animation-delay: -1.4s; }
.mo-on .gps-bullets .b:nth-child(3) .mo-emo { animation-delay: -2.9s; }
.mo-on .gps-bullets .b:nth-child(4) .mo-emo { animation-delay: -4.3s; }
.mo-on [data-mo].mo-idle .gps-bullets .b .mo-emo { animation-play-state: running; }
@media (hover: hover) and (pointer: fine) {
  .mo-on .gps-bullets .b { transition: transform var(--t2) var(--eo), box-shadow var(--t2) ease; }
  .mo-on .gps-bullets .b:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(11,43,41,.12); }
  .mo-on .gps-bullets .b:hover .mo-emo { animation: mo-wiggle .5s var(--es) 1; }
  .mo-on .gps-grid .pvis > div { transition: background .25s ease, transform var(--t2) var(--eo); }
  .mo-on .gps-grid .pvis > div:hover { background: rgba(56,204,156,.07); transform: translateX(4px); }
}
@keyframes mo-wiggle { 0%, 100% { transform: rotate(0); } 30% { transform: rotate(-9deg); } 65% { transform: rotate(7deg); } }

/* ---------- mapa: widgets como as "coins" do facilpay ---------- */
.mo-on .map-widget { animation: mo-levit 6s ease-in-out infinite paused; }
.mo-on .map-widget:nth-of-type(2) { animation-delay: -2s; }
.mo-on .map-widget:nth-of-type(3) { animation-delay: -4s; }
.mo-on [data-mo].mo-idle .map-widget { animation-play-state: running; }
@media (hover: hover) and (pointer: fine) {
  .mo-on .map-widget { transition: box-shadow .25s ease, border-color .25s ease; }
  .mo-on .map-widget:hover { box-shadow: 0 14px 30px rgba(11,43,41,.16), 0 0 0 1px rgba(56,204,156,.35); }
}

/* ---------- confecção: o hover re-conta a transformação ---------- */
@media (hover: hover) and (pointer: fine) {
  .mo-on .conf-rows.go .conf-row .pain-t, .mo-on .conf-rows.go .conf-row .sol-t, .mo-on .conf-rows.go .conf-row .arrow { transition: opacity .3s ease, color .3s ease, transform .3s var(--es); }
  .mo-on .conf-rows.go .conf-row:hover .pain-t { opacity: .38; }
  .mo-on .conf-rows.go .conf-row:hover .sol-t { color: #0b2b29; }
  .mo-on .conf-rows.go .conf-row:hover .arrow { transform: translateX(4px); color: #15dba8; }
}

/* ---------- dif: "vaidade." perde a voz de verdade ---------- */
.mo-on .dif.go h2 .mo-w.dim { transform: translateY(2px) rotate(-1.5deg); filter: blur(.6px); }

/* ---------- calculadora: callout com gradiente da marca ---------- */
.mo-on .calc-note-big .hl-teal {
  background: linear-gradient(100deg, #15dba8, #27ae8f 55%, #15dba8);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}

/* ---------- nav/footer: underline que cresce + dot que pulsa ---------- */
.mo-on .nav-links a:not(.btn) , .mo-on .foot-grid a {
  background-image: linear-gradient(90deg, #27ae8f, #15dba8);
  background-repeat: no-repeat; background-size: 0% 2px; background-position: 0 100%;
  transition: background-size .25s var(--eo);
}
@media (hover: hover) and (pointer: fine) {
  .mo-on .nav-links a:not(.btn):hover, .mo-on .foot-grid a:hover { background-size: 100% 2px; }
}
.mo-on footer.go .brand .dot, .mo-on footer.go .dot { animation: mo-dot .7s var(--es) .4s 1; }
@keyframes mo-dot { 40% { transform: scale(1.6); } 100% { transform: scale(1); } }

/* ============================================================
   Acessibilidade — segurança dupla (o motor nem boota com reduce)
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  .mo-on *, .mo-on *::before, .mo-on *::after { transition: none !important; animation: none !important; }
}
