/* =====================================================================
   CLAUDE FOR BUSINESS — Landing Page
   Escala: 1rem = 10px na largura de referência do Figma (1920px).
   Todas as medidas vêm direto do arquivo .fig (px / 10 = rem).
   ===================================================================== */

:root {
  --black: #10100F;
  --salmon: #DB7859;
  --beige: #EDEAE1;
  --grey: #3C3C3C;
  --dark2: #232323;
  --line: #838383;
  --white: #FFFFFF;
  --badge: #D8C5C0;
  --mono: 'Source Code Pro', ui-monospace, Menlo, monospace;
  --sans: 'Inter', system-ui, -apple-system, sans-serif;
  --serif: 'Solway', Georgia, serif;
  --thin: 'Outfit', 'Inter', sans-serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

html { font-size: calc(100vw / 192); scroll-behavior: auto; }
@media (min-width: 2300px) { html { font-size: 12px; } }

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: var(--black);
  color: var(--beige);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  cursor: none;
}
body.no-cursor { cursor: auto; }
img, video, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin: 0; font-weight: 400; }
button { font: inherit; cursor: none; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }

/* --------------------------------------------------------------------
   Layout primitives
   -------------------------------------------------------------------- */
.page { position: relative; width: 100%; overflow: hidden; }
.sec { position: relative; width: 100%; }
.wrap { position: relative; width: 192rem; max-width: 100%; margin: 0 auto; height: 100%; }

.line { display: block; height: 1px; background: var(--beige); flex: 1 1 auto; transform-origin: left center; }
.line--grey { background: var(--line); }
.slashes { font-family: var(--sans); font-size: 2.2rem; line-height: 1; letter-spacing: 0; white-space: nowrap; overflow: hidden; }
.rule { display: flex; align-items: center; gap: 2.8rem; }
.rule .slashes { flex: 0 0 auto; }
.labels { display: flex; align-items: center; gap: 1.9rem; font-family: var(--mono); font-weight: 300; font-size: 2.4rem; line-height: 1; text-transform: uppercase; color: var(--beige); }
.labels--dark { color: var(--black); }
.label { font-family: var(--mono); font-weight: 300; font-size: 2.4rem; line-height: 1; text-transform: uppercase; color: var(--beige); white-space: nowrap; }
.label--md { font-weight: 500; }
.accent { color: var(--salmon); }
.dots { position: absolute; left: 4.8rem; display: flex; flex-direction: column; gap: 28.1rem; }
.dots i { display: block; width: .9rem; height: 1.1rem; background: var(--beige); }

.chain { display: flex; align-items: center; flex: 1 1 auto; }
.chain__circles { display: flex; flex: 0 0 auto; }
.chain__circles i { display: block; width: 13.6rem; height: 11.6rem; border: 1px solid var(--beige); border-radius: 50%; margin-left: -8.06rem; }
.chain__circles i:first-child { margin-left: 0; }

.ring { display: flex; align-items: center; justify-content: center; border: 1px solid var(--beige); border-radius: 50%; }
.ring i { display: block; border: 1px solid var(--beige); border-radius: 50%; }
.ring--sm { width: 5.3rem; height: 5.3rem; }
.ring--sm i { width: 2.5rem; height: 2.5rem; }
.ring--dot { width: 5.9rem; height: 5.9rem; }
.ring--dot i { width: 2.9rem; height: 2.9rem; background: var(--beige); border: 0; }

.ornament { display: flex; align-items: center; }
.ornament__ring { display: flex; align-items: center; justify-content: center; width: 6.7rem; height: 6.7rem; border: 1px solid var(--beige); border-radius: 50%; flex: 0 0 auto; }
.ornament__ring i { width: 2.7rem; height: 2.7rem; border: 1px solid var(--beige); border-radius: 50%; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; height: 8.8rem; padding: 0 3rem; font-family: var(--mono); font-size: 4.2rem; letter-spacing: -.144rem; line-height: 1; text-transform: uppercase; color: var(--beige); white-space: nowrap; position: relative; overflow: hidden; transition: color .4s var(--ease); }
.btn--salmon { background: var(--salmon); }
.btn--outline { border: .36rem solid var(--beige); }
.btn::after { content: ""; position: absolute; inset: 0; background: var(--beige); transform: translateY(101%); transition: transform .5s var(--ease); z-index: 0; }
.btn span, .btn { z-index: 1; }
.btn:hover { color: var(--black); }
.btn:hover::after { transform: translateY(0); }
.btn { isolation: isolate; }
.btn::after { z-index: -1; }

/* Media (video containers) */
.media { position: relative; overflow: hidden; }
.media .bg-video, .media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.media__play { position: absolute; left: 50%; top: 50%; width: 9.1rem; height: 9.1rem; margin: -4.55rem 0 0 -4.55rem; opacity: .5; transition: opacity .4s, transform .4s var(--ease); pointer-events: none; }
.media__play svg { width: 100%; height: 100%; }
.media__play--dark svg path { fill: var(--black); }
.media:hover .media__play { opacity: 1; transform: scale(1.1); }

/* --------------------------------------------------------------------
   Preloader, cursor, fixed CTA, lightbox
   -------------------------------------------------------------------- */
.loader { position: fixed; inset: 0; z-index: 1000; background: var(--black); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4rem; }
.loader__burst { width: 9.8rem; height: 9.8rem; animation: spin 2.4s linear infinite; }
.loader__burst svg path { fill: var(--salmon); }
.loader__bar { width: 24rem; height: 1px; background: rgba(237,234,225,.2); overflow: hidden; }
.loader__bar span { display: block; height: 100%; width: 100%; background: var(--beige); transform: translateX(-100%); animation: loadbar 1.6s var(--ease) forwards; }
@keyframes loadbar { to { transform: translateX(0); } }
@keyframes spin { to { transform: rotate(360deg); } }
.loader.is-done { transform: translateY(-100%); transition: transform .9s var(--ease); }

.cursor { position: fixed; left: 0; top: 0; z-index: 900; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--beige); pointer-events: none; transform: translate(-50%, -50%); mix-blend-mode: difference; transition: width .35s var(--ease), height .35s var(--ease), background .35s; display: flex; align-items: center; justify-content: center; }
.cursor__label { font-family: var(--mono); font-size: 1.6rem; text-transform: uppercase; color: var(--black); opacity: 0; transition: opacity .3s; letter-spacing: .05em; }
.cursor.is-play { width: 11rem; height: 11rem; background: var(--salmon); mix-blend-mode: normal; }
.cursor.is-play .cursor__label { opacity: 1; color: var(--beige); }
.cursor.is-link { width: 4rem; height: 4rem; }
@media (hover: none), (pointer: coarse) { .cursor { display: none; } body { cursor: auto; } button { cursor: pointer; } }

.cta-fixed { position: fixed; top: 2.4rem; right: 2.4rem; z-index: 800; transform: translateY(-140%); transition: transform .6s var(--ease); font-size: 2.6rem; height: 6.2rem; padding: 0 2.4rem; letter-spacing: -.05rem; }
.cta-fixed.is-visible { transform: translateY(0); }

.lightbox { position: fixed; inset: 0; z-index: 950; background: rgba(16,16,15,.94); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .4s, visibility .4s; backdrop-filter: blur(1rem); }
.lightbox.is-open { opacity: 1; visibility: visible; }
.lightbox__inner { width: min(160rem, 92vw); max-height: 88vh; transform: scale(.94); transition: transform .5s var(--ease); }
.lightbox.is-open .lightbox__inner { transform: scale(1); }
.lightbox__inner video { width: 100%; max-height: 88vh; background: #000; box-shadow: 0 4rem 12rem rgba(0,0,0,.6); }
.lightbox__close { position: absolute; top: 2.4rem; right: 2.4rem; width: 6rem; height: 6rem; border: 1px solid var(--beige); background: transparent; color: var(--beige); font-size: 2.4rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background .3s, color .3s; }
.lightbox__close:hover { background: var(--beige); color: var(--black); }

/* --------------------------------------------------------------------
   HERO  (0 → 2024)
   -------------------------------------------------------------------- */
.hero { height: 202.4rem; overflow: hidden; }
.hero__burst { position: absolute; left: 11.6rem; top: -38.2rem; width: 168.8rem; height: 169.4rem; opacity: .2; pointer-events: none; }
.hero__burst svg path { fill: #6A6A6A; }
.hero__video { position: absolute; left: 19.6rem; top: -17.3rem; width: 153.8rem; height: 93rem; background: var(--salmon); }
.hero__poster { z-index: 0; }
.hero__video .bg-video { z-index: 1; }
.hero__video .media__play { z-index: 2; opacity: 0; }
.hero__video:hover .media__play { opacity: 1; }
.hero__wordmark { position: absolute; left: 20.3rem; top: 48.7rem; width: 151.4rem; height: 36rem; z-index: 3; }
.hero__wordmark svg { width: 100%; height: 100%; overflow: visible; }
.hero__wordmark svg path { fill: var(--beige); }
.hero__for { position: absolute; left: 43.3rem; top: 88.3rem; width: 105.4rem; height: 21.9rem; font-family: var(--thin); font-weight: 200; font-size: 15rem; line-height: 21.888rem; letter-spacing: .01em; color: var(--white); text-align: center; white-space: nowrap; }
.hero__divider { position: absolute; left: 14.6rem; top: 108.8rem; width: 162.8rem; }
.hero__copy { position: absolute; left: 29.9rem; top: 118.2rem; width: 132.2rem; display: flex; align-items: center; gap: 16.5rem; }
.hero__title { width: 63.8rem; font-family: var(--mono); font-size: 6.4rem; line-height: 1.18; text-transform: uppercase; text-align: center; color: var(--beige); }
.hero__text { width: 51.9rem; font-size: 3.6rem; line-height: 1.03; color: var(--beige); }
.hero__btns { position: absolute; left: 39.7rem; top: 146.3rem; display: flex; gap: 7.7rem; }

.marquee { position: absolute; left: 0; top: 172.8rem; width: 100%; height: 10rem; overflow: hidden; }
.marquee__track { display: flex; width: max-content; height: 100%; will-change: transform; }
.marquee__group { display: flex; align-items: center; gap: 5.1rem; padding-right: 5.1rem; }
.marquee__burst { width: 9.8rem; height: 9.8rem; flex: 0 0 auto; }
.marquee__burst svg path { fill: var(--salmon); }
.marquee__text { font-family: var(--mono); font-size: 8rem; line-height: 1.25; text-transform: uppercase; color: var(--beige); white-space: nowrap; }

/* --------------------------------------------------------------------
   02 · INTRO  (2024 → 3074)
   -------------------------------------------------------------------- */
.intro { height: 105rem; }
.intro .dots { top: 3.4rem; }
.intro__title { position: absolute; left: 19.8rem; top: 0; width: 62.3rem; font-family: var(--mono); font-weight: 300; font-size: 10rem; line-height: 14.1rem; text-transform: uppercase; }
.intro__slashes { position: absolute; left: 88.1rem; top: 3.4rem; width: 122.4rem; color: var(--line); }
.intro__video { position: absolute; left: 83.2rem; top: 18rem; width: 108.8rem; height: 74.1rem; background: var(--beige); z-index: 2; }
.intro__vline { position: absolute; top: 13.6rem; width: 1px; height: 91.2rem; background: var(--line); }
.intro__vline--1 { left: 43.5rem; }
.intro__vline--2 { left: 66.7rem; }
.intro__text { position: absolute; left: 22.4rem; top: 44.2rem; width: 44.3rem; font-size: 4.2rem; line-height: 1.25; z-index: 1; }

/* --------------------------------------------------------------------
   03 · NÚMEROS  (3074 → 4230)
   -------------------------------------------------------------------- */
.numeros { height: 115.6rem; }
.numeros__photo { position: absolute; left: 0; top: 0; width: 100%; height: 87.6rem; overflow: hidden; }
.numeros__photo img { width: 100%; height: 120%; object-fit: cover; object-position: 50% 55%; will-change: transform; }
.numeros__grad { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); }
.numeros__labels { position: absolute; left: 16.4rem; top: 15.8rem; }
.numeros__head { position: absolute; left: 16.4rem; top: 43.8rem; width: 157.1rem; height: 14.1rem; display: flex; align-items: center; gap: 8rem; }
.numeros__title { font-family: var(--mono); font-weight: 300; font-size: 6.4rem; line-height: 14.1rem; text-transform: uppercase; white-space: nowrap; }
.numeros__head .chain { height: 11.6rem; }
.stats { position: absolute; left: 10.1rem; top: 70.3rem; display: flex; align-items: center; gap: 5rem; }
.stat { width: 39.2rem; display: flex; flex-direction: column; gap: 2.4rem; }
.stat--first { border: 1px solid var(--salmon); padding: 3.4rem 3.8rem; }
.stat__top { display: flex; align-items: center; justify-content: space-between; gap: 2rem; height: 8.6rem; }
.stat__title { font-family: var(--sans); font-weight: 300; font-size: 4.2rem; line-height: 1.03; text-transform: uppercase; }
.stat__icon { display: flex; align-items: center; justify-content: center; width: 8.6rem; height: 8.6rem; border: 1px solid var(--salmon); border-radius: 50%; flex: 0 0 auto; }
.stat__icon svg { width: 4.2rem; height: 4.2rem; }
.stat__icon svg path { fill: var(--salmon); }
.stat__tag { display: inline-flex; align-self: flex-start; padding: .33rem .96rem; background: var(--beige); color: var(--black); font-size: 1.54rem; line-height: 2.3rem; text-transform: uppercase; }
.stat__tag--salmon { background: var(--salmon); color: var(--beige); }
.stat__desc { font-size: 1.86rem; line-height: 2.88rem; }

/* --------------------------------------------------------------------
   04 · CHAT  (4230 → 5155 flow, card 129.8rem tall overlapping next)
   -------------------------------------------------------------------- */
.chat { height: 92.5rem; z-index: 3; }
.chat__card { position: absolute; left: 9.8rem; top: 0; width: 169.9rem; height: 129.8rem; background: var(--beige); color: var(--black); padding: 12.3rem 12.5rem 0; }
.chat__video { width: 145rem; height: 59.4rem; background: #E9E5D9; }
.chat__head { display: flex; align-items: center; justify-content: space-between; gap: 10.8rem; margin-top: 8.7rem; height: 15.9rem; }
.chat__title { width: 54.6rem; font-family: var(--mono); font-size: 6.4rem; line-height: 1.12; text-transform: uppercase; }
.chat__lead { width: 37rem; font-size: 4.2rem; line-height: 1.25; }
.chat__head .labels { gap: 1.3rem; }
.chat .line--grey { margin-top: 5.6rem; width: 145rem; }
.chat__cols { display: flex; gap: 7rem; margin-top: 5.6rem; }
.chat__cols p { font-size: 2.4rem; line-height: 1.03; }
.chat__cols p:first-child { width: 73.5rem; }
.chat__cols p:last-child { width: 64.5rem; }

/* --------------------------------------------------------------------
   05 · APRENDER (salmão, 5155 → 12637)
   -------------------------------------------------------------------- */
.aprender { background: var(--salmon); color: var(--beige); overflow: hidden; z-index: 1; padding-bottom: 20rem; }
.aprender__tex { position: absolute; pointer-events: none; mix-blend-mode: soft-light; overflow: hidden; }
.aprender__tex img { width: 100%; height: 100%; object-fit: cover; }
.aprender__tex--1 { left: 0; top: 0; width: 100%; height: 215.2rem; }
.aprender__tex--1 img { height: 115%; }
.aprender__tex--2 { left: -41.9rem; top: 207.5rem; width: 317.5rem; height: 188.6rem; }
.aprender__tex--3 { left: -28.1rem; top: 376.4rem; width: 248.2rem; bottom: 0; }
.aprender__tex--3 img { object-position: 50% 0; }
/* modo estático (QA / captura): cards sobrepostos como no Figma (gap -113px) */
.no-js .card { position: relative; top: auto; margin-bottom: -11.3rem; }
.no-js .card:last-child { margin-bottom: 0; }
.badge { position: absolute; left: 45.1rem; top: -27.3rem; width: 101.7rem; height: 101.7rem; mix-blend-mode: multiply; pointer-events: none; }
.badge svg { width: 100%; height: 100%; overflow: visible; }
.badge text { font-family: var(--mono); font-size: 99.26px; text-transform: uppercase; fill: var(--badge); letter-spacing: 0; }
.aprender .ornament { position: absolute; left: 9.8rem; top: 47.2rem; width: 169.9rem; }
.aprender__head { position: absolute; left: 20rem; top: 63.4rem; width: 152.1rem; display: flex; align-items: center; gap: 10.6rem; }
.aprender__title { width: 70.8rem; font-family: var(--mono); font-size: 6.4rem; line-height: 1.12; text-transform: uppercase; }
.aprender__lead { width: 70.8rem; font-size: 4.2rem; line-height: 1.25; }
.aprender .wrap { padding-top: 106.1rem; }
.stack { position: relative; margin: 0 0 0 16rem; width: 160rem; z-index: 2; }
.card { position: sticky; top: 8vh; display: flex; align-items: center; gap: 7.4rem; padding: 7rem 8rem; margin-bottom: 8vh; min-height: 62rem; transform-origin: center top; will-change: transform; box-shadow: 0 -2rem 8rem rgba(0,0,0,.18); }
.card--dark { background: var(--dark2); color: var(--beige); }
.card--beige { background: var(--beige); color: var(--black); }
.card__text { width: 56.9rem; flex: 0 0 auto; display: flex; flex-direction: column; gap: 3rem; }
.card__num { font-size: 2.4rem; line-height: 5.99rem; text-transform: uppercase; }
.card__title { font-family: var(--mono); font-size: 4.2rem; line-height: 5.99rem; text-transform: uppercase; }
.card__desc { font-size: 2.4rem; line-height: 4.032rem; }
.card__media { flex: 1 1 auto; align-self: stretch; min-height: 44.2rem; background: #E9E5D9; }
.card--beige .card__media { background: #DCD7C9; }

/* --------------------------------------------------------------------
   06 · ALÉM  (12637 → 14878)
   -------------------------------------------------------------------- */
.alem { height: 224.1rem; background: var(--black); overflow: hidden; }
.alem__glow { position: absolute; left: 50%; top: 0; width: 302.9rem; height: 72.6rem; transform: translate(-50%, -50%); background: radial-gradient(ellipse at center, rgba(219,120,89,.85) 0%, rgba(219,120,89,.35) 35%, rgba(219,120,89,0) 70%); pointer-events: none; }
.alem__line { position: absolute; left: 0; height: 1px; background: var(--beige); transform-origin: left center; }
.alem__line--top { top: 0; width: 100%; }
.alem__line--mid { top: 127.5rem; width: 100%; }
.alem__line--s1 { top: 176.9rem; width: 63.5rem; }
.alem__line--s2 { top: 199.9rem; width: 63.5rem; }
.alem__vline { position: absolute; left: 63.5rem; top: 0; width: 1px; height: 208.4rem; background: var(--beige); transform-origin: top center; }
.alem__ring { position: absolute; left: 60.8rem; top: 213.7rem; }
.alem__img { position: absolute; margin: 0; overflow: hidden; background: var(--beige); }
.alem__img img { width: 100%; height: 100%; object-fit: cover; }
.alem__img--1 { left: -22.9rem; top: 0; width: 86.1rem; height: 86.2rem; }
.alem__img--2 { left: 74.2rem; top: 127.5rem; width: 117.8rem; height: 86.2rem; }
.alem__img--3 { left: 14.1rem; top: 127.5rem; width: 49.4rem; height: 49.4rem; }
.alem__text { position: absolute; left: 77.6rem; top: 22.9rem; width: 94.4rem; display: flex; flex-direction: column; gap: 8.2rem; }
.alem__title { font-family: var(--mono); font-size: 12rem; line-height: 1.12; text-transform: uppercase; }
.alem__paras { display: flex; flex-direction: column; gap: 4.7rem; }
.alem__paras p { font-size: 3.2rem; line-height: 1.25; }
.alem__labels { position: absolute; top: 122rem; left: 11.8rem; width: 168.4rem; justify-content: space-between; }
.alem__burst { position: absolute; left: 53.5rem; top: 137.2rem; width: 19.4rem; height: 19.4rem; }
.alem__burst svg path { fill: var(--beige); }

/* --------------------------------------------------------------------
   07 · EMPRESAS  (14878 → 15989)  + 6.7rem gap
   -------------------------------------------------------------------- */
.empresas { height: 117.8rem; background: linear-gradient(to bottom, var(--beige) 0, var(--beige) 111.1rem, var(--black) 111.1rem); color: var(--black); }
.empresas__title { position: absolute; left: 0; top: 11.7rem; width: 100%; font-family: var(--mono); font-size: 7rem; line-height: 1.12; text-transform: uppercase; text-align: center; }
.logos { position: absolute; left: 13rem; top: 27.5rem; width: 167.9rem; height: 71.9rem; overflow: hidden; display: flex; flex-direction: column; gap: 2.5rem; -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); }
.logos__row { height: 22.3rem; overflow: hidden; }
.logos__track { display: flex; gap: 1.45rem; width: max-content; will-change: transform; }
.logos__track img { width: 22.3rem; height: 22.3rem; object-fit: cover; border-radius: .56rem; flex: 0 0 auto; }
.logos__track img.logo--white { background: #fff; }
.logos__track img.logo--beige { background: var(--beige); }
.logos__track img.logo--fit { object-fit: contain; }

/* --------------------------------------------------------------------
   08 · MELHOR CURSO  (16056 → 17579)
   -------------------------------------------------------------------- */
.melhor { height: 152.3rem; }
.melhor__title { position: absolute; left: 17.1rem; top: 6.2rem; width: 136.5rem; font-family: var(--mono); font-size: 12rem; line-height: 1.12; text-transform: uppercase; z-index: 2; }
.melhor__box { position: absolute; left: 17.1rem; top: 31.3rem; width: 136.4rem; height: 18.1rem; background: var(--black); display: flex; justify-content: center; padding: 3rem 6.8rem 4.8rem 0; z-index: 2; }
.melhor__grad { font-family: var(--mono); font-size: 12rem; line-height: 1.12; text-transform: uppercase; background: linear-gradient(90deg, var(--salmon) 0%, #fff 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; white-space: nowrap; margin-top: -1.9rem; }
.melhor__img { position: absolute; left: 17.1rem; top: 41.1rem; width: 157.8rem; height: 75.2rem; margin: 0; overflow: hidden; background: var(--beige); z-index: 1; }
.melhor__img img { width: 100%; height: 100%; object-fit: cover; will-change: transform; }
.melhor__foot { position: absolute; left: 17.1rem; top: 128.3rem; width: 157.8rem; height: 16rem; display: flex; align-items: center; justify-content: space-between; gap: 15.1rem; padding-left: 1.3rem; }
.melhor__foot p { width: 59.5rem; font-size: 3.2rem; line-height: 1.25; }
.melhor__foot .chain { width: 80.5rem; flex: 0 0 auto; }

/* --------------------------------------------------------------------
   09 · DEPOIMENTOS  (17579 → 19182)
   -------------------------------------------------------------------- */
.depoimentos { height: 160.3rem; overflow: hidden; }
.depoimentos__title { position: absolute; left: 0; top: 10.1rem; width: 100%; font-family: var(--mono); font-weight: 300; font-size: 6rem; line-height: 1.12; text-transform: uppercase; text-align: center; }
.depoimentos__lead { position: absolute; left: 28.9rem; top: 20.5rem; width: 134.1rem; font-size: 3.2rem; line-height: 1.25; text-align: center; }
.testi { position: absolute; left: 12rem; top: 35.6rem; width: 167.9rem; height: 124.7rem; overflow: hidden; display: flex; gap: 5.5rem; -webkit-mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent); }
.testi__col { width: 52.3rem; height: 100%; overflow: visible; }
.testi__track { display: flex; flex-direction: column; gap: 3.9rem; will-change: transform; }
.testi__card { width: 52.3rem; height: 84.5rem; background: var(--beige); flex: 0 0 auto; }
.testi__card .media__play { opacity: .5; }
.testi__card:hover .media__play { opacity: 1; }

/* --------------------------------------------------------------------
   10 · MATERIAL  (19182 → 20661)
   -------------------------------------------------------------------- */
.material { height: 147.9rem; overflow: hidden; }
.material__tl { position: absolute; left: 0; top: 0; width: 88.2rem; height: 52.8rem; background: var(--salmon); overflow: hidden; }
.material__burst { position: absolute; left: 47.3rem; top: -15.7rem; width: 78.8rem; height: 84.2rem; opacity: .4; mix-blend-mode: multiply; }
.material__burst img { width: 100%; height: 100%; }
.material__labels { position: absolute; left: 15.9rem; top: 7.6rem; width: 43.9rem; justify-content: space-between; font-weight: 500; }
.material__title { position: absolute; left: 15.9rem; top: 19.8rem; width: 56.4rem; font-family: var(--mono); font-size: 7.2rem; line-height: 1.41; text-transform: uppercase; color: var(--beige); }
.material__img { position: absolute; margin: 0; overflow: hidden; background: var(--beige); }
.material__img img { width: 100%; height: 100%; object-fit: cover; }
.material__img--tr { left: 88.2rem; top: 0; width: 103.8rem; height: 73.5rem; }
.material__img--bl { left: 0; top: 73.5rem; width: 88.2rem; height: 74.4rem; }
.material__img--bl img { object-position: 50% 50%; }
.material__br { position: absolute; left: 98rem; top: 86.4rem; width: 84.2rem; display: flex; flex-direction: column; gap: 6.4rem; }
.material__br h3 { font-family: var(--mono); font-size: 5.4rem; line-height: 1.25; text-transform: uppercase; }
.material__br p { font-size: 4rem; line-height: 1.25; }
.material__vline { position: absolute; left: 88.2rem; top: 0; width: 1px; height: 100%; background: var(--beige); transform-origin: top; z-index: 2; }
.material__hline { position: absolute; left: 0; top: 73.5rem; width: 100%; height: 1px; background: var(--beige); transform-origin: left; z-index: 2; }
.material__hline--top { top: 0; }
.material__hline--bot { top: auto; bottom: 0; }
.material__ring { position: absolute; left: 85.2rem; top: 70.5rem; z-index: 3; background: var(--black); }

/* --------------------------------------------------------------------
   11 · CERTIFICADO  (20661 → 22264)
   -------------------------------------------------------------------- */
.certificado { height: 160.3rem; overflow: hidden; }
.dots--cert { top: 35.8rem; }
.certificado__head { position: absolute; left: 14.5rem; top: 8.4rem; width: 163rem; display: flex; align-items: center; gap: 5rem; }
.certificado__plus { font-size: 4rem; line-height: 1.25; }
.certificado__title { position: absolute; left: 0; top: 21.7rem; width: 100%; font-family: var(--mono); font-size: 7.2rem; line-height: 1.25; text-transform: uppercase; text-align: center; }
.certificado__rule { position: absolute; left: 14.5rem; top: 41rem; width: 162.9rem; gap: 4rem; }
.certificado__lead { position: absolute; left: 32.7rem; top: 56rem; width: 126.7rem; font-size: 3.2rem; line-height: 1.25; text-align: center; }
.cert-wrap { position: absolute; left: 0; top: 81.8rem; width: 100%; height: 78.5rem; overflow: hidden; }
.cert-fade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(16,16,15,0) 0%, rgba(16,16,15,0) 30%, rgba(16,16,15,1) 100%); pointer-events: none; }
/* Foto da turma com os certificados no lugar da arte (22/09/2026, Breno e
   Carol). Ocupa a mesma moldura que a arte ocupava: nada mais se desloca.
   As regras .cert* abaixo ficam para o caso de a arte voltar. */
.cert-photo { position: absolute; left: 19.2rem; top: 0; width: 153.6rem; height: 78.5rem; margin: 0; overflow: hidden; background: var(--beige); }
.cert-photo picture { display: block; width: 100%; height: 100%; }
.cert-photo img { width: 100%; height: 100%; object-fit: cover; }
.cert { position: absolute; left: 19.2rem; top: 0; width: 153.6rem; height: 109.3rem; background: var(--beige); color: var(--black); overflow: hidden; transform-style: preserve-3d; will-change: transform; }
.cert__watermark { position: absolute; right: -60rem; top: -40rem; width: 182rem; height: 183rem; opacity: .07; transform: rotate(90deg); pointer-events: none; }
.cert__watermark svg path { fill: var(--black); }
.cert__inner { position: relative; width: 122.1rem; margin: 0 auto; padding-top: 9.9rem; display: flex; flex-direction: column; align-items: center; gap: 6rem; }
.cert__logo { display: flex; align-items: center; gap: 2.4rem; height: 11rem; }
.cert__burst { width: 8.5rem; height: 8.6rem; }
.cert__burst svg path { fill: var(--salmon); }
.cert__wordmark { width: 35.1rem; height: 8.4rem; }
.cert__wordmark svg { width: 100%; height: 100%; }
.cert__wordmark svg path { fill: var(--black); }
.cert__for { font-family: var(--serif); font-weight: 300; font-size: 6.33rem; letter-spacing: -.44rem; line-height: 1; }
.cert__business { display: inline-flex; align-items: center; height: 11rem; padding: 0 1.58rem; background: var(--salmon); color: var(--beige); font-family: var(--serif); font-size: 6.33rem; letter-spacing: -.44rem; line-height: 1; }
.cert__title { font-family: var(--serif); font-weight: 300; font-size: 8.2rem; letter-spacing: -.678rem; line-height: 1.2; text-align: center; margin-top: -2rem; }
.cert__body { display: flex; flex-direction: column; align-items: center; gap: 2rem; text-align: center; }
.cert__line { display: flex; flex-direction: column; align-items: center; gap: .9rem; }
.cert__small { font-size: 3.28rem; line-height: 1.085; }
.cert__line strong { font-size: 4.32rem; font-weight: 700; line-height: 1.085; }
.cert__desc { font-size: 3.28rem; line-height: 1.085; max-width: 95.3rem; margin-top: 1rem; }
.cert__foot { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 7.9rem; margin-top: 1.5rem; }
.cert__seal { position: relative; width: 20.8rem; height: 20.8rem; flex: 0 0 auto; }
.cert__seal svg { width: 100%; height: 100%; }
.cert__sealtext { font-family: var(--sans); font-size: 21.86px; letter-spacing: .6em; fill: var(--black); text-transform: uppercase; }
.cert__sealburst { position: absolute; left: 50%; top: 50%; width: 8rem; height: 8rem; transform: translate(-50%, -50%); }
.cert__sealburst svg path { fill: var(--salmon); }
.cert__sign { display: flex; flex-direction: column; align-items: center; width: 27.9rem; }
.cert__signature { width: 27.7rem; height: 16.8rem; transform: rotate(13.2deg); margin-bottom: -9.6rem; }
.cert__signature svg { width: 100%; height: 100%; }
.cert__signature svg path { fill: var(--black); }
.cert__signline { display: block; width: 100%; height: 1.23px; background: var(--black); margin-bottom: 1.6rem; }
.cert__sign strong { font-size: 2.7rem; font-weight: 400; letter-spacing: -.05em; line-height: 1.03; }
.cert__sign span { font-size: 2.03rem; letter-spacing: -.05em; line-height: 1.03; margin-top: .86rem; }
.cert__meta { display: flex; gap: 8.2rem; }
.cert__metaitem { display: flex; align-items: flex-end; gap: 1.9rem; }
.cert__metaicon { display: flex; align-items: center; justify-content: center; width: 5.5rem; height: 5.5rem; border-radius: 50%; background: var(--black); flex: 0 0 auto; }
.cert__metaicon svg { width: 2.4rem; height: 2.5rem; }
.cert__metaicon svg path { fill: var(--beige); }
.cert__metaitem em { display: block; font-style: normal; font-weight: 300; font-size: 2.05rem; letter-spacing: -.05em; color: #777; line-height: 1.03; margin-bottom: .6rem; }
.cert__metaitem b { display: block; font-weight: 700; font-size: 2.54rem; line-height: 1.085; }
.cert__metaitem b i { font-style: normal; font-weight: 300; font-size: 2.05rem; padding: 0 .4rem; }

/* --------------------------------------------------------------------
   12 · SOBRE  (22264 → 23464)
   -------------------------------------------------------------------- */
.sobre { height: 120rem; }
.sobre__label1 { position: absolute; left: 16rem; top: 16.6rem; }
.sobre__label2 { position: absolute; left: 51.2rem; top: 16.6rem; }
.sobre__line { position: absolute; left: 0; top: 21.7rem; width: 84.9rem; height: 1px; background: var(--beige); transform-origin: left; }
.sobre__text { position: absolute; left: 16rem; top: 33.1rem; width: 86.4rem; display: flex; flex-direction: column; gap: 5.9rem; z-index: 2; }
.sobre__title { font-family: var(--mono); font-size: 12rem; line-height: 1.12; text-transform: uppercase; white-space: nowrap; word-spacing: -4.5rem; }
.sobre__bio { width: 58.9rem; display: flex; flex-direction: column; gap: 3rem; }
.sobre__bio p { font-size: 2.4rem; line-height: 1.25; }
.sobre__frame { position: absolute; left: 84.9rem; top: 21.6rem; width: 81.8rem; height: 81.8rem; border: 1px solid var(--beige); }
.sobre__photo { position: absolute; left: 89.9rem; top: 16.6rem; width: 81.8rem; height: 81.8rem; margin: 0; overflow: hidden; background: var(--beige); }
.sobre__photo img { width: 100%; height: 100%; object-fit: cover; }

/* --------------------------------------------------------------------
   13 · IMPRENSA  (23464 → 24051)
   -------------------------------------------------------------------- */
.imprensa { height: 58.7rem; }
.imprensa__left { position: absolute; left: 16.7rem; top: 0; width: 67.8rem; display: flex; flex-direction: column; gap: 5.6rem; }
.imprensa__row { display: flex; align-items: flex-start; justify-content: space-between; height: 16.2rem; }
.imprensa__title { width: 57.7rem; font-family: var(--mono); font-size: 7.2rem; line-height: 1.12; text-transform: uppercase; }
.imprensa__row .label { margin-top: 0; }
.imprensa__left p { width: 63.1rem; font-size: 2.4rem; line-height: 1.25; }
.imprensa__left .rule { gap: 4rem; }
.press { position: absolute; left: 103.6rem; top: 0; width: 71.8rem; height: 41.1rem; display: grid; grid-template-columns: 20.3rem 20.3rem 20.3rem; grid-template-rows: 12.4rem 12.4rem 12.4rem; justify-content: space-between; align-content: space-between; }
.press span { display: flex; align-items: center; justify-content: center; }
.press img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.press span:nth-child(1) img { width: 20.3rem; }
.press span:nth-child(2) img { width: 16.2rem; }
.press--white { background: #fff; width: 18.8rem; height: 9.3rem; justify-self: center; align-self: center; }
.press span:nth-child(3) img { height: 10.4rem; }
.press span:nth-child(4) img { width: 20.3rem; }
.press span:nth-child(5) img { width: 20.3rem; }
.press span:nth-child(6) img { height: 12.4rem; }
.press span:nth-child(7) img { width: 20.3rem; }
.press span:nth-child(8) img { height: 11.2rem; }
.press span:nth-child(9) img { width: 20.3rem; }

/* --------------------------------------------------------------------
   14 · DATAS  (24051 → 26142)
   -------------------------------------------------------------------- */
.datas { height: 209.1rem; border-top: 1px solid #fff; }
.datas__banner { position: absolute; left: 0; top: 0; width: 100%; height: 45.1rem; overflow: hidden; background: var(--beige); }
.datas__banner img { width: 100%; height: 130%; object-fit: cover; will-change: transform; }
.datas__title { position: absolute; left: 71.3rem; top: 50.6rem; width: 100.8rem; font-family: var(--mono); font-size: 12rem; line-height: 1.12; text-transform: uppercase; }
.datas__slashes { position: absolute; left: -1.5rem; top: 57.3rem; width: 54.2rem; }
.datas__labels { position: absolute; left: 65.5rem; top: 69rem; width: 114.7rem; justify-content: space-evenly; }
.datas__line { position: absolute; left: 0; top: 77.1rem; width: 100%; height: 1px; background: #fff; transform-origin: left; }
.datas__burst { position: absolute; left: 45.6rem; top: 82.5rem; width: 10.9rem; height: 10.9rem; z-index: 2; }
.datas__burst svg path { fill: var(--beige); }
.cities { position: absolute; left: 6.2rem; top: 81rem; width: 179.6rem; padding: 5rem; display: flex; align-items: center; gap: 6.8rem; }
.city { width: 47.5rem; height: 38.8rem; background: var(--black); padding: 4.6rem 4.1rem; display: flex; flex-direction: column; justify-content: center; gap: 3.9rem; flex: 0 0 auto; }
.city__sep { display: block; width: 1px; height: 38.8rem; background: #fff; flex: 0 0 auto; }
.city__place { display: flex; align-items: center; gap: .36rem; }
.city__pin { width: 2.9rem; height: 2.9rem; }
.city__pin svg { width: 100%; height: 100%; }
.city__state { font-size: 1.865rem; line-height: 2.786rem; text-transform: uppercase; }
.city__name { font-weight: 300; font-size: 5.2rem; line-height: 1.03; text-transform: uppercase; margin-top: -2.3rem; }
.city__dates { display: flex; align-items: center; gap: 2.9rem; }
.date { background: transparent; border: 0; color: var(--beige); font-size: 2.25rem; line-height: 3.49rem; padding: 0 .6rem; transition: background .3s; }
.date:hover { background: rgba(60,60,60,.6); }
.date.is-selected { background: var(--grey); font-weight: 600; }
.city__btn { display: inline-flex; align-self: flex-start; align-items: center; height: 5.2rem; padding: 0 1.2rem; background: var(--salmon); color: var(--beige); font-size: 2.25rem; line-height: 1; transition: transform .35s var(--ease), background .3s; }
.city__btn:hover { transform: translateX(.6rem); background: #e2866a; }
.notify { position: absolute; left: 17.4rem; top: 135.6rem; width: 157.3rem; height: 36.8rem; background: var(--salmon); padding: 7rem 10rem; display: flex; align-items: center; justify-content: center; gap: 20rem; }
.notify__title { width: 48.2rem; font-family: var(--mono); font-size: 5.2rem; line-height: 1.22; text-transform: uppercase; color: var(--beige); }
.notify__form { width: 65.8rem; display: flex; flex-direction: column; gap: 2.1rem; position: relative; }
.notify__field { display: flex; align-items: center; height: 6.2rem; background: var(--beige); padding: 0 2rem; position: relative; }
.notify__field input, .notify__field select { width: 100%; height: 100%; border: 0; background: transparent; font-family: var(--sans); font-size: 2.25rem; color: var(--black); outline: none; appearance: none; -webkit-appearance: none; padding: 0; }
.notify__field input::placeholder { color: var(--black); }
.notify__select select { padding-right: 4rem; }
.notify__select select:invalid { color: var(--black); }
.notify__arrow { position: absolute; right: 1.3rem; top: 50%; width: 3.3rem; height: 3.3rem; transform: translateY(-50%) rotate(180deg); pointer-events: none; }
.notify__arrow svg { width: 100%; height: 100%; }
.notify__btn { align-self: flex-end; width: 17rem; height: 6.2rem; border: 0; background: var(--black); color: var(--beige); font-size: 2.25rem; transition: background .3s, color .3s; }
.notify__btn:hover { background: var(--beige); color: var(--black); }
.notify__ok { position: absolute; left: 0; bottom: -4.4rem; font-size: 2rem; color: var(--beige); }
.notify__form.is-sent .notify__btn { background: var(--beige); color: var(--black); }

/* --------------------------------------------------------------------
   FOOTER  (26142 → 26602)
   -------------------------------------------------------------------- */
.footer { height: 46rem; background: var(--beige); color: var(--black); border-top: 1px solid #fff; }
.footer .wrap { display: flex; align-items: center; gap: 21.3rem; padding: 11.1rem 16.7rem 0; height: auto; }
.footer__logo { width: 44rem; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }
.footer__wordmark { width: 44rem; height: 10.5rem; }
.footer__wordmark svg { width: 100%; height: 100%; }
.footer__wordmark svg path { fill: var(--black); }
.footer__for { display: flex; align-items: center; gap: 1.44rem; font-family: var(--serif); font-weight: 300; font-size: 7.81rem; letter-spacing: -.547rem; line-height: 1; }
.footer__business { display: inline-flex; align-items: center; height: 9.6rem; padding: 0 1.95rem; background: var(--salmon); color: var(--black); font-weight: 400; }
.footer__contacts { display: flex; flex-direction: column; gap: 4.2rem; width: 31rem; }
.footer__contacts a { display: flex; align-items: center; gap: 1.5rem; font-size: 3.2rem; line-height: 3.49rem; white-space: nowrap; transition: transform .35s var(--ease); }
.footer__contacts a:hover { transform: translateX(.6rem); }
.footer__icon { width: 5rem; height: 5rem; }
.footer__icon svg { width: 100%; height: 100%; }
.footer__copy { margin-left: auto; font-size: 3.2rem; line-height: 3.49rem; white-space: nowrap; }

/* --------------------------------------------------------------------
   Reveal helpers (animated by JS)
   -------------------------------------------------------------------- */
.w { display: inline-block; overflow: hidden; vertical-align: top; }
.w > span { display: inline-block; transform: translateY(110%); will-change: transform; }
.is-in .w > span { transform: none; }
.ltr { display: inline-block; opacity: 0; transform: translateY(40%); }
[data-reveal] { opacity: 0; transform: translateY(4rem); }
[data-line] { transform: scaleX(0); }
[data-vline] { transform: scaleY(0); }
.no-js [data-reveal], .no-js .w > span, .no-js [data-line], .no-js [data-vline], .no-js .ltr { opacity: 1; transform: none; }


/* =====================================================================
   INSCRIÇÃO / CHECKOUT (21/09/2026)
   Pedido do Breno às 14h08: checkout lá embaixo, WhatsApp no botão. Os
   botões de cidade e o flutuante continuam indo pro WhatsApp; aqui fica
   o caminho direto de quem já decidiu. Em fluxo normal de propósito: o
   resto da página é posicionado em coordenadas absolutas, e uma seção
   com altura automática não desloca nada do que já estava certo.
   ===================================================================== */
.inscricao { background: var(--black); padding: 12rem 0 14rem; border-top: 1px solid #fff; }
.inscricao .wrap { display: flex; flex-direction: column; align-items: center; }
.inscricao__labels { justify-content: center; gap: 4rem; margin-bottom: 3.2rem; }
.inscricao__title { font-family: var(--mono); font-weight: 400; font-size: 9rem; line-height: 1.08; text-transform: uppercase; color: var(--beige); text-align: center; }
.inscricao__lead { width: 86rem; max-width: 100%; margin-top: 2.4rem; font-size: 2.25rem; line-height: 1.5; color: var(--beige); opacity: .72; text-align: center; }
.inscricao__list { width: 140rem; max-width: 100%; margin-top: 6.4rem; list-style: none; padding: 0; border-top: 1px solid var(--line); }
.inscricao__item { display: flex; align-items: center; gap: 4rem; padding: 3.4rem 2rem; border-bottom: 1px solid var(--line); }
.inscricao__date { flex: 0 0 13rem; font-family: var(--mono); font-size: 4.4rem; line-height: 1; color: var(--salmon); }
.inscricao__city { flex: 1 1 auto; font-weight: 300; font-size: 3.2rem; line-height: 1.1; text-transform: uppercase; color: var(--beige); }
.inscricao__city em { display: block; margin-top: .7rem; font-style: normal; font-family: var(--mono); font-size: 1.865rem; text-transform: uppercase; color: var(--beige); opacity: .6; }
.inscricao__hour { flex: 0 0 auto; font-family: var(--mono); font-size: 2rem; color: var(--beige); opacity: .6; }
.inscricao__btn { flex: 0 0 auto; display: inline-flex; align-items: center; height: 5.2rem; padding: 0 2.4rem; background: var(--salmon); color: var(--beige); font-size: 2.25rem; line-height: 1; transition: transform .35s var(--ease), background .3s; }
.inscricao__btn:hover { transform: translateX(.6rem); background: #e2866a; }
.inscricao__btn--fechada, .inscricao__btn--fechada:hover { background: transparent; color: var(--beige); opacity: .55; border: 1px solid currentColor; transform: none; cursor: default; }
.inscricao__pe { width: 140rem; max-width: 100%; margin-top: 3.6rem; padding: 0 2rem; display: flex; align-items: center; justify-content: flex-end; gap: 4rem; }
.inscricao__preco { font-size: 2.25rem; color: var(--beige); opacity: .72; }
.inscricao__zap { font-family: var(--mono); font-size: 2.25rem; text-transform: uppercase; color: var(--salmon); border-bottom: 1px solid currentColor; padding-bottom: .4rem; }

/* =====================================================================
   MOBILE / TABLET (≤ 900px) — reflow em coluna única
   ===================================================================== */
@media (max-width: 900px) {
  html { font-size: calc(100vw / 43); }
  /* inscrição: item vira bloco, botão em largura cheia */
  .inscricao { padding: 6rem 0 7rem; }
  .inscricao .wrap { padding: 0 2.4rem; }
  .inscricao__labels { gap: 2rem; margin-bottom: 2rem; }
  .inscricao__title { font-size: 5.2rem; }
  .inscricao__lead { width: 100%; margin-top: 1.6rem; font-size: 1.9rem; }
  .inscricao__list { width: 100%; margin-top: 3.4rem; }
  .inscricao__item { display: block; padding: 2.6rem 0; }
  /* empilhado: com a cidade ao lado da data, "santa catarina" quebrava grudado no nome */
  .inscricao__date { display: block; font-size: 3.2rem; margin-bottom: .7rem; }
  .inscricao__city { display: block; font-size: 2.3rem; }
  .inscricao__city em { display: block; margin-top: .5rem; font-size: 1.5rem; }
  .inscricao__hour { display: block; margin-top: .9rem; font-size: 1.6rem; }
  .inscricao__btn { display: flex; justify-content: center; width: 100%; height: 5.8rem; margin-top: 1.8rem; font-size: 2rem; }
  .inscricao__btn:hover { transform: none; }
  .inscricao__pe { width: 100%; margin-top: 2.8rem; padding: 0; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
  .inscricao__preco, .inscricao__zap { font-size: 1.8rem; }

  body { cursor: auto; }
  .cursor { display: none; }
  .sec { height: auto !important; }
  .wrap { width: 100%; }
  .dots, .intro__vline, .alem__vline, .alem__line--s1, .alem__line--s2, .alem__ring, .material__vline, .material__ring, .city__sep, .alem__img--1 { display: none; }
  .btn { height: 6.4rem; font-size: 2.4rem; padding: 0 2.4rem; letter-spacing: -.05rem; }
  .btn--outline { border-width: .2rem; }
  .cta-fixed { font-size: 1.8rem; height: 4.8rem; padding: 0 1.8rem; top: 1.4rem; right: 1.4rem; }
  .labels, .label { font-size: 1.8rem; }
  .slashes { font-size: 1.6rem; }
  .lightbox__close { width: 4.4rem; height: 4.4rem; font-size: 1.8rem; }

  /* HERO */
  .hero { overflow: hidden; padding-bottom: 6rem; }
  .hero__burst { left: -20rem; top: -10rem; width: 90rem; height: 90rem; }
  .hero__video { position: relative; left: 0; top: 0; width: 100%; height: 26rem; margin-top: 0; }
  .hero__wordmark { position: relative; left: 2rem; top: 0; width: 39rem; height: 9.3rem; margin-top: -3rem; }
  .hero__for { position: relative; left: 0; top: 0; width: 100%; height: auto; font-size: 5.6rem; line-height: 1.2; margin-top: 1rem; }
  .hero__divider { position: relative; left: 2rem; top: 0; width: 39rem; margin-top: 3rem; }
  .hero__copy { position: relative; left: 2rem; top: 0; width: 39rem; flex-direction: column; align-items: flex-start; gap: 2.4rem; margin-top: 3rem; }
  .hero__title { width: 100%; font-size: 3.6rem; text-align: left; }
  .hero__text { width: 100%; font-size: 2.2rem; line-height: 1.25; }
  .hero__btns { position: relative; left: 2rem; top: 0; width: 39rem; flex-direction: column; align-items: flex-start; gap: 1.6rem; margin-top: 3rem; }
  .marquee { position: relative; top: 0; height: 6rem; margin-top: 5rem; }
  .marquee__text { font-size: 4rem; }
  .marquee__burst { width: 5rem; height: 5rem; }

  /* INTRO */
  .intro { padding: 4rem 2rem 6rem; }
  .intro__title { position: relative; left: 0; width: 100%; font-size: 5.2rem; line-height: 1.15; }
  .intro__slashes { position: relative; left: 0; top: 0; width: 100%; margin-top: 1.5rem; }
  .intro__video { position: relative; left: 0; top: 0; width: 100%; height: 26.5rem; margin-top: 3rem; }
  .intro__text { position: relative; left: 0; top: 0; width: 100%; font-size: 2.6rem; margin-top: 3rem; }

  /* NÚMEROS */
  .numeros { padding-bottom: 5rem; }
  .numeros__photo { height: 45rem; }
  .numeros__labels { left: 2rem; top: 3rem; }
  .numeros__head { position: relative; left: 2rem; top: 0; width: 39rem; height: auto; margin-top: 34rem; gap: 2rem; flex-direction: column; align-items: flex-start; }
  .numeros__head .chain { width: 100%; }
  .numeros__title { font-size: 4rem; line-height: 1.2; white-space: nowrap; }
  .chain__circles i { width: 6.8rem; height: 5.8rem; margin-left: -4rem; }
  .stats { position: relative; left: 2rem; top: 0; width: 39rem; flex-direction: column; align-items: stretch; gap: 3rem; margin-top: 4rem; }
  .stat { width: 100%; }
  .stat__title { font-size: 3.2rem; }
  .stat__icon { width: 6.4rem; height: 6.4rem; }
  .stat__icon svg { width: 3.2rem; height: 3.2rem; }
  .stat__desc { font-size: 2rem; line-height: 1.5; }

  /* CHAT */
  .chat { padding: 0 1.4rem; margin-bottom: -6rem; }
  .chat__card { position: relative; left: 0; width: 100%; height: auto; padding: 3rem 2rem 4rem; }
  .chat__video { width: 100%; height: 22rem; }
  .chat__head { flex-direction: column; align-items: flex-start; height: auto; gap: 2rem; margin-top: 3rem; }
  .chat__title { width: 100%; font-size: 3.6rem; }
  .chat__lead { width: 100%; font-size: 2.4rem; }
  .chat .line--grey { width: 100%; margin-top: 3rem; }
  .chat__cols { flex-direction: column; gap: 2rem; margin-top: 3rem; }
  .chat__cols p, .chat__cols p:first-child, .chat__cols p:last-child { width: 100%; font-size: 2rem; line-height: 1.3; }

  /* APRENDER */
  .aprender { padding: 12rem 2rem 8rem; }
  .aprender__tex--1 { height: 90rem; }
  .aprender__tex--2 { display: none; }
  .badge { left: 50%; top: -6rem; width: 50rem; height: 50rem; margin-left: -25rem; }
  .aprender .ornament { position: relative; left: 0; top: 0; width: 100%; }
  .aprender__head { position: relative; left: 0; top: 0; width: 100%; flex-direction: column; align-items: flex-start; gap: 2.4rem; margin-top: 4rem; }
  .aprender__title { width: 100%; font-size: 3.4rem; }
  .aprender__lead { width: 100%; font-size: 2.2rem; }
  .aprender .wrap { padding-top: 0; }
  .stack { margin: 5rem 0 0; width: 100%; }
  .card { flex-direction: column; align-items: stretch; gap: 2.4rem; padding: 2.8rem 2.4rem; min-height: 0; top: 6vh; margin-bottom: 6vh; }
  .card--beige { flex-direction: column-reverse; }
  .card__text { width: 100%; gap: 1.2rem; }
  .card__num { line-height: 1.6; font-size: 1.8rem; }
  .card__title { font-size: 2.6rem; line-height: 1.3; }
  .card__desc { font-size: 1.9rem; line-height: 1.5; }
  .card__media { min-height: 0; height: 22rem; align-self: auto; }

  /* ALÉM */
  .alem { padding: 5rem 2rem 6rem; overflow: hidden; }
  .alem__glow { width: 160rem; height: 40rem; }
  .alem__line--mid { display: none; }
  .alem__text { position: relative; left: 0; top: 0; width: 100%; gap: 3rem; }
  .alem__title { font-size: 5.2rem; }
  .alem__paras p { font-size: 2.2rem; }
  .alem__labels { position: relative; top: 0; left: 0; width: 100%; margin-top: 5rem; }
  .alem__img { position: relative; left: 0; top: 0; width: 100%; height: 26rem; margin-top: 2rem; }
  .alem__img--3 { width: 50%; height: 20rem; }
  .alem__burst { position: relative; left: auto; right: 0; top: 0; width: 8rem; height: 8rem; margin: -8rem 0 0 auto; }

  /* EMPRESAS */
  .empresas { padding: 6rem 0 6rem; background: var(--beige); }
  .empresas__title { position: relative; top: 0; font-size: 3.4rem; padding: 0 2rem; }
  .logos { position: relative; left: 0; top: 0; width: 100%; height: auto; margin-top: 4rem; gap: 1.5rem; }
  .logos__row { height: 14rem; }
  .logos__track img { width: 14rem; height: 14rem; }

  /* MELHOR */
  .melhor { padding: 6rem 2rem 6rem; }
  .melhor__title { position: relative; left: 0; top: 0; width: 100%; font-size: 5rem; }
  .melhor__box { position: relative; left: 0; top: 0; width: 100%; height: auto; padding: 1rem 0 1.4rem; justify-content: flex-start; }
  .melhor__grad { font-size: 5rem; margin-top: 0; white-space: normal; }
  .melhor__img { position: relative; left: 0; top: 0; width: 100%; height: 24rem; margin-top: 2rem; }
  .melhor__foot { position: relative; left: 0; top: 0; width: 100%; height: auto; flex-direction: column; align-items: flex-start; gap: 3rem; padding: 0; margin-top: 3rem; }
  .melhor__foot p { width: 100%; font-size: 2.2rem; }
  .melhor__foot .chain { width: 100%; }

  /* DEPOIMENTOS */
  .depoimentos { padding: 6rem 0 6rem; }
  .depoimentos__title { position: relative; top: 0; font-size: 3.4rem; padding: 0 2rem; }
  .depoimentos__lead { position: relative; left: 0; top: 0; width: 100%; padding: 0 2rem; font-size: 2.2rem; margin-top: 2rem; }
  .testi { position: relative; left: 0; top: 0; width: 100%; height: 70rem; margin-top: 4rem; gap: 1.4rem; padding: 0 1.4rem; }
  .testi__col { width: 33.3%; }
  .testi__track { gap: 1.4rem; }
  .testi__card { width: 100%; height: 22rem; }
  .media__play { width: 5rem; height: 5rem; margin: -2.5rem 0 0 -2.5rem; }

  /* MATERIAL */
  .material { padding: 0 0 4rem; }
  .material__tl { position: relative; width: 100%; height: auto; padding: 3rem 2rem 4rem; }
  .material__labels { position: relative; left: 0; top: 0; width: 100%; }
  .material__title { position: relative; left: 0; top: 0; width: 100%; font-size: 4rem; margin-top: 2rem; }
  .material__burst { left: auto; right: -20rem; top: -10rem; width: 50rem; height: 54rem; }
  .material__img { position: relative; left: 0; top: 0; width: 100%; height: 30rem; }
  .material__br { position: relative; left: 0; top: 0; width: 100%; padding: 4rem 2rem 0; gap: 2.4rem; }
  .material__br h3 { font-size: 2.8rem; }
  .material__br p { font-size: 2.2rem; }
  .material__hline { display: none; }

  /* CERTIFICADO */
  .certificado { padding: 4rem 2rem 0; }
  .certificado__head { position: relative; left: 0; top: 0; width: 100%; gap: 2rem; }
  .certificado__title { position: relative; top: 0; font-size: 4rem; margin-top: 3rem; text-align: left; }
  .certificado__rule { position: relative; left: 0; top: 0; width: 100%; margin-top: 2rem; }
  .certificado__lead { position: relative; left: 0; top: 0; width: 100%; font-size: 2.2rem; text-align: left; margin-top: 2rem; }
  .cert-wrap { position: relative; top: 0; height: auto; margin-top: 4rem; }
  .cert-photo { position: relative; left: 0; width: 100%; height: auto; }
  .cert-photo img { height: auto; }
  .cert { left: 0; width: 100%; height: 90rem; transform: none !important; }
  .cert__inner { width: 90%; padding-top: 5rem; gap: 3.5rem; }
  .cert__logo { transform: scale(.55); height: 6rem; }
  .cert__title { font-size: 4.2rem; letter-spacing: -.3rem; }
  .cert__small { font-size: 2rem; }
  .cert__line strong { font-size: 2.6rem; }
  .cert__desc { font-size: 2rem; }
  .cert__foot { flex-direction: column; gap: 3rem; }
  .cert__seal { width: 14rem; height: 14rem; }
  .cert__meta { flex-direction: column; gap: 2rem; align-items: center; }

  /* SOBRE */
  .sobre { padding: 6rem 2rem 6rem; }
  .sobre__label1, .sobre__label2 { position: relative; left: 0; top: 0; margin-right: 3rem; }
  .sobre__line { position: relative; top: 0; width: 100%; margin-top: 2rem; }
  .sobre__photo { position: relative; left: 0; top: 0; width: 100%; height: 39rem; margin-top: 3rem; }
  .sobre__frame { display: none; }
  .sobre__text { position: relative; left: 0; top: 0; width: 100%; gap: 3rem; margin-top: 4rem; }
  .sobre__title { font-size: 5rem; word-spacing: 0; white-space: normal; }
  .sobre__bio { width: 100%; gap: 2rem; }
  .sobre__bio p { font-size: 2rem; line-height: 1.4; }

  /* IMPRENSA */
  .imprensa { padding: 4rem 2rem 6rem; }
  .imprensa__left { position: relative; left: 0; width: 100%; gap: 2.4rem; }
  .imprensa__row { height: auto; flex-direction: column; gap: 1.5rem; }
  .imprensa__title { width: 100%; font-size: 4rem; }
  .imprensa__left p { width: 100%; font-size: 2rem; }
  .press { position: relative; left: 0; top: 0; width: 100%; height: auto; grid-template-columns: repeat(3, 1fr); grid-template-rows: auto; gap: 2rem; margin-top: 4rem; }
  .press span img { max-width: 100%; max-height: 8rem; width: auto !important; height: auto !important; }
  .press--white { width: 100%; height: 8rem; padding: 1rem; }

  /* DATAS */
  .datas { padding-bottom: 6rem; }
  .datas__banner { position: relative; height: 26rem; }
  .datas__title { position: relative; left: 0; top: 0; width: 100%; font-size: 5rem; text-align: center; margin-top: 4rem; padding: 0 2rem; }
  .datas__slashes { position: relative; left: 0; top: 0; width: 100%; margin-top: 1rem; }
  .datas__labels { position: relative; left: 0; top: 0; width: 100%; margin-top: 2rem; }
  .datas__line { position: relative; top: 0; margin-top: 2rem; }
  .datas__burst { display: none; }
  .cities { position: relative; left: 0; top: 0; width: 100%; padding: 3rem 2rem 0; flex-direction: column; align-items: stretch; gap: 2rem; }
  .city { width: 100%; height: auto; padding: 3rem 2.4rem; border: 1px solid rgba(255,255,255,.25); gap: 2.4rem; }
  .city__name { font-size: 4rem; margin-top: -1rem; }
  .notify { position: relative; left: 0; top: 0; width: calc(100% - 4rem); height: auto; margin: 3rem 2rem 0; padding: 3.5rem 2.4rem 6rem; flex-direction: column; align-items: stretch; gap: 3rem; }
  .notify__title { width: 100%; font-size: 3rem; }
  .notify__form { width: 100%; }
  .notify__field { height: 5.6rem; }
  .notify__field input, .notify__field select { font-size: 2rem; }
  .notify__btn { width: 100%; height: 5.6rem; font-size: 2rem; }

  /* FOOTER */
  .footer { padding: 5rem 0 5rem; }
  .footer .wrap { flex-direction: column; align-items: flex-start; gap: 4rem; padding: 0 2rem; }
  .footer__logo { align-items: flex-start; width: auto; }
  .footer__wordmark { width: 24rem; height: 5.7rem; }
  .footer__for { font-size: 4.4rem; letter-spacing: -.3rem; }
  .footer__business { height: 5.6rem; padding: 0 1.2rem; }
  .footer__contacts { width: auto; gap: 2rem; }
  .footer__contacts a { font-size: 2.2rem; }
  .footer__icon { width: 3.4rem; height: 3.4rem; }
  .footer__copy { margin-left: 0; font-size: 1.8rem; }
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal], .w > span, [data-line], [data-vline], .ltr { opacity: 1 !important; transform: none !important; }
  .marquee__track, .logos__track, .testi__track { animation: none !important; }
}



/* Refined motion preserves the original entrance, counter and reveal rules above. */
body { overflow-x: clip; }
.page, .aprender { overflow: clip; }
.stack__item { position: sticky; top: var(--stack-top, 8vh); margin: 0; }
.stack .card { position: relative; top: auto; margin: 0; border-radius: 0; border: 0; box-shadow: 0 -1.5rem 4rem rgba(16,16,15,.13); overflow: hidden; opacity: 1; transform: none; will-change: auto; }
.card__media { border-radius: 0; }
.aprender__backdrop { position: absolute; inset: -15vh 0 -30vh; background: var(--salmon); isolation: isolate; pointer-events: none; will-change: transform; }
.aprender > .wrap { z-index: 1; }
.media--ambient { cursor: default; }
.media--ambient video { pointer-events: none; }
.logo__tile { display: block; position: relative; width: 22.3rem; height: 22.3rem; flex: 0 0 22.3rem; overflow: hidden; border-radius: .56rem; }
.logos__track .logo__tile img { display: block; position: absolute; max-width: none; padding: 0; border-radius: 0; object-fit: fill; }
.logos__row { flex-shrink: 0; }
.depoimentos { height: auto; padding: 10.1rem 0 7rem; overflow: clip; }
.depoimentos .wrap { height: auto; }
.depoimentos__title { position: relative; top: auto; left: auto; }
.depoimentos__lead { position: relative; top: auto; left: auto; margin: 4rem auto 7rem; }
.testi { position: relative; left: auto; top: auto; margin: 0 auto; height: auto; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 5.5rem; overflow: visible; mask-image: none; -webkit-mask-image: none; }
.testi__col { width: auto; height: auto; min-width: 0; }
.testi__track { display: flex; flex-direction: column; gap: 3.9rem; will-change: transform; }
.testi__col:nth-child(n) { padding-top: 0; }
.testi.is-drifting { overflow: clip; align-items: stretch; grid-template-rows: minmax(0,1fr); }
.testi.is-drifting .testi__col { height: 100%; min-height: 0; overflow: clip; }
.testi__set { display: flex; flex-direction: column; gap: inherit; flex: 0 0 auto; }
.testi__card { width: 100%; height: auto; aspect-ratio: 9 / 16; }
.hero__notice { position: absolute; left: 29.9rem; top: 159rem; width: 132.2rem; font-size: max(12px,1.9rem); line-height: 1.5; text-align: center; color: var(--beige); opacity: .78; }
.footer-reveal { position: relative; z-index: 3; }
.footer { height: auto; min-height: 46rem; padding-bottom: 140px; box-shadow: 0 -3rem 10rem rgba(0,0,0,.25); will-change: transform; }
.footer__notice { max-width: 158.6rem; margin: 3rem auto 0; font-size: max(12px,1.8rem); line-height: 1.5; }
.press span { background: transparent; padding: 1rem; }
.press img { filter: grayscale(1) brightness(0) invert(1); }
.press img[alt="Balanço Geral"] { filter: grayscale(1) contrast(3); }
.footer__contacts { width: auto; flex: 0 0 auto; gap: 2rem; }
.footer__contacts a { font-size: 2.8rem; }
.footer__icon { flex-shrink: 0; }
.no-js .stack__item { position: relative; top: auto; margin: 0; }
.no-js .stack .card { margin: 0; }
@property --enroll-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes enroll-border { to { --enroll-angle: 360deg; } }
.floating-enroll { position: fixed; z-index: 850; left: 50%; bottom: max(24px,env(safe-area-inset-bottom)); width: min(304px,calc(100vw - 32px)); height: 58px; display: grid; place-items: center; border-radius: 100px; background: var(--salmon); color: var(--beige); box-shadow: 0 12px 50px rgba(0,0,0,.3),0 0 0 1px rgba(237,234,225,.2); overflow: hidden; isolation: isolate; text-decoration: none; cursor: pointer; opacity: 0; visibility: hidden; transform: translate(-50%,130%); transition: transform .7s var(--ease),opacity .5s,visibility .5s,box-shadow .5s; -webkit-tap-highlight-color: transparent; }
.site-ready .floating-enroll,.no-js .floating-enroll { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.floating-enroll::before { content: ''; position: absolute; inset: 0; z-index: 3; padding: 1.5px; border-radius: inherit; background: conic-gradient(from var(--enroll-angle),rgba(255,241,217,.12) 0deg,rgba(255,241,217,.12) 235deg,#fff1d9 295deg,#fff1d9 305deg,rgba(255,241,217,.12) 360deg); -webkit-mask: linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; animation: enroll-border 7s linear infinite; }
.floating-enroll__fill { position: absolute; inset: -1px; z-index: 0; background: var(--black); transform: translateX(-102%); transition: transform 1.15s cubic-bezier(.4,0,.2,1); }
.floating-enroll:hover .floating-enroll__fill,.floating-enroll:focus-visible .floating-enroll__fill { transform: translateX(0); }
.floating-enroll:hover { box-shadow: 0 12px 36px rgba(0,0,0,.3),0 0 16px rgba(219,120,89,.1); }
.floating-enroll:focus-visible { outline: 2px solid var(--beige); outline-offset: 5px; }
.floating-enroll__content { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; width: 100%; padding: 0 20px; font-family: var(--mono); font-size: 14px; text-transform: uppercase; white-space: nowrap; }
.floating-enroll__icon { display: block; width: 28px; height: 28px; flex: 0 0 28px; }
.floating-enroll__icon svg { width: 100%; height: 100%; }
.floating-enroll__icon path { fill: currentColor; }
.floating-enroll__arrow { margin-left: auto; font-size: 21px; transition: transform .9s var(--ease); }
.floating-enroll:hover .floating-enroll__arrow { transform: translate(3px,-3px); }
.floating-enroll.is-activated::before { animation-play-state: paused; }
.media-open .floating-enroll { opacity: 0; visibility: hidden; transform: translate(-50%,130%); }
.cursor.is-enroll { opacity: 0; }
.ai-edge-glow { position: fixed; inset: 0; z-index: 840; pointer-events: none; opacity: 0; --edge: clamp(22px,3.2vw,54px); background: linear-gradient(90deg,rgba(219,120,89,.42),transparent var(--edge)),linear-gradient(-90deg,rgba(219,120,89,.42),transparent var(--edge)),linear-gradient(180deg,rgba(219,120,89,.32),transparent var(--edge)),linear-gradient(0deg,rgba(219,120,89,.46),transparent var(--edge)); box-shadow: inset 0 0 0 1px rgba(244,156,121,.3),inset 0 0 14px rgba(219,120,89,.14); }
@media (max-width: 900px) {
  .stack .card { padding: 3rem 2.4rem; }
  .logo__tile { width: 14rem; height: 14rem; flex-basis: 14rem; }
  .depoimentos { padding: 6rem 0; }
  .depoimentos__lead { margin: 2rem auto 4rem; }
  .testi { width: 100%; margin: 0; gap: 1.1rem; padding: 0 1.4rem; }
  .testi__track { gap: 1.5rem; }
  .testi__col:nth-child(n) { padding-top: 0; }
  .testi__card { height: auto; }
  .testi .media__play { width: 3.8rem; height: 3.8rem; margin: -1.9rem 0 0 -1.9rem; }
  .hero__notice { position: relative; left: 0; top: auto; width: 100%; padding: 0 2rem; margin: 2rem 0 0; font-size: 12px; text-align: left; }
  .footer { padding-bottom: 118px; }
  .footer__contacts a { font-size: 2.1rem; }
  .footer__notice { padding: 0 2rem; font-size: 12px; }
  .floating-enroll { height: 54px; width: min(282px,calc(100vw - 32px)); bottom: max(16px,env(safe-area-inset-bottom)); }
  .floating-enroll__content { font-size: 13px; gap: 9px; padding: 0 18px; }
  .floating-enroll__icon { width: 26px; height: 26px; flex-basis: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .stack__item { position: relative; top: auto; }
  .floating-enroll::before { animation: none; }
  .floating-enroll,.floating-enroll__fill { transition-duration: .01s; }
}

/* Quatro praças na agenda (09/10/2026): os cards encolhem para caber na mesma largura no desktop. */
@media (min-width: 901px) {
  .cities--4 { gap: 3.4rem; }
  .cities--4 .city { width: 36rem; padding: 4.6rem 3.2rem; }
  .cities--4 .city__name { font-size: 4.4rem; }
}
