/* =========================================================================
   Página de Links — Marília Rhormens
   Cada card é uma composição do Figma escalada pela largura do próprio card:
   --u = 1px do Figma (desktop: card de 1280px · mobile: card de 332px).
   Desktop (>= 768px): layout de 1920px, cards de 1280px.
   Mobile  (< 768px):  layout de 402px, cards de 332px, escalados pela tela.
   ========================================================================= */

:root {
  --bg: #16100a;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-back: cubic-bezier(.34, 1.56, .64, 1);
  --f-poppins: "Poppins", Arial, sans-serif;
  --f-cool: "coolvetica", "Helvetica Neue", Arial, sans-serif;
  --f-serif: "Instrument Serif", Georgia, serif;
  --f-inter: "Inter", Arial, sans-serif;
  --f-filson: "filson-pro", "Poppins", Arial, sans-serif;
  --f-sf: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--bg);
  color: #fff;
  font-family: var(--f-poppins);
  font-weight: 300;
  line-height: 1.2;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
@supports (overflow: clip) { body { overflow-x: clip; } }
img { display: block; max-width: none; }
a { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }
ul { list-style: none; }
b, strong { font-weight: 700; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
/* recorte de texto pela altura de maiúscula (Figma: text-box-trim) */
.tb { text-box: trim-both cap alphabetic; }

/* ---------------------------------------------------------------- página */
/* Largura dos cards: no máx. 80% da tela (largura e altura).
   Espaço no topo pequeno, para o 1º card aparecer logo ao abrir. */
.page {
  --w: min(1280px, 80vw, 80svh * 1280 / 720);
  --h1: calc(var(--w) * 720 / 1280);      /* altura do 1º card */
  padding: clamp(24px, 3vw, 56px) 0 clamp(64px, 10.833vw, 208px);
}
.page__inner {
  width: var(--w);
  margin-inline: auto;
  container-type: inline-size;
}
.links {
  display: flex;
  flex-direction: column;
  gap: calc(100cqw * 59 / 1280);
}
.links__item { container-type: inline-size; }

/* ------------------------------------------------------------------ card */
.card {
  --u: calc(100cqw / 1280);
  --px: 0;           /* parallax: -1..1 (main.js) */
  --py: 0;
  --mx: 50%;         /* posição do cursor (spot de luz) */
  --my: 50%;
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1280 / 720;
  overflow: hidden;
  isolation: isolate;
  border-radius: calc(20 * var(--u));
  transform: translateZ(0);
  transition: transform .7s var(--ease-out), box-shadow .7s var(--ease-out);
  outline: none;
  cursor: pointer;
}
.card > *, .card__layer, .gv-hero > * { position: absolute; }
.card img { width: 100%; height: 100%; }
.card picture { display: contents; }

/* camadas com parallax (translate é independente de transform) */
[data-depth] {
  translate: calc(var(--px) * var(--d, 0) * var(--u)) calc(var(--py) * var(--d, 0) * var(--u));
  transition: translate .9s var(--ease-out);
}
.card.is-tracking [data-depth] { transition: none; }

/* brilho que acompanha o cursor */
.card__spot {
  inset: 0;
  z-index: 20;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(calc(420 * var(--u)) circle at var(--mx) var(--my), rgba(255, 236, 214, .16), rgba(255, 236, 214, 0) 70%);
  mix-blend-mode: soft-light;
  opacity: 0;
  transition: opacity .5s var(--ease);
}
.card__spot::after { /* filete de luz na borda */
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 233, 210, .18);
}

/* Degradês "para transparente" do Figma passam pelo branco (interpolação não
   pré-multiplicada); as paradas extras reproduzem isso no CSS. */

/* ---------------------------------------------------------------- botões */
.btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  color: #fff;
  text-transform: uppercase;
  white-space: nowrap;
  transition: transform .5s var(--ease-out), box-shadow .5s var(--ease-out), filter .5s var(--ease);
}
.btn__label { position: relative; z-index: 1; }
.btn::after { /* reflexo que atravessa o botão */
  content: "";
  position: absolute;
  top: -20%;
  bottom: -20%;
  left: -40%;
  width: 30%;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .45) 50%, rgba(255, 255, 255, 0) 100%);
  transform: translateX(-120%) skewX(-18deg);
  pointer-events: none;
}

/* =========================================================================
   0 · BUSINESS TALK (mesma composição no desktop e no mobile)
   Sweet Sans Pro do kit: 500 = Light, 600 = Regular, 700 = Medium
   ========================================================================= */
.card--bt { background: #fff; }
.bt-foto { left: 0; top: 0; width: calc(1280 * var(--u)); height: calc(720 * var(--u)); }
.bt-foto img { transition: transform 1.4s var(--ease-out); }
.bt-fade { left: 0; top: 0; width: calc(1139 * var(--u)); height: calc(720 * var(--u)); background: linear-gradient(to left, rgba(240, 230, 212, 0) 31.475%, #f0e6d4 57.594%); pointer-events: none; }
.bt-copy { left: calc(85 * var(--u)); top: calc(88 * var(--u)); width: calc(514 * var(--u)); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: calc(41 * var(--u)); }
.bt-logos { width: calc(467 * var(--u)) !important; height: calc(75 * var(--u)) !important; }
.bt-content { width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: calc(22.173 * var(--u)); font-family: "sweet-sans-pro", var(--f-poppins); color: #1e1d1b; }
.bt-title { font-weight: 700; font-size: calc(32.777 * var(--u)); line-height: 1.2; letter-spacing: calc(3.9332 * var(--u)); text-transform: uppercase; }
.bt-text { font-weight: 500; font-size: calc(25 * var(--u)); line-height: 1.5; letter-spacing: calc(-.125 * var(--u)); color: #4a4741; }
.bt-cta {
  display: inline-flex; align-items: center; gap: calc(18.138 * var(--u));
  padding: calc(23.32 * var(--u)) calc(28.503 * var(--u)) calc(23.32 * var(--u)) calc(33.685 * var(--u)); border-radius: 999px; background: #fff;
  font-weight: 700; font-size: calc(18.14 * var(--u)); line-height: 1; letter-spacing: calc(2.5396 * var(--u)); text-transform: uppercase; white-space: nowrap;
  transition: transform .5s var(--ease-out), box-shadow .5s var(--ease-out), background-color .5s var(--ease);
}
.bt-cta img { width: calc(25.912 * var(--u)) !important; height: calc(25.912 * var(--u)) !important; transition: transform .5s var(--ease-out); }
.bt-infos { display: flex; gap: calc(9.64 * var(--u)); width: 100%; }
.bt-pill {
  display: flex; align-items: center; gap: calc(9.64 * var(--u)); padding: calc(9.64 * var(--u)) calc(7.712 * var(--u)); border-radius: 999px;
  -webkit-backdrop-filter: blur(calc(4.82 * var(--u))); backdrop-filter: blur(calc(4.82 * var(--u)));
  font-weight: 600; font-size: calc(13.5 * var(--u)); line-height: 1.4; white-space: nowrap;
}
.bt-pill img { width: calc(15.424 * var(--u)) !important; height: calc(11.524 * var(--u)) !important; }

/* =========================================================================
   1 · IMERSÃO PLANO DE VENDAS
   ========================================================================= */
.card--imersao { background: #fff9f1; }
.im-fundo { left: 0; top: 0; width: calc(1280 * var(--u)); height: calc(720 * var(--u)); }
.im-fundo img { transition: transform 1.4s var(--ease-out); }
.im-icone { left: calc(344.67 * var(--u)); top: calc(247.33 * var(--u)); width: calc(1120.022 * var(--u)) !important; height: calc(521.798 * var(--u)) !important; mix-blend-mode: multiply; }
.im-marilia { left: calc(690.667 * var(--u)); top: calc(26 * var(--u)); width: calc(500 * var(--u)); height: calc(694 * var(--u)); }
.im-marilia img {
  filter: drop-shadow(0 calc(2.667 * var(--u)) calc(2.667 * var(--u)) rgba(0, 0, 0, .25));
  transform-origin: 50% 100%;
  transition: transform 1.2s var(--ease-out);
}
.im-grad { left: 0; top: 0; width: calc(1280 * var(--u)); height: calc(720 * var(--u)); mix-blend-mode: multiply; pointer-events: none; }
.im-grad--1 { background: linear-gradient(to right, rgba(90, 66, 46, 1) 33.698%, rgba(111, 90, 72, 0.875) 41.707%, rgba(131, 113, 98, 0.75) 49.716%, rgba(152, 137, 124, 0.625) 57.725%, rgba(172, 160, 150, 0.5) 65.733%, rgba(193, 184, 177, 0.375) 73.742%, rgba(214, 208, 203, 0.25) 81.751%, rgba(234, 231, 229, 0.125) 89.76%, rgba(255, 255, 255, 0) 97.769%); }
.im-grad--2 { background: linear-gradient(to top, rgba(90, 66, 46, 1) 5.556%, rgba(111, 90, 72, 0.875) 12.761%, rgba(131, 113, 98, 0.75) 19.965%, rgba(152, 137, 124, 0.625) 27.17%, rgba(172, 160, 150, 0.5) 34.374%, rgba(193, 184, 177, 0.375) 41.578%, rgba(214, 208, 203, 0.25) 48.783%, rgba(234, 231, 229, 0.125) 55.987%, rgba(255, 255, 255, 0) 63.192%); opacity: .4; }

.badge-pos { transform: translate(-50%, -50%); }
.badge-pos--1 { left: calc(1024.43 * var(--u)); top: calc(381.7 * var(--u)); }
.badge-pos--2 { left: calc(1105.09 * var(--u)); top: calc(455.7 * var(--u)); }
.badge-pos--3 { left: calc(1057.76 * var(--u)); top: calc(543.7 * var(--u)); }
.badge-pos--4 { left: calc(1036.76 * var(--u)); top: calc(624.03 * var(--u)); }
.badge {
  position: relative;
  display: flex;
  align-items: center;
  padding: calc(6.365 * var(--u)) calc(19.094 * var(--u));
  box-shadow: inset 0 0 0 calc(.636 * var(--u)) #fff; /* borda fracionária (border < 1px vira 1px no Chrome) */
  border-radius: calc(63.647 * var(--u));
  font-family: var(--f-poppins);
  font-weight: 300;
  font-size: calc(15.275 * var(--u));
  line-height: 1;
  letter-spacing: -.04em;
  color: #fff;
  white-space: nowrap;
  animation: badgeFloat 5s ease-in-out infinite;
  transition: box-shadow .5s var(--ease);
}
.badge::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: rgba(90, 66, 46, .2);
  mix-blend-mode: multiply;
  -webkit-backdrop-filter: blur(calc(6.173 * var(--u)));
  backdrop-filter: blur(calc(6.173 * var(--u)));
}
.badge > span { position: relative; }
.badge-pos--2 .badge { animation-delay: -1.2s; }
.badge-pos--3 .badge { animation-delay: -2.5s; }
.badge-pos--4 .badge { animation-delay: -3.7s; }

.im-logo { left: calc(70.576 * var(--u)); top: calc(53.109 * var(--u)); width: calc(310 * var(--u)) !important; height: calc(178 * var(--u)) !important; mix-blend-mode: screen; transition: transform .8s var(--ease-out); }

.im-copy {
  left: calc(70.58 * var(--u));
  top: calc(285.33 * var(--u));
  width: calc(626.091 * var(--u));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(50.667 * var(--u));
}
.im-text {
  width: calc(622.667 * var(--u));
  font-family: var(--f-poppins);
  font-weight: 300;
  font-size: calc(35.333 * var(--u));
  line-height: 1.11;
  color: #fff;
  background-image: linear-gradient(90deg, #bb906a, #eaccb7);
  -webkit-background-clip: text;
  background-clip: text;
}
.im-text > span { -webkit-text-fill-color: #fff; }
.im-text > .g { -webkit-text-fill-color: transparent; }
.im-text .sb { font-weight: 600; }

.btn--imersao {
  padding: calc(38 * var(--u)) calc(69.447 * var(--u));
  border-radius: calc(9.26 * var(--u));
  background: linear-gradient(90deg, #bb906a, #eaccb7);
  font-family: var(--f-inter);
  font-weight: 600;
  font-size: calc(32 * var(--u));
  line-height: calc(27.779 * var(--u));
  letter-spacing: calc(-.2037 * var(--u));
}

/* =========================================================================
   2 · WHATSAPP GERADOR DE VENDAS
   ========================================================================= */
.card--gv { background: #160f09; }
.gv-hero {
  --v: var(--u);
  left: 0;
  top: 0;
  width: calc(1280 * var(--v));
  height: calc(720 * var(--v));
  overflow: hidden;
  background: #110c02;
}
.gv-glowbg { /* degradê radial do Figma (centro 934.88/433.05, raios 411.46 x 454.95, 135.79°) */
  left: calc(523.42 * var(--v));
  top: calc(-21.9 * var(--v));
  width: calc(822.92 * var(--v));
  height: calc(909.9 * var(--v));
  transform: rotate(135.79deg);
  background: radial-gradient(closest-side, #322218 0%, #22170d 50%, #110c02 100%);
}
.gv-app { left: calc(669.888 * var(--v)); top: calc(62.347 * var(--v)); width: calc(435 * var(--v)); height: calc(658 * var(--v)); mix-blend-mode: screen; }
.gv-chat { left: calc(533.507 * var(--v)); top: calc(7.017 * var(--v)); width: calc(680.432 * var(--v)); height: calc(748.695 * var(--v)); mix-blend-mode: screen; pointer-events: none; }
.gv-chat::before, .gv-chat::after { content: ""; position: absolute; inset: 0; }
.gv-chat::before { background: url("../assets/img/gv-bgchat.webp") 0 0 / calc(743.19 * var(--v)) calc(1350.129 * var(--v)) repeat; opacity: .1; mix-blend-mode: difference; }
.gv-chat::after { background: radial-gradient(closest-side, rgba(0, 0, 0, 0) 0%, #000 100%); }
.gv-obj2 { left: calc(981.28 * var(--v)); top: calc(255.57 * var(--v)); width: calc(113.426 * var(--v)); height: calc(114.127 * var(--v)); display: flex; align-items: center; justify-content: center; }
.gv-obj2 img { width: calc(85.667 * var(--v)); height: calc(75.426 * var(--v)); transform: rotate(47.77deg); filter: blur(calc(1.667 * var(--v))); }
.gv-marilia { left: calc(614.627 * var(--v)); top: calc(34.865 * var(--v)); width: calc(520 * var(--v)); height: calc(685.5 * var(--v)); }
.gv-marilia img { transform-origin: 50% 100%; transition: transform 1.2s var(--ease-out); }
.gv-glow { left: calc(797.427 * var(--v)); top: calc(82.523 * var(--v)); width: calc(525.083 * var(--v)) !important; height: calc(525.083 * var(--v)) !important; mix-blend-mode: plus-lighter; animation: glowPulse 5s ease-in-out infinite; }

/* Glass (efeito "Glass" do Figma: frost = raio / 2 + filete de luz a -45°) */
.glass {
  --frost: calc(3 * var(--v));
  --rim-a: .8;
  --rim-b: .55;
  background: rgba(50, 34, 24, .2);
  -webkit-backdrop-filter: blur(var(--frost));
  backdrop-filter: blur(var(--frost));
}
.glass::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(to bottom right,
    rgba(255, 255, 255, var(--rim-a)) 0%,
    rgba(255, 255, 255, calc(var(--rim-a) * .3)) 24%,
    rgba(255, 255, 255, 0) 50%,
    rgba(255, 255, 255, calc(var(--rim-b) * .3)) 76%,
    rgba(255, 255, 255, var(--rim-b)) 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  pointer-events: none;
}

.gv-hero .glass { --rim-a: .5; --rim-b: .35; } /* menu e notificações ficam atrás: filete mais discreto */
.gv-notifs { inset: 0; }
.gv-notif--1 { left: calc(858.89 * var(--v)); top: calc(425.19 * var(--v)); }
.gv-notif--2 { left: calc(822.31 * var(--v)); top: calc(501.86 * var(--v)); }
.gv-notif--3 { left: calc(852.69 * var(--v)); top: calc(578.53 * var(--v)); }
.notif {
  position: relative;
  display: flex;
  align-items: center;
  gap: calc(11.333 * var(--v));
  width: calc(312 * var(--v));
  padding: calc(16 * var(--v)) calc(19.333 * var(--v));
  border-radius: calc(16 * var(--v));
  font-family: var(--f-sf);
  color: #fff;
  animation: notifFloat 6s ease-in-out infinite;
  transition: transform .6s var(--ease-out), background-color .6s var(--ease);
}
.gv-notif--2 .notif { animation-delay: -2s; }
.gv-notif--3 .notif { animation-delay: -4s; }
/* Figma: grupo "Notifications" com layer blur 1.333 */
.notif > * { filter: blur(calc(.667 * var(--v))); }
.notif__icon { flex: none; display: flex; padding: calc(4.944 * var(--v)); border-radius: calc(6.18 * var(--v)); background: #fff; }
.notif__icon img { width: calc(24.529 * var(--v)); height: calc(24.638 * var(--v)); }
.notif__txt {
  display: flex;
  flex-direction: column;
  gap: calc(1.333 * var(--v));
  font-size: calc(13.204 * var(--v));
  letter-spacing: -.01em;
  line-height: normal;
  white-space: nowrap;
}
.notif__txt strong { font-weight: 600; }
.notif__txt span { font-weight: 300; }
.notif__time { position: absolute; left: calc(273.31 * var(--v)); top: calc(7.26 * var(--v)); font-size: calc(10 * var(--v)); font-weight: 300; letter-spacing: -.01em; line-height: normal; opacity: .5; }

.gv-obj1 { left: calc(614.649 * var(--v)); top: calc(497.735 * var(--v)); width: calc(114.091 * var(--v)); height: calc(100.451 * var(--v)); }
.gv-obj1 img { filter: blur(calc(3.333 * var(--v))); }

.gv-menu {
  left: calc(673.507 * var(--v));
  top: calc(188.479 * var(--v));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(11.333 * var(--v));
  padding: calc(16 * var(--v)) calc(12 * var(--v));
  border-radius: calc(16 * var(--v));
  overflow: hidden;
}
.menu-btn { position: relative; width: calc(39.748 * var(--v)); height: calc(39.748 * var(--v)); display: flex; align-items: center; justify-content: center; border-radius: calc(6 * var(--v)); }
.menu-btn > img { width: calc(19.874 * var(--v)) !important; height: calc(19.874 * var(--v)) !important; }
.menu-btn.is-active { background: rgba(0, 0, 0, .06); border-radius: calc(4.968 * var(--v)); }
.menu-badge {
  position: absolute;
  right: 0;
  top: calc(2.48 * var(--v));
  min-width: calc(14.905 * var(--v));
  height: calc(14.905 * var(--v));
  padding: calc(.828 * var(--v)) calc(4.968 * var(--v)) 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(24.014 * var(--v));
  background: #24d366;
  font-family: var(--f-sf);
  font-weight: 500;
  font-size: calc(9.937 * var(--v));
  letter-spacing: -.02em;
  color: #fff;
  animation: badgePop 3.2s var(--ease-back) 1.6s infinite;
}
.menu-miss { position: absolute; right: calc(3.31 * var(--v)); top: calc(3.31 * var(--v)); width: calc(14.905 * var(--v)); height: calc(14.905 * var(--v)); display: flex; align-items: center; justify-content: center; }
.menu-miss img { width: calc(13.249 * var(--v)); height: calc(13.249 * var(--v)); }
.menu-sep { width: 100%; height: calc(7.453 * var(--v)); background: linear-gradient(#dedede, #dedede) center / 100% calc(.828 * var(--v)) no-repeat; }

.gv-shade-b { left: 0; top: calc(360 * var(--v)); width: calc(1280 * var(--v)); height: calc(366.013 * var(--v)); background: linear-gradient(to top, rgba(50, 34, 24, 1) 0%, rgba(76, 62, 53, 0.875) 12.5%, rgba(101, 89, 82, 0.75) 25%, rgba(127, 117, 111, 0.625) 37.5%, rgba(152, 144, 140, 0.5) 50%, rgba(178, 172, 168, 0.375) 62.5%, rgba(204, 200, 197, 0.25) 75%, rgba(229, 227, 226, 0.125) 87.5%, rgba(255, 255, 255, 0) 100%); mix-blend-mode: multiply; }
.gv-shade-r { left: calc(777.86 * var(--v)); top: 0; width: calc(502.141 * var(--v)); height: calc(726.013 * var(--v)); background: linear-gradient(to left, rgba(50, 34, 24, 1) 0%, rgba(76, 62, 53, 0.875) 12.5%, rgba(101, 89, 82, 0.75) 25%, rgba(127, 117, 111, 0.625) 37.5%, rgba(152, 144, 140, 0.5) 50%, rgba(178, 172, 168, 0.375) 62.5%, rgba(204, 200, 197, 0.25) 75%, rgba(229, 227, 226, 0.125) 87.5%, rgba(255, 255, 255, 0) 100%); mix-blend-mode: multiply; }
.gv-line { left: 0; top: calc(719.028 * var(--v)); width: calc(1280 * var(--v)) !important; height: calc(.667 * var(--v)) !important; }

.gv-panel {
  --frost: calc(3.539 * var(--u));
  left: calc(93.11 * var(--u));
  top: calc(42.29 * var(--u));
  width: calc(657.432 * var(--u));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: calc(37.747 * var(--u));
  padding: calc(37.747 * var(--u)) calc(28.31 * var(--u));
  border-radius: calc(18.874 * var(--u));
}
.gv-logo { width: calc(233 * var(--u)) !important; height: calc(130 * var(--u)) !important; margin: calc(-.007 * var(--u)) calc(-.783 * var(--u)) calc(-1.446 * var(--u)) calc(-.696 * var(--u)); }
.gv-copy { width: 100%; display: flex; flex-direction: column; gap: calc(25.165 * var(--u)); }
.gv-title {
  font-family: var(--f-cool);
  font-weight: 300;
  font-size: calc(60.068 * var(--u));
  line-height: 1;
  color: #d9d9d9;
  background-image: linear-gradient(90deg, #c08360 1.25%, #efb895 100%);
  -webkit-background-clip: text;
  background-clip: text;
  padding-block: .18em;
  margin-block: -.18em;
}
.gv-title > span { -webkit-text-fill-color: #d9d9d9; }
.gv-title > .g { -webkit-text-fill-color: transparent; }
.gv-title .bk { font-weight: 400; }
.gv-title .serif { font-family: var(--f-serif); font-style: italic; font-weight: 400; letter-spacing: -.03em; padding-right: .06em; margin-right: -.06em; }
.gv-sub { font-family: var(--f-cool); font-weight: 300; font-size: calc(36.536 * var(--u)); line-height: 1; color: #b6a194; }
.gv-sub strong { font-weight: 500; color: #fff; }
.btn--gv {
  padding: calc(28.31 * var(--u)) calc(25.165 * var(--u));
  border-radius: calc(12.582 * var(--u));
  background: linear-gradient(90deg, #c08360 1.25%, #efb895 100%);
  font-family: var(--f-cool);
  font-weight: 500;
  font-size: calc(29.333 * var(--u));
  line-height: 1;
}

/* =========================================================================
   3 · MENTORIA MR
   ========================================================================= */
.card--mentoria { background: #fff; }
.me-capa { left: 0; top: 0; width: calc(1280 * var(--u)); height: calc(720 * var(--u)); }
.me-capa img { transition: transform 1.6s var(--ease-out); }
.me-block {
  left: 50%;
  top: calc(400 * var(--u));
  width: calc(693.37 * var(--u));
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(27.333 * var(--u));
}
.me-logo { width: calc(693.37 * var(--u)) !important; height: calc(128.522 * var(--u)) !important; transition: transform .8s var(--ease-out); }
.btn--mentoria {
  padding: calc(32 * var(--u)) calc(66.667 * var(--u));
  border-radius: calc(6.667 * var(--u));
  background: #000;
  font-family: var(--f-filson);
  font-weight: 300;
  font-size: calc(30.775 * var(--u));
  line-height: 1.76;
}

/* =========================================================================
   4 · PALESTRAS & TREINAMENTOS
   ========================================================================= */
.card--palestras { background: #ccc; }
.pa-publico { left: calc(-55.24 * var(--u)); top: calc(-123 * var(--u)); width: calc(1390 * var(--u)); height: calc(927 * var(--u)); }
.pa-publico img { object-fit: cover; transition: transform 1.6s var(--ease-out); }
.pa-casal { left: calc(244.758 * var(--u)); top: 0; width: calc(715 * var(--u)); height: calc(720 * var(--u)); }
.pa-casal img { transform-origin: 50% 100%; transition: transform 1.2s var(--ease-out); }
.pa-grad { left: calc(-.24 * var(--u)); top: calc(322 * var(--u)); width: calc(1280 * var(--u)); height: calc(398 * var(--u)); background: linear-gradient(#fff, #2a2a2a); mix-blend-mode: multiply; pointer-events: none; }
.pa-title {
  inset: 0;
  font-family: var(--f-poppins);
  font-weight: 600;
  font-size: calc(113.265 * var(--u));
  line-height: 1;
  letter-spacing: calc(-2.8316 * var(--u));
  text-transform: uppercase;
  white-space: nowrap;
  color: #fff;
}
.pa-title > span { position: absolute; transition: transform .9s var(--ease-out); }
.pa-title__1 { left: calc(117.76 * var(--u)); top: calc(408 * var(--u)); }
.pa-title__2 { left: calc(220.76 * var(--u)); top: calc(521 * var(--u)); }
.pa-cta {
  left: calc(639.76 * var(--u));
  top: calc(665 * var(--u));
  transform: translate(-50%, -50%);
  font-family: var(--f-poppins);
  font-weight: 600;
  font-size: calc(32 * var(--u));
  line-height: calc(27.779 * var(--u));
  letter-spacing: calc(-.2037 * var(--u));
  text-transform: uppercase;
  white-space: nowrap;
}
.pa-cta::after { /* sublinhado que cresce no hover */
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(-6 * var(--u));
  height: calc(2 * var(--u));
  background: currentColor;
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: transform .6s var(--ease-out);
}

/* =========================================================================
   SOBRE
   ========================================================================= */
.sobre {
  display: flex;
  align-items: flex-end;
  gap: 61px;
  margin: 61px calc(100cqw * -12 / 1280) 0;
}
.sobre__media { flex: 0 1 732.483px; min-width: 0; container-type: inline-size; }
.sm { --s: calc(100cqw / 732.483); position: relative; width: 100%; aspect-ratio: 732.483 / 966; }
.sm > * { position: absolute; }
.sm-card {
  left: calc(37.75 * var(--s));
  top: calc(177.79 * var(--s));
  width: calc(650.697 * var(--s));
  height: calc(788.211 * var(--s));
  overflow: hidden;
  border-radius: calc(28.76 * var(--s));
  background: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2)), linear-gradient(90deg, #ad8f77 0%, #88542a 100%);
}
.sm-card > * { position: absolute; }
.sm-forma { left: .19%; right: -.82%; top: 53.51%; bottom: -3.89%; width: auto; height: auto; }
.sm-fundo { left: .04%; right: .07%; top: calc(.21 * var(--s)); height: calc(788 * var(--s)); width: auto; object-fit: cover; transition: transform 1.6s var(--ease-out); }
.sm-casal {
  left: 0;
  top: calc(25 * var(--s));
  width: calc(732.483 * var(--s));
  height: calc(941 * var(--s));
  transform-origin: 50% 100%;
  transition: transform 1.2s var(--ease-out);
}
.sobre__text { flex: 0 0 491px; display: flex; flex-direction: column; gap: 40px; }
.sobre__title {
  font-weight: 600;
  font-size: 48px;
  line-height: 1;
  letter-spacing: -1.2px;
  text-transform: uppercase;
  text-wrap: balance;
}
.sobre__body { font-weight: 300; font-size: 20px; line-height: 1.2; letter-spacing: -.5px; }
.sobre__body p { text-wrap: pretty; }
.sobre__body p + p { margin-top: 20px; }

/* =========================================================================
   INTERAÇÕES (mouse)
   ========================================================================= */
.card:focus-visible { box-shadow: 0 0 0 3px #16100a, 0 0 0 5px #eaccb7; }

@media (hover: hover) and (pointer: fine) {
  .card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 60px -24px rgba(0, 0, 0, .75), 0 0 80px -30px rgba(234, 204, 183, .35);
  }
  .card:hover .card__spot { opacity: 1; }
  .card:hover .btn { transform: translateY(-2px); filter: brightness(1.06); box-shadow: 0 calc(14 * var(--u)) calc(34 * var(--u)) calc(-14 * var(--u)) rgba(0, 0, 0, .6); }
  .card:hover .btn::after { transform: translateX(560%) skewX(-18deg); transition: transform 1s var(--ease); }

  .card--bt:hover .bt-foto img { transform: scale(1.04); }
  .card--bt:hover .bt-cta { transform: translateY(calc(-2 * var(--u))); box-shadow: 0 calc(14 * var(--u)) calc(34 * var(--u)) calc(-14 * var(--u)) rgba(30, 29, 27, .35); }
  .card--bt:hover .bt-cta img { transform: translateX(calc(6 * var(--u))); }

  .card--imersao:hover .im-fundo img { transform: scale(1.04); }
  .card--imersao:hover .im-marilia img { transform: scale(1.025); }
  .card--imersao:hover .im-logo { transform: translateY(calc(-4 * var(--u))); }
  .card--imersao:hover .badge { box-shadow: inset 0 0 0 calc(.636 * var(--u)) #eaccb7; }

  .card--gv:hover .gv-marilia img { transform: scale(1.025); }
  .card--gv:hover .gv-notif--1 .notif { transform: translateX(calc(-14 * var(--v))); background-color: rgba(80, 52, 36, .4); }
  .card--gv:hover .gv-notif--2 .notif { transform: translateX(calc(-24 * var(--v))); background-color: rgba(80, 52, 36, .4); transition-delay: .06s; }
  .card--gv:hover .gv-notif--3 .notif { transform: translateX(calc(-14 * var(--v))); background-color: rgba(80, 52, 36, .4); transition-delay: .12s; }

  .card--mentoria:hover .me-capa img { transform: scale(1.045); }
  .card--mentoria:hover .me-logo { transform: translateY(calc(-4 * var(--u))); }
  .card--mentoria:hover .btn--mentoria { background: #1a1a1a; }

  .card--palestras:hover .pa-publico img { transform: scale(1.05); }
  .card--palestras:hover .pa-casal img { transform: scale(1.04); }
  .card--palestras:hover .pa-title__1 { transform: translateX(calc(-10 * var(--u))); }
  .card--palestras:hover .pa-title__2 { transform: translateX(calc(10 * var(--u))); }
  .card--palestras:hover .pa-cta::after { transform: scaleX(1); }

  .sobre__media:hover .sm-casal { transform: scale(1.02); }
  .sobre__media:hover .sm-fundo { transform: scale(1.05); }
}
.card:active { transform: scale(.985); transition-duration: .2s; }

/* =========================================================================
   ANIMAÇÕES
   ========================================================================= */
@keyframes badgeFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(calc(-5 * var(--u))); } }
@keyframes notifFloat { 0%, 100% { translate: 0 0; } 50% { translate: 0 calc(-5 * var(--v)); } }
@keyframes floatA { 0%, 100% { transform: translateY(0) rotate(47.77deg); } 50% { transform: translateY(calc(-9 * var(--v))) rotate(53deg); } }
@keyframes floatB { 0%, 100% { transform: translate(0, 0) rotate(0); } 50% { transform: translate(calc(5 * var(--v)), calc(-10 * var(--v))) rotate(-6deg); } }
@keyframes glowPulse { 0%, 100% { opacity: 1; } 50% { opacity: .65; } }
@keyframes badgePop { 0%, 70%, 100% { transform: scale(1); } 78% { transform: scale(1.25); } 86% { transform: scale(.95); } }
@keyframes ctaPulse { 0%, 100% { opacity: 1; } 50% { opacity: .7; } }
.gv-obj2 img.float-a { animation: floatA 6s ease-in-out infinite; }
.gv-obj1 img.float-b { animation: floatB 7s ease-in-out infinite; }
.pa-cta { animation: ctaPulse 2.6s ease-in-out infinite; }

/* entrada ao rolar a página */
.js .reveal { opacity: 0; transform: translateY(36px) scale(.985); transition: opacity 1s var(--ease-out), transform 1.1s var(--ease-out); transition-delay: var(--rd, 0s); }
.js .reveal.is-in { opacity: 1; transform: none; }
.js .sobre__body .reveal:not(.is-in) { transform: translateY(18px); }

/* =========================================================================
   TABLET (768–1099px): "Sobre" empilhado
   ========================================================================= */
@media (max-width: 1099.98px) {
  .sobre { flex-direction: column; align-items: center; gap: 40px; margin-inline: 0; }
  .sobre__media { flex: none; width: min(100%, 620px); }
  .sobre__text { flex: none; width: min(100%, 620px); gap: 28px; }
  .sobre__title { font-size: 40px; letter-spacing: -.025em; }
  .sobre__body { font-size: 18px; letter-spacing: -.025em; }
  .sobre__body p + p { margin-top: 16px; }
}

/* =========================================================================
   MOBILE (< 768px) — layout de 402px (cards de 332px)
   ========================================================================= */
@media (max-width: 767.98px) {
  .page {
    --w: min(500px, 100vw * 332 / 402, 80svh * 332 / 215);
    --h1: calc(var(--w) * 215 / 332);
    padding-top: calc(100vw * 20 / 402);
    padding-bottom: calc(100vw * 131 / 402);
  }
  .links { gap: calc(100cqw * 16 / 332); }
  .links__item:nth-child(3) { margin-top: calc(100cqw * 1 / 332); }

  .card { --u: calc(100cqw / 332); border-radius: calc(5.581 * var(--u)); }
  .card:hover { transform: none; }

  /* 0 · Business Talk: mesma composição do desktop, escalada (332 = 1280 x 0,259375) */
  .card--bt { --u: calc(100cqw / 1280); border-radius: calc(100cqw * 5.581 / 332); }

  /* 1 · Imersão (332 x 215) */
  .card--imersao { aspect-ratio: 332 / 215; }
  .im-fundo { width: calc(332 * var(--u)); height: calc(215 * var(--u)); }
  .im-icone { left: calc(96.17 * var(--u)); top: calc(69.02 * var(--u)); width: calc(312.528 * var(--u)) !important; height: calc(145.601 * var(--u)) !important; }
  .im-marilia { left: calc(192.722 * var(--u)); top: calc(7.255 * var(--u)); width: calc(139.5 * var(--u)); height: calc(207.75 * var(--u)); }
  .im-marilia img { filter: drop-shadow(0 calc(.744 * var(--u)) calc(.744 * var(--u)) rgba(0, 0, 0, .25)); }
  .im-grad--1 { width: calc(357 * var(--u)); height: calc(215 * var(--u)); }
  .im-grad--2 { top: calc(-6 * var(--u)); width: calc(357 * var(--u)); height: calc(221 * var(--u)); }
  .badge-pos--1 { left: calc(273.89 * var(--u)); top: calc(109.78 * var(--u)); }
  .badge-pos--2 { left: calc(296.4 * var(--u)); top: calc(130.42 * var(--u)); }
  .badge-pos--3 { left: calc(283.19 * var(--u)); top: calc(154.98 * var(--u)); }
  .badge-pos--4 { left: calc(277.33 * var(--u)); top: calc(177.4 * var(--u)); }
  .badge { padding: calc(1.776 * var(--u)) calc(5.328 * var(--u)); box-shadow: inset 0 0 0 calc(.178 * var(--u)) #fff; border-radius: calc(17.76 * var(--u)); font-size: calc(4.262 * var(--u)); }
  .badge::before { -webkit-backdrop-filter: blur(calc(1.722 * var(--u))); backdrop-filter: blur(calc(1.722 * var(--u))); }
  .im-logo { left: calc(19.689 * var(--u)); top: calc(14.816 * var(--u)); width: calc(86.502 * var(--u)) !important; height: calc(49.669 * var(--u)) !important; }
  .im-copy { left: calc(19.69 * var(--u)); top: calc(79.62 * var(--u)); width: calc(174.703 * var(--u)); gap: calc(14.138 * var(--u)); }
  .im-text { width: calc(173.747 * var(--u)); font-size: calc(12 * var(--u)); }
  .btn--imersao { padding: calc(10.603 * var(--u)) calc(19.378 * var(--u)); border-radius: calc(2.584 * var(--u)); font-size: calc(8.929 * var(--u)); line-height: calc(7.751 * var(--u)); letter-spacing: calc(-.0568 * var(--u)); }

  /* 2 · WhatsApp GV (332 x 201) — visual = desktop x 0.279038 */
  .card--gv { aspect-ratio: 332 / 201; }
  .gv-hero { --v: calc(var(--u) * .279038); left: calc(-13 * var(--u)); }
  .card--gv .glass { --rim-a: .4; --rim-b: .28; } /* filete de luz proporcional à escala menor */
  .gv-panel {
    --frost: calc(.988 * var(--u));
    left: calc(25.98 * var(--u));
    top: calc(11.799 * var(--u));
    width: calc(183.448 * var(--u));
    gap: calc(10.533 * var(--u));
    padding: calc(10.533 * var(--u)) calc(7.9 * var(--u));
    border-radius: calc(5.266 * var(--u));
  }
  .gv-logo { width: calc(65.016 * var(--u)) !important; height: calc(36.275 * var(--u)) !important; margin: calc(-.002 * var(--u)) calc(-.218 * var(--u)) calc(-.403 * var(--u)) calc(-.194 * var(--u)); }
  .gv-copy { gap: calc(7.022 * var(--u)); }
  .gv-title { font-size: calc(16.761 * var(--u)); }
  .gv-sub { font-size: calc(10.195 * var(--u)); }
  .btn--gv { padding: calc(7.9 * var(--u)) calc(7.022 * var(--u)); border-radius: calc(3.511 * var(--u)); font-size: calc(8.185 * var(--u)); }

  /* 3 · Mentoria (332 x 187) */
  .card--mentoria { aspect-ratio: 332 / 187; }
  .me-capa { width: calc(357.17 * var(--u)); height: calc(200.91 * var(--u)); }
  .me-block { left: calc(178.58 * var(--u)); top: calc(111.62 * var(--u)); width: calc(193.476 * var(--u)); gap: calc(7.627 * var(--u)); }
  .me-logo { width: calc(193.476 * var(--u)) !important; height: calc(35.862 * var(--u)) !important; }
  .btn--mentoria { padding: calc(8.929 * var(--u)) calc(18.603 * var(--u)); border-radius: calc(1.86 * var(--u)); font-size: calc(8.587 * var(--u)); }

  /* 4 · Palestras (332 x 187) */
  .card--palestras { aspect-ratio: 332 / 187; }
  .pa-publico { left: calc(-15.41 * var(--u)); top: calc(-34.32 * var(--u)); width: calc(387.98 * var(--u)); height: calc(258.59 * var(--u)); }
  .pa-casal { left: calc(68.297 * var(--u)); width: calc(199.512 * var(--u)); height: calc(200.907 * var(--u)); }
  .pa-grad { left: calc(-.07 * var(--u)); top: calc(89.85 * var(--u)); width: calc(357.168 * var(--u)); height: calc(111.057 * var(--u)); }
  .pa-title { font-size: calc(31.605 * var(--u)); letter-spacing: calc(-.7901 * var(--u)); }
  .pa-title__1 { left: calc(32.86 * var(--u)); top: calc(110.95 * var(--u)); }
  .pa-title__2 { left: calc(61.6 * var(--u)); top: calc(142.48 * var(--u)); }
  .pa-cta { left: calc(153.89 * var(--u)); top: calc(175.88 * var(--u)); font-size: calc(8.929 * var(--u)); line-height: calc(7.751 * var(--u)); letter-spacing: calc(-.0568 * var(--u)); }
  .pa-cta::after { bottom: calc(-1.6 * var(--u)); height: calc(.6 * var(--u)); }

  /* Sobre */
  .sobre { gap: calc(100cqw * 17.021 / 332); margin-top: calc(100cqw * 17 / 332); align-items: stretch; }
  .sobre__media, .sobre__text { width: 100%; }
  .sobre__text { gap: calc(100cqw * 11.162 / 332); }
  .sobre__title { font-size: max(18px, 100cqw * 20 / 332); letter-spacing: -.025em; }
  .sobre__body { font-size: max(12px, 100cqw * 12 / 332); letter-spacing: -.025em; }
  .sobre__body p + p { margin-top: .465em; }
}

/* sem animação para quem prefere menos movimento */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
  [data-depth] { translate: none !important; }
}
