/* ==========================================================================
   lymphaticdrainage - folha de estilo principal
   Extraida do <style> inline de index.html.
   Blocos: reset base / rich text / animacoes / @font-face / tema / breakpoints
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box
}

html,
body {
  margin: 0;
  padding: 0
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  line-height: 1.5;
  color: #0a0a0a;
  background: #fff;
  -webkit-font-smoothing: antialiased
}

img {
  max-width: 100%;
  display: block;
  height: auto
}

a {
  color: inherit
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 .5em;
  line-height: 1.2
}

p {
  margin: 0 0 1em
}

.builder-rich-text>:first-child {
  margin-top: 0
}

.builder-rich-text>:last-child {
  margin-bottom: 0
}

.builder-rich-text p {
  margin: 0 0 .75em
}

.builder-rich-text h1,
.builder-rich-text h2,
.builder-rich-text h3,
.builder-rich-text h4,
.builder-rich-text h5,
.builder-rich-text h6 {
  margin: .5em 0 .35em;
  line-height: 1.2;
  font-weight: 600
}

.builder-rich-text h2 {
  font-size: 1.5em
}

.builder-rich-text h3 {
  font-size: 1.25em
}

.builder-rich-text ul {
  list-style: disc;
  padding-left: 1.4em;
  margin: 0 0 .75em
}

.builder-rich-text ol {
  list-style: decimal;
  padding-left: 1.4em;
  margin: 0 0 .75em
}

.builder-rich-text li {
  margin: .15em 0
}

.builder-rich-text blockquote {
  border-left: 3px solid rgba(127, 127, 127, .35);
  padding-left: .85em;
  margin: 0 0 .75em;
  opacity: .85
}

.builder-rich-text a {
  color: inherit;
  text-decoration: underline
}

.builder-rich-text strong {
  font-weight: 700
}

.builder-rich-text em {
  font-style: italic
}

.builder-rich-text u {
  text-decoration: underline
}

.builder-rich-text s {
  text-decoration: line-through
}

.builder-anim-fade-in {
  animation: bfin .6s ease both
}

.builder-anim-slide-up {
  animation: bsup .6s ease both
}

.builder-anim-zoom-in {
  animation: bzin .6s ease both
}

@keyframes bfin {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes bsup {
  from {
    opacity: 0;
    transform: translateY(20px)
  }

  to {
    opacity: 1;
    transform: none
  }
}

@keyframes bzin {
  from {
    opacity: 0;
    transform: scale(.95)
  }

  to {
    opacity: 1;
    transform: none
  }
}

@keyframes builder-marquee-left {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-50%)
  }
}

@keyframes builder-marquee-right {
  from {
    transform: translateX(-50%)
  }

  to {
    transform: translateX(0)
  }
}

/* vietnamese */
@font-face {
  font-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/3wtavm.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-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/y0dfhe.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-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/684vtj.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;
}

/* vietnamese */
@font-face {
  font-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/3wtavm.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-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/y0dfhe.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-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/684vtj.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;
}

/* vietnamese */
@font-face {
  font-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/3wtavm.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-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/y0dfhe.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-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/684vtj.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;
}

/* vietnamese */
@font-face {
  font-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/3wtavm.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-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/y0dfhe.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-display: swap;
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/684vtj.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/gidg2o.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/1j89gye.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/k81wcw.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/npzlvx.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/b68fdy.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/14xzo4d.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/dujc65.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/gidg2o.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/1j89gye.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/k81wcw.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/npzlvx.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/b68fdy.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/14xzo4d.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/dujc65.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/gidg2o.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/1j89gye.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/k81wcw.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/npzlvx.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/b68fdy.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/14xzo4d.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/dujc65.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/gidg2o.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/1j89gye.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* greek-ext */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/k81wcw.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}

/* greek */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/npzlvx.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/b68fdy.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/14xzo4d.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-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/dujc65.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;
}

.themed-root {
  --t-primary: #2151F5;
  --t-secondary: #181822;
  --t-bg: #FFFFFF;
  --t-head: #181822;
  --t-body: #5A5B6B;
  --t-ok: #0EA371;
  --t-err: #E11D2E;
  --t-font-head: "Bricolage Grotesque", system-ui, sans-serif;
  --t-font-body: "Inter", system-ui, sans-serif;
  --t-font-btn: "Inter", system-ui, sans-serif;
  --t-base: 15;
  --t-scale: 1.28;
  --t-lh: 1.55;
  --t-btnr: 11;
  --t-cardr: 14;
  --t-pad: 56;
  --t-width: 820px;
  background: var(--t-bg);
  color: var(--t-head);
  font-family: var(--t-font-body);
  font-size: calc(var(--t-base)*1px);
  line-height: var(--t-lh);
}

.themed-root h1,
.themed-root h2,
.themed-root h3,
.themed-root h4,
.themed-root h5,
.themed-root h6 {
  font-family: var(--t-font-head);
  color: var(--t-head);
  letter-spacing: -.015em;
  line-height: 1.2;
}

.themed-root h1 {
  font-size: calc(var(--t-base)*var(--t-scale)*var(--t-scale)*var(--t-scale)*1px);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.12;
}

.themed-root h2 {
  font-size: calc(var(--t-base)*var(--t-scale)*var(--t-scale)*1px);
  font-weight: 700;
}

.themed-root h3 {
  font-size: calc(var(--t-base)*var(--t-scale)*1px);
  font-weight: 600;
}

/* Titulos de secao: usam H2 para manter um unico H1 por bloco, mas
   conservam a escala tipografica do H1 original. */
.themed-root h2.section-title {
  font-size: calc(var(--t-base)*var(--t-scale)*var(--t-scale)*var(--t-scale)*1px);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.12;
}


.themed-root p,
.themed-root li {
  color: var(--t-body);
}

.themed-root a {
  color: var(--t-primary);
}

.themed-root .themed-btn,
.themed-root button.themed-btn,
.themed-root a.themed-btn {
  font-family: var(--t-font-btn);
  font-weight: 600;
  cursor: pointer;
  border-radius: calc(var(--t-btnr)*1px);
  border: 2px solid var(--t-primary);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  transition: .18s;
}

.themed-root[data-btnsize=p] .themed-btn {
  padding: 8px 18px;
  font-size: .85em;
}

.themed-root[data-btnsize=m] .themed-btn {
  padding: 12px 26px;
  font-size: .95em;
}

.themed-root[data-btnsize=g] .themed-btn {
  padding: 16px 34px;
  font-size: 1.05em;
}

.themed-root[data-btnstyle=solid] .themed-btn {
  background: var(--t-primary);
  color: #fff;
}

.themed-root[data-btnstyle=outline] .themed-btn {
  background: transparent;
  color: var(--t-primary);
}

.themed-root[data-btnstyle=soft] .themed-btn {
  background: color-mix(in srgb, var(--t-primary) 14%, transparent);
  color: var(--t-primary);
  border-color: transparent;
}

.themed-root[data-shadow=on][data-btnstyle=solid] .themed-btn {
  box-shadow: 0 8px 22px color-mix(in srgb, var(--t-primary) 38%, transparent);
}

.themed-root[data-upper=on] .themed-btn {
  text-transform: uppercase;
  letter-spacing: .05em;
}

.themed-root[data-hover=lift] .themed-btn:hover {
  transform: translateY(-2px);
}

.themed-root[data-hover=dark] .themed-btn:hover {
  filter: brightness(.86);
}

.themed-root[data-hover=glow] .themed-btn:hover {
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--t-primary) 22%, transparent);
}

.themed-root .themed-btn-sec {
  background: transparent !important;
  color: var(--t-secondary) !important;
  border-color: color-mix(in srgb, var(--t-secondary) 32%, transparent) !important;
  box-shadow: none !important;
}

.themed-root .themed-card {
  border: 1px solid color-mix(in srgb, var(--t-head) 11%, transparent);
  border-radius: calc(var(--t-cardr)*1px);
  background: color-mix(in srgb, var(--t-bg) 97%, var(--t-head) 3%);
}

@media (max-width:767px) {
  [data-pgeus-bp="desktop"] {
    display: none !important
  }
}

@media (min-width:768px) {
  [data-pgeus-bp="mobile"] {
    display: none !important
  }
}

/* --- Utilitario: conteudo com exibicao adiada ----------------------------- */
.delay {
  display: none !important;
}

/* --- CTA principal -------------------------------------------------------
   Pilula vermelha, texto branco em caixa alta e halo difuso.
   Classe propria em vez de .themed-btn: as regras de botao do tema dependem
   de atributos data-btnstyle/data-btnsize que .themed-root nao possui. */
.themed-root .cta-btn {
  --cta: #e11d2e;
  --cta-hover: #c4121f;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  padding: 20px 46px;
  border: 0;
  border-radius: 999px;
  background: var(--cta);
  color: #fff;
  position: relative;
  overflow: hidden;
  font-family: var(--t-font-btn);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 0 32px rgba(225, 29, 46, .45), 0 8px 20px rgba(225, 29, 46, .32);
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

/* Brilho que atravessa o botao devagar. Fica contido pelo overflow do
   proprio pill, entao acompanha o border-radius. */
.themed-root .cta-btn::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 55%;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .28) 50%, rgba(255, 255, 255, 0) 100%);
  transform: translateX(-160%) skewX(-18deg);
  animation: cta-shine 5s ease-in-out infinite;
}

@keyframes cta-shine {

  0%,
  55% {
    transform: translateX(-160%) skewX(-18deg);
  }

  100% {
    transform: translateX(340%) skewX(-18deg);
  }
}

.themed-root .cta-btn:hover {
  background: var(--cta-hover);
  transform: translateY(-2px);
  box-shadow: 0 0 42px rgba(225, 29, 46, .55), 0 12px 26px rgba(225, 29, 46, .38);
}

.themed-root .cta-btn:active {
  transform: translateY(0);
  box-shadow: 0 0 24px rgba(225, 29, 46, .4);
}

.themed-root .cta-btn:focus-visible {
  outline: 3px solid var(--cta);
  outline-offset: 4px;
}

/* No mobile o CTA ocupa a largura util, com teto para nao virar uma barra. */
@media (max-width:767px) {
  .themed-root .cta-btn {
    padding: 18px 28px;
    font-size: 16px;
    letter-spacing: .03em;
  }
}

/* Respeita quem pediu menos animacao no sistema. */
@media (prefers-reduced-motion: reduce) {
  .themed-root .cta-btn {
    transition: none;
  }

  .themed-root .cta-btn:hover {
    transform: none;
  }
}

/* --- Rodape ---------------------------------------------------------------
   Elemento unico e responsivo: nao duplica entre os blocos desktop/mobile. */
.site-footer {
  background: #0d0d0f;
  color: #9b9daa;
  font-family: var(--t-font-body, system-ui, sans-serif);
  font-size: 13px;
  line-height: 1.6;
  padding: 44px 24px 36px;
}

.site-footer__inner {
  max-width: 587px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  text-align: center;
}

.site-footer__disclosure {
  margin: 0;
  max-width: 46ch;
}

.site-footer__tag {
  display: inline-block;
  margin-right: 6px;
  padding: 3px 9px;
  border-radius: 4px;
  background: #2a2b33;
  color: #e6e7ee;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  vertical-align: 1px;
}

.site-footer__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 22px;
  padding-top: 20px;
  border-top: 1px solid #24252c;
  width: 100%;
}

.site-footer__nav a {
  color: #d7d8e0;
  text-decoration: none;
  font-size: 12.5px;
  letter-spacing: .02em;
  transition: color .15s ease;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible {
  color: #fff;
  text-decoration: underline;
}

.site-footer__legal {
  margin: 0;
  max-width: 60ch;
  font-size: 11.5px;
  line-height: 1.65;
  color: #74767f;
}

.site-footer__copy {
  margin: 0;
  font-size: 11.5px;
  color: #5f616a;
}

@media (max-width:767px) {
  .site-footer {
    padding: 34px 18px 30px;
  }

  .site-footer__nav {
    gap: 10px 16px;
  }
}


/* --- Indicador "ao vivo" do badge Breaking News ---------------------------
   Piscada suave na bolinha vermelha. O halo usa uma segunda camada para nao
   depender de outro elemento no HTML. */
.themed-root .live-dot {
  position: relative;
  animation: live-pulse 1.5s ease-in-out infinite;
}

.themed-root .live-dot::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9px;
  height: 9px;
  margin: -4.5px 0 0 -4.5px;
  border-radius: 50%;
  background: #ec1c2e;
  animation: live-ring 1.5s ease-out infinite;
  pointer-events: none;
}

@keyframes live-pulse {

  0%,
  100% {
    opacity: 1;
  }

  55% {
    opacity: .3;
  }
}

@keyframes live-ring {
  0% {
    transform: scale(1);
    opacity: .55;
  }

  70%,
  100% {
    transform: scale(2.6);
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {

  .themed-root .live-dot,
  .themed-root .live-dot::after {
    animation: none;
  }

  .themed-root .live-dot::after {
    display: none;
  }
}


/* --- Animacoes em video ---------------------------------------------------
   Substituem os GIFs originais (35 MB -> 0,7 MB). O height:auto mantem a
   proporcao; os atributos width/height reservam o espaco e evitam salto de
   layout enquanto o poster carrega. */
.themed-root .gif-video {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  background: transparent;
}


/* --- Imagens fluidas ------------------------------------------------------
   Nos cards o <picture> e flex item de um container com align-items:flex-start,
   entao encolhe ao conteudo e a <img width:100%> resolve contra esse box menor.
   Marcado no HTML para nao afetar avatares e logo. */
.themed-root picture.img-fill {
  display: block;
  width: 100%;
}

.themed-root picture.img-fill>img {
  width: 100%;
  height: auto;
}


/* --- Bloco de comentarios --------------------------------------------------
   Respiro acima (o halo do CTA encostava no titulo) e abaixo (o rodape
   comecava colado no ultimo comentario). */
.themed-root .comments {
  margin-top: 34px;
  padding-top: 26px;
  padding-bottom: 40px;
  border-top: 1px solid #e6e7ec;
}

@media (max-width:767px) {
  .themed-root .comments {
    margin-top: 26px;
    padding-top: 20px;
    padding-bottom: 32px;
  }
}
