/* =========================================================
   MATRÍCULA · Inaá Club 2026 — Sales page
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #F7F2EA; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  color: var(--fg);
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 56px;
}

.br-mobile { display: none; }

/* ====================== STICKY TOPBAR ====================== */
.topbar {
  position: fixed;
  top: 0; left: 0; right: 0;
  background: var(--neutral-950);
  color: var(--sand);
  z-index: 200;
  transform: translateY(-100%);
  transition: transform 280ms var(--ease-out);
  border-bottom: 1px solid rgba(242,214,179,0.12);
}
.topbar--visible { transform: translateY(0); }
.topbar__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 12px 56px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.topbar__brand {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: 20px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: white;
  flex: none;
}
.topbar__brand em {
  font-family: var(--font-script);
  font-style: normal;
  font-weight: 400;
  color: var(--lime-accent);
  letter-spacing: 0;
  font-size: 24px;
  margin-left: 4px;
  text-transform: none;
}
.topbar__pulse {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(242,214,179,0.85);
  flex: 1;
}
.topbar__dot {
  width: 8px; height: 8px;
  background: var(--lime-accent);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(221,246,22,0.18);
  animation: topbar-pulse 1.6s ease-in-out infinite;
}
@keyframes topbar-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(221,246,22,0.18); }
  50%      { box-shadow: 0 0 0 8px rgba(221,246,22,0.05); }
}
.topbar__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--lime-accent);
  color: var(--neutral-950);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 12px 22px;
  cursor: pointer;
  flex: none;
  transition: background 200ms, transform 200ms;
}
.topbar__cta:hover { background: white; transform: translateY(-1px); }
.topbar__cta svg { width: 14px; height: 14px; }

/* ====================== ANNOUNCE BAR ====================== */
.announce {
  background: var(--wine);
  color: var(--sand);
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 12px 0;
  overflow: hidden;
}
.announce__track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  padding: 0 24px;
}
.announce__dot {
  width: 4px; height: 4px;
  background: var(--sand);
  border-radius: 50%;
  flex: none;
}
.announce em {
  font-style: normal;
  color: var(--lime-accent);
  font-weight: 700;
}

/* ====================== HERO ====================== */
.hero {
  background: #F7F2EA;
  position: relative;
  padding: 72px 0 96px;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 65% at 82% 28%, rgba(166,104,116,0.18), transparent 65%),
    radial-gradient(ellipse 90% 75% at 78% 72%, rgba(242,214,179,0.45), transparent 60%);
  pointer-events: none;
}
.hero__inner {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 72px;
  align-items: start;
  padding: 0 56px;
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}
.hero__left { position: relative; }

.hero__tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--wine);
  color: var(--lime-accent);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 10px 18px;
  margin-bottom: 36px;
}
.hero__tag-dot {
  width: 8px; height: 8px;
  background: var(--lime-accent);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(221,246,22,0.2);
}

.hero__title {
  font-family: var(--font-display);
  font-weight: 900;
  color: var(--wine);
  font-size: 76px;
  line-height: 0.95;
  letter-spacing: -0.03em;
  margin: 0;
  text-transform: uppercase;
}
.hero__title .accent {
  font-family: var(--font-script);
  font-weight: 400;
  font-style: normal;
  color: var(--rose);
  font-size: 96px;
  text-transform: none;
  margin: 0 6px;
  line-height: 0.85;
  display: inline-block;
  vertical-align: -8px;
}
.hero__title em {
  font-family: var(--font-script);
  font-style: normal;
  font-weight: 400;
  color: var(--rose);
  font-size: 100px;
  text-transform: none;
  margin-left: 8px;
}

.hero__title-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin-top: 24px;
  border-top: 1px solid rgba(115,67,79,0.2);
  padding-top: 18px;
}
.hero__signature {
  font-family: var(--font-script);
  color: var(--rose);
  font-size: 52px;
  line-height: 1;
}
.hero__title-meta-r {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--olive);
  text-align: right;
  padding-bottom: 6px;
}

.hero__lede {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  color: var(--neutral-800);
  margin: 30px 0 0;
  max-width: 540px;
}
.hero__lede strong { color: var(--wine); font-weight: 700; }

.hero__bullets {
  list-style: none;
  margin: 30px 0 0;
  padding: 0;
  display: grid;
  gap: 14px;
}
.hero__bullets li {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 14px;
  align-items: start;
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.5;
  color: var(--neutral-800);
}
.hero__bullet-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--rose);
}
.hero__bullet-icon svg {
  width: 22px;
  height: 22px;
}
.hero__bullets li strong { color: var(--wine); font-weight: 700; }

.hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 36px;
  background: var(--rose);
  color: white;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 22px 28px;
  cursor: pointer;
  min-width: 360px;
  transition: background 200ms, transform 200ms;
  border: 0;
}
.hero__cta:hover { background: var(--wine); transform: translateY(-1px); }
.hero__cta svg { width: 20px; height: 20px; flex: none; }

.hero__trust {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 32px;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--olive);
  flex-wrap: wrap;
}
.hero__trust strong { color: var(--wine); font-weight: 700; }
.hero__trust-divider {
  width: 1px; height: 18px;
  background: rgba(115,67,79,0.25);
}

/* ── Hero mosaic (two overlapping photos with Z-swap) ──── */
.hero__art {
  position: relative;
  margin-top: 24px;
}
/* ── Hero mosaic — 8 photos, BIG cells, 3-col mid row ────
   A is the full-width anchor (Vestido Donatela) at top.
   F is the full-width feature band (shorts-saia ★).
   G is the medium duo anchor with +6 years badge.
   B/C/D form a 3-column mini row, H/I a 1-column stack.
   All minis zoom-grow on hover. */
.hero__mosaic {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 2.1;
}
.hero__photo {
  position: absolute;
  margin: 0;
  background: var(--sand-300);
  box-shadow: 0 22px 44px rgba(115,67,79,0.2);
  overflow: hidden;
  outline: none;
  cursor: pointer;
  transform-origin: center;
  transition:
    transform 520ms var(--ease-out),
    box-shadow 520ms var(--ease-out);
}
.hero__photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 720ms var(--ease-out);
}
.hero__photo:hover > img,
.hero__photo:focus-visible > img {
  transform: scale(1.05);
}

/* ── Vertical zones (% of mosaic, 2% gaps):
   0-40  (A full-width) | 42-56 (3-col mini row B/C/D) |
   58-70 (F feature)    | 72-100 (G duo + H/I stacked) */

/* A — Vestido Donatela, FULL WIDTH XL anchor (badge +7K) */
.hero__photo--a {
  top: 0;
  left: 0;
  width: 100%;
  height: 40%;
  z-index: 3;
}
.hero__photo--a > img { object-position: center 28%; }
.hero__photo--a::after {
  content: "";
  position: absolute;
  top: 14px; left: 14px;
  right: -14px; bottom: -14px;
  border: 1px solid var(--olive);
  z-index: -1;
  pointer-events: none;
}

/* B / C / D — 3-column mini row */
.hero__photo--b {
  top: 42%;
  left: 0;
  width: 32%;
  height: 14%;
  z-index: 2;
}
.hero__photo--b > img { object-position: center 25%; }

.hero__photo--c {
  top: 42%;
  left: 34%;
  width: 32%;
  height: 14%;
  z-index: 2;
}
.hero__photo--c > img { object-position: center 30%; }

.hero__photo--d {
  top: 42%;
  right: 0;
  width: 32%;
  height: 14%;
  z-index: 2;
}
.hero__photo--d > img { object-position: center 35%; }

/* F — shorts-saia FEATURE wide band, full width */
.hero__photo--f {
  top: 58%;
  left: 0;
  width: 100%;
  height: 12%;
  z-index: 4;
  box-shadow:
    0 0 0 2px var(--lime-accent) inset,
    0 28px 56px rgba(115,67,79,0.32);
}
.hero__photo--f > img { object-position: center 45%; }

/* G — duo Aline+Gabi (with badge), medium bottom-left */
.hero__photo--g {
  top: 72%;
  left: 0;
  width: 60%;
  height: 28%;
  z-index: 3;
}
.hero__photo--g > img { object-position: center 30%; }

/* H — casaco-elis mini, top-right of bottom zone */
.hero__photo--h {
  top: 72%;
  right: 0;
  width: 38%;
  height: 13%;
  z-index: 2;
}
.hero__photo--h > img { object-position: center 30%; }

/* I — atelier-botoes mini, bottom-right */
.hero__photo--i {
  bottom: 0;
  right: 0;
  width: 38%;
  height: 13%;
  z-index: 2;
}
.hero__photo--i > img { object-position: center 35%; }

/* ── Stat cards (intercalados pelo mosaico, substituindo os antigos
   badges sobrepostos). No hover, a imagem que estava ali antes
   aparece em fade-in e o conteúdo do card sai. No click, expande
   a imagem subjacente igual às outras fotos do mosaico. ─────────── */
.hero__stat {
  cursor: zoom-in;
  background: var(--lime-accent);
  color: var(--neutral-950);
}
.hero__stat--lime { background: var(--lime-accent); color: var(--neutral-950); }
.hero__stat--rose { background: var(--rose);        color: white; }
.hero__stat--wine { background: var(--wine);        color: var(--sand); }
.hero__stat--wine .hero__stat-num { color: var(--lime-accent); }

.hero__stat-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 360ms var(--ease-out);
  pointer-events: none;
}
.hero__stat-content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 12px 14px;
  transition: opacity 220ms var(--ease-out);
}
.hero__stat-num {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -0.03em;
  margin-bottom: 8px;
}
.hero__stat-label {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: 1.3;
}
/* Hover: revela a imagem subjacente */
.hero__stat:hover .hero__stat-bg,
.hero__stat:focus-visible .hero__stat-bg { opacity: 1; }
.hero__stat:hover .hero__stat-content,
.hero__stat:focus-visible .hero__stat-content { opacity: 0; }
/* Stat cards não recebem o scale das fotos, só a sombra */
.hero__stat:hover,
.hero__stat:focus-visible {
  transform: none;
  box-shadow: 0 22px 44px rgba(115,67,79,0.2);
}
/* Estado expandido: mostra a imagem por baixo em fullscreen do mosaico */
.hero__stat.is-expanded {
  background: rgba(115,67,79,0.32);
}
.hero__stat.is-expanded .hero__stat-bg {
  opacity: 1;
  object-fit: contain;
}
.hero__stat.is-expanded .hero__stat-content { display: none; }

/* ── Feature stamp (only on F) — sits flush left, full height of band */
.hero__photo-stamp--feature {
  top: 0;
  left: 0;
  height: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  box-shadow: none;
}
.hero__photo-stamp--feature .hero__photo-stamp-num {
  font-size: 28px;
  line-height: 1;
}
.hero__photo-stamp--feature .hero__photo-stamp-label {
  margin-top: 0;
  max-width: 110px;
  line-height: 1.3;
}

/* ── Hover behavior ─────────────────────────────────────── */
/* Anchors (A, G): lift sutil + shadow drop */
.hero__photo--a:hover,
.hero__photo--a:focus-visible,
.hero__photo--g:hover,
.hero__photo--g:focus-visible {
  transform: translate3d(-0.3%, -0.3%, 0) scale(1.012);
  box-shadow: 0 36px 72px rgba(115,67,79,0.3);
  z-index: 5;
}
/* F (feature band): scale slightly + reinforce the lime border + shadow */
.hero__photo--f:hover,
.hero__photo--f:focus-visible {
  transform: scale(1.015);
  z-index: 6;
  box-shadow:
    0 0 0 2px var(--lime-accent) inset,
    0 36px 72px rgba(115,67,79,0.36);
}

/* Minis: aggressive zoom-grow + jump above neighbors */
.hero__photo--mini:hover,
.hero__photo--mini:focus-visible {
  transform: scale(1.22);
  z-index: 10;
  box-shadow: 0 32px 64px rgba(115,67,79,0.38);
}

/* ── Click-to-expand state ────────────────────────────────
   When any photo is expanded, dim and disable the others.
   The active photo fills the mosaic and switches its image
   to object-fit: contain so the WHOLE photo shows. */
.hero__mosaic.has-expanded > .hero__photo {
  opacity: 0.4;
  pointer-events: none;
  filter: blur(1px) saturate(0.85);
  transition:
    opacity 320ms var(--ease-out),
    filter 320ms var(--ease-out),
    transform 0ms;
}
.hero__photo.is-expanded {
  opacity: 1 !important;
  pointer-events: auto !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 100 !important;
  transform: none !important;
  filter: none !important;
  background: rgba(115,67,79,0.32);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  cursor: zoom-out;
  box-shadow: 0 40px 80px rgba(115,67,79,0.35) !important;
  transition:
    opacity 320ms var(--ease-out),
    box-shadow 320ms var(--ease-out);
}
.hero__photo.is-expanded > img {
  object-fit: contain;
  background: transparent;
  transform: none !important;
}
/* Hide decorations / framing in expanded state */
.hero__photo.is-expanded::after { display: none !important; }
.hero__photo.is-expanded .hero__photo-cap { display: none; }
.hero__photo.is-expanded .hero__photo-stamp { display: none; }
/* Close indicator — small × in the corner of the expanded photo */
.hero__photo.is-expanded::before {
  content: "×";
  position: absolute;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--lime-accent);
  color: var(--neutral-950);
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  z-index: 2;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* Caption + stamps shared across both photos */
.hero__photo-cap {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  background: linear-gradient(180deg, transparent, rgba(20,20,19,0.55) 70%, rgba(20,20,19,0.78));
  color: var(--sand);
  pointer-events: none;
}
.hero__photo-tag {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: white;
}
.hero__photo-num {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(242,214,179,0.85);
  text-align: right;
  line-height: 1.3;
}
.hero__photo-stamp {
  position: absolute;
  top: 16px; left: 16px;
  padding: 12px 16px 10px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
  box-shadow: 0 12px 30px rgba(0,0,0,0.18);
}
.hero__photo-stamp--lime { background: var(--lime-accent); color: var(--neutral-950); }
.hero__photo-stamp--rose { background: var(--rose);        color: white; }
.hero__photo-stamp-num {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 30px;
  letter-spacing: -0.03em;
}
.hero__photo-stamp-label {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-top: 5px;
}
/* Larger stamp on the front photo */
.hero__photo--a .hero__photo-stamp-num { font-size: 36px; }
.hero__photo--a .hero__photo-stamp { padding: 14px 18px 12px; }

.wave-down {
  position: absolute;
  bottom: -1px; left: 0; right: 0;
  width: 100%; height: 60px;
  fill: white;
  display: none;
}

/* ====================== SECTION EYEBROW ====================== */
.section-eyebrow {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--olive);
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.section-eyebrow::before {
  content: "";
  width: 36px; height: 1px;
  background: var(--rose);
}
.section-eyebrow--sand { color: var(--sand-300); }
.section-eyebrow--sand::before { background: var(--lime-accent); }
/* Used on light backgrounds (.diff, .matricula): wine text + wine
   leading rule. Same hue across the whole eyebrow keeps it tidy. */
.section-eyebrow--lime { color: var(--wine); }
.section-eyebrow--lime::before { background: var(--wine); }

/* ====================== BENEFITS ====================== */
.benefits {
  background: white;
  padding: 96px 0 88px;
}
.benefits__head {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 56px;
  margin-bottom: 48px;
  align-items: end;
}
.benefits__title {
  font-family: var(--font-display);
  font-weight: 900;
  color: var(--wine);
  font-size: 60px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  margin: 0;
}
.benefits__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 64px;
  text-transform: none;
}
.benefits__intro {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--neutral-800);
  margin: 0;
}
.benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(115,67,79,0.2);
  border: 1px solid rgba(115,67,79,0.2);
}
.benefit {
  background: white;
  padding: 36px 32px 38px;
  display: flex;
  flex-direction: column;
}
.benefit__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 22px;
  border: 1px solid rgba(115,67,79,0.18);
  color: var(--rose);
  background: var(--sand-100);
}
.benefit__icon svg {
  width: 26px;
  height: 26px;
}
.benefit__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.15;
  color: var(--wine);
  margin: 0 0 12px;
}
.benefit__copy {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.6;
  color: var(--neutral-800);
  margin: 0;
}
.benefits__anchor {
  font-family: var(--font-display);
  font-size: 26px;
  color: var(--wine);
  text-align: center;
  margin: 56px auto 0;
  max-width: 720px;
  line-height: 1.3;
}
.benefits__anchor em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-size: 40px;
  font-weight: 400;
  line-height: 1;
  vertical-align: -2px;
}

/* ====================== FOR WHO ====================== */
.for-who {
  background: var(--olive);
  color: var(--sand);
  padding: 96px 0 88px;
  position: relative;
  overflow: hidden;
}
.for-who::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 80% 20%, rgba(242,214,179,0.16), transparent 50%),
    radial-gradient(ellipse at 10% 90%, rgba(166,104,116,0.18), transparent 50%);
  pointer-events: none;
}
.for-who .container { position: relative; }
.for-who__head {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  margin-bottom: 56px;
  align-items: end;
}
.for-who__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: white;
  font-size: 64px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0;
}
.for-who__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--lime-accent);
  font-weight: 400;
  font-size: 68px;
}
.for-who__intro {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  color: rgba(242,214,179,0.85);
  margin: 0;
}
.for-who__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(242,214,179,0.18);
  border: 1px solid rgba(242,214,179,0.18);
}
.for-card {
  background: var(--olive);
  padding: 36px 30px 38px;
  position: relative;
  transition: background 240ms;
}
.for-card:hover { background: var(--olive-700); }
.for-card__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 64px;
  color: var(--lime-accent);
  line-height: 1;
  letter-spacing: -0.04em;
  margin-bottom: 18px;
}
.for-card__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
  color: white;
  margin: 0 0 10px;
}
.for-card__copy {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.6;
  color: rgba(242,214,179,0.85);
  margin: 0;
}

/* ====================== LEARN ====================== */
.learn {
  background: #F7F2EA;
  padding: 96px 0 88px;
}
.learn__head {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 56px;
  margin-bottom: 48px;
  align-items: end;
}
.learn__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--wine);
  font-size: 60px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0;
}
.learn__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 64px;
}
.learn__intro {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--neutral-800);
  margin: 0;
}
.learn__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(115,67,79,0.2);
  border-left: 1px solid rgba(115,67,79,0.2);
}
.learn__item {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 16px;
  padding: 28px 24px 32px;
  border-right: 1px solid rgba(115,67,79,0.2);
  border-bottom: 1px solid rgba(115,67,79,0.2);
}
.learn__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 36px;
  color: var(--rose);
  line-height: 1;
  letter-spacing: -0.04em;
}
.learn__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  color: var(--wine);
  margin: 0 0 6px;
}
.learn__copy {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.55;
  color: var(--neutral-800);
  margin: 0;
}
.learn__stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 56px;
  margin-top: 56px;
  padding: 28px 32px;
  background: var(--wine);
  color: var(--sand);
}
.learn__stat { text-align: center; }
.learn__stat-num {
  display: block;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 36px;
  color: var(--lime-accent);
  letter-spacing: -0.02em;
  line-height: 1;
}
.learn__stat-label {
  display: block;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(242,214,179,0.75);
  margin-top: 8px;
}
.learn__stat-divider {
  width: 1px; height: 32px;
  background: rgba(242,214,179,0.3);
}

/* ====================== DIFF ====================== */
.diff {
  background: white;
  padding: 96px 0 88px;
}
.diff__head { margin-bottom: 48px; }
.diff__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--wine);
  font-size: 60px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0;
  max-width: 720px;
}
.diff__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 64px;
}
.diff__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.diff-card {
  background: #F7F2EA;
  padding: 40px 36px;
  position: relative;
}
.diff-card--dark {
  background: var(--wine);
  color: var(--sand);
}
.diff-card__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 56px;
  letter-spacing: -0.04em;
  color: var(--rose);
  line-height: 1;
  display: block;
  margin-bottom: 18px;
}
.diff-card--dark .diff-card__num { color: var(--lime-accent); }
.diff-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin-bottom: 18px;
  border: 1px solid rgba(115,67,79,0.18);
  color: var(--rose);
  background: white;
}
.diff-card--dark .diff-card__icon {
  border-color: rgba(242,214,179,0.25);
  background: rgba(242,214,179,0.08);
  color: var(--lime-accent);
}
.diff-card__icon svg {
  width: 28px;
  height: 28px;
}
.diff-card__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 26px;
  line-height: 1.2;
  color: var(--wine);
  margin: 0 0 14px;
}
.diff-card--dark .diff-card__title { color: white; }
.diff-card__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 30px;
}
.diff-card--dark .diff-card__title em { color: var(--lime-accent); }
.diff-card__copy {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--neutral-800);
  margin: 0;
}
.diff-card--dark .diff-card__copy { color: rgba(242,214,179,0.85); }
.diff-card__copy strong { color: var(--wine); font-weight: 700; }
.diff-card--dark .diff-card__copy strong { color: var(--lime-accent); }

.diff-card--photo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: center;
}
.diff-card__photo {
  margin: 0;
  position: relative;
  overflow: hidden;
}
.diff-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 4 / 3;
}
.diff-card__photo figcaption {
  margin-top: 10px;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(242,214,179,0.7);
  text-align: center;
}

/* ====================== EBOOK ====================== */
.ebook {
  background: #F7F2EA;
  padding: 96px 0 88px;
}
.ebook__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 56px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 64px;
  align-items: center;
}
.ebook__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--wine);
  font-size: 56px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0;
}
.ebook__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 60px;
}
.ebook__lede {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--neutral-800);
  margin: 24px 0 28px;
}
.ebook__lede strong { color: var(--wine); font-weight: 700; }
.ebook__list {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: grid;
  gap: 12px;
}
.ebook__list li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 14px;
  align-items: center;
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--neutral-800);
}
.ebook__list-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  color: var(--rose);
}
.ebook__list-icon svg {
  width: 20px;
  height: 20px;
}
.ebook__seal {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  background: white;
  border: 1px solid rgba(115,67,79,0.2);
  padding: 14px 22px;
}
.ebook__seal-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--wine);
}
.ebook__seal-icon svg {
  width: 26px;
  height: 26px;
}
.ebook__seal strong {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--wine);
}
.ebook__seal span {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--olive);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* Apostila photo */
.ebook__art {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ebook__photo {
  margin: 0;
  position: relative;
  display: block;
  max-width: 380px;
  width: 100%;
  filter: drop-shadow(0 22px 36px rgba(115,67,79,0.28));
}
.ebook__photo > img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 600ms var(--ease-out);
}
.ebook__photo:hover > img { transform: translateY(-6px) rotate(-1deg); }
.ebook__photo-foot {
  display: block;
  margin-top: 14px;
  text-align: center;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(115,67,79,0.55);
  line-height: 1.4;
}

/* ====================== LOOKBOOK ====================== */
.lookbook {
  background: white;
  padding: 96px 0 88px;
}
.lookbook__head {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 40px;
}
.lookbook__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--wine);
  font-size: 60px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0;
}
.lookbook__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 56px;
}
.lookbook__intro {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  color: var(--neutral-800);
  margin: 0;
}
.lookbook__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.lookbook__item {
  margin: 0;
  display: flex;
  flex-direction: column;
}
.lookbook__photo {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--sand-300);
}
.lookbook__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 600ms var(--ease-out);
}
.lookbook__item:hover .lookbook__photo img { transform: scale(1.04); }
.lookbook__caption {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 18px 0 4px;
  border-top: 1px solid rgba(115,67,79,0.18);
  margin-top: 14px;
}
.lookbook__caption-num {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 900;
  font-size: 22px;
  color: var(--rose);
  letter-spacing: -0.04em;
  line-height: 1;
  flex: none;
}
.lookbook__caption-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  color: var(--wine);
  line-height: 1.1;
  letter-spacing: -0.005em;
}
.lookbook__caption-name em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 26px;
}
.lookbook__foot {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.lookbook__cta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  border: 1px solid var(--wine);
  color: var(--wine);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 16px 28px;
  transition: all 200ms;
}
.lookbook__cta:hover { background: var(--wine); color: white; }
.lookbook__cta svg { width: 14px; height: 14px; }

/* ====================== VIDEOS (workshops/imersões) ====================== */
.videos {
  background: var(--wine);
  color: var(--sand);
  padding: 96px 0 88px;
  position: relative;
  overflow: hidden;
}
.videos::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 20% 20%, rgba(166,104,116,0.25), transparent 50%),
    radial-gradient(ellipse at 90% 80%, rgba(115,101,61,0.2), transparent 50%);
  pointer-events: none;
}
.videos .container { position: relative; }
.videos__head {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 56px;
  margin-bottom: 48px;
  align-items: end;
}
.videos__head .section-eyebrow { color: var(--lime-accent); }
.videos__head .section-eyebrow::before { background: var(--lime-accent); }
.videos__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: white;
  font-size: 60px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0;
}
.videos__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--lime-accent);
  font-weight: 400;
  font-size: 64px;
}
.videos__intro {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  color: rgba(242,214,179,0.85);
  margin: 0;
}
.videos__group-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}
.videos__group-head--mt { margin-top: 56px; }
.videos__group-tag {
  background: var(--sand);
  color: var(--wine);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 6px 12px;
  flex: none;
}
.videos__group-tag--lime {
  background: var(--lime-accent);
  color: var(--neutral-950);
}
.videos__group-line {
  flex: 1;
  height: 1px;
  background: rgba(242,214,179,0.3);
}
.videos__group-label {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(242,214,179,0.8);
  flex: none;
}
.videos__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.videos__grid--three {
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.videos__grid--four {
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.vplayer__tag--lime {
  background: var(--lime-accent);
  color: var(--neutral-950);
}

/* Club-exclusive teaser card (no embed) */
.vplayer--club {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  background:
    linear-gradient(135deg, rgba(221,246,22,0.06), rgba(166,104,116,0.08) 60%, rgba(0,0,0,0.18)),
    var(--wine-700);
  border: 1px dashed rgba(221,246,22,0.4);
  cursor: pointer;
  overflow: hidden;
  text-decoration: none;
  transition: transform 240ms, border-color 240ms;
}
.vplayer--club:hover {
  transform: translateY(-2px);
  border-color: var(--lime-accent);
}
.vplayer--club__inner {
  position: absolute;
  inset: 0;
  padding: 40px 18px 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 6px;
  color: var(--sand);
}
.vplayer--club__num {
  position: absolute;
  top: 12px;
  right: 14px;
  font-family: var(--font-display);
  font-weight: 700;
  font-style: italic;
  font-size: 14px;
  color: rgba(221,246,22,0.5);
  line-height: 1;
  letter-spacing: 0.04em;
  margin: 0;
}
.vplayer--club__num::before { content: "nº "; opacity: 0.6; }
.vplayer--club__heading {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
  color: white;
  letter-spacing: -0.003em;
  line-height: 1.2;
}
.vplayer--club__heading em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--lime-accent);
  font-weight: 400;
  font-size: 32px;
  margin-left: 4px;
}
.vplayer--club__sub {
  font-family: var(--font-sans);
  font-size: 11px;
  line-height: 1.45;
  color: rgba(242,214,179,0.72);
}
.vplayer--club__sub em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--lime-accent);
  font-size: 15px;
}
.vplayer--club__cta {
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--lime-accent);
}
.vplayer--club__cta svg {
  width: 12px;
  height: 12px;
  transition: transform 200ms;
}
.vplayer--club:hover .vplayer--club__cta svg { transform: translateX(3px); }
.vplayer {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--wine-700);
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  overflow: hidden;
  transition: transform 240ms;
}
.vplayer:hover { transform: translateY(-2px); }
.vplayer__thumb {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(0.78);
  transition: filter 240ms;
}
.vplayer:hover .vplayer__thumb { filter: brightness(0.95); }
.vplayer__tag {
  position: absolute;
  top: 12px; left: 12px;
  background: rgba(20,20,19,0.7);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--lime-accent);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 5px 10px;
}
.vplayer__tag--lime {
  background: rgba(20,20,19,0.7);
  color: var(--lime-accent);
}
.vplayer__chrome {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 36px 16px 14px;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.55) 35%, rgba(0,0,0,0.85));
  color: white;
}
.vplayer__title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: -0.003em;
  line-height: 1.3;
  display: block;
}
.vplayer__play {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--lime-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--neutral-950);
  box-shadow: 0 6px 18px rgba(0,0,0,0.28);
  transition: transform 240ms var(--ease-out), background 240ms;
}
.vplayer:hover .vplayer__play {
  transform: translate(-50%, -50%) scale(1.12);
  background: white;
}
.vplayer__play svg {
  width: 16px; height: 16px;
  margin-left: 2px; /* nudge play triangle so it looks optically centered */
}
.vplayer iframe {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  border: 0;
  z-index: 4;
}

/* ====================== TESTI ====================== */
.testi {
  background: var(--olive);
  color: var(--sand);
  padding: 96px 0 88px;
  position: relative;
  overflow: hidden;
}
.testi::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 80% 20%, rgba(242,214,179,0.16), transparent 50%),
    radial-gradient(ellipse at 10% 90%, rgba(166,104,116,0.18), transparent 50%);
  pointer-events: none;
}
.testi .container { position: relative; }
.testi__head {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 48px;
}
.testi__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: white;
  font-size: 60px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0;
}
.testi__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--lime-accent);
  font-weight: 400;
  font-size: 64px;
}
.testi__intro {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  color: rgba(242,214,179,0.85);
  margin: 0;
}
.testi__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.testi-card {
  margin: 0;
  background: white;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
  cursor: zoom-in;
  transition: transform 240ms var(--ease-out);
}
.testi-card:hover { transform: translateY(-3px); }
.testi-card img {
  width: 100%;
  height: auto;
  display: block;
}

/* ====================== PROFS ====================== */
.profs {
  background: #F7F2EA;
  padding: 96px 0 88px;
}
.profs__head { margin-bottom: 48px; }
.profs__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--wine);
  font-size: 60px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0;
}
.profs__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 64px;
}
.profs__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.prof-card {
  background: white;
  border: 1px solid rgba(115,67,79,0.18);
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 0;
  overflow: hidden;
}
.prof-card--accent {
  background: var(--wine);
  color: var(--sand);
  border-color: var(--wine);
}
.prof-card__photo {
  margin: 0;
  background: var(--sand-300);
  position: relative;
  overflow: hidden;
}
.prof-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.prof-card__body {
  padding: 32px 30px 34px;
  display: flex;
  flex-direction: column;
}
.prof-card__id {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 20px;
}
.prof-card__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-style: italic;
  font-size: 30px;
  color: var(--rose);
  letter-spacing: -0.04em;
  line-height: 1;
}
.prof-card--accent .prof-card__num { color: var(--lime-accent); }
.prof-card__role {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--olive);
}
.prof-card--accent .prof-card__role { color: rgba(242,214,179,0.75); }
.prof-card__name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 1.05;
  color: var(--wine);
  margin: 0 0 16px;
  letter-spacing: -0.01em;
}
.prof-card--accent .prof-card__name { color: white; }
.prof-card__name em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 42px;
}
.prof-card--accent .prof-card__name em { color: var(--lime-accent); }
.prof-card__bio {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--neutral-800);
  margin: 0;
}
.prof-card--accent .prof-card__bio { color: rgba(242,214,179,0.85); }

.profs__sig {
  text-align: center;
  margin: 56px 0 0;
}
.profs__sig-script {
  display: block;
  font-family: var(--font-script);
  color: var(--rose);
  font-size: 56px;
  line-height: 1;
}
.profs__sig-text {
  display: block;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--olive);
  margin-top: 10px;
}

/* ====================== URGENCY ====================== */
.urgency {
  background: var(--neutral-950);
  color: var(--sand);
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}
.urgency::before {
  content: "";
  position: absolute;
  top: -40px; right: -40px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(221,246,22,0.12), transparent 65%);
  pointer-events: none;
}
.urgency__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 56px;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 56px;
  position: relative;
}
.urgency__alert {
  background: var(--lime-accent);
  color: var(--neutral-950);
  font-family: var(--font-sans);
  font-weight: 800;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 10px 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.urgency__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 48px;
  color: white;
  line-height: 1.05;
  margin: 0 0 14px;
  letter-spacing: -0.02em;
}
.urgency__title em {
  font-family: inherit;
  font-style: normal;
  color: var(--lime-accent);
  font-weight: inherit;
  font-size: inherit;
}
.urgency__copy {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  color: rgba(242,214,179,0.85);
  max-width: 600px;
  margin: 0;
}
.urgency__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
  background: var(--lime-accent);
  color: var(--neutral-950);
  border: 0;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 18px 26px;
  cursor: pointer;
  transition: all 200ms;
}
.urgency__cta:hover { background: white; transform: translateY(-1px); }
.urgency__cta svg { width: 16px; height: 16px; }
.urgency__date {
  text-align: center;
  border: 1px solid rgba(242,214,179,0.25);
  padding: 24px 32px 26px;
  min-width: 220px;
}
.urgency__date-eyebrow {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--lime-accent);
  margin-bottom: 6px;
}
.urgency__date-day {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 56px;
  color: white;
  line-height: 1;
  letter-spacing: -0.03em;
}
.urgency__date-month {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sand);
  margin-top: 8px;
}

/* ====================== COMPROMISSO ====================== */
.commit {
  background: white;
  padding: 88px 0 80px;
}
.commit__head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 48px;
}
.commit__head .section-eyebrow {
  justify-content: center;
  margin-bottom: 20px;
}
.commit__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 56px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--wine);
  margin: 0 0 16px;
}
.commit__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 64px;
}
.commit__intro {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.6;
  color: var(--neutral-800);
  margin: 0;
}
.commit__list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 760px;
  display: grid;
  gap: 12px;
}
.commit__item {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 22px;
  background: #F7F2EA;
  border-left: 3px solid var(--rose);
}
.commit__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--lime-accent);
  color: var(--neutral-950);
  flex-shrink: 0;
}
.commit__icon svg {
  width: 18px;
  height: 18px;
}
.commit__copy {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.55;
  color: var(--neutral-800);
}

/* ====================== MATRICULA / FORM ====================== */
.matricula {
  background: #F7F2EA;
  padding: 96px 0 96px;
  position: relative;
  scroll-margin-top: 80px;
  overflow: hidden;
}
.matricula::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 50%;
  height: 100%;
  background:
    radial-gradient(circle at 30% 30%, rgba(166,104,116,0.14), transparent 55%),
    linear-gradient(180deg, rgba(242,214,179,0.4), rgba(242,214,179,0));
  pointer-events: none;
}
.matricula__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 56px;
  position: relative;
}

.matricula__title {
  font-family: var(--font-display);
  font-weight: 900;
  color: var(--wine);
  font-size: 76px;
  line-height: 0.95;
  letter-spacing: -0.03em;
  margin: 0;
}
.matricula__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--rose);
  font-weight: 400;
  font-size: 80px;
}
.matricula__lede {
  font-family: var(--font-sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--neutral-800);
  margin: 24px 0 32px;
  max-width: 520px;
}
.matricula__check {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: grid;
  gap: 12px;
}
.matricula__check li {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 12px;
  align-items: start;
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.5;
  color: var(--neutral-800);
}
.matricula__check-mark {
  width: 22px; height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--rose);
  color: white;
  font-size: 13px;
  font-weight: 700;
}

.matricula__whats {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  background: white;
  border: 1px solid rgba(115,67,79,0.2);
  border-left: 3px solid #25D366;
  padding: 16px 22px;
  font-family: var(--font-sans);
  color: var(--wine);
  text-align: left;
  cursor: pointer;
  transition: all 200ms;
}
.matricula__whats:hover {
  border-color: #25D366;
  transform: translateY(-1px);
}
.matricula__whats svg {
  width: 28px; height: 28px;
  color: #25D366;
  flex: none;
}
.matricula__whats span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 13px;
  line-height: 1.3;
}
.matricula__whats strong {
  font-weight: 700;
  font-size: 14px;
  color: var(--wine);
}
.matricula__whats span span {
  color: var(--neutral-600);
  font-size: 12px;
}

/* ── Form ─────────────────────────────────────────────── */
.form-wrap {
  position: relative;
  margin-top: 0;
}
.form-card {
  background: var(--wine);
  color: var(--sand);
  padding: 48px 44px 44px;
  position: relative;
  box-shadow: 0 30px 60px rgba(115,67,79,0.18);
}
.form-card::after {
  content: "";
  position: absolute;
  top: 18px; left: 18px;
  right: -18px; bottom: -18px;
  border: 1px solid var(--olive);
  z-index: -1;
}
.form-card__stamp {
  position: absolute;
  top: 24px; right: 28px;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--lime-accent);
  display: flex;
  align-items: center;
  gap: 8px;
}
.form-card__stamp-dot {
  width: 6px; height: 6px;
  background: var(--lime-accent);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(221,246,22,0.2);
  animation: topbar-pulse 1.6s ease-in-out infinite;
}
.form-card__eyebrow {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--sand-300);
  margin-bottom: 14px;
}

/* Easter egg — checkout mode indicator. Sits flush in the bottom-right
   corner of the form-card. Default = leaf (standard checkout); when the
   page URL carries ?id_vendor=… JS swaps it to a tiny bot. */
.form-card__easter {
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(196,154,163,0.45); /* rose-300 at low opacity, very discreet */
  pointer-events: auto;
  cursor: help;
  transition: color 240ms;
  z-index: 1;
}
.form-card__easter:hover { color: rgba(196,154,163,0.85); }
.form-card__easter-ico { width: 14px; height: 14px; }
.form-card__easter-ico--ai { display: none; }
.form-card__easter[data-mode="ai"] .form-card__easter-ico--standard { display: none; }
.form-card__easter[data-mode="ai"] .form-card__easter-ico--ai { display: block; }
.form-card__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 1.05;
  color: white;
  margin: 0 0 8px;
}
.form-card__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--lime-accent);
  font-weight: 400;
  font-size: 44px;
  display: block;
  margin-top: 4px;
}
.form-card__sub {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(242,214,179,0.85);
  margin: 14px 0 28px;
}
.form-card__sub strong { color: var(--lime-accent); font-weight: 700; }

.form-grid { display: grid; gap: 16px; }
.field { position: relative; }
.field__label {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sand);
  display: block;
  margin-bottom: 8px;
}
.field__label .req { color: var(--lime-accent); }
.field__input {
  width: 100%;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(242,214,179,0.25);
  color: white;
  font-family: var(--font-sans);
  font-size: 15px;
  padding: 14px 16px;
  border-radius: 0;
  outline: none;
  transition: border-color 200ms, background 200ms;
}
.field__input:focus {
  border-color: var(--lime-accent);
  background: rgba(255,255,255,0.1);
}
.field__input::placeholder { color: rgba(242,214,179,0.45); }

/* Phone input with DDI dropdown */
.phone-input { display: flex; width: 100%; position: relative; }
.phone-input__ddi {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(242,214,179,0.25);
  border-right: 0;
  color: var(--sand);
  font-family: var(--font-sans);
  font-size: 14px;
  cursor: pointer;
  flex: none;
  transition: border-color 200ms, background 200ms;
}
.phone-input__ddi:hover,
.phone-input__ddi[aria-expanded="true"] {
  border-color: var(--lime-accent);
  background: rgba(255,255,255,0.1);
}
.phone-input__flag {
  font-size: 18px;
  line-height: 1;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}
.phone-input__code { font-weight: 600; letter-spacing: 0.04em; }
.phone-input__chevron {
  width: 10px; height: 7px;
  opacity: 0.7;
  transition: transform 200ms;
}
.phone-input__ddi[aria-expanded="true"] .phone-input__chevron {
  transform: rotate(180deg);
}
.phone-input__field { flex: 1; min-width: 0; }
.phone-input__list {
  margin: 6px 0 0;
  padding: 4px 0;
  list-style: none;
  background: var(--wine-700);
  border: 1px solid rgba(242,214,179,0.25);
  max-height: 260px;
  overflow-y: auto;
  position: absolute;
  top: 100%; left: 0;
  width: 280px;
  z-index: 10;
}
.phone-input__list[hidden] { display: none; }
.phone-input__list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  font-family: var(--font-sans);
  font-size: 14px;
  color: var(--sand);
  cursor: pointer;
  transition: background 150ms;
}
.phone-input__list li:hover { background: rgba(255,255,255,0.08); }
.phone-input__list-flag {
  font-size: 18px; line-height: 1;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  flex: none;
}
.phone-input__list-name { flex: 1; }
.phone-input__list-code {
  font-style: normal;
  color: rgba(242,214,179,0.6);
  font-size: 13px;
  flex: none;
  font-variant-numeric: tabular-nums;
}

.form-error {
  margin: 0;
  padding: 12px 14px;
  background: rgba(158,74,74,0.18);
  border-left: 2px solid #E26A6A;
  color: #FFD9D9;
  font-size: 13px;
  line-height: 1.4;
}

.form-submit {
  margin-top: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  background: var(--lime-accent);
  color: var(--neutral-950);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 22px 24px;
  border: 0;
  cursor: pointer;
  transition: transform 200ms, background 200ms;
}
.form-submit:hover { background: white; transform: translateY(-1px); }
.form-submit:disabled { opacity: 0.6; cursor: wait; transform: none; }
.form-submit svg { width: 18px; height: 18px; flex: none; }

.form-foot {
  margin-top: 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-sans);
  font-size: 11px;
  line-height: 1.5;
  color: rgba(242,214,179,0.7);
}
.form-foot svg { width: 14px; height: 14px; flex: none; color: var(--lime-accent); }

.form-success {
  display: none;
  text-align: center;
  padding: 24px 0 8px;
}
.form-success svg {
  width: 56px; height: 56px;
  color: var(--lime-accent);
  margin: 0 auto 16px;
}
.form-success h4 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  color: white;
  margin: 0 0 10px;
}
.form-success p {
  font-family: var(--font-sans);
  font-size: 14px;
  color: rgba(242,214,179,0.85);
  margin: 0;
}
.form-card.is-submitted .form-grid,
.form-card.is-submitted .form-card__sub,
.form-card.is-submitted .form-foot { display: none; }
.form-card.is-submitted .form-success { display: block; }

/* ====================== WHATSAPP MODAL ====================== */
.wmodal {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms var(--ease-out);
}
.wmodal[hidden] { display: none; }
.wmodal.is-open {
  opacity: 1;
  pointer-events: auto;
}
.wmodal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(40,24,28,0.72);
  backdrop-filter: blur(2px);
}
.wmodal__panel {
  position: relative;
  width: 100%;
  max-width: 480px;
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  background: var(--wine);
  color: var(--sand);
  padding: 40px 32px 32px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.4);
  transform: translateY(8px);
  transition: transform 240ms var(--ease-out);
}
.wmodal.is-open .wmodal__panel { transform: translateY(0); }
.wmodal__close {
  position: absolute;
  top: 12px; right: 12px;
  background: transparent;
  border: 0;
  width: 36px; height: 36px;
  color: rgba(242,214,179,0.7);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 160ms;
}
.wmodal__close:hover { color: var(--sand); }
.wmodal__close svg { width: 20px; height: 20px; }

.wmodal__head {
  text-align: center;
  margin-bottom: 24px;
}
.wmodal__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  background: var(--lime-accent);
  color: var(--neutral-950);
  margin-bottom: 16px;
}
.wmodal__icon svg { width: 24px; height: 24px; }
.wmodal__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  color: white;
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.wmodal__sub {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.55;
  color: rgba(242,214,179,0.78);
  margin: 0;
}

.wmodal__form.is-submitted .form-grid,
.wmodal__form.is-submitted .form-foot { display: none; }
.wmodal__form.is-submitted .form-success { display: block; }

body.wmodal-locked { overflow: hidden; }

/* ====================== ONLINE ====================== */
.online {
  background: var(--olive);
  color: var(--sand);
  padding: 96px 0 88px;
  position: relative;
  overflow: hidden;
}
.online::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 80% 20%, rgba(242,214,179,0.16), transparent 50%),
    radial-gradient(ellipse at 10% 90%, rgba(166,104,116,0.18), transparent 50%);
  pointer-events: none;
}
.online .container { position: relative; }
.online__head {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 56px;
  margin-bottom: 48px;
  align-items: end;
}
.online__title {
  font-family: var(--font-display);
  font-weight: 700;
  color: white;
  font-size: 60px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  margin: 0;
}
.online__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--lime-accent);
  font-weight: 400;
  font-size: 64px;
}
.online__intro {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  color: rgba(242,214,179,0.85);
  margin: 0;
}
.online__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(242,214,179,0.18);
  border: 1px solid rgba(242,214,179,0.18);
  margin-bottom: 48px;
}
.online-card {
  background: var(--olive);
  padding: 32px 26px 36px;
  transition: background 240ms;
}
.online-card:hover { background: var(--olive-700); }
.online-card__num {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 48px;
  color: var(--lime-accent);
  line-height: 1;
  letter-spacing: -0.04em;
  margin-bottom: 18px;
}
.online-card__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
  color: white;
  margin: 0 0 10px;
}
.online-card__title em {
  font-family: var(--font-script);
  font-style: normal;
  color: var(--lime-accent);
  font-weight: 400;
  font-size: 26px;
}
.online-card__copy {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.6;
  color: rgba(242,214,179,0.85);
  margin: 0;
}
.online__cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: var(--lime-accent);
  color: var(--neutral-950);
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 22px 28px;
  cursor: pointer;
  min-width: 360px;
  transition: background 200ms, transform 200ms;
}
.online__cta:hover { background: white; transform: translateY(-1px); }
.online__cta svg { width: 18px; height: 18px; flex: none; }

/* ====================== FOOTER ====================== */
.foot {
  background: #F7F2EA;
  border-top: 1px solid rgba(115,67,79,0.15);
  padding: 36px 0;
}
.foot__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.foot__brand {
  font-family: var(--font-display);
  font-weight: 300;
  font-size: 22px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wine);
}
.foot__copy {
  font-family: var(--font-sans);
  font-size: 12px;
  color: var(--neutral-600);
}

/* ====================== RESPONSIVE ====================== */
/* Intermediate desktop — keep 2-col but scale title down so it fits
   the narrower left column at this viewport range. */
@media (min-width: 1200px) and (max-width: 1380px) {
  .hero__title { font-size: 64px; }
  .hero__title .accent { font-size: 80px; }
  .hero__title em { font-size: 84px; }
  .hero__signature { font-size: 44px; }
}

@media (max-width: 1199px) {
  .hero__inner { grid-template-columns: 1fr; gap: 48px; }
  .hero__art { max-width: 480px; }
  .testi__grid { grid-template-columns: repeat(2, 1fr); }
  .matricula__inner { grid-template-columns: 1fr; gap: 48px; }
  .matricula__title { font-size: 60px; }
  .matricula__title em { font-size: 64px; }

  .benefits__grid,
  .for-who__grid { grid-template-columns: repeat(2, 1fr); }
  .learn__list { grid-template-columns: repeat(2, 1fr); }
  .online__grid { grid-template-columns: repeat(2, 1fr); }
  .videos__grid { grid-template-columns: repeat(2, 1fr); }
  .videos__grid--three { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .container { padding: 0 24px; }
  .br-mobile { display: inline; }
  .br-desktop { display: none; }

  .topbar__inner { padding: 10px 16px; gap: 12px; }
  .topbar__brand { font-size: 17px; }
  .topbar__pulse { display: none; }
  .topbar__cta { font-size: 11px; padding: 10px 16px; flex: 1; justify-content: center; }

  .announce { font-size: 11px; padding: 10px 0; }
  .announce__track { gap: 14px; }

  .hero { padding: 40px 0 56px; }
  .hero::before { display: none; }
  .hero__inner { padding: 0 24px; gap: 36px; }
  .hero__tag { margin-bottom: 24px; font-size: 11px; padding: 8px 14px; }
  .hero__title { font-size: 44px; }
  .hero__title .accent { font-size: 56px; vertical-align: -4px; }
  .hero__title em { font-size: 60px; margin-left: 4px; }
  .hero__title-meta { flex-direction: column; align-items: flex-start; gap: 10px; }
  .hero__title-meta-r { text-align: left; padding-bottom: 0; font-size: 11px; }
  .hero__signature { font-size: 36px; }
  .hero__lede { font-size: 16px; margin-top: 22px; }
  .hero__bullets li { font-size: 14px; }
  .hero__cta { min-width: 0; width: 100%; padding: 18px 20px; font-size: 12px; }
  .hero__trust { gap: 14px; font-size: 12px; margin-top: 24px; }
  .hero__trust-divider { display: none; }
  /* Mobile mosaic — keep all 8 in vertical-friendly layout */
  .hero__mosaic { aspect-ratio: 1 / 1.85; }
  .hero__photo--a { top: 0; left: 0; width: 100%; height: 38%; }
  .hero__photo--b { top: 40%; left: 0; width: 32%; height: 14%; }
  .hero__photo--c { top: 40%; left: 34%; width: 32%; height: 14%; }
  .hero__photo--d { top: 40%; right: 0; width: 32%; height: 14%; }
  .hero__photo--f { top: 56%; left: 0; width: 100%; height: 12%; }
  .hero__photo--g { top: 70%; left: 0; width: 60%; height: 30%; }
  .hero__photo--h { top: 70%; right: 0; width: 38%; height: 14%; }
  .hero__photo--i { bottom: 0; right: 0; width: 38%; height: 14%; }

  .hero__photo-stamp { padding: 10px 14px 8px; top: 12px; left: 12px; }
  .hero__photo-stamp-num { font-size: 22px; }
  .hero__photo--a .hero__photo-stamp-num { font-size: 26px; }
  .hero__photo-stamp-label { font-size: 8px; }
  .hero__photo-stamp--feature { padding: 0 12px; gap: 8px; }
  .hero__photo-stamp--feature .hero__photo-stamp-num { font-size: 22px; }
  .hero__photo-stamp--feature .hero__photo-stamp-label { font-size: 9px; max-width: 100px; }
  .hero__photo--mini:hover { transform: scale(1.12); }
  .hero__stat { padding: 10px 12px; }
  .hero__stat-num { font-size: 28px; margin-bottom: 4px; }
  .hero__stat-label { font-size: 8px; letter-spacing: 0.18em; }

  .commit { padding: 56px 0 56px; }
  .commit .container { padding: 0 24px; }
  .commit__head { margin-bottom: 32px; }
  .commit__title { font-size: 36px; }
  .commit__title em { font-size: 40px; }
  .commit__intro { font-size: 14px; }
  .commit__item { padding: 14px 16px; gap: 14px; grid-template-columns: 28px 1fr; }
  .commit__icon { width: 28px; height: 28px; }
  .commit__icon svg { width: 16px; height: 16px; }
  .commit__copy { font-size: 14px; }

  .benefits, .for-who, .learn, .diff, .ebook, .lookbook, .videos, .testi, .profs, .matricula, .online {
    padding: 56px 0 56px;
  }
  .benefits__head, .for-who__head, .learn__head, .lookbook__head, .videos__head, .testi__head, .online__head {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 32px;
  }
  .benefits__title,
  .learn__title,
  .lookbook__title,
  .videos__title,
  .testi__title,
  .profs__title,
  .online__title,
  .diff__title { font-size: 40px; }
  .for-who__title { font-size: 44px; }
  .benefits__title em,
  .learn__title em,
  .lookbook__title em,
  .videos__title em,
  .testi__title em,
  .profs__title em,
  .online__title em,
  .diff__title em,
  .for-who__title em { font-size: 42px; }

  .benefits__grid,
  .for-who__grid { grid-template-columns: 1fr; }
  .benefit { padding: 28px 24px 30px; }
  .for-card { padding: 28px 24px 30px; }
  .for-card__num { font-size: 48px; margin-bottom: 12px; }
  .benefits__anchor { font-size: 18px; margin-top: 36px; }
  .benefits__anchor em { font-size: 30px; }

  .learn__list { grid-template-columns: 1fr; }
  .learn__item { padding: 22px 18px 26px; }
  .learn__name { font-size: 19px; }
  .learn__stats {
    flex-direction: column;
    gap: 18px;
    padding: 24px 18px;
    margin-top: 36px;
  }
  .learn__stat-divider { width: 32px; height: 1px; }
  .learn__stat-num { font-size: 30px; }

  .diff__grid { grid-template-columns: 1fr; }
  .diff-card { padding: 28px 24px; }
  .diff-card__title { font-size: 22px; }
  .diff-card__title em { font-size: 26px; }
  .diff-card--photo { grid-template-columns: 1fr; gap: 18px; }

  .ebook__inner { grid-template-columns: 1fr; gap: 40px; padding: 0 24px; }
  .ebook__title { font-size: 38px; }
  .ebook__title em { font-size: 42px; }
  .ebook__art { order: -1; }
  .ebook__photo { max-width: 280px; }
  .ebook__photo-foot { font-size: 10px; margin-top: 12px; }

  .lookbook__grid { grid-template-columns: 1fr 1fr; gap: 18px; }
  .lookbook__item:nth-child(3) { grid-column: 1 / -1; }
  .lookbook__item:nth-child(3) .lookbook__photo { aspect-ratio: 16 / 10; }
  .lookbook__caption { padding: 14px 0 4px; margin-top: 10px; }
  .lookbook__caption-num { font-size: 18px; }
  .lookbook__caption-name { font-size: 18px; }
  .lookbook__caption-name em { font-size: 22px; }

  .videos__grid,
  .videos__grid--three { grid-template-columns: 1fr; gap: 14px; }
  .videos__group-head { gap: 12px; flex-wrap: wrap; }
  .videos__group-label { font-size: 11px; }
  .videos__group-head--mt { margin-top: 36px; }
  .vplayer__title { font-size: 13px; }
  .vplayer__play { width: 40px; height: 40px; }
  .vplayer__play svg { width: 14px; height: 14px; }

  .testi__grid { grid-template-columns: 1fr; gap: 16px; }

  .profs__grid { grid-template-columns: 1fr; }
  .prof-card { grid-template-columns: 1fr; }
  .prof-card__photo { aspect-ratio: 4 / 5; max-height: 360px; }
  .prof-card__body { padding: 26px 24px 28px; }
  .prof-card__name { font-size: 28px; }
  .prof-card__name em { font-size: 32px; }
  .profs__sig { margin-top: 36px; }
  .profs__sig-script { font-size: 42px; }

  .urgency { padding: 56px 0; }
  .urgency__inner { grid-template-columns: 1fr; gap: 24px; padding: 0 24px; }
  .urgency__title { font-size: 32px; }
  .urgency__title em { font-size: inherit; }
  .urgency__copy { font-size: 14px; }
  .urgency__date { padding: 18px 22px 20px; }
  .urgency__date-day { font-size: 44px; }

  .matricula__inner { padding: 0 24px; gap: 36px; }
  .matricula__title { font-size: 44px; }
  .matricula__title em { font-size: 48px; }
  .matricula__lede { font-size: 15px; margin-bottom: 24px; }
  .matricula__check li { font-size: 14px; }
  .matricula__whats { padding: 14px 16px; }
  .matricula__whats svg { width: 24px; height: 24px; }
  .matricula__whats strong { font-size: 13px; }

  .form-card { padding: 36px 24px 28px; }
  .form-card::after { top: 10px; left: 10px; right: -10px; bottom: -10px; }
  .form-card__stamp { top: 16px; right: 18px; font-size: 9px; }
  .form-card__title { font-size: 28px; }
  .form-card__title em { font-size: 34px; }
  .form-card__sub { font-size: 13px; margin-bottom: 22px; }
  .form-submit { font-size: 12px; padding: 18px 18px; }
  .phone-input__list { width: 240px; }

  .online__grid { grid-template-columns: 1fr; }
  .online-card { padding: 28px 24px 30px; }
  .online-card__num { font-size: 36px; margin-bottom: 12px; }
  .online-card__title { font-size: 24px; }
  .online-card__title em { font-size: 32px; }
  .online__cta { min-width: 0; width: 100%; padding: 18px 20px; font-size: 12px; }

  .foot__inner { padding: 0 24px; flex-direction: column; align-items: flex-start; gap: 12px; }
  .foot__brand { font-size: 18px; }
}
