/* =====================================================================
   G Compass Site Novo
   Base visual adaptada para a identidade, copy e narrativa da G Compass.
   ===================================================================== */

/* ---------- Fonts ----------
   O site usa Aeonik Pro (CoType Foundry, licença comercial) e Aeonik Mono.
   Os arquivos não estão na pasta (licença), então os @font-face foram
   retirados para não gerar 404 a cada visita; o site usa Inter (sans) e
   Poppins nos rótulos pequenos. Com a licença, basta recriar os
   @font-face apontando para assets/fonts/. */

/* Inter servida pelo próprio site (antes vinha do Google Fonts, num CSS que travava a
   primeira pintura). É fonte variável: o mesmo arquivo cobre os pesos 400, 500 e 600. */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../assets/fonts/inter-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../assets/fonts/inter-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --font-sans: "Aeonik Pro", "Inter", -apple-system, "Segoe UI", Arial, sans-serif;
  /* textos pequenos (rótulos, contadores): Poppins, da marca, no lugar da fonte monoespaçada */
  --font-mono: "Poppins", -apple-system, "Segoe UI", Arial, sans-serif;

  --black: #000;
  --white: #fff;
  --scale-gray-10: #212121;
  --scale-gray-20: #373737;
  --scale-gray-30: #575757;
  --scale-gray-60: #929292;
  --scale-gray-80: #c7c7c7;
  --scale-gray-90: #eaeaea;
  --scale-gray-95: #f2f2f2;
  --scale-skyblue: #86bff2;
  --evergreen: #14073D;
  --foundry-tan: #D5C8FF;
  --archive-purple: #673DE6;
  --cloud-slate: #8C6DF0;
  --atlas-blue: #273252;
  --nav-hover: #775893;
  --reveal-green: #A158F7;

  --announcement-offset: 0px;
  --gutter: 1.5rem;
  --radius-md: 6px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-2xl: 16px;
  --radius-3xl: 24px;

  /* nav theme (light) */
  --nav-background: #fff;
  --nav-text: black;
  --nav-panel-background: #f5f5f5;
  --nav-dropdown-background: #ffffffeb;
  --nav-card-background: #f5f5f5;
  --nav-ctas-background: #f5f5f5;
  --nav-login-cta-bg: transparent;
  --nav-login-cta-border: #c7c7c7;
  --nav-login-cta-text: #929292;
  --nav-demo-desktop-cta-bg: black;
  --nav-demo-desktop-cta-text: white;
  --nav-mobile-demo-cta-bg: #eaeaea;
  --nav-mobile-demo-cta-text: black;
  --nav-mobile-demo-cta-border: transparent;
  --nav-mobile-close-background: #eaeaea;
  --nav-shadow: #00000029;
}
[data-nav-theme="dark"] {
  --nav-background: transparent;
  --nav-text: white;
  --nav-panel-background: #212121;
  --nav-dropdown-background: #212121e0;
  --nav-card-background: #0006;
  --nav-ctas-background: #212121;
  --nav-login-cta-bg: transparent;
  --nav-login-cta-border: #575757;
  --nav-login-cta-text: #c7c7c7;
  --nav-demo-desktop-cta-bg: white;
  --nav-demo-desktop-cta-text: black;
  --nav-mobile-demo-cta-bg: #191919;
  --nav-mobile-demo-cta-text: white;
  --nav-mobile-close-background: #575757;
  --nav-shadow: #00000052;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; border: 0 solid; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; font-feature-settings: "ss02" on; scroll-behavior: auto; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: clip; }
body { font-family: var(--font-sans); background: #fff; color: #000; line-height: 1.5; -webkit-font-smoothing: antialiased; overflow-x: clip; }
.PageRoot { position: relative; overflow-x: clip; }
img, video, svg, canvas { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; background: none; cursor: pointer; }
h1, h2, h3, h4, h5, h6, p { font-weight: inherit; font-size: inherit; }
.font-sans { font-family: var(--font-sans); }
.text-white { color: #fff; }
.text-black { color: #000; }
.text-scale-gray-80 { color: var(--scale-gray-80); }
.text-scale-gray-30 { color: var(--scale-gray-30); }
.text-scale-gray-60 { color: var(--scale-gray-60); }
.underline { text-decoration: underline; }
.flip-x { transform: scaleX(-1); }

/* ---------- Typography (from the original header / body / detail utilities) ---------- */
.header1 { font-size: 2.5rem; font-weight: 400; line-height: 1.05; }
.header2 { font-size: 2rem; font-weight: 400; line-height: 1.05; }
.header3-regular { font-size: 1.5rem; font-weight: 400; line-height: 1.05; }
.header4-regular { font-size: 1.5rem; font-weight: 400; line-height: 1.05; letter-spacing: -0.03em; }
.header5-regular { font-size: 1.375rem; font-weight: 400; line-height: 1.05; }
.body1 { font-size: 1rem; font-weight: 400; line-height: 1.45; }
.body2-regular { font-size: 0.875rem; font-weight: 400; line-height: 1.35; }
.body3 { font-size: 0.875rem; font-weight: 400; line-height: 1.35; }
.detail-mono { font-family: var(--font-mono); text-transform: uppercase; font-size: 0.625rem; font-weight: 400; line-height: 1.2; }
.detail-regular { font-size: 0.625rem; line-height: 1.2; }
.cta { text-transform: capitalize; font-size: 0.875rem; font-weight: 600; line-height: 1.45; }
.navigation-header-link { font-size: 0.875rem; font-weight: 400; line-height: 1; }
.navigation-link { font-size: 1.25rem; font-weight: 400; line-height: 1.5; }
.navigation-link-mobile { font-size: 2rem; font-weight: 400; line-height: 2.125rem; }
.navigation-subheader { font-size: 0.875rem; font-weight: 400; line-height: 1.25rem; }
@media (min-width: 768px) {
  .header1 { font-size: 7.5rem; line-height: 1; }
  .header2 { font-size: 4rem; line-height: 1.05; }
  .header3-regular { font-size: 2.5rem; line-height: 1.25; }
  .header4-regular { font-size: 2rem; line-height: 1.5; }
  .header5-regular { font-size: 1.5rem; line-height: 1.5; }
  .body1 { font-size: 1.25rem; line-height: 1.5; }
  .body2-regular { font-size: 1rem; line-height: 1.5; }
  .body3 { font-size: 0.875rem; line-height: 1.5; }
  .detail-mono { font-size: 0.813rem; }
  .detail-regular { font-size: 0.75rem; }
  .cta { line-height: 1.5; }
  .navigation-link { font-size: 1.5rem; line-height: 1.6; }
}

@media (orientation: landscape) and (max-height: 500px) {
  .HomeHero__headlineInner h2 { font-size: 2.5rem; line-height: 1.25; }
  .PullApartContent .header4-regular { font-size: 17px; line-height: 24px; }
  .Header__grid { padding-top: .75rem; padding-bottom: .75rem; }
  .PullApartContent { align-items: center; padding-top: 0; }
  .PullApartContent__actions { gap: .75rem; }
  .CarouselCard__body { padding-top: .25rem; }
}

/* ---------- Grid ---------- */
.grid-layout { display: grid; grid-template-columns: repeat(8, 1fr); gap: 0.5rem; padding: 0 1.5rem; }
.grid-col-2-11 { grid-column: 1 / -1; min-width: 0; }
@media (min-width: 768px) {
  .grid-layout { grid-template-columns: repeat(12, minmax(0, 150px)); justify-content: center; }
  .grid-col-2-11 { grid-column: 2 / span 10; }
}

/* ---------- AnimatedText (split words, masked line reveal) ---------- */
.AnimatedText .at-line { position: relative; display: block; overflow: clip; margin: -0.12em 0; padding: 0.12em 0; }
.AnimatedText .at-lineInner { position: relative; display: block; will-change: transform, opacity; }
.AnimatedText .word { position: relative; display: inline-block; will-change: transform, opacity; }
.AnimatedText.isnt-visible .at-lineInner { transform: translate(0, 400%); opacity: 0; color: var(--reveal-green); }
.AnimatedText.isnt-visible .word { transform: translate(30%, 0); opacity: 0; color: var(--reveal-green); }
.AnimatedText.is-visible .at-lineInner, .AnimatedText.is-visible .word { transform: none; opacity: 1; color: inherit; }
.AnimatedText.is-visible .at-lineInner { transition: transform .9s cubic-bezier(.16,1,.3,1), opacity .6s, color .6s; }
.AnimatedText.is-visible .word { transition: transform .9s cubic-bezier(.16,1,.3,1), opacity .6s, color 1.2s .4s; transition-delay: calc(var(--i, 0) * 28ms), calc(var(--i, 0) * 28ms), calc(.4s + var(--i, 0) * 28ms); }
.RichText p + p { margin-top: 1em; }

/* ---------- FlatCta ---------- */
.FlatCta {
  position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center;
  width: fit-content; height: max-content; border-radius: var(--radius-md); cursor: pointer; isolation: isolate;
  font-family: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent;
}
.FlatCta__inner { position: relative; z-index: 1; display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; min-width: 0; max-width: 100%; padding: 0.5rem 1rem; }
.FlatCta__label { display: block; white-space: nowrap; font-weight: 500; transform-origin: center; transition: transform .3s ease-out; }
.FlatCta:hover .FlatCta__label { transform: scale(.9); }
.FlatCta__wash { pointer-events: none; position: absolute; inset: 0; z-index: 0; border-radius: inherit; background: currentColor; opacity: .35; transform: translate(0, 100%); transition: transform .3s ease-out; }
.FlatCta__wash--x { transform: translate(-100%, 0); transition-duration: .6s; }
.FlatCta__wash--30 { opacity: .30; }
.FlatCta:hover .FlatCta__wash { transform: translate(0, 0); }
.FlatCta--login { height: 40px; border-radius: 8px; border: 1px solid var(--nav-login-cta-border); background: var(--nav-login-cta-bg); color: var(--nav-login-cta-text); transition: color .3s, border-color .3s; }
.FlatCta--demo { height: 40px; border-radius: 8px; background: var(--nav-demo-desktop-cta-bg); color: var(--nav-demo-desktop-cta-text); transition: color .3s, background-color .3s; }
.FlatCta--demoMobile { height: 40px; border-radius: 8px; border: 1px solid var(--nav-mobile-demo-cta-border); background: var(--nav-mobile-demo-cta-bg); color: var(--nav-mobile-demo-cta-text); }
.FlatCta--white { background: #fff; color: #000; }
.FlatCta--black { background: #000; color: #fff; }
.FlatCta--gray { background: var(--scale-gray-90); color: #000; transition: background-color .5s ease-out, color .5s ease-out; }
.FlatCta--evergreen { background: var(--evergreen); color: #fff; height: 44px; }
.FlatCta--outline { border: 1px solid #000; color: #000; }
.FlatCta--square { width: 44px !important; height: 44px !important; min-width: 44px; padding: 0; flex-shrink: 0; }
.FlatCta--square:hover { opacity: .8; }
.FlatCta__inner--square { padding: 0.5rem 0.75rem; }
/* arrow variant */
.FlatCta__inner--arrow { padding: 0.375rem 0.25rem 0.375rem 1rem; }
.FlatCta__inner--arrowGap { padding: 0.25rem 0.25rem 0.25rem 1rem; }
.FlatCta__row { position: relative; z-index: 1; display: flex; align-items: center; gap: 0.375rem; min-width: 0; }
.FlatCta__row--gap4 { gap: 1rem; }
.FlatCta__icon { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: var(--radius-md); height: 32px; width: 32px; flex-shrink: 0; }
.FlatCta__icon--bare { background: transparent; color: inherit; padding: 0.5rem 0 0.5rem 0.5rem; }
.FlatCta__icon--white { background: #fff; color: #000; padding: 0.5rem; }
.FlatCta__iconTrack { position: absolute; inset: 0; display: flex; height: 100%; width: 200%; transform: translateX(-50%); transition: transform .6s ease-out; }
.FlatCta__iconTrack--rev { transform: translateX(0); }
.FlatCta__iconCell { display: flex; height: 100%; width: 50%; flex-shrink: 0; align-items: center; justify-content: center; }
.FlatCta:hover .FlatCta__iconTrack { transform: translateX(0); }
.FlatCta:hover .FlatCta__iconTrack--rev { transform: translateX(-50%); }
.FlatCta--arrow:hover .FlatCta__label { transform: none; }
.FlatCta__multiply { pointer-events: none; position: absolute; inset: 0; z-index: 1; border-radius: inherit; background: #000; opacity: 0; mix-blend-mode: multiply; transition: opacity .3s ease-out; }
.FlatCta--arrow:hover .FlatCta__multiply { opacity: .18; }
@media (prefers-reduced-motion: reduce) { .FlatCta__wash, .FlatCta__label, .FlatCta__iconTrack { transition: none !important; } .FlatCta:hover .FlatCta__label { transform: none; } }

/* =====================================================================
   ANNOUNCEMENT
   ===================================================================== */
.Announcement { position: relative; z-index: 30; width: 100%; overflow: hidden; background: #000; color: #fff; max-height: 10rem; opacity: 1; transition: max-height .3s ease-out, opacity .3s ease-out; }
.Announcement.is-dismissed { max-height: 0; opacity: 0; }
.Announcement__inner { margin: 0 auto; width: 100%; max-width: 1472px; padding: 0.625rem 1.5rem; display: flex; align-items: center; justify-content: center; gap: 0.75rem; text-align: center; }
.Announcement__content { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; column-gap: 0.75rem; row-gap: 0.25rem; font-size: 0.875rem; line-height: 1.375; }
.Announcement__logo { width: 1rem; height: 1rem; flex-shrink: 0; fill: currentColor; }
.Announcement__cta { display: inline-flex; align-items: center; gap: 0.25rem; font-weight: 500; text-underline-offset: 4px; }
.Announcement__cta:hover { text-decoration: underline; }
.Announcement__cta svg { width: 1rem; height: 1rem; }
.Announcement__dismiss { position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); display: inline-flex; width: 1.75rem; height: 1.75rem; align-items: center; justify-content: center; border-radius: 9999px; opacity: .7; transition: opacity .2s; }
.Announcement__dismiss:hover { opacity: 1; }
.Announcement__dismiss svg { width: 1rem; height: 1rem; }

/* =====================================================================
   HEADER / NAV
   ===================================================================== */
.Header { position: fixed; left: 0; right: 0; z-index: 50; top: var(--announcement-offset, 0px); transition: color .3s; }
.Header__bar { position: relative; flex-shrink: 0; background: var(--nav-background); color: var(--nav-text); transition: background-color .2s .02s, color .2s .02s, transform .35s ease; }
.Header.is-hidden .Header__bar { transform: translateY(calc(-100% - var(--announcement-offset, 0px) - 8px)); }
.Header.is-open .Header__bar { background: var(--nav-dropdown-background); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); box-shadow: 0 30px 60px -20px var(--nav-shadow); }
.Header__grid { position: relative; z-index: 100; display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.9375rem 1.5rem; }
@media (min-width: 1024px) {
  .Header__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 150px)); justify-content: center; gap: 0.5rem; padding: 1.5rem; }
}
.Header__logo { position: relative; z-index: 20; grid-column: span 1; display: flex; align-items: center; min-width: 0; flex-shrink: 0; color: var(--nav-text); }
.Header__logo a { position: relative; width: max-content; display: block; }
.Header__logoSvg { height: 18px; width: auto; max-width: 80px; flex-shrink: 0; }
@media (min-width: 1280px) { .Header__logoSvg { height: 20px; } }
.Header__nav { display: none; position: relative; z-index: 20; min-width: 0; flex: 1; align-items: center; justify-content: flex-start; gap: 1.25rem; }
@media (min-width: 1024px) { .Header__nav { display: flex; grid-column: 3 / span 7; } }
@media (min-width: 1024px) { .Header__nav { grid-column: 2 / span 8; gap: 1.75rem; } }
.Header__navItem { position: relative; transition: opacity .2s ease-out; }
.Header__navItem button { display: inline-flex; height: 2.5rem; align-items: center; flex-shrink: 0; padding: 0; color: var(--nav-text); transition: color .2s; }
.Header.is-open .Header__navItem button:not(.is-active) { color: color-mix(in srgb, var(--nav-text) 45%, transparent); }
.Header__ctas { position: relative; z-index: 20; display: flex; justify-content: flex-end; gap: 0.5rem; align-self: center; margin-left: auto; flex-shrink: 0; }
@media (min-width: 1024px) { .Header__ctas { grid-column: 10 / span 3; gap: 0.75rem; } }
.Header__ctasDesktop { display: none; align-items: center; gap: 0.75rem; }
.Header__ctasMobile { display: flex; }
@media (min-width: 1024px) { .Header__ctasDesktop { display: flex; } .Header__ctasMobile { display: none; } }
.Header__burger { display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: 8px; background: var(--nav-ctas-background); color: var(--nav-text); flex-shrink: 0; transition: background-color .2s, color .2s; }
.Header__burger svg { width: 1.5rem; height: 1.5rem; }
@media (min-width: 1024px) { .Header__burger { display: none; } }

/* Dropdown */
.Header__dropdown { display: none; position: relative; z-index: 90; width: 100%; }
@media (min-width: 1024px) { .Header__dropdown { display: block; height: 0; overflow: hidden; transition: height .45s cubic-bezier(.65,0,.35,1); } }
.Header__dropdownInner { padding: 2rem 0 3rem; }
.Menu { display: none; grid-template-columns: repeat(12, minmax(0, 150px)); justify-content: center; gap: 0.5rem; padding: 0 1.5rem; align-items: stretch; }
.Menu.is-active { display: grid; }
.Menu__col { grid-column: span 3; align-self: start; display: flex; flex-direction: column; row-gap: 0.25rem; }
.Menu__col--1 { grid-column: 1 / span 3; }
.Menu__col--2 { grid-column: 4 / span 3; }
@media (min-width: 1280px) { .Menu__col--1 { grid-column: 2 / span 2; } .Menu__col--2 { grid-column: 4 / span 2; } }
.Menu .navigation-subheader { letter-spacing: .025em; padding-bottom: 0.5rem; color: #737373; }
.Menu__links { display: flex; flex-direction: column; row-gap: 0.25rem; padding-bottom: 0.75rem; }
.Menu__links a { position: relative; display: block; width: max-content; padding: 0.125rem 0; }
.Menu__links a .navigation-link { display: block; line-height: 1.375; letter-spacing: -.025em; color: var(--nav-text); transition: color .2s; }
.Menu__links a:hover .navigation-link { color: var(--nav-hover); }
.Menu__media { grid-column: 7 / span 6; display: flex; flex-direction: column; min-height: 192px; height: 100%; padding: 0 0.5rem 0 3.5rem; }
@media (min-width: 1024px) { .Menu__media { padding-left: 5rem; } }
@media (min-width: 1280px) { .Menu__media { grid-column: 6 / span 7; padding-left: 6rem; } }
.Menu__mediaFrame { position: relative; height: 100%; min-height: 192px; width: 100%; flex-shrink: 0; overflow: hidden; border-radius: var(--radius-xl); }
.Menu__mediaFrame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.4); transition: transform 1.1s cubic-bezier(.16,1,.3,1); }
.Menu.is-active .Menu__mediaFrame img { transform: scale(1); }
.Menu__cards { grid-column: 7 / span 6; display: flex; flex-direction: row; gap: 0.75rem; align-items: stretch; align-self: stretch; padding: 1.5rem 0.5rem 1.5rem 2.5rem; }
@media (min-width: 1024px) { .Menu__cards { padding-left: 3.5rem; } }
@media (min-width: 1280px) { .Menu__cards { grid-column: 6 / span 7; padding-left: 4rem; } }
.Menu__card { position: relative; display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 0.5rem; overflow: hidden; border-radius: var(--radius-xl); border: 1px solid var(--nav-card-background); background: var(--nav-card-background); padding: 0.75rem; transition: background-color .2s; }
.Menu__cardImg { position: relative; aspect-ratio: 16 / 9; width: 100%; overflow: hidden; border-radius: var(--radius-lg); }
.Menu__cardImg img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.4); transition: transform 1.1s cubic-bezier(.16,1,.3,1); }
.Menu.is-active .Menu__cardImg img { transform: scale(1); }
.Menu__card p { font-size: 0.875rem; font-weight: 500; line-height: 1.4; color: var(--nav-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.Menu__card:hover p { text-decoration: underline; }
/* stagger reveal */
.Menu [data-reveal] { opacity: 0; transform: translateY(10px); transition: opacity .35s ease-out, transform .45s cubic-bezier(.16,1,.3,1); transition-delay: calc(var(--i, 0) * 28ms); }
.Menu.is-active.is-revealed [data-reveal] { opacity: 1; transform: none; }

/* Mobile menu */
.MobileMenu { position: fixed; inset: 0; z-index: 200; display: flex; flex-direction: column; background: var(--nav-panel-background); color: var(--nav-text); transform: translateY(-100%); opacity: 0; visibility: hidden; transition: transform .5s cubic-bezier(.65,0,.35,1), opacity .4s, visibility 0s .5s; }
.MobileMenu.is-open { transform: none; opacity: 1; visibility: visible; transition: transform .5s cubic-bezier(.65,0,.35,1), opacity .3s, visibility 0s; }
.MobileMenu__top { display: flex; align-items: center; justify-content: space-between; padding: 0.9375rem 1.5rem; }
.MobileMenu__logo svg { width: 24px; height: 24px; }
.MobileMenu__close { display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; border-radius: 8px; background: var(--nav-mobile-close-background); }
.MobileMenu__close svg { width: 1.5rem; height: 1.5rem; }
.MobileMenu__scroll { flex: 1; overflow-y: auto; padding: 1rem 1.5rem 2rem; }
.MobileMenu__group summary { list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 0.875rem 0; cursor: pointer; border-bottom: 1px solid color-mix(in srgb, var(--nav-text) 12%, transparent); }
.MobileMenu__group summary::-webkit-details-marker { display: none; }
.MobileMenu__chev { width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .3s; margin-right: 6px; }
.MobileMenu__group[open] .MobileMenu__chev { transform: rotate(-135deg); }
.MobileMenu__sub { display: flex; flex-direction: column; padding: 0.75rem 0 1rem; }
.MobileMenu__sub .navigation-subheader { color: #8a8a8a; padding: 0.75rem 0 0.25rem; }
.MobileMenu__sub a { padding: 0.375rem 0; font-size: 1.125rem; line-height: 1.4; }
.MobileMenu__ctas { display: flex; gap: 0.75rem; padding: 1rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom)); }
.MobileMenu__ctas .FlatCta { flex: 1; }
@media (min-width: 768px) { .MobileMenu { display: none; } }

/* =====================================================================
   HOME HERO
   ===================================================================== */
.HomeHero { position: relative; top: 0; left: 0; width: 100%; min-height: 100dvh; height: 232dvh; background: #fff; }
@media (min-width: 768px) { .HomeHero { height: 450dvh; } }
.HomeHero__stage { position: relative; width: 100%; height: 100dvh; }
.HomeHero__parallax { position: absolute; top: 0; left: 0; width: 100%; height: 100dvh; overflow: hidden; }

.HomeHero__frame { position: absolute; top: 72px; bottom: 16px; left: 16px; right: 16px; border-radius: var(--radius-2xl); background: #000; overflow: hidden; z-index: 1; }
@media (min-width: 768px) { .HomeHero__frame { top: 75px; bottom: 18px; left: 18px; right: 18px; } }
@media (min-width: 1450px) { .HomeHero__frame { top: 88px; bottom: 24px; left: 24px; right: 24px; } }
.HomeHero__videoCrop { position: absolute; inset: 0; overflow: hidden; }
.HomeHero__video { position: absolute; left: 0; top: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transform-origin: 0 0; }
.HomeHero__frameFade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.35) 100%); pointer-events: none; }
.HomeHero__black { position: absolute; inset: 0; z-index: 2; background: #000; opacity: 0; pointer-events: none; }
.HomeHero__canvasWrap { position: absolute; inset: 0; z-index: 3; opacity: 0; pointer-events: none; }
.HomeHero__canvasWrap canvas { width: 100% !important; height: 100% !important; }

.HomeHero__headline { position: absolute; top: 0; left: 0; z-index: 10; display: flex; min-height: 100dvh; width: 100%; flex-direction: column; align-items: center; justify-content: flex-start; padding: 45dvh 2rem 4rem; }
@media (min-width: 768px) { .HomeHero__headline { padding-top: 50dvh; } }
@media (min-width: 1450px) { .HomeHero__headline { justify-content: center; padding: 4rem 4rem; } }
.HomeHero__headlineInner { max-width: 72rem; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.HomeHero__headlineInner h2 { width: 100%; text-align: center; text-wrap: balance; }
@media (max-width: 767px) { .HomeHero__headlineInner h2 { font-size: 2.25rem; } }

.HomeHero__scrollHint { position: absolute; bottom: 40px; right: 40px; z-index: 10; }
@media (min-width: 768px) { .HomeHero__scrollHint { bottom: 54px; right: 54px; } }
@media (min-width: 1450px) { .HomeHero__scrollHint { bottom: 72px; right: 72px; } }
.HomeHero__scrollHintInner { display: flex; align-items: center; gap: 1rem; color: #fff; text-align: center; }
.HomeHero__scrollHintInner p { display: none; font-weight: 500; letter-spacing: .025em; line-height: 1; }
@media (min-width: 768px) { .HomeHero__scrollHintInner p { display: block; } }
.HomeHero__scrollBox { display: flex; align-items: center; justify-content: center; padding: 0.5rem; border: 1px solid #fff; border-radius: 2px; aspect-ratio: 1; }
.HomeHero__scrollIconClip { width: 1rem; height: 1rem; overflow: hidden; }
.HomeHero__scrollIconClip svg { width: 1rem; height: 1rem; animation: scrollArrow 2.2s cubic-bezier(.65,0,.35,1) infinite; }
@keyframes scrollArrow { 0%, 20% { transform: translateY(-110%); } 50%, 60% { transform: translateY(0); } 90%, 100% { transform: translateY(110%); } }

/* Pull-apart blocks */
.PullApartContent { position: absolute; left: 0; top: 0; z-index: 10; height: 100dvh; width: 100%; display: grid; grid-template-columns: repeat(8, 1fr); gap: 0.5rem; padding: 45dvh 1.5rem 0; align-items: start; pointer-events: none; opacity: 0; visibility: hidden; perspective: 800px; }
.PullApartContent.is-active { pointer-events: auto; }
@media (min-width: 768px) { .PullApartContent { padding-top: 50dvh; } }
@media (min-width: 1450px) { .PullApartContent { grid-template-columns: repeat(12, minmax(0, 150px)); justify-content: center; padding-top: 0; align-items: center; } }
.PullApartContent__col { grid-column: 1 / -1; min-width: 0; display: flex; flex-direction: column; gap: 0; align-items: center; text-align: center; padding: 2.5rem 0; }
@media (min-width: 768px) { .PullApartContent__col { grid-column: 2 / span 6; justify-self: center; gap: 1.5rem; padding: 3rem 0; } }
@media (min-width: 1450px) {
  .PullApartContent__col { gap: 1rem; padding: 6rem 0; }
  .PullApartContent--center .PullApartContent__col { grid-column: 5 / span 4; align-items: center; text-align: center; }
  .PullApartContent--left .PullApartContent__col, .PullApartContent--right .PullApartContent__col { align-items: flex-start; text-align: left; padding: 3rem 0; }
  .PullApartContent--left .PullApartContent__col { grid-column: 2 / span 3; }
  .PullApartContent--right .PullApartContent__col { grid-column: 9 / span 3; }
  .PullApartContent [data-align="auto"] { text-align: left; }
}
.PullApartContent [data-align="auto"] { text-align: center; }
.PullApartContent__text { display: flex; min-width: 0; width: 100%; flex-direction: column; gap: 15px; margin-bottom: 1.5rem; }
@media (min-width: 768px) { .PullApartContent__text { margin-bottom: 0; } }
.PullApartContent .header4-regular { text-wrap: balance; line-height: 1.1875; }
.PullApartContent__body { font-size: 14px !important; line-height: 1.43 !important; text-wrap: balance; }
.PullApartContent__category { width: 100%; font-size: 10px; color: var(--scale-gray-60); text-transform: uppercase; font-family: var(--font-mono); padding-bottom: 0; margin-bottom: 1.5rem; white-space: nowrap; }
@media (min-width: 768px) { .PullApartContent__category { font-size: 11px; margin-bottom: 0; } }
@media (min-width: 1450px) { .PullApartContent__category { padding-bottom: 1.5rem; } }
.PullApartContent__category .at-line:first-child .at-lineInner::before { content: ""; display: inline-block; position: relative; vertical-align: top; width: .45rem; height: .45rem; margin: .225rem .45rem 0 0; background: linear-gradient(to top right, transparent 50%, currentColor 50%); }
@media (min-width: 768px) { .PullApartContent__category .at-line:first-child .at-lineInner::before { width: .5rem; height: .5rem; margin: .25rem .5rem 0 0; } }
.PullApartContent__actions { display: flex; min-width: 0; width: 100%; flex-direction: column; gap: 2.5rem; align-items: flex-start; }
@media (min-width: 768px) { .PullApartContent__actions { gap: 50px; } }
.PullApartContent__cta { max-width: 100%; width: fit-content; margin: 0 auto; padding-top: 0; }
@media (min-width: 1450px) { .PullApartContent__cta { margin: 0; padding-top: 1.5rem; } }
.PullApartContent__logos { position: relative; align-self: center; display: flex; align-items: center; max-height: 3rem; flex-wrap: wrap; column-gap: 1.5rem; row-gap: 0.5rem; padding-bottom: 3rem; color: var(--scale-gray-60); justify-content: flex-start; }
@media (min-width: 1450px) { .PullApartContent__logos { align-self: flex-start; padding-bottom: 0; } }
.pull-apart-logo { display: inline-block; width: 68px; height: 30px; background-color: currentColor; -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; }
.PullApartContent [data-intro-cta], .PullApartContent .pull-apart-logo { opacity: 0; transform: translateY(-6px); transition: opacity .5s, transform .6s cubic-bezier(.16,1,.3,1); }
.PullApartContent.is-active [data-intro-cta], .PullApartContent.is-active .pull-apart-logo { opacity: 1; transform: none; }
.PullApartContent.is-active .pull-apart-logo { transition-delay: calc(.35s + var(--i, 0) * 70ms); }
.PullApartContent.is-active [data-intro-cta] { transition-delay: .25s; }

/* =====================================================================
   SCROLLING QUOTE
   ===================================================================== */
.ScrollingQuote { height: 200dvh; padding: 0 0.75rem; background: #000; overflow-x: clip; position: relative; z-index: 2; }
@media (min-width: 768px) { .ScrollingQuote { padding: 0 1.5rem; } }
.ScrollingQuote__section { position: relative; isolation: isolate; margin: 0 auto; width: 100%; max-width: 2048px; height: 100dvh; }
.ScrollingQuote__wrapper { position: relative; z-index: 1; display: flex; width: 100%; padding-bottom: 0.75rem; min-height: 0; overflow: visible; }
@media (min-width: 768px) { .ScrollingQuote__wrapper { min-height: 70vh; } }
.ScrollingQuote__wrapper::after { content: ""; pointer-events: none; position: absolute; z-index: 0; transform-origin: top; background: var(--scale-gray-90); border-top-left-radius: 8px; border-top-right-radius: 8px; width: calc(100vw - 24px); height: 20vh; top: calc(100% - 4px); left: 50%; transform: translateX(-50%); }
@media (min-width: 768px) { .ScrollingQuote__wrapper::after { width: calc(100vw - 48px); border-top-left-radius: 16px; border-top-right-radius: 16px; } }
.ScrollingQuote__stack { position: relative; z-index: 1; display: flex; width: 100%; min-height: 0; flex-direction: column; gap: 0.5rem; padding-top: 1rem; overflow: hidden; height: calc(92svh - 1.25rem + 1.5rem); max-height: calc(92svh - 1.25rem + 1.5rem); }
@media (min-width: 768px) { .ScrollingQuote__stack { flex-direction: row; overflow: visible; height: auto; max-height: none; min-height: 70vh; flex: 1; padding-top: 0; } }
.ScrollingQuote__media { position: relative; width: 100%; background: #000; border-radius: 0.5rem; min-height: 0; flex: 1 1 0; overflow: hidden; }
@media (min-width: 768px) { .ScrollingQuote__media { height: 60%; width: 362px; flex: none; border-radius: var(--radius-3xl); } }
.ResponsiveVideo { overflow: clip; height: 100%; width: 100%; border-radius: inherit; }
.ResponsiveVideo video { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; }
.ScrollingQuote__card { display: flex; width: 100%; min-height: 0; flex-direction: column; align-items: flex-start; background: var(--evergreen); padding: 2rem; border-radius: 0.5rem; flex: 2 1 0; overflow-y: auto; }
@media (min-width: 768px) { .ScrollingQuote__card { flex: 1; height: 100%; min-height: 0; border-radius: 16px; padding: 3rem 3.5rem; } }
.ScrollingQuote__quote { max-width: 64rem; font-size: 2rem; line-height: 40px !important; font-weight: 500; color: #fff; text-wrap: balance; }
@media (min-width: 768px) { .ScrollingQuote__quote { font-size: 4rem; line-height: 4rem !important; } }
@media (orientation: landscape) and (max-height: 500px) { .ScrollingQuote__quote { font-size: 1.5rem; line-height: 1.3 !important; } }

/* =====================================================================
   SCROLL REVEAL SECTIONS
   ===================================================================== */
.ScrollRevealSection { position: relative; isolation: isolate; width: 100%; }
.ScrollRevealSection__bg { pointer-events: none; position: absolute; inset: 0; z-index: 0; transform-origin: top; overflow: hidden; width: 100%; height: 100%; }
.ScrollRevealSection--gray .ScrollRevealSection__bg { background: var(--scale-gray-90); }
.ScrollRevealSection--white { background: var(--scale-gray-90); }
@media (min-width: 768px) { .ScrollRevealSection--white { background: transparent; } }
.ScrollRevealSection--white .ScrollRevealSection__bg { background: #fff; }
.ScrollRevealSection--tan { background: #fff; }
.ScrollRevealSection--tan .ScrollRevealSection__bg { background: var(--foundry-tan); }
.ScrollRevealSection__content { position: relative; z-index: 1; isolation: isolate; min-height: 60vh; }

/* =====================================================================
   APPLICATIONS (orbit) + CAROUSEL
   ===================================================================== */
.Applications { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: 100dvh; }
.Applications__dim { position: absolute; top: 0; left: 0; width: 100%; height: 100dvh; background: #000; opacity: 0; pointer-events: none; z-index: 3; }
.Applications__orbit { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; min-height: 90vh; overflow: clip; background: var(--scale-gray-90); transform-origin: top; }
@media (min-width: 768px) { .Applications__orbit { min-height: 100vh; } }
.Applications__center { position: relative; z-index: 50; display: flex; width: 100%; max-width: 64rem; flex-direction: column; align-items: center; gap: 1.5rem; margin: 0 auto; pointer-events: none; padding: 0 1.5rem; }
@media (min-width: 768px) { .Applications__center { gap: 2rem; } }
.Applications__copy { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.Applications__title { text-align: center; }
.Applications__h2 { color: #000; font-size: 28px; line-height: 30px; font-weight: 400; }
@media (min-width: 768px) { .Applications__h2 { font-size: 4rem; line-height: 1.05; } }
.Applications__line2 { display: flex; justify-content: center; gap: 0.5rem; }
.Applications__dynamic { position: relative; display: flex; flex-direction: column; align-items: flex-start; overflow: clip; min-height: 30px; width: 261px; transition: width .5s cubic-bezier(.65,0,.35,1); }
@media (min-width: 768px) { .Applications__dynamic { min-height: 72px; } }
.dynamic-header { position: absolute; left: 0; top: 0; white-space: nowrap; font-size: 28px; line-height: 30px; font-weight: 400; transform: translate(-10%, 100%); will-change: transform; padding-right: 2px; }
@media (min-width: 768px) { .dynamic-header { font-size: 4rem; line-height: 1.05; } }
.Applications__cta { pointer-events: auto; }
@media (min-width: 768px) {
  .Applications__center { flex-direction: row; align-items: center; justify-content: space-between; gap: clamp(2rem, 5vw, 4.5rem); }
  .Applications__copy { align-items: flex-start; gap: 2rem; }
  .Applications__title { text-align: left; }
  .Applications__line2 { justify-content: flex-start; }
}
/* bussola: fica ao lado do texto, parada; so a agulha (#compassNeedle) gira */
.Applications__compass { position: relative; flex: 0 0 auto; width: min(58vw, 260px); aspect-ratio: 1; pointer-events: none; opacity: 0; transition: opacity .6s ease; }
.Applications__compass.is-ready { opacity: 1; }
.Applications__compass.is-failed { display: none; }
.Applications__compass svg { display: block; width: 100%; height: 100%; overflow: visible; }
#compassNeedle { will-change: transform; }
@media (min-width: 768px) { .Applications__compass { width: min(34vw, 420px); } }
@media (orientation: landscape) and (max-height: 500px) { .Applications__compass { width: min(30vh, 200px); } }
.Applications__spacer { height: 120vh; pointer-events: none; }
@media (max-width: 767px) { .Applications__spacer { height: 60vh; } }
.Applications__carouselWrap { position: relative; z-index: 4; padding-bottom: 10rem; background: var(--scale-gray-90); }
@media (orientation: landscape) and (max-height: 500px) { .Applications__carouselWrap { padding-bottom: .5rem; } }
.FullWidthCardCarousel { width: 100%; padding: 3rem 0; }
@media (min-width: 768px) { .FullWidthCardCarousel { padding: 4rem 0; } }
.Carousel { display: flex; flex-direction: column; }
.Carousel__viewport { position: relative; width: 100%; padding: 0 1rem; overflow: visible; cursor: grab; touch-action: pan-y; user-select: none; }
.Carousel__viewport.is-dragging { cursor: grabbing; }
@media (min-width: 768px) { .Carousel__viewport { padding: 0 1.5rem; } }
.Carousel__track { display: flex; width: 100%; will-change: transform; }
.Carousel__slide { display: flex; flex-direction: column; flex-shrink: 0; width: calc(100vw - 3.5rem); padding: 0 4px; }
@media (min-width: 640px) { .Carousel__slide { width: 404px; } }
.CarouselCard { position: relative; display: flex; min-height: 100%; min-width: 0; flex: 1; flex-direction: column; width: 100%; gap: 1rem; padding: 2rem; overflow: hidden; background: #fff; border-radius: var(--radius-2xl); color: inherit; min-height: 340px; }
.CarouselCard--link { outline: none; }
.CarouselCard__logoWrap { display: flex; justify-content: flex-start; width: 100%; min-width: 0; flex-shrink: 0; }
.CarouselCard__logo { transform-origin: top left; transform: scale(0); transition: transform .8s cubic-bezier(.16,1,.3,1); display: flex; align-self: flex-start; padding: 0.5rem; border-radius: 8px; background: var(--scale-gray-90); }
.is-inview .CarouselCard__logo, .CarouselCard.is-inview .CarouselCard__logo { transform: scale(1); }
.CarouselCard__logo img { width: 40px; height: 40px; border-radius: 2px; object-fit: cover; }
.CarouselCard__body { display: flex; width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; flex: 1; min-height: 0; padding-top: 3rem; text-align: left; }
.CarouselCard__title { text-align: left; font-size: 1.25rem; font-weight: 500; color: #000; text-wrap: balance; width: 100%; line-height: 1.3; }
@media (min-width: 768px) { .CarouselCard__title { font-size: 1.5rem; } }
.CarouselCard__footer { margin-top: auto; display: flex; width: 100%; min-width: 0; flex-shrink: 0; align-items: flex-end; gap: 0.75rem; }
.CarouselCard__subtitle { min-width: 0; flex: 1; text-align: left; font-size: 1rem; font-weight: 400; line-height: 1.3; color: #929292; }
.CarouselCard__arrow { width: 20px; height: 20px; flex-shrink: 0; overflow: hidden; color: #929292; }
.CarouselCard__arrowTrack { display: flex; height: 100%; width: 56px; gap: 8px; transform: translateX(-28px); }
.CarouselCard--link:hover .CarouselCard__arrowTrack { transform: translateX(0); transition: transform .6s ease-out; }
.CarouselCard__arrowTrack span { display: flex; width: 20px; height: 20px; flex-shrink: 0; align-items: center; justify-content: center; }
.CarouselCard--problem { min-height: 340px; gap: 0; padding: 2rem; }
.CarouselCard__problemMark { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 8px; background: var(--scale-gray-90); color: #000; transform: scale(0); transform-origin: top left; transition: transform .8s cubic-bezier(.16,1,.3,1); }
.CarouselCard__problemMark svg { width: 30px; height: 30px; }
.CarouselCard.is-inview .CarouselCard__problemMark { transform: scale(1); }
.CarouselCard__body--problem { padding-top: 3.5rem; gap: .85rem; }
.CarouselCard__category { margin: 0; font-family: var(--font-mono); font-size: .72rem; line-height: 1.1; letter-spacing: .08em; text-transform: uppercase; color: #929292; }
.CarouselCard__desc { margin: 0; max-width: 28ch; color: #5f5f5f; font-size: .98rem; line-height: 1.45; text-wrap: pretty; }
.Carousel__footer { margin: 1.5rem auto 0; width: 100%; max-width: 1600px; padding: 0 1rem; }
@media (min-width: 768px) { .Carousel__footer { margin-top: 2rem; padding: 0 1.5rem; } }
.Carousel__footerGrid { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1rem; }
.Carousel__copy { max-width: 780px; min-width: 0; }
.Carousel__heading { margin-top: 1rem; font-size: 1.5rem; font-weight: 500; color: #000; line-height: 1.1; text-wrap: balance; min-width: 0; }
@media (min-width: 768px) { .Carousel__heading { font-size: 2.25rem; } }
.Carousel__intro { margin-top: 1rem; max-width: 52ch; color: #5f5f5f; font-size: 1rem; line-height: 1.45; }
.Carousel__closing { margin-top: 1.35rem; color: #000; font-size: 1.05rem; line-height: 1.35; }
.Carousel__closing span, .Carousel__closing strong { display: block; }
.Carousel__closing strong { font-weight: 500; }
.Carousel__controls { display: flex; align-items: center; justify-content: flex-end; gap: 0.5rem; flex-shrink: 0; }
@media (max-width: 767px) {
  .CarouselCard--problem { min-height: 320px; }
  .CarouselCard__body--problem { padding-top: 2.75rem; }
  .Carousel__footerGrid { grid-template-columns: 1fr; }
  .Carousel__controls { justify-content: flex-start; }
}

/* =====================================================================
   CARD GRID
   ===================================================================== */
.CardGrid { width: 100%; padding: 3rem 0; color: #010101; }
@media (min-width: 1280px) { .CardGrid { padding: 6rem 0; } }
@media (orientation: landscape) and (max-height: 500px) { .CardGrid { padding: 0; } }
.CardGrid__heading { margin-bottom: 48px; width: 80%; text-align: left; }
@media (max-width: 639px) { .CardGrid__heading { margin-left: auto; margin-right: auto; } }
@media (min-width: 768px) { .CardGrid__heading { width: 100%; } }
@media (min-width: 1280px) { .CardGrid__heading { margin-bottom: 4rem; } }
.CardGridContainer { display: flex; flex-direction: column; gap: 0.5rem; }
@media (min-width: 1024px) { .CardGridContainer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.BaseCard { transform-origin: center; opacity: 0; transform: translateY(16px); transition: opacity .7s ease-out, transform .9s cubic-bezier(.16,1,.3,1); transition-delay: calc(var(--i, 0) * 120ms); }
.BaseCard.is-inview { opacity: 1; transform: none; }
.LinkCard { position: relative; height: 100%; overflow: clip; border-radius: var(--radius-2xl); background: var(--scale-gray-95); color: #000; }
@media (max-width: 1279px) { .LinkCard { border-radius: 8px !important; } }
.LinkCard__link { display: block; height: 100%; }
.LinkCard__hoverBg { position: absolute; inset: 0; width: 100%; height: 100%; background: var(--hover); transform-origin: bottom; transform: scaleY(0); transition: transform .5s ease-out; }
.LinkCard:hover .LinkCard__hoverBg { transform: scaleY(1); }
.LinkCard__content { position: relative; z-index: 10; display: flex; flex-direction: column; justify-content: space-between; height: 100%; padding: 24px; gap: 1.25rem; }
@media (min-width: 768px) { .LinkCard__content { gap: 1.5rem; } }
@media (min-width: 1280px) { .LinkCard__content { padding: 2.5rem; gap: 4rem; } }
.LinkCard__iconRow { display: flex; align-items: center; gap: 0.5rem; }
.LinkCard__iconBox { display: flex; align-items: center; justify-content: center; border-radius: var(--radius-xl); width: 2.5rem; height: 2.5rem; background: #fff; clip-path: inset(0% round 10px); }
@media (min-width: 768px) { .LinkCard__iconBox { width: 4rem; height: 4rem; } }
.LinkCard__iconBox span { display: flex; align-items: center; justify-content: center; }
.LinkCard__iconBox svg { width: 32px; height: 32px; }
@media (max-width: 767px) { .LinkCard__iconBox svg { width: 22px; height: 22px; } }
.LinkCard .header5-regular { text-wrap: pretty; }
@media (max-width: 1279px) { .LinkCard .header5-regular { font-size: 18px; line-height: 1.35; } .LinkCard .RichText p { font-size: 14px; line-height: 1.45; } }
.LinkCard__bottom { display: flex; flex-direction: column; justify-content: flex-end; flex: 1; gap: 1rem; }
.LinkCard__desc { color: var(--scale-gray-10); }
.LinkCard__ctaRow { padding-top: 1rem; }
.LinkCard:hover .FlatCta--gray { background: #000; color: #fff; }

/* =====================================================================
   BLOG PREVIEW
   ===================================================================== */
.BlogPreview { position: relative; isolation: isolate; width: 100%; overflow: hidden; padding: 3rem 0; background: #fff; }
@media (min-width: 768px) { .BlogPreview { padding: 4rem 0; } }
.BlogPreview__heading { margin-bottom: 2rem; }
@media (min-width: 768px) { .BlogPreview__heading { margin-bottom: 5rem; } }
.BlogPreview__h { text-align: center; text-wrap: balance; font-weight: 400; font-size: 32px; line-height: 1.05; color: #000; }
@media (min-width: 1024px) { .BlogPreview__h { font-size: 4rem; } }
.BlogPreview__grid { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; gap: 16px; }
@media (min-width: 1024px) { .BlogPreview__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(70px, auto); gap: 8px; } }
.BlogPreview__slot { min-width: 0; min-height: 0; opacity: 0; transform: translateY(16px); transition: opacity .7s ease-out, transform .9s cubic-bezier(.16,1,.3,1); transition-delay: calc(var(--i, 0) * 80ms); }
.BlogPreview__slot.is-inview { opacity: 1; transform: none; }
@media (min-width: 1024px) { .BlogPreview__slot { grid-area: var(--bp-grid-area); } }
.BlogPreviewTile { display: block; height: 100%; width: 100%; overflow: hidden; border-radius: var(--radius-2xl); background: transparent; }
.BlogPreviewTile__titleOnly { position: relative; display: flex; height: 100%; min-height: 115px; width: 100%; flex-direction: column; justify-content: flex-end; padding: 1rem; background: #f2f2f2; color: #0a0a0a; }
@media (min-width: 1024px) { .BlogPreviewTile__titleOnly { padding: 1.25rem; min-height: 0; } }
.BlogPreviewTile__bigTitle { text-align: left; text-wrap: balance; font-weight: 400; font-size: 24px; line-height: 1.25; padding-bottom: 2px; }
@media (min-width: 1024px) { .BlogPreviewTile__bigTitle { font-size: 2.5rem; } }
.BlogPreviewTile__bleed { position: relative; display: flex; height: 100%; min-height: 280px; width: 100%; flex-direction: column; overflow: hidden; background: #171717; }
@media (min-width: 1024px) { .BlogPreviewTile__bleed { min-height: 0; } }
.BlogPreviewTile__bleedImg { position: absolute; inset: 0; z-index: 0; overflow: hidden; background: #171717; }
.BlogPreviewTile__bleedImg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 1s ease-out; }
.BlogPreviewTile:hover .BlogPreviewTile__bleedImg img { transform: scale(1.05); }
.BlogPreview__slot.is-inview .BlogPreviewTile__bleedImg img { transform: scale(1); }
.BlogPreview__slot.is-inview .BlogPreviewTile:hover .BlogPreviewTile__bleedImg img { transform: scale(1.05); }
.BlogPreviewTile__bleed--gradient::before { content: ""; pointer-events: none; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,0) 40%), linear-gradient(0deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.14) 38%, rgba(0,0,0,0) 68%); }
.BlogPreviewTile__bleedChip { position: absolute; left: 1.25rem; top: 1.25rem; z-index: 10; }
.BlogPreviewTile__bleedText { position: absolute; left: 0; right: 0; bottom: 0; z-index: 10; padding: 1.5rem; }
.BlogPreviewTile__bleedTitle { text-align: left; text-wrap: pretty; font-size: 32px; line-height: 38px; font-weight: 400; color: #fff; }
.BlogPreviewTile__card { display: flex; height: 100%; min-height: 280px; width: 100%; flex-direction: column; overflow: hidden; padding: 1rem; background: #f2f2f2; color: #0a0a0a; }
@media (min-width: 1024px) { .BlogPreviewTile__card { padding: 1.25rem; min-height: 0; } }
.BlogPreviewTile__cardImg { position: relative; isolation: isolate; width: 100%; min-height: 0; flex: 1; overflow: hidden; border-radius: var(--radius-xl); background: #e5e5e5; aspect-ratio: 16 / 10; }
@media (min-width: 1024px) { .BlogPreviewTile__cardImg { aspect-ratio: 16 / 9; } }
.BlogPreviewTile__cardImgInner { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.BlogPreviewTile__cardImgInner img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 1s ease-out; }
.BlogPreview__slot.is-inview .BlogPreviewTile__cardImgInner img { transform: scale(1); }
.BlogPreviewTile:hover .BlogPreviewTile__cardImgInner img, .BlogPreview__slot.is-inview .BlogPreviewTile:hover .BlogPreviewTile__cardImgInner img { transform: scale(1.05); }
.BlogPreviewTile__cardImg--gradient::before { content: ""; pointer-events: none; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,.14) 50%, transparent); }
.BlogPreviewTile__chip { position: absolute; left: 0.5rem; top: 0.375rem; z-index: 10; }
@media (min-width: 1024px) { .BlogPreviewTile__chip { left: 0.75rem; top: 0.625rem; } }
.BlogPreviewTile__cardText { display: flex; flex-shrink: 0; flex-direction: column; justify-content: flex-end; overflow: hidden; padding-top: 1rem; }
@media (min-width: 1024px) { .BlogPreviewTile__cardText { padding-top: 1.25rem; } }
.BlogPreviewTile__cardTitle { text-align: left; text-wrap: pretty; font-weight: 500; line-height: 1.375; letter-spacing: -.025em; font-size: 1rem; color: #0a0a0a; }
.CategoryIcon { display: inline-flex; max-width: 100%; min-width: 0; align-items: center; gap: 0.5rem; justify-content: center; border-radius: 2px; padding: 0.25rem; }
.CategoryIcon__sq { display: inline-flex; width: 26px; height: 26px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 5px; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.CategoryIcon__sq svg { width: 8px; height: 8px; }
.CategoryIcon__label { display: flex; min-height: 26px; min-width: 0; flex: 1; align-items: center; align-self: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 11px !important; letter-spacing: .05em; line-height: 1; }
.CategoryIcon__label.text-dark { color: #0a0a0a; }
.CategoryIcon__label.text-light { color: #fff; }

/* =====================================================================
   VIDEO CTA
   ===================================================================== */
.VideoCta { position: relative; isolation: isolate; display: flex; flex-direction: column; gap: 2rem; overflow: clip; padding: 40px 1.5rem 3rem; color: #000; }
@media (min-width: 768px) { .VideoCta { padding-left: 0; padding-right: 0; } }
@media (min-width: 1024px) { .VideoCta { display: block; gap: 0; padding-top: 24rem; padding-bottom: 6rem; border-top-left-radius: 2rem; border-top-right-radius: 2rem; } }
@media (orientation: landscape) and (max-height: 500px) { .VideoCta { display: flex; flex-direction: column; gap: 1.5rem; padding: 2.5rem; } }
.VideoCta__text { position: relative; z-index: 10; display: flex; min-width: 0; flex-direction: column; gap: 1rem; }
@media (min-width: 1024px) { .VideoCta__text { max-width: min(100%, 28rem); } }
.VideoCta__h { max-width: 16.25rem; }
.VideoCta__p { max-width: 25rem; }
@media (min-width: 1024px) { .VideoCta__p { margin-bottom: 2rem; } }
.VideoCta__media { position: relative; z-index: 0; margin-left: auto; width: 100%; max-width: min(100%, 28rem); flex-shrink: 0; overflow: hidden; padding: 0.5rem; aspect-ratio: 16 / 9; background: var(--foundry-tan); }
@media (min-width: 1024px) { .VideoCta__media { position: absolute; aspect-ratio: auto; width: 60%; max-width: none; bottom: 40%; right: 5%; transform: translateY(40%); } }
@media (orientation: landscape) and (max-height: 500px) { .VideoCta__media { position: relative; aspect-ratio: 16/9; width: 50%; transform: none; bottom: auto; right: auto; } }
.VideoCta__video { pointer-events: none; mix-blend-mode: multiply; }
[data-intro-cta-x] { transform-origin: 0 50%; transform: scaleX(0); opacity: 0; transition: transform .8s cubic-bezier(.16,1,.3,1), opacity .4s; }
[data-intro-cta-x] .FlatCta__row { transform-origin: 0 50%; transform: scaleX(0); transition: transform .8s cubic-bezier(.16,1,.3,1); }
[data-intro-cta-x] .FlatCta__label { opacity: 0; transition: opacity .4s .3s; }
[data-intro-cta-x] .FlatCta__icon { transform: translateX(-6px); transition: transform .6s .2s cubic-bezier(.16,1,.3,1); }
[data-intro-cta-x].is-inview { transform: none; opacity: 1; }
[data-intro-cta-x].is-inview .FlatCta__row { transform: none; }
[data-intro-cta-x].is-inview .FlatCta__label { opacity: 1; }
[data-intro-cta-x].is-inview .FlatCta__icon { transform: none; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.Footer { display: flex; flex-direction: column; gap: 3rem; padding: 2rem 0 1.5rem; color: #fff; background: #000; }
@media (min-width: 768px) { .Footer { gap: 8rem; padding-top: 10rem; } }
@media (orientation: landscape) and (max-height: 500px) { .Footer { gap: 2rem; padding-top: 6rem; } }
.Footer__top { position: relative; row-gap: 2.5rem; margin-bottom: 2rem; }
@media (min-width: 768px) { .Footer__top { margin-bottom: 0; } }
@media (min-width: 1024px) { .Footer__top { row-gap: 0; } }
.Footer__logo { position: absolute; right: 2rem; top: 0; }
@media (min-width: 768px) { .Footer__logo { position: static; grid-column: 1 / span 1; } }
.Footer__col { grid-column: 1 / -1; display: flex; min-width: 0; flex-direction: column; gap: 1rem; }
@media (min-width: 768px) and (max-width: 1023px) { .Footer__col { grid-column: span 3; } .Footer__col--first { grid-column: 2 / span 3; } }
@media (min-width: 1024px) { .Footer__col { grid-column: span 2; } .Footer__col--first { grid-column: 2 / span 2; } }
.Footer__list { display: flex; flex-direction: column; min-width: 0; gap: 0.25rem; }
.Footer__list a { display: block; width: fit-content; max-width: 100%; }
.Footer__list a:hover { text-decoration: underline; text-underline-offset: 3px; }
.Footer__center { }
.Footer__tagline { grid-column: 1 / -1; line-height: 1; }
@media (min-width: 768px) { .Footer__tagline { font-size: 7.25rem; } }
@media (orientation: landscape) and (max-height: 500px) { .Footer__tagline { font-size: 4rem; } }
.Footer__bottom { display: flex; flex-direction: column; justify-content: space-between; gap: 3rem; padding: 0 1.5rem; }
@media (min-width: 768px) { .Footer__bottom { flex-direction: row; align-items: center; } }
.Footer__socials { display: flex; gap: 0.5rem; }
.Footer__social { position: relative; display: flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; padding: 1rem; border-radius: var(--radius-md); background: var(--scale-gray-10); transition: background-color .2s; }
.Footer__social:hover { background: var(--scale-gray-20); }
.Footer__social img { width: 16px; height: 16px; }
.Footer__legal { display: flex; flex-direction: column; gap: 0.5rem; text-align: right; }
.Footer__cookieBtn { text-decoration: underline; text-transform: uppercase; font: inherit; cursor: pointer; }
.Footer__smallPrint { display: flex; flex-direction: column-reverse; gap: 0.5rem; color: var(--scale-gray-30); }
@media (min-width: 768px) { .Footer__smallPrint { flex-direction: row; } }

/* aviso de cookies: css/fluidez.css */

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .AnimatedText.isnt-visible .at-lineInner, .AnimatedText.isnt-visible .word { transform: none; opacity: 1; color: inherit; }
  .BaseCard, .BlogPreview__slot { opacity: 1; transform: none; }
}


/* G Compass adaptation */
.BrandWordmark{display:inline-flex;align-items:center;color:currentColor;font-family:Inter,system-ui,sans-serif;font-weight:600;letter-spacing:-.04em;line-height:.9;text-transform:none;white-space:nowrap}
.BrandWordmark--header{font-size:clamp(26px,2.55vw,42px)}
.BrandWordmark--mobile{font-size:24px;color:#fff}
.BrandWordmark--footer{font-size:28px;color:#fff}
.Header__logo a{display:inline-flex;align-items:center;text-decoration:none}
.Footer__logo{display:flex;align-items:flex-start}

/* G Compass identity layer.
   Preserva layout e mecânicas do clone; troca apenas linguagem visual. */
:root {
  --gc-purple: #673DE6;
  --gc-purple-dark: #5025D1;
  --gc-purple-soft: #8C6DF0;
  --gc-lilac: #D5C8FF;
  --gc-lavender: #F4F1FF;
  --gc-lavender-2: #ECEAF7;
  --gc-blue: #497DF7;
  --gc-pink: #E85BD4;
  --gc-navy: #14073D;
  --gc-ink: #1D1E20;
  --gc-muted: #6D6E78;
  --gc-green: #A158F7;

  --black: var(--gc-ink);
  --scale-gray-10: #201C2A;
  --scale-gray-20: #30283F;
  --scale-gray-30: #5F566E;
  --scale-gray-60: #8B8398;
  --scale-gray-80: #CEC7E3;
  --scale-gray-90: #F4F1FF;
  --scale-gray-95: #FAFAFE;
  --scale-skyblue: var(--gc-blue);
  --evergreen: var(--gc-navy);
  --foundry-tan: #D5C8FF;
  --archive-purple: var(--gc-purple);
  --cloud-slate: var(--gc-purple-soft);
  --atlas-blue: var(--gc-purple-dark);
  --nav-hover: var(--gc-purple);
  --reveal-green: var(--gc-green);

  --nav-demo-desktop-cta-bg: var(--gc-purple);
  --nav-demo-desktop-cta-text: #fff;
  --nav-login-cta-border: rgba(103, 61, 230, .28);
  --nav-login-cta-text: var(--gc-purple-dark);
  --nav-mobile-demo-cta-bg: var(--gc-purple);
  --nav-mobile-demo-cta-text: #fff;
}

::selection { background: var(--gc-purple); color: #fff; }
body { background: #FAFAFE; color: var(--gc-ink); }
.Announcement { background: linear-gradient(90deg, var(--gc-navy) 0%, var(--gc-purple-dark) 52%, var(--gc-purple) 100%); }
.Announcement__logo { fill: var(--gc-lilac); }
.Header__bar.is-scrolled,
.Header__dropdown,
.MobileMenu { backdrop-filter: blur(18px); }
.navigation-header-link:hover,
.navigation-link:hover,
.Footer__list a:hover { color: var(--gc-lilac); }
[data-nav-theme="light"] .navigation-header-link:hover,
[data-nav-theme="light"] .navigation-link:hover { color: var(--gc-purple); }
.FlatCta--demo,
.FlatCta--demoMobile,
.FlatCta--black { background: var(--gc-purple); color: #fff; }
.FlatCta--demo:hover,
.FlatCta--demoMobile:hover,
.FlatCta--black:hover { background: var(--gc-purple-dark); }
.FlatCta--white { color: var(--gc-ink); }
.FlatCta--gray { background: var(--gc-lavender-2); color: var(--gc-ink); }
.FlatCta--evergreen { background: linear-gradient(135deg, var(--gc-purple-dark), var(--gc-purple)); color: #fff; }
.FlatCta--outline { border-color: rgba(80, 37, 209, .55); color: var(--gc-purple-dark); }
.FlatCta--outline:hover { background: var(--gc-purple); color: #fff; }
.HomeHero__frame { background: radial-gradient(circle at 18% 18%, rgba(73,125,247,.52), transparent 32%), radial-gradient(circle at 82% 40%, rgba(232,91,212,.34), transparent 38%), radial-gradient(circle at 50% 100%, rgba(103,61,230,.42), transparent 56%), #080412; }
.HomeHero { background: #080412; }
.HomeHero__frame::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(135deg, rgba(20,7,61,.36), rgba(103,61,230,.18) 46%, rgba(73,125,247,.16)); mix-blend-mode: screen; opacity: .72; }
.HomeHero__frameFade { background: linear-gradient(180deg, rgba(20,7,61,.08) 0%, rgba(20,7,61,.5) 100%); }
.PullApartContent__category { color: var(--gc-lilac); }
.ScrollingQuote { background: #080412; }
.ScrollingQuote__section { background: #080412; }
.ScrollingQuote__wrapper::after { display: none; }
.ScrollingQuote__card { justify-content: center; overflow: hidden; }
.ScrollingQuote__quote { max-width: 13.5ch; }
.ScrollRevealSection--gray .ScrollRevealSection__bg,
.Applications__carouselWrap { background: linear-gradient(180deg, var(--gc-lavender) 0%, #fff 100%); }
.ScrollRevealSection--white .ScrollRevealSection__bg { background: #fff; }
.ScrollRevealSection--tan .ScrollRevealSection__bg { background: linear-gradient(120deg, #EDE7FF 0%, #D5C8FF 48%, #F4F1FF 100%); }
.dynamic-header { color: var(--gc-purple) !important; }
.CarouselCard,
.LinkCard { box-shadow: 0 18px 54px -38px rgba(47,28,106,.35); }
.CarouselCard--problem { border: 1px solid rgba(213,200,255,.48); }
.CarouselCard__problemMark { background: var(--gc-lavender-2); color: var(--gc-purple-dark); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.CarouselCard__category { color: var(--gc-purple); }
.CarouselCard__subtitle { color: var(--gc-muted); }
.CarouselCard__desc { color: var(--gc-muted); }
.Carousel__intro { color: var(--gc-muted); }
.Carousel__closing strong { color: var(--gc-purple-dark); }
.LinkCard { background: #fff; border: 1px solid rgba(213,200,255,.44); }
.LinkCard__iconBox { background: var(--gc-lavender); color: var(--gc-purple); }
.LinkCard:hover .LinkCard__hoverBg { background: linear-gradient(135deg, var(--gc-purple) 0%, var(--gc-purple-soft) 100%); }
.LinkCard:hover .FlatCta--gray { background: #fff; color: var(--gc-purple-dark); }
.BlogPreview { background: #FAFAFE; }
.BlogPreviewTile__titleOnly,
.BlogPreviewTile__card { background: var(--gc-lavender) !important; color: var(--gc-ink); }
.BlogPreviewTile__cardImg,
.BlogPreviewTile__bleedImg { background: linear-gradient(135deg, var(--gc-purple-dark), var(--gc-blue)) !important; }
.BlogPreviewTile__cardImg img,
.BlogPreviewTile__bleedImg img { filter: saturate(.68) hue-rotate(14deg) contrast(.95); opacity: .88; }
.BlogPreviewTile__bleed::after { background: linear-gradient(180deg, rgba(20,7,61,.04), rgba(20,7,61,.7)); }
.CategoryIcon__sq { background-color: var(--gc-purple) !important; }
.VideoCta__media { background: var(--gc-lavender); }
.VideoCta__video { opacity: .74; }
.Footer { background: radial-gradient(820px 360px at 18% 0%, rgba(103,61,230,.38), transparent 62%), linear-gradient(180deg, #14073D 0%, #080412 100%); }
.Footer__social { background: rgba(255,255,255,.1); }
.Footer__social:hover { background: rgba(213,200,255,.22); }
.BrandWordmark--header { width: clamp(132px, 12.5vw, 190px); height: auto; object-fit: contain; }
.BrandWordmark--footer { color: #fff; letter-spacing: -.045em; }

@media (max-width: 767px) {
  .ScrollingQuote { height: 165dvh; padding-inline: 0.75rem; }
  .ScrollingQuote__wrapper { padding-bottom: 0.5rem; }
  .ScrollingQuote__stack { height: min(82svh, 720px); max-height: min(82svh, 720px); padding-top: 0.75rem; gap: 0.5rem; }
  .ScrollingQuote__card { padding: 1.75rem; overflow: hidden; }
  .ScrollingQuote__quote { font-size: clamp(1.75rem, 8.4vw, 2.25rem); line-height: 1.24 !important; }
  .Applications__orbit { min-height: 82vh; }
  .Applications__spacer { height: 44vh; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .ScrollingQuote { height: 170dvh; }
  .ScrollingQuote__wrapper { min-height: 64vh; }
  .ScrollingQuote__stack { min-height: 64vh; }
  .ScrollingQuote__quote { font-size: clamp(2.1rem, 4.2vw, 2.8rem); line-height: 1.12 !important; }
  .Applications__h2,
  .dynamic-header { font-size: clamp(2.5rem, 6vw, 3rem); line-height: 1.04; }
  .Applications__dynamic { min-height: 52px; }
  .Applications__spacer { height: 90vh; }
}

@media (min-width: 1024px) {
  .ScrollingQuote { height: 170dvh; }
  .ScrollingQuote__wrapper { min-height: 62vh; }
  .ScrollingQuote__stack { min-height: 62vh; align-items: center; }
  .ScrollingQuote__media { height: 52%; }
  .ScrollingQuote__card { height: 86%; padding: clamp(2.5rem, 4vw, 4.5rem); }
  .ScrollingQuote__quote { max-width: 18ch; font-size: clamp(2.9rem, 3.6vw, 3.55rem); line-height: 1.08 !important; }
  .Applications__dynamic { min-width: min(34vw, 420px); }
}

/* =====================================================================
   Correções de layout (25/09/2026)
   Só consertam o que estava fora do lugar; o visual segue o mesmo.
   ===================================================================== */

/* h1 da hero com o mesmo desenho que o h2 tinha */
.HomeHero__headlineInner h1 { width: 100%; text-align: center; text-wrap: balance; }
@media (min-width: 768px) { .HomeHero__headlineInner h1 { font-size: 2.5rem; line-height: 1.25; } }
@media (max-width: 767px) { .HomeHero__headlineInner h1 { font-size: 2.25rem; } }
@media (orientation: landscape) and (max-height: 500px) { .HomeHero__headlineInner h1 { font-size: 2.5rem; line-height: 1.25; } }

/* Botões e links em caixa de frase ("Treinamento de time", não "Treinamento De Time") */
.cta { text-transform: none; }

/* Header: a logo tem 132 a 190px e ocupava uma coluna só, colando no menu;
   em 1024px os dois botões não cabiam nas três colunas finais */
@media (min-width: 1024px) {
  .Header__logo { grid-column: 1 / span 2; }
  .Header__nav { grid-column: 3 / span 6; }
  .Header__ctas { grid-column: 9 / span 4; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .Header__nav { gap: 1.25rem; }
  .Header__ctasDesktop { gap: .5rem; }
}

/* Celular estreito: o botão do menu saía cortado na direita */
@media (max-width: 400px) {
  .Header__grid { padding-left: 1rem; padding-right: 1rem; gap: .375rem; }
  .BrandWordmark--header { width: 118px; }
  .Header__ctas { gap: .375rem; }
  .FlatCta--demoMobile .FlatCta__inner { padding-left: .75rem; padding-right: .75rem; }
  .FlatCta--demoMobile .FlatCta__label { font-size: .8125rem; }
}

/* Citação no celular: o 13.5ch deixava uma coluna estreita e a última linha
   sumia no fim do card */
@media (max-width: 767px) {
  .ScrollingQuote__quote { max-width: none; font-size: clamp(1.5rem, 7.4vw, 2.1rem); line-height: 1.22 !important; }
}

/* Rodapé entre 768 e 1440px: o slogan de 7.25rem passava da borda */
@media (min-width: 768px) { .Footer__tagline { font-size: min(7.25rem, 10.4vw); } }

/* Títulos sobre foto nos cards de conteúdo: leitura garantida em fotos claras */
.BlogPreviewTile__bleedTitle { text-shadow: 0 1px 14px rgba(8, 4, 18, .55); }

/* Celular deitado: os botões dos blocos da hero ficavam abaixo da tela */
@media (orientation: landscape) and (max-height: 500px) {
  .PullApartContent { align-items: end; padding-bottom: .75rem; }
  .PullApartContent__col { padding: .5rem 0; gap: .5rem; }
  .PullApartContent__text { gap: 6px; margin-bottom: .5rem; }
  .PullApartContent__body { font-size: .8125rem !important; line-height: 1.35 !important; }
  .PullApartContent__actions { flex-direction: row; align-items: center; justify-content: center; }
  .PullApartContent__logos { display: none; }
  .PullApartContent__category { margin-bottom: .5rem; }
}

/* Bússola → problemas comuns (27/09/2026): sem a camada escura, que sobrava
   como uma faixa cinza no topo; a seção que sobe tem cantos superiores
   arredondados e uma sombra leve para a borda aparecer sobre o lilás */
.Applications__dim { display: none; }
.Applications__carouselWrap {
  border-radius: 28px 28px 0 0;
  background: linear-gradient(180deg, #FBFAFF 0%, #fff 60%);
  /* sombra bem desfocada (blur alto) para virar um degradê suave acima da borda */
  box-shadow: 0 -1px 0 rgba(103, 61, 230, .04), 0 -18px 60px -24px rgba(47, 28, 106, .22), 0 -40px 120px -40px rgba(103, 61, 230, .18);
}
@media (max-width: 767px) { .Applications__carouselWrap { border-radius: 22px 22px 0 0; } }

/* Fundo atrás da bússola no mesmo lilás da própria seção: o degradê para o
   branco criava uma emenda de tom logo abaixo da bússola (27/09/2026) */
.ScrollRevealSection--gray .ScrollRevealSection__bg { background: var(--gc-lavender); }
