
/* Black Pro — component styles. Values come from tokens.css (tokens.json); gradients live here because tokens hold single colors. */

html, body { background: var(--carvao); color: var(--neutro-50); }
body { margin: 0; font-family: var(--font-body); font-size: 14px; line-height: 22.4px; -webkit-font-smoothing: antialiased; }
* { box-sizing: border-box; }
img { max-width: 100%; }
.bp-stage { padding: var(--space-6); display: flex; flex-wrap: wrap; gap: var(--space-5); align-items: flex-start; }

/* ---------- Surfaces ---------- */
.bp-aurora { position: relative; background: var(--carvao); overflow: hidden; isolation: isolate; }
.bp-aurora::before { content: ""; position: absolute; z-index: -1; left: 50%; bottom: -160px; width: 940px; height: 320px; transform: translateX(-50%);
  background:
    radial-gradient(50% 30% at 50% 60%, var(--lima) 0%, rgba(224,251,172,0) 100%),
    radial-gradient(50% 45% at 50% 55%, var(--ciano) 0%, rgba(36,199,214,0) 100%),
    radial-gradient(50% 60% at 50% 55%, var(--petroleo) 0%, rgba(0,112,143,0) 100%);
  filter: blur(40px); opacity: .9; pointer-events: none; }
.bp-aurora--top::before { bottom: auto; top: -200px; }

/* Liquid glass: fill + inset hairline + top light + deep drop shadow, blurred and saturated backdrop, and a sheen that follows the pointer (--mx/--my). */
.bp-glass { --mx: 50%; --my: 0%; position: relative; isolation: isolate; border: 0; border-radius: var(--radius-2xl); background: var(--vidro);
  box-shadow: var(--shadow-vidro); -webkit-backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro)); backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro));
  transition: box-shadow .35s ease; }
.bp-glass::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
  background: radial-gradient(420px circle at var(--mx) var(--my), var(--reflexo), transparent 55%); opacity: .9; }
/* Bevelled rim: a 1.5px gradient ring, bright along the bottom edge like light caught in thick glass */
.bp-glass::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: linear-gradient(180deg, var(--aro-topo) 0%, rgba(250,250,250,0.03) 38%, rgba(250,250,250,0.06) 72%, var(--aro-base) 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); }
.bp-glass:focus-within { box-shadow: var(--shadow-vidro-foco); }
.bp-glass--strong { background: radial-gradient(70% 60% at 100% 0%, rgba(224,251,172,0.075) 0%, rgba(224,251,172,0) 60%), var(--vidro-forte);
  box-shadow: inset 0 0 0 1px var(--borda-lima), inset 0 1px 0 var(--brilho-topo), 0 24px 70px rgba(9,11,11,0.5); }
.bp-glass--strong:focus-within { box-shadow: inset 0 0 0 1px rgba(224,251,172,0.4), inset 0 1px 0 rgba(250,250,250,0.1), 0 0 0 6px rgba(250,250,250,0.035), 0 24px 70px rgba(9,11,11,0.55); }
.bp-glass--soft { background: var(--vidro-suave); }
.bp-well { border: 0; border-radius: var(--radius-md); background: var(--poco); box-shadow: var(--shadow-poco); }
@media (max-width: 760px) { .bp-glass { border-radius: 22px; } }

/* Glass chip: segmented options, secondary pills */
.bp-chip { display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 32px; padding: 0 14px; border: 0; border-radius: var(--radius-full);
  font: 400 13px/1 var(--font-body); color: var(--neutro-400); cursor: pointer;
  background: linear-gradient(180deg, var(--chip-topo), var(--chip-base)); box-shadow: var(--shadow-chip); transition: color .2s, background .2s, box-shadow .2s, transform .2s; }
.bp-chip:hover { color: var(--neutro-200); background: linear-gradient(180deg, rgba(250,250,250,0.14), rgba(250,250,250,0.07)); }
.bp-chip[aria-pressed="true"], .bp-chip[aria-checked="true"] { color: var(--neutro-50); background: linear-gradient(180deg, var(--chip-ativo-topo), var(--chip-ativo-base)); box-shadow: var(--shadow-chip-ativo); }
.bp-chip:active { transform: scale(.96); }
.bp-chip:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }

/* ---------- Type helpers ---------- */
.bp-h1 { font-family: var(--font-display); font-weight: 400; font-size: 56px; line-height: 60px; letter-spacing: -1.68px; margin: 0; text-wrap: balance; }
.bp-h2 { font-family: var(--font-display); font-weight: 400; font-size: 44px; line-height: 50px; letter-spacing: -1.32px; margin: 0; text-wrap: balance; }
.bp-h2-answer { font-family: var(--font-display); font-weight: 400; font-size: 28px; line-height: 36px; letter-spacing: -0.56px; color: var(--lima); margin: 0; }
.bp-lead { font-size: 18px; line-height: 28px; color: var(--neutro-300); margin: 0; max-width: 64ch; }
.bp-muted { color: var(--neutro-400); }
.bp-accent { color: var(--lima); }
@media (max-width: 640px) {
  .bp-h1 { font-size: 38px; line-height: 42px; letter-spacing: -1.14px; }
  .bp-h2 { font-size: 30px; line-height: 36px; letter-spacing: -0.9px; }
  .bp-h2-answer { font-size: 22px; line-height: 30px; }
}

/* ---------- Badge ---------- */
.bp-badge { display: inline-flex; align-items: center; height: 28px; padding: 6px 11px; border-radius: var(--radius-lg); border: 1px solid var(--borda-lima); background: var(--tinta-lima);
  font: 700 11px/14.3px var(--font-body); letter-spacing: .33px; text-transform: uppercase; color: var(--lima); white-space: nowrap; }
.bp-badge--highlight { height: auto; padding: 9px 24px; border-radius: var(--radius-pill); border-color: transparent; color: var(--on-lima);
  background: linear-gradient(171.6deg, var(--creme) 0%, var(--lima) 100%); box-shadow: var(--shadow-glow-lima); }

/* ---------- Button ---------- */
/* Primary CTA (Figma "Quero começar agora"): creme -> lima fill, dark label, 4px corners, lima glow.
   A light arc runs around the 2px border without stopping (conic gradient on border-box), with dark speckles following it.
   Hover: the button lifts, the arc opens wide, a shine band sweeps across, and the lima halo grows. */
@property --bp-angle { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
@property --bp-angle-offset { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
@property --bp-arc { syntax: "<percentage>"; initial-value: 6%; inherits: false; }
@property --bp-shine { syntax: "<color>"; initial-value: #fafafa; inherits: false; }
.bp-btn { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 22px; min-height: 58px; padding: 18px 32px;
  border: 2px solid transparent; border-radius: var(--radius-sm); outline-offset: 4px; cursor: pointer; text-decoration: none;
  font: 700 16px/21px var(--font-body); color: var(--on-lima);
  background:
    linear-gradient(171deg, var(--creme) 0%, var(--lima) 100%) padding-box,
    conic-gradient(from calc(var(--bp-angle) - var(--bp-angle-offset)), transparent, var(--lima) var(--bp-arc), var(--bp-shine) calc(var(--bp-arc) * 2), var(--lima) calc(var(--bp-arc) * 3), transparent calc(var(--bp-arc) * 4)) border-box;
  box-shadow: 1px 4px 20px 0 rgba(224,251,172,0.3);
  transition: --bp-angle-offset .6s cubic-bezier(.25,1,.5,1), --bp-arc .6s cubic-bezier(.25,1,.5,1), --bp-shine .6s cubic-bezier(.25,1,.5,1), box-shadow .45s cubic-bezier(.25,1,.5,1), transform .45s cubic-bezier(.25,1,.5,1), filter .3s;
  animation: bp-angle 3s linear infinite; }
.bp-btn::before, .bp-btn::after { content: ""; position: absolute; z-index: -1; pointer-events: none; }
/* speckles that follow the arc, on the fill */
.bp-btn::before { inset: 2px; border-radius: inherit; opacity: .22;
  background: radial-gradient(circle at 2px 2px, var(--neutro-950) 0.6px, transparent 0); background-size: 4px 4px;
  -webkit-mask-image: conic-gradient(from calc(var(--bp-angle) + 45deg), #000, transparent 12% 88%, #000); mask-image: conic-gradient(from calc(var(--bp-angle) + 45deg), #000, transparent 12% 88%, #000);
  animation: bp-angle 3s linear infinite; }
/* shine band that sweeps across on hover */
.bp-btn::after { top: -50%; bottom: -50%; left: 0; width: 45%; transform: translateX(-160%) skewX(-20deg);
  background: linear-gradient(90deg, rgba(250,250,250,0) 0%, rgba(250,250,250,0.75) 50%, rgba(250,250,250,0) 100%); opacity: 0; }
.bp-btn img { width: 22px; height: 22px; transition: transform .45s cubic-bezier(.25,1,.5,1); }
.bp-btn:is(:hover, :focus-visible), .bp-btn.is-hover {
  --bp-arc: 22%; --bp-angle-offset: 95deg; --bp-shine: var(--neutro-50);
  transform: translateY(-3px); filter: saturate(1.08) brightness(1.03);
  box-shadow: 0 0 0 1px rgba(224,251,172,0.55), 0 12px 32px -6px rgba(224,251,172,0.55), 0 0 64px 4px rgba(224,251,172,0.28); }
.bp-btn:is(:hover, :focus-visible)::after, .bp-btn.is-hover::after { opacity: 1; animation: bp-sweep .9s cubic-bezier(.25,1,.5,1) forwards; }
.bp-btn:is(:hover, :focus-visible)::before, .bp-btn.is-hover::before { opacity: .35; }
.bp-btn:hover img, .bp-btn.is-hover img { transform: translateX(6px); }
.bp-btn:active { transform: translateY(0) scale(.98); box-shadow: 0 0 0 1px rgba(224,251,172,0.5), 0 4px 16px rgba(224,251,172,0.4); }
@keyframes bp-angle { to { --bp-angle: 360deg; } }
@keyframes bp-sweep { from { transform: translateX(-160%) skewX(-20deg); } to { transform: translateX(330%) skewX(-20deg); } }
@keyframes bp-spin { to { rotate: 360deg; } }
/* Solid brand variant (creme -> lima), for a light band or a second CTA */
.bp-btn--solid { color: var(--on-lima); border: 0; animation: none; background: linear-gradient(160deg, var(--creme) 0%, var(--lima) 55%); box-shadow: var(--shadow-glow-lima); }
.bp-btn--solid::before, .bp-btn--solid::after { display: none; }
.bp-btn--solid:hover { box-shadow: var(--shadow-glow-lima-pulso); }
.bp-btn-glass { display: inline-grid; place-items: center; height: 40px; padding: 0 20px; border: 0; border-radius: var(--radius-sm); font: 700 14px/1 var(--font-body); color: var(--neutro-50); text-decoration: none; cursor: pointer;
  background: rgba(250,250,250,0.07); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.1); transition: background .2s, transform .2s; }
.bp-btn-glass:hover { background: rgba(250,250,250,0.13); }
.bp-btn-glass:active { transform: translateY(1px); }
.bp-btn-glass:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }
.bp-btn:focus-visible, .bp-btn-ghost:focus-visible, .bp-faq summary:focus-visible, .bp-module summary:focus-visible, .bp-segment button:focus-visible, .bp-play:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }
.bp-btn--block { width: 100%; }
.bp-btn-ghost { display: inline-flex; align-items: center; justify-content: center; padding: 5px 9px; border-radius: var(--radius-lg); border: 1px solid rgba(224,251,172,0.22);
  background: var(--tinta-lima-forte); color: var(--lima); font: 400 11px/17.6px var(--font-body); text-decoration: none; cursor: pointer; white-space: nowrap; }
.bp-secure { display: flex; align-items: center; justify-content: center; gap: var(--space-2); font: 700 16px/19.2px var(--font-body); color: var(--neutro-50); padding-top: 17px; }
.bp-secure img { width: 24px; height: 24px; }
@media (prefers-reduced-motion: reduce) { .bp-btn, .bp-btn::before, .bp-btn::after, .bp-btn:hover::after, .bp-btn img, .bp-chip, .bp-glass, .bp-btn-glass { transition: none; } :is(.bp-btn, .bp-chip, .bp-glass, .bp-btn-glass, #bp-rm), :is(.bp-btn, #bp-rm)::before, :is(.bp-btn, #bp-rm)::after, :is(.bp-btn, #bp-rm) img { animation: none; } .bp-btn:hover img, .bp-btn.is-hover img { transform: none; } }

/* ---------- Checklist ---------- */
.bp-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-4); }
.bp-checklist li { display: flex; gap: var(--space-3); align-items: flex-start; color: var(--neutro-300); font-size: 14px; line-height: 22.4px; }
.bp-checklist img { width: 24px; height: 24px; flex: none; margin-top: -1px; }
.bp-checklist--well { padding: var(--space-4); }

/* ---------- Segmented (Parcelado / À vista) ---------- */
/* Segmented control: a thick glass pill track with a darker pill thumb that slides. Set --n (options) and --i (active index) on .bp-segment. */
.bp-segment { --n: 2; --i: 0; position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); padding: 6px; border-radius: var(--radius-full);
  background: linear-gradient(180deg, rgba(250,250,250,0.03) 0%, rgba(250,250,250,0.09) 100%), var(--vidro);
  box-shadow: inset 0 2px 6px rgba(9,11,11,0.45), inset 0 -10px 18px -8px rgba(250,250,250,0.12), 0 10px 30px rgba(9,11,11,0.35);
  -webkit-backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro)); backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro)); }
.bp-segment::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: linear-gradient(180deg, rgba(250,250,250,0.18) 0%, rgba(250,250,250,0.03) 40%, rgba(250,250,250,0.08) 70%, rgba(250,250,250,0.55) 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); }
.bp-segment__thumb { position: absolute; z-index: -1; top: 6px; bottom: 6px; left: 6px; width: calc((100% - 12px) / var(--n)); border-radius: var(--radius-full);
  transform: translateX(calc(100% * var(--i))); transition: transform .45s cubic-bezier(.16,1,.3,1);
  background: linear-gradient(180deg, rgba(9,11,11,0.55) 0%, rgba(26,28,28,0.35) 100%);
  box-shadow: inset 0 1px 0 rgba(250,250,250,0.06), inset 0 -1px 0 rgba(250,250,250,0.08), 0 2px 10px rgba(9,11,11,0.35); }
.bp-segment__opt { position: relative; min-height: 44px; padding: 10px 18px; border: 0; background: none; border-radius: var(--radius-full); cursor: pointer;
  font: 400 15px/1 var(--font-body); color: var(--neutro-400); transition: color .25s; }
.bp-segment__opt[aria-pressed="true"] { color: var(--neutro-50); }
.bp-segment__opt:hover { color: var(--neutro-200); }
.bp-segment__opt:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .bp-segment__thumb { transition: none; } }

/* ---------- Pricing card ---------- */
.bp-pricing { width: 100%; max-width: 480px; padding: var(--space-7); display: flex; flex-direction: column; }
.bp-pricing__title { font-size: 30px; line-height: 33.6px; letter-spacing: -0.9px; margin: 18px 0 0; font-weight: 400; }
.bp-pricing__sub { font-size: 13px; line-height: 20.8px; color: var(--neutro-400); margin: 12px 0 25px; }
.bp-pricing__from { text-align: center; margin: 24px 0 0; font-size: 14px; color: var(--neutro-400); }
.bp-pricing__from s { color: var(--preco-riscado); }
.bp-pricing__price { text-align: center; margin: 4px 0 0; padding-bottom: 8px; white-space: nowrap; }
.bp-pricing__price small { font-size: 18px; color: var(--neutro-200); margin-right: 6px; }
.bp-pricing__price strong { font-weight: 400; font-size: 58px; line-height: 63.8px; letter-spacing: -2.32px; color: var(--lima); }
.bp-pricing__note { text-align: center; font: 700 12px/19.2px var(--font-body); color: var(--neutro-100); margin: 0 0 16px; }
.bp-pricing__cta { margin-top: 32px; }
.bp-pricing__hero { margin: calc(var(--space-7) * -1) calc(var(--space-7) * -1) var(--space-5); padding: 80px var(--space-8) var(--space-8); border-radius: var(--radius-2xl) var(--radius-2xl) 0 0; display: flex; justify-content: center; }
.bp-pricing__hero img.bp-logo { width: 100%; max-width: 320px; }
@media (max-width: 480px) { .bp-pricing { padding: var(--space-5); } .bp-pricing__price strong { font-size: 44px; } }

/* ---------- Cards ---------- */
.bp-card { padding: var(--space-6); max-width: 390px; display: flex; flex-direction: column; }
.bp-card__icon { width: 48px; height: 48px; }
.bp-card__top { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-3); }
.bp-card__title { font-size: 24px; line-height: 26.88px; letter-spacing: -0.72px; font-weight: 400; margin: 24px 0 0; color: var(--neutro-50); }
.bp-card__text { font-size: 14px; line-height: 22.4px; color: var(--neutro-300); margin: 12px 0 0; }
.bp-card__meta { font-size: 12px; line-height: 19.2px; color: var(--neutro-400); margin: 8px 0 0; }

.bp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; max-width: 900px; }
.bp-grid > * { padding: var(--space-8); border-right: 1px solid var(--borda-fina); border-bottom: 1px solid var(--borda-fina); min-width: 0; }
.bp-grid > *:nth-child(2n) { border-right: 0; }
.bp-grid > *:nth-last-child(-n+2):nth-child(odd), .bp-grid > *:last-child { border-bottom: 0; }
.bp-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: none; }
.bp-grid--4 > * { border-bottom: 0; padding: var(--space-6); }
.bp-grid--4 > *:nth-child(2n) { border-right: 1px solid var(--borda-fina); }
.bp-grid--4 > *:last-child { border-right: 0; }
.bp-pillar__num { font-size: 24px; line-height: 1; color: var(--lima); opacity: .9; }
.bp-pillar__title { font-size: 21px; line-height: 27px; letter-spacing: -0.42px; margin: 20px 0 0; font-weight: 400; }
@media (max-width: 820px) { .bp-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bp-grid--4 > *:nth-child(2n) { border-right: 0; } .bp-grid--4 > *:nth-child(-n+2) { border-bottom: 1px solid var(--borda-fina); } }
@media (max-width: 560px) { :is(.bp-grid, .bp-grid--4) > :is(*, #bp-grid) { border-right: 0; } .bp-grid, .bp-grid--4 { grid-template-columns: minmax(0, 1fr); } .bp-grid > *, .bp-grid--4 > * { border-bottom: 1px solid var(--borda-fina); padding: var(--space-5); } .bp-grid > *:last-child { border-bottom: 0; } }

/* ---------- Stat strip ---------- */
.bp-stats { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); align-items: center; margin: 0; padding: 0; list-style: none; }
.bp-stats li { display: flex; align-items: baseline; gap: 6px; color: var(--neutro-300); font-size: 14px; }
.bp-stats li + li::before { content: ""; width: 1px; height: 18px; background: var(--borda-fina); margin-right: var(--space-5); align-self: center; }
.bp-stats strong { font-family: var(--font-display); font-weight: 400; font-size: 28px; line-height: 1; color: var(--lima); letter-spacing: -0.56px; }

/* ---------- Guarantee ---------- */
.bp-guarantee { display: flex; gap: var(--space-6); align-items: center; padding: 34px; background: linear-gradient(162deg, rgba(224,251,172,0.047) 8.5%, rgba(36,199,214,0.04) 91.5%), linear-gradient(175deg, rgba(250,250,250,0.05) 6.17%, rgba(250,250,250,0.01) 45.62%, rgba(250,250,250,0.024) 93.83%), var(--vidro-suave); }
.bp-guarantee__icon { flex: none; width: 72px; height: 72px; border-radius: var(--radius-xl); display: grid; place-items: center; background: linear-gradient(135deg, var(--creme) 0%, var(--lima) 100%); box-shadow: var(--shadow-glow-lima); }
.bp-guarantee__icon img { width: 46px; height: 46px; }
.bp-guarantee h3 { font-size: 26px; line-height: 29.12px; letter-spacing: -0.78px; font-weight: 400; margin: 0; }
.bp-guarantee p { margin: 12px 0 0; color: var(--neutro-300); max-width: 72ch; }
.bp-guarantee p.bp-accent { color: var(--lima); }
@media (max-width: 560px) { .bp-guarantee { flex-direction: column; align-items: flex-start; padding: var(--space-5); } }

/* ---------- FAQ ---------- */
.bp-faq { display: grid; gap: 12px; }
.bp-faq details { border-radius: var(--radius-xl); padding: 0 var(--space-5); overflow: hidden; }
.bp-faq summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: 23px 0; cursor: pointer;
  font-size: 22px; line-height: 35.2px; letter-spacing: -0.44px; color: var(--neutro-50); }
.bp-faq summary::-webkit-details-marker { display: none; }
.bp-faq summary img { width: 24px; height: 24px; flex: none; transition: transform .2s ease; }
.bp-faq details[open] summary img { transform: rotate(180deg); }
.bp-faq details p { margin: 0; padding: 0 32px 24px 0; max-width: 700px; color: var(--neutro-300); }
@media (max-width: 560px) { .bp-faq summary { font-size: 18px; line-height: 26px; padding: 18px 0; } }

/* ---------- Module accordion ---------- */
.bp-modules { overflow: hidden; max-width: 850px; }
.bp-module + .bp-module { border-top: 1px solid var(--borda-fina); }
.bp-module summary { list-style: none; display: flex; gap: 20px; align-items: center; padding: var(--space-5); cursor: pointer; background: linear-gradient(161deg, rgba(224,251,172,0.03) 8.5%, rgba(224,251,172,0) 91.5%); }
.bp-module summary::-webkit-details-marker { display: none; }
.bp-module__num { min-width: 32px; font-size: 24px; color: var(--lima); opacity: .8; }
.bp-module__head { flex: 1; min-width: 0; }
.bp-module__title { display: block; font-size: 21px; line-height: 33.6px; letter-spacing: -0.42px; color: var(--neutro-50); }
.bp-module__meta { display: block; font-size: 12px; line-height: 19.2px; color: var(--neutro-400); padding-top: 4px; }
.bp-module summary > img { width: 24px; height: 24px; flex: none; transition: transform .2s ease; }
.bp-module[open] summary > img { transform: rotate(180deg); }
.bp-module__body { background: rgba(9,11,11,0.25); padding: 0 var(--space-5) 20px 76px; }
.bp-module__body > p { margin: 0; padding: 16px 0; color: var(--neutro-300); border-top: 1px solid var(--borda-fina); }
.bp-module__teacher { display: flex; align-items: center; gap: var(--space-3); padding: 15px 0; border-top: 1px solid var(--borda-fina); }
.bp-module__teacher img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; object-position: top; }
.bp-module__teacher span { color: var(--neutro-50); }
.bp-module__teacher small { display: block; font-size: 12px; color: var(--neutro-400); }
.bp-lessons { list-style: none; margin: 0; padding: 0; }
.bp-lessons li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-top: 1px solid var(--borda-fina); color: var(--neutro-300); }
.bp-lessons li img { width: 24px; height: 24px; flex: none; }
.bp-lessons li span { flex: 1; min-width: 0; }
@media (max-width: 560px) { .bp-module summary { padding: var(--space-4); gap: 12px; } .bp-module__body { padding-left: var(--space-4); padding-right: var(--space-4); } .bp-module__title { font-size: 18px; line-height: 26px; } }

/* ---------- Video ---------- */
.bp-video { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 9; width: 100%; max-width: 1200px; overflow: hidden; border-radius: var(--radius-2xl); box-shadow: var(--shadow-vidro); }
.bp-video::before { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--borda-vidro), inset 0 1px 0 var(--brilho-topo); pointer-events: none; }
.bp-video > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; }
.bp-video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(13,51,63,0.5), rgba(13,51,63,0.32) 50%, rgba(26,28,28,0.13)); pointer-events: none; }
.bp-play { position: relative; z-index: 1; width: 108px; height: 108px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer;
  background: radial-gradient(120% 120% at 20% 100%, rgba(224,251,172,0.2) 0%, rgba(224,251,172,0) 60%), linear-gradient(180deg, rgba(26,28,28,0.85), rgba(9,11,11,0.85));
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: var(--shadow-cta); transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .4s cubic-bezier(.16,1,.3,1); }
.bp-play:hover { transform: scale(1.06); box-shadow: var(--shadow-cta-hover); }
.bp-play:active { transform: scale(.94); }
@media (prefers-reduced-motion: reduce) { .bp-play { animation: none; transition: none; } }
.bp-play img { width: 54px; height: 54px; }
@media (max-width: 560px) { .bp-play { width: 72px; height: 72px; } .bp-play img { width: 36px; height: 36px; } .bp-video { border-radius: var(--radius-xl); } }

/* ---------- Teacher card ---------- */
.bp-teacher { padding: var(--space-6); max-width: 560px; }
.bp-teacher__head { display: flex; gap: 20px; align-items: center; }
.bp-teacher__head img { width: 88px; height: 104px; border-radius: 12px; object-fit: cover; object-position: top; flex: none; }
.bp-teacher__name { font-size: 26px; line-height: 30px; letter-spacing: -0.78px; font-weight: 400; margin: 0; }
.bp-teacher__role { font-size: 14px; color: var(--lima); margin: 4px 0 0; }
.bp-teacher__bio { color: var(--neutro-50); margin: 20px 0 0; }
.bp-teacher ul { margin: 14px 0 0; padding-left: 18px; color: var(--neutro-300); display: grid; gap: 8px; }
.bp-teacher ul li::marker { color: var(--lima); }
.bp-teacher__reg { margin: 16px 0 0; font-size: 12px; color: var(--lima); }

/* ---------- Tables (grade de módulos, instrumentos, valor) ---------- */
.bp-table-wrap { overflow-x: auto; border-radius: var(--radius-xl); }
.bp-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 22.4px; }
.bp-table th { text-align: left; font-weight: 700; color: var(--lima); padding: 14px var(--space-5); border-bottom: 1px solid var(--borda-fina); white-space: nowrap; }
.bp-table td { padding: 10px var(--space-5); border-bottom: 1px solid var(--borda-fina); color: var(--neutro-300); vertical-align: top; }
.bp-table tr:last-child td { border-bottom: 0; }
.bp-table td.bp-table__key { color: var(--lima); font-weight: 700; white-space: nowrap; }
.bp-table td.bp-table__num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.bp-table s { color: var(--preco-riscado); }
.bp-value__total { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); padding: 18px var(--space-5); margin: 0;
  background: linear-gradient(160deg, var(--creme) 0%, var(--lima) 55%); box-shadow: inset 0 1px 0 rgba(250,250,250,0.55); color: var(--on-lima); }
.bp-value__total span { font-size: 22px; }
.bp-value__total strong { font-weight: 400; font-size: 30px; letter-spacing: -0.9px; font-variant-numeric: tabular-nums; }

/* ---------- Schedule ---------- */
.bp-schedule { list-style: none; margin: 0; padding: 0; }
.bp-schedule li { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: var(--space-4); align-items: baseline; padding: 14px var(--space-5); border-top: 1px solid var(--borda-fina); }
.bp-schedule li:first-child { border-top: 0; }
.bp-schedule time { font-variant-numeric: tabular-nums; color: var(--lima); font-size: 14px; }
.bp-schedule span { color: var(--neutro-50); }
.bp-schedule small { display: block; color: var(--neutro-400); font-size: 12px; }
@media (max-width: 560px) { .bp-schedule li { grid-template-columns: 80px minmax(0, 1fr); } .bp-schedule li .bp-badge { grid-column: 2; justify-self: start; } }

/* ---------- Header & footer ---------- */
.bp-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4);
  padding: 14px max(16px, env(safe-area-inset-right, 0px)) 14px max(16px, env(safe-area-inset-left, 0px)); background: var(--vidro);
  -webkit-backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro)); backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro));
  box-shadow: inset 0 -1px 0 var(--borda-vidro), 0 12px 40px rgba(9,11,11,0.35); }
.bp-header .bp-btn { animation: none; }
.bp-header .bp-logo { height: 28px; width: auto; }
.bp-header .bp-btn { min-height: 44px; padding: 10px 20px; font-size: 14px; gap: 12px; }
.bp-footer { padding: var(--space-8) max(16px, env(safe-area-inset-right, 0px)) var(--space-8) max(16px, env(safe-area-inset-left, 0px)); border-top: 1px solid var(--borda-fina); display: grid; gap: var(--space-5); justify-items: center; text-align: center; }
.bp-footer__partners { display: flex; align-items: center; gap: var(--space-5); flex-wrap: wrap; justify-content: center; }
.bp-footer__partners img { height: 40px; width: auto; }
.bp-footer__plus { color: var(--lima); font-size: 24px; }
.bp-footer small { color: var(--neutro-400); font-size: 12px; }

/* =====================================================================
   SECTIONS — page-level patterns built from the components above
   ===================================================================== */
.bp-section { padding: var(--space-10) max(16px, env(safe-area-inset-right, 0px)) var(--space-10) max(16px, env(safe-area-inset-left, 0px)); }
.bp-container { width: 100%; max-width: 1440px; margin: 0 auto; }
@media (min-width: 761px) { .bp-section { padding-left: max(48px, env(safe-area-inset-left, 0px)); padding-right: max(48px, env(safe-area-inset-right, 0px)); } }
@media (max-width: 760px) { .bp-section { padding-top: var(--space-9); padding-bottom: var(--space-9); } }

/* Section heading: eyebrow with a lima dot, a two-tone title, an optional intro and controls on the right */
.bp-eyebrow { display: inline-flex; align-items: center; gap: 10px; font: 700 12px/1 var(--font-body); letter-spacing: 1.4px; text-transform: uppercase; color: var(--lima); }
.bp-eyebrow::before { content: ""; width: 14px; height: 6px; border-radius: var(--radius-full); background: var(--lima); box-shadow: 0 0 10px rgba(224,251,172,0.5); }
.bp-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-5) var(--space-8); align-items: end; margin-bottom: var(--space-8); }
.bp-heading__title { font-family: var(--font-display); font-weight: 400; font-size: 56px; line-height: 1.02; letter-spacing: -1.9px; margin: 16px 0 0; text-wrap: balance; color: var(--neutro-50); }
.bp-heading__title span { display: block; color: var(--neutro-400); }
.bp-heading__title span.bp-accent { color: var(--lima); }
.bp-heading__aside { max-width: 380px; display: grid; gap: var(--space-5); justify-items: start; }
.bp-heading__aside p { margin: 0; color: var(--neutro-400); font-size: 16px; line-height: 26px; }
.bp-arrows { display: flex; gap: 10px; }
.bp-arrow { width: 52px; height: 52px; border-radius: 50%; border: 0; display: grid; place-items: center; cursor: pointer; color: var(--neutro-50);
  background: linear-gradient(180deg, var(--chip-topo), var(--chip-base)); box-shadow: var(--shadow-chip), 0 8px 20px rgba(9,11,11,0.3); transition: background .2s, box-shadow .3s; }
.bp-arrow:hover { box-shadow: inset 0 0 0 1px rgba(224,251,172,0.6), 0 0 18px rgba(224,251,172,0.2); }
.bp-arrow:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }
.bp-arrow svg { width: 18px; height: 18px; }
@media (max-width: 760px) { .bp-heading { grid-template-columns: minmax(0, 1fr); } .bp-heading__title { font-size: 38px; letter-spacing: -1.2px; } }

/* Pillar card: tall image card, ring label, giant word, chips, "Ver mais" */
.bp-pillar-card { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-8);
  min-height: 520px; padding: 32px; border-radius: var(--radius-2xl); color: var(--neutro-50); text-decoration: none;
  background: radial-gradient(90% 60% at 80% 30%, rgba(36,199,214,0.55) 0%, rgba(0,112,143,0.35) 35%, rgba(26,28,28,0) 70%), radial-gradient(70% 40% at 20% 100%, rgba(224,251,172,0.35) 0%, rgba(224,251,172,0) 70%), linear-gradient(180deg, #1d4e5c 0%, #0d333f 55%, var(--carvao) 100%);
  box-shadow: var(--shadow-vidro); transition: transform .5s cubic-bezier(.16,1,.3,1); }
.bp-pillar-card::before { content: ""; position: absolute; z-index: -1; right: -30%; top: 8%; width: 110%; aspect-ratio: 1; border-radius: 50%;
  border: 26px solid rgba(250,250,250,0.08); box-shadow: inset 0 0 40px rgba(250,250,250,0.12), 0 0 60px rgba(36,199,214,0.25); filter: blur(1px); }
.bp-pillar-card::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(26,28,28,0) 40%, rgba(26,28,28,0.75) 100%); }
.bp-pillar-card:hover { transform: translateY(-4px); }
.bp-pillar-card__label { display: inline-flex; align-items: center; gap: 12px; font-size: 18px; }
.bp-pillar-card__label::before { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--lima); }
.bp-pillar-card__word { font-family: var(--font-display); font-weight: 400; font-size: 64px; line-height: .95; letter-spacing: -2.4px; margin: 0; }
.bp-pillar-card__text { margin: 14px 0 0; color: var(--neutro-200); font-size: 16px; line-height: 24px; max-width: 34ch; }
.bp-pillar-card__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-5); }
.bp-pillar-card__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bp-pillar-card__more { white-space: nowrap; font-size: 15px; color: var(--neutro-50); }
.bp-pillar-card__more::after { content: " ↗"; color: var(--lima); }
.bp-chip--outline { height: 34px; font-size: 14px; color: var(--neutro-50); background: rgba(250,250,250,0.08); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.35);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.bp-pillar-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: var(--space-5); }
@media (max-width: 560px) { .bp-pillar-card { min-height: 440px; padding: 24px; } .bp-pillar-card__word { font-size: 46px; letter-spacing: -1.6px; } }
@media (prefers-reduced-motion: reduce) { .bp-pillar-card { transition: none; } .bp-pillar-card:hover { transform: none; } }

/* Expert carousel: portrait cards, the active one widens and shows the bio */
.bp-experts { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 4px 24px; scrollbar-width: none; }
.bp-experts::-webkit-scrollbar { display: none; }
.bp-expert { position: relative; flex: 0 0 280px; height: 600px; overflow: hidden; border-radius: 22px; scroll-snap-align: start; cursor: pointer; border: 0; padding: 0; text-align: left; color: var(--neutro-50); background: var(--neutro-950);
  box-shadow: var(--shadow-vidro); transition: flex-basis .6s cubic-bezier(.16,1,.3,1), box-shadow .3s; }
.bp-expert img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 15%; filter: grayscale(1) contrast(1.05); transition: filter .6s, transform .8s cubic-bezier(.16,1,.3,1); }
.bp-expert::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9,11,11,0) 40%, rgba(9,11,11,0.88) 100%); }
.bp-expert__body { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 28px; }
.bp-expert__count { font: 400 12px/1 var(--font-body); letter-spacing: 2px; color: var(--neutro-400); font-variant-numeric: tabular-nums; }
.bp-expert__name { display: block; font-size: 24px; line-height: 1.15; letter-spacing: -0.5px; margin-top: 12px; }
.bp-expert__role { display: block; font-size: 14px; color: var(--neutro-400); margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bp-expert__bio { display: block; max-height: 0; opacity: 0; overflow: hidden; color: var(--neutro-200); font-size: 16px; line-height: 26px; transition: max-height .6s, opacity .4s, margin .4s; }
.bp-expert[aria-current="true"] { flex-basis: 580px; box-shadow: inset 0 0 0 1.5px var(--lima), 0 0 30px rgba(224,251,172,0.18), 0 24px 70px rgba(9,11,11,0.5); }
.bp-expert[aria-current="true"] img { filter: grayscale(0); transform: scale(1.03); }
.bp-expert[aria-current="true"] .bp-expert__name { font-size: 36px; letter-spacing: -1px; }
.bp-expert[aria-current="true"] .bp-expert__bio { max-height: 200px; opacity: 1; margin-top: 20px; }
.bp-expert:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }
@media (max-width: 760px) { .bp-expert { flex-basis: 78vw; height: 520px; } .bp-expert[aria-current="true"] { flex-basis: 86vw; } }
@media (prefers-reduced-motion: reduce) { .bp-expert, .bp-expert img, .bp-expert__bio { transition: none; } }

/* Sticky offer bar: floating glass pill fixed at the bottom of the viewport */
.bp-offerbar { display: flex; align-items: center; gap: var(--space-6); padding: 14px 14px 14px 26px; border-radius: 22px; width: max-content; max-width: calc(100% - 32px);
  background: linear-gradient(180deg, rgba(40,41,41,0.82), rgba(26,28,28,0.9)); box-shadow: var(--shadow-vidro);
  -webkit-backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro)); backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro)); }
.bp-offerbar--fixed { position: fixed; z-index: 20; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); }
.bp-offerbar img.bp-logo { height: 22px; width: auto; display: block; }
.bp-offerbar small { display: block; margin-top: 8px; font-size: 13px; color: var(--neutro-400); }
.bp-offerbar .bp-btn { min-height: 52px; padding: 12px 24px; font-size: 15px; }
@media (max-width: 480px) { .bp-offerbar { gap: var(--space-4); padding-left: 18px; } .bp-offerbar small { display: none; } }

/* Pillar tabs: tab bar on top, text card + visual panel below */
.bp-tabs { padding: 8px; border-radius: 28px; }
.bp-tabs__bar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-bottom: 8px; }
.bp-tabs__tab { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 10px 16px; border: 0; border-radius: 20px; background: none; cursor: pointer;
  font: 400 16px/1.2 var(--font-body); color: var(--neutro-400); transition: color .25s, background .25s, box-shadow .25s; }
.bp-tabs__tab b { font-weight: 400; color: var(--lima); font-variant-numeric: tabular-nums; }
.bp-tabs__tab:hover { color: var(--neutro-200); }
.bp-tabs__tab[aria-selected="true"] { color: var(--neutro-50); background: linear-gradient(180deg, var(--chip-ativo-topo), var(--chip-ativo-base)); box-shadow: var(--shadow-chip-ativo); }
.bp-tabs__tab:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }
.bp-tabs__panel { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 8px; }
.bp-tabs__panel[hidden] { display: none; }
.bp-tabs__text { display: flex; flex-direction: column; gap: var(--space-5); padding: 40px; border-radius: 22px; background: rgba(250,250,250,0.03); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.05); }
.bp-tabs__text h3 { font-family: var(--font-display); font-weight: 400; font-size: 34px; line-height: 1.12; letter-spacing: -0.9px; margin: 0; }
.bp-tabs__text .bp-btn { margin-top: auto; }
.bp-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.bp-ticks li { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; color: var(--neutro-400); font-size: 15px; line-height: 23px; }
.bp-ticks li::before { content: ""; width: 26px; height: 26px; border-radius: 50%; background: rgba(250,250,250,0.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23e0fbac' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; box-shadow: inset 0 0 0 1px rgba(250,250,250,0.08); }
.bp-ticks strong { display: block; font-weight: 400; color: var(--neutro-50); font-size: 17px; margin-bottom: 2px; }
.bp-tabs__visual { position: relative; overflow: hidden; min-height: 460px; border-radius: 22px; background: radial-gradient(80% 70% at 15% 100%, rgba(224,251,172,0.28), rgba(224,251,172,0) 60%), radial-gradient(70% 80% at 90% 10%, rgba(36,199,214,0.4), rgba(0,112,143,0) 65%), #1a1c1c; }
.bp-tabs__visual > img { position: absolute; right: 0; bottom: 0; height: 100%; width: auto; max-width: none; object-fit: cover; }
.bp-tabs__visual .bp-mini-table { position: absolute; left: 28px; right: 28px; top: 28px; }
@media (max-width: 860px) { .bp-tabs__bar { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bp-tabs__panel { grid-template-columns: minmax(0, 1fr); } .bp-tabs__text { padding: 28px; } .bp-tabs__visual { min-height: 320px; } }

/* Mini app window used inside visual panels */
.bp-mini-table { border-radius: 16px; overflow: hidden; background: rgba(9,11,11,0.82); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.08), 0 20px 50px rgba(9,11,11,0.5); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.bp-mini-table__bar { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--borda-fina); font-size: 13px; color: var(--neutro-50); }
.bp-mini-table__bar i { width: 8px; height: 8px; border-radius: 50%; background: rgba(250,250,250,0.18); }
.bp-mini-table__bar span { margin-left: 8px; }
.bp-mini-table table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.bp-mini-table th { text-align: left; font-weight: 400; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--neutro-400); padding: 12px 16px 8px; }
.bp-mini-table td { padding: 11px 16px; border-top: 1px solid var(--borda-fina); color: var(--neutro-200); white-space: nowrap; }
.bp-mini-table td:first-child { color: var(--neutro-50); }
.bp-mini-table .bp-tag { display: inline-block; padding: 3px 9px; border-radius: 6px; background: rgba(250,250,250,0.06); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.08); font-size: 11.5px; }
.bp-mini-table .bp-ok { color: var(--lima); }

/* Side explorer: list of items on the left (active one expands), visual panel on the right */
.bp-explorer { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); overflow: hidden; border-radius: 22px; background: rgba(250,250,250,0.02); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.06); }
.bp-explorer__list { display: flex; flex-direction: column; }
.bp-explorer__item { display: grid; grid-template-columns: 46px minmax(0, 1fr) 20px; gap: 6px 20px; align-items: center; padding: 26px 28px; border: 0; border-bottom: 1px solid var(--borda-fina); background: none; text-align: left; cursor: pointer; color: var(--neutro-50); transition: background .3s, box-shadow .3s; }
.bp-explorer__item:last-child { border-bottom: 0; }
.bp-explorer__icon { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: rgba(250,250,250,0.04); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.08); }
.bp-explorer__icon img { width: 22px; height: 22px; }
.bp-explorer__title { font-size: 22px; letter-spacing: -0.4px; }
.bp-explorer__chev { width: 20px; height: 20px; color: var(--neutro-400); transition: transform .3s; }
.bp-explorer__desc { grid-column: 2 / 3; max-height: 0; opacity: 0; overflow: hidden; margin: 0; color: var(--neutro-400); font-size: 16px; line-height: 26px; transition: max-height .5s, opacity .4s; }
.bp-explorer__item[aria-selected="true"] { background: rgba(250,250,250,0.03); box-shadow: inset 0 0 0 1.5px rgba(224,251,172,0.55), 0 0 26px rgba(224,251,172,0.08); border-radius: 18px; }
.bp-explorer__item[aria-selected="true"] .bp-explorer__desc { max-height: 220px; opacity: 1; }
.bp-explorer__item[aria-selected="true"] .bp-explorer__chev { color: var(--lima); }
.bp-explorer__item:focus-visible { outline: 2px solid var(--foco); outline-offset: -4px; }
.bp-explorer__visual { position: relative; overflow: hidden; min-height: 480px; display: grid; place-items: center; padding: 40px;
  background: repeating-linear-gradient(90deg, rgba(36,199,214,0) 0 10px, rgba(36,199,214,0.18) 10px 12px, rgba(36,199,214,0) 12px 22px), radial-gradient(40% 70% at 12% 50%, rgba(36,199,214,0.55), rgba(0,112,143,0) 70%), radial-gradient(60% 50% at 90% 100%, rgba(224,251,172,0.18), rgba(224,251,172,0) 70%), #090b0b;
  -webkit-mask-image: linear-gradient(90deg, #000, #000); }
.bp-explorer__visual > * { position: relative; width: 100%; max-width: 560px; }
.bp-explorer__visual [hidden] { display: none; }
@media (max-width: 860px) { .bp-explorer { grid-template-columns: minmax(0, 1fr); } .bp-explorer__visual { min-height: 340px; padding: 24px; } .bp-explorer__item { padding: 20px; } .bp-explorer__title { font-size: 19px; } }
@media (prefers-reduced-motion: reduce) { .bp-explorer__desc, .bp-explorer__chev { transition: none; } }

/* Spotlight: image on the left, statement + stats on the right */
.bp-spotlight { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); padding: 12px; border-radius: 28px; background: rgba(250,250,250,0.03); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.06); }
.bp-spotlight__media { position: relative; overflow: hidden; min-height: 520px; border-radius: 20px; }
.bp-spotlight__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 35% 20%; }
.bp-spotlight__chips { position: absolute; left: 14px; bottom: 14px; display: flex; gap: 6px; flex-wrap: wrap; }
.bp-spotlight__chips span { padding: 7px 14px; border-radius: var(--radius-full); font-size: 13px; color: var(--neutro-50); background: rgba(9,11,11,0.55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.12); }
.bp-spotlight__chips span:first-child { background: var(--creme); color: var(--neutro-950); }
.bp-spotlight__body { display: flex; flex-direction: column; padding: 36px 40px 36px 0; }
.bp-spotlight__brand { align-self: flex-end; display: inline-flex; align-items: center; gap: 10px; color: var(--neutro-200); font-size: 15px; }
.bp-spotlight__brand img { height: 18px; width: auto; }
.bp-spotlight__quote { font-family: var(--font-display); font-weight: 400; font-size: 32px; line-height: 1.3; letter-spacing: -0.6px; margin: 36px 0 0; color: var(--neutro-50); }
.bp-spotlight__quote span { color: var(--neutro-400); }
.bp-spotlight__who { margin: 28px 0 0; font-size: 15px; color: var(--neutro-50); }
.bp-spotlight__who small { display: block; color: var(--neutro-400); font-size: 14px; margin-top: 3px; }
.bp-spotlight__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin: auto 0 0; padding-top: 32px; border-top: 1px solid var(--borda-fina); }
.bp-spotlight__stats dt { font-family: var(--font-display); font-size: 52px; line-height: 1; letter-spacing: -1.6px; color: var(--neutro-50); font-variant-numeric: tabular-nums; }
.bp-spotlight__stats dd { margin: 10px 0 0; font-size: 14px; color: var(--neutro-400); }
@media (max-width: 860px) { .bp-spotlight { grid-template-columns: minmax(0, 1fr); } .bp-spotlight__media { min-height: 360px; } .bp-spotlight__body { padding: 8px 16px 24px; } .bp-spotlight__quote { font-size: 24px; } .bp-spotlight__stats dt { font-size: 38px; } }

/* CTA banner: large rounded card with a grainy aurora gradient */
.bp-cta-banner { position: relative; isolation: isolate; overflow: hidden; display: grid; place-items: center; text-align: center; min-height: 560px; padding: 64px 24px; border-radius: 36px;
  background: radial-gradient(38% 60% at 50% 60%, #090b0b 0%, rgba(9,11,11,0) 100%), radial-gradient(60% 120% at 0% 0%, var(--ciano) 0%, rgba(0,112,143,0.9) 25%, rgba(0,112,143,0) 60%), radial-gradient(60% 120% at 100% 30%, #73e5ed 0%, var(--ciano) 22%, rgba(0,112,143,0.85) 45%, rgba(0,112,143,0) 75%), radial-gradient(50% 50% at 50% 100%, rgba(224,251,172,0.35), rgba(224,251,172,0) 70%), #0d333f; }
.bp-cta-banner::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .55; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.bp-cta-banner__inner { position: relative; z-index: 1; max-width: 640px; display: grid; justify-items: center; gap: 22px; }
.bp-cta-banner h2 { font-family: var(--font-display); font-weight: 400; font-size: 56px; line-height: 1.08; letter-spacing: -1.6px; margin: 0; color: var(--neutro-50); text-wrap: balance; }
.bp-cta-banner p { margin: 0; color: var(--neutro-200); font-size: 17px; line-height: 27px; max-width: 52ch; }
.bp-btn-light { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 12px 26px; border-radius: var(--radius-full); border: 0; cursor: pointer; text-decoration: none;
  font: 700 16px/1 var(--font-body); color: var(--neutro-950); background: var(--neutro-50); box-shadow: inset 0 -2px 0 rgba(9,11,11,0.08), 0 10px 30px rgba(9,11,11,0.3); transition: transform .3s cubic-bezier(.16,1,.3,1), background .2s; }
.bp-btn-light:hover { transform: translateY(-2px); background: var(--creme); }
.bp-btn-light:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }
@media (max-width: 560px) { .bp-cta-banner { min-height: 440px; border-radius: 24px; } .bp-cta-banner h2 { font-size: 36px; } }

/* FAQ in two glass panels: rows with hairlines and a round +/x toggle; the open question gets an outlined box */
.bp-faq2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.bp-faq2__panel { padding: 12px 24px; border-radius: 24px; background: rgba(250,250,250,0.03); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.06); }
.bp-faq2 details { border-bottom: 1px solid var(--borda-fina); }
.bp-faq2 details:last-child { border-bottom: 0; }
.bp-faq2 summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: 22px 0; cursor: pointer; font-size: 17px; line-height: 25px; color: var(--neutro-50); border-radius: 16px; transition: box-shadow .3s, padding .3s, margin .3s; }
.bp-faq2 summary::-webkit-details-marker { display: none; }
.bp-faq2 summary::after { content: ""; flex: none; width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(250,250,250,0.18);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23fafafa' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center / 16px no-repeat; transition: transform .35s cubic-bezier(.16,1,.3,1), background-color .3s; }
.bp-faq2 details[open] summary { margin: 0 -10px; padding: 20px 10px 20px 14px; box-shadow: inset 0 0 0 1.5px rgba(224,251,172,0.7), 0 0 20px rgba(224,251,172,0.08); }
.bp-faq2 details[open] summary::after { transform: rotate(45deg); background-color: var(--lima);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23090b0b' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); box-shadow: none; }
.bp-faq2 summary:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }
.bp-faq2 details p { margin: 0; padding: 14px 40px 24px 4px; color: var(--neutro-400); font-size: 16px; line-height: 26px; }
@media (max-width: 860px) { .bp-faq2 { grid-template-columns: minmax(0, 1fr); } .bp-faq2__panel { padding: 6px 18px; } }

/* Final CTA + footer with a giant faded wordmark */
.bp-final { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-8); align-items: start; padding-bottom: var(--space-9); border-bottom: 1px solid var(--borda-fina); }
.bp-final h2 { font-family: var(--font-display); font-weight: 400; font-size: 76px; line-height: 1.02; letter-spacing: -2.6px; margin: 0; color: var(--neutro-50); }
.bp-final h2 span { display: block; color: var(--neutro-400); }
.bp-final__aside { max-width: 300px; display: grid; gap: var(--space-5); justify-items: start; }
.bp-final__aside p { margin: 0; color: var(--neutro-400); font-size: 15px; line-height: 24px; }
.bp-footer2 { display: grid; grid-template-columns: minmax(0, 1fr) repeat(3, minmax(0, 160px)); gap: var(--space-8); padding-top: var(--space-9); }
.bp-footer2 h3 { font-weight: 400; font-size: 22px; margin: 0; color: var(--neutro-50); }
.bp-footer2 p { color: var(--neutro-400); margin: 14px 0 0; max-width: 38ch; font-size: 15px; line-height: 24px; }
.bp-footer2 h4 { font: 700 11px/1 var(--font-body); letter-spacing: 1.6px; text-transform: uppercase; color: var(--neutro-400); margin: 0 0 22px; }
.bp-footer2 ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.bp-footer2 a { color: var(--neutro-50); text-decoration: none; font-size: 15px; }
.bp-footer2 a:hover { color: var(--lima); }
.bp-footer2__partners { display: flex; align-items: center; gap: 14px; margin-top: 26px; }
.bp-footer2__partners img { height: 26px; width: auto; opacity: .85; }
.bp-wordmark { margin: var(--space-9) 0 0; font-family: var(--font-display); font-weight: 400; font-size: clamp(64px, 17vw, 250px); line-height: .8; letter-spacing: -0.04em; color: rgba(250,250,250,0.05); -webkit-text-stroke: 1px rgba(250,250,250,0.06); white-space: nowrap; overflow: hidden; user-select: none; }
.bp-legal { display: flex; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; padding: 22px 0 6px; border-top: 1px solid var(--borda-fina); font-size: 13px; color: var(--neutro-400); }
.bp-legal a { color: var(--neutro-400); text-decoration: none; margin-left: 24px; }
.bp-legal a:hover { color: var(--neutro-50); }
@media (max-width: 860px) { .bp-final { grid-template-columns: minmax(0, 1fr); } .bp-final h2 { font-size: 46px; letter-spacing: -1.4px; } .bp-footer2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bp-footer2 > :first-child { grid-column: 1 / -1; } .bp-legal a { margin: 0 16px 0 0; } }

/* Two-tone titles: the statement in neutro-50, the continuation dimmed IN THE SAME LINE */
.bp-dim { color: var(--neutro-400); }
.bp-heading__title .bp-dim, .bp-final h2 .bp-dim { display: inline; color: var(--neutro-400); }
.bp-title-xl { font-family: var(--font-display); font-weight: 400; font-size: 64px; line-height: 1.08; letter-spacing: -2px; margin: 0; color: var(--neutro-50); text-wrap: balance; }
@media (max-width: 760px) { .bp-title-xl { font-size: 40px; letter-spacing: -1.2px; } }
/* Optional film grain over a dark section */
.bp-grain { position: relative; isolation: isolate; }
.bp-grain::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .18; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* Blur panel: deep petroleum glass with diffused light behind, numbered columns with fading dividers, action bar at the bottom */
.bp-panel { position: relative; isolation: isolate; overflow: hidden; border-radius: 36px;
  background: linear-gradient(160deg, var(--painel-topo) 0%, var(--painel-meio) 45%, var(--painel-base) 100%);
  box-shadow: inset 0 0 0 1px rgba(250,250,250,0.1), inset 0 1px 0 rgba(250,250,250,0.08), 0 30px 80px rgba(9,11,11,0.55); }
.bp-panel::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; filter: blur(60px); opacity: .9;
  background: radial-gradient(30% 40% at 18% 20%, rgba(36,199,214,0.16), transparent 70%), radial-gradient(35% 45% at 50% 78%, rgba(172,241,245,0.14), transparent 70%), radial-gradient(30% 40% at 88% 85%, rgba(224,251,172,0.08), transparent 70%); }
.bp-panel::after { content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none;
  background: linear-gradient(180deg, rgba(250,250,250,0.16), rgba(250,250,250,0.02) 40%, rgba(250,250,250,0.03) 70%, rgba(250,250,250,0.14));
  -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); }
.bp-panel__cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 80px 40px 72px; }
.bp-panel__col { position: relative; padding: 0 40px; min-width: 0; }
.bp-panel__col + .bp-panel__col::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: linear-gradient(180deg, rgba(250,250,250,0) 0%, rgba(250,250,250,0.1) 25%, rgba(250,250,250,0.1) 70%, rgba(250,250,250,0) 100%); }
.bp-panel__top { display: flex; justify-content: space-between; align-items: center; }
.bp-panel__num { font: 400 15px/1 var(--font-body); letter-spacing: 1.5px; color: var(--neutro-400); font-variant-numeric: tabular-nums; }
.bp-icon-tile { width: 92px; height: 92px; border-radius: 24px; display: grid; place-items: center; color: var(--neutro-50);
  background: linear-gradient(160deg, rgba(250,250,250,0.08), rgba(250,250,250,0.02)); box-shadow: inset 0 0 0 1px rgba(250,250,250,0.16), inset 0 1px 0 rgba(250,250,250,0.12), 0 10px 24px rgba(9,11,11,0.3); }
.bp-icon-tile svg, .bp-icon-tile img { width: 36px; height: 36px; }
.bp-panel__title { font-family: var(--font-display); font-weight: 400; font-size: 40px; line-height: 1.12; letter-spacing: -1.4px; margin: 56px 0 0; color: var(--neutro-50); text-wrap: balance; }
.bp-panel__text { margin: 22px 0 0; color: var(--neutro-400); font-size: 18px; line-height: 29px; }
.bp-panel__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); padding: 40px 80px; border-top: 1px solid rgba(250,250,250,0.08); background: rgba(9,11,11,0.18); }
.bp-panel__bar p { margin: 0; font-size: 20px; color: var(--neutro-200); }
.bp-btn-caps { display: inline-flex; align-items: center; gap: 22px; min-height: 64px; padding: 16px 32px 16px 36px; border: 0; border-radius: var(--radius-full); text-decoration: none; cursor: pointer;
  font: 700 15px/1 var(--font-body); letter-spacing: 0.6px; text-transform: uppercase; color: var(--neutro-950); background: var(--creme);
  box-shadow: inset 0 1px 0 rgba(250,250,250,0.6), 0 10px 30px rgba(9,11,11,0.3); transition: background .25s, transform .3s cubic-bezier(.16,1,.3,1); }
.bp-btn-caps svg { width: 20px; height: 20px; transition: transform .3s cubic-bezier(.16,1,.3,1); }
.bp-btn-caps:hover { background: var(--lima); }
.bp-btn-caps:hover svg { transform: translate(2px, -2px); }
.bp-btn-caps:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }
@media (max-width: 1100px) { .bp-panel__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 56px; padding: 56px 16px; } .bp-panel__col:nth-child(3)::before { display: none; } .bp-panel__title { font-size: 34px; margin-top: 40px; } .bp-panel__bar { padding: 28px 40px; } }
@media (max-width: 600px) { .bp-panel { border-radius: 26px; } .bp-panel__cols { grid-template-columns: minmax(0, 1fr); padding: 40px 4px; } .bp-panel__col + .bp-panel__col::before { display: none; } .bp-panel__col + .bp-panel__col { padding-top: 40px; border-top: 1px solid rgba(250,250,250,0.08); } .bp-panel__col { padding-left: 24px; padding-right: 24px; } .bp-icon-tile { width: 72px; height: 72px; border-radius: 20px; } .bp-panel__title { font-size: 30px; margin-top: 28px; } .bp-panel__text { font-size: 16px; } .bp-panel__bar { flex-direction: column; align-items: flex-start; padding: 28px 24px; } }
@media (prefers-reduced-motion: reduce) { .bp-btn-caps, .bp-btn-caps svg { transition: none; } }

/* =====================================================================
   LIQUID GLASS — the glass treatment for every surface.
   Tint `vidro` (neutro-400 at 12%) + `shadow-vidro` (light reflexes top-left and bottom-right,
   dark inner shading, two short outer shadows) + blur(8px) saturate(150%).
   Selected items use `vidro-ativo` + `shadow-vidro-ativo`. Motion: 400ms cubic-bezier(1, 0, 0.4, 1).
   This block overrides the earlier glass rules above it.
   ===================================================================== */
.bp-glass, .bp-segment, .bp-chip, .bp-btn-glass, .bp-arrow, .bp-icon-tile, .bp-play, .bp-header, .bp-offerbar,
.bp-faq2__panel, .bp-explorer, .bp-spotlight, .bp-tabs__text, .bp-chip--outline, .bp-spotlight__chips span:not(:first-child) {
  background-color: var(--vidro); background-image: none;
  -webkit-backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro)); backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro));
  box-shadow: var(--shadow-vidro);
  transition: background-color 400ms cubic-bezier(1, 0, 0.4, 1), box-shadow 400ms cubic-bezier(1, 0, 0.4, 1), color 160ms, transform 200ms cubic-bezier(0.5, 0, 0, 1), scale 200ms cubic-bezier(0.5, 0, 0, 1);
}
/* Cards that carry reading text sit on a faint dark base so the copy stays legible over the aurora */
.bp-glass { background: linear-gradient(var(--vidro), var(--vidro)), var(--vidro-base); }
.bp-glass::before, .bp-glass::after, .bp-segment::after, .bp-panel::after { display: none; }
.bp-glass:focus-within { box-shadow: var(--shadow-vidro-foco); }
.bp-glass--soft, .bp-faq2__panel, .bp-explorer, .bp-spotlight { background-color: var(--vidro-suave); }
.bp-glass--strong, .bp-guarantee { background: radial-gradient(70% 60% at 100% 0%, rgba(224,251,172,0.07) 0%, rgba(224,251,172,0) 60%), linear-gradient(var(--vidro), var(--vidro)), var(--vidro-forte); }
.bp-glass--strong { box-shadow: inset 0 0 0 1px var(--borda-lima), var(--shadow-vidro); }
.bp-glass--strong:focus-within { box-shadow: inset 0 0 0 1px rgba(224,251,172,0.45), var(--shadow-vidro-foco); }
.bp-header { background-color: rgba(26,28,28,0.55); background-image: linear-gradient(var(--vidro), var(--vidro)); border-bottom: 0; }
.bp-offerbar { background: linear-gradient(var(--vidro), var(--vidro)), rgba(26,28,28,0.6); }
.bp-tabs__text { background-color: var(--vidro-suave); }
.bp-panel { box-shadow: var(--shadow-vidro); }
.bp-video { box-shadow: 0 1px 5px 0 rgba(9,11,11,0.2), 0 6px 16px 0 rgba(9,11,11,0.16); }
.bp-video::before { box-shadow: inset 0 0 0 1px rgba(250,250,250,0.03), inset 1.8px 3px 0 -2px rgba(250,250,250,0.27), inset -2px -2px 0 -2px rgba(250,250,250,0.24), inset -3px -8px 1px -6px rgba(250,250,250,0.18), inset 0 3px 4px -2px rgba(9,11,11,0.4); }
.bp-mini-table { background: linear-gradient(var(--vidro), var(--vidro)), rgba(26,28,28,0.7); box-shadow: var(--shadow-vidro);
  -webkit-backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro)); backdrop-filter: blur(var(--blur-vidro)) saturate(var(--saturacao-vidro)); }

/* Hover: a touch more glass, lima ink, icons grow (as in the reference switcher) */
.bp-chip:hover, .bp-btn-glass:hover, .bp-arrow:hover { background-color: var(--vidro-hover); box-shadow: var(--shadow-vidro); color: var(--lima); }
.bp-arrow:hover svg { scale: 1.2; }
.bp-arrow svg { transition: scale 200ms cubic-bezier(0.5, 0, 0, 1); }
.bp-play:hover { background-color: var(--vidro-hover); box-shadow: var(--shadow-vidro); scale: 1.06; transform: none; }
.bp-play:hover img { scale: 1.2; }
.bp-play img { transition: scale 200ms cubic-bezier(0.5, 0, 0, 1); }

/* Selected = a brighter glass pill inside the glass */
.bp-chip[aria-pressed="true"], .bp-chip[aria-checked="true"], .bp-tabs__tab[aria-selected="true"], .bp-explorer__item[aria-selected="true"] {
  color: var(--neutro-50); background: var(--vidro-ativo); box-shadow: var(--shadow-vidro-ativo);
  transition: background-color 400ms cubic-bezier(1, 0, 0.4, 1), box-shadow 400ms cubic-bezier(1, 0, 0.4, 1); }
.bp-explorer__item[aria-selected="true"] { border-radius: 18px; border-bottom-color: transparent; }
.bp-tabs__tab:hover, .bp-segment__opt:hover { color: var(--lima); }

/* Segmented control: the glass pill track and a brighter glass thumb that slides with a short stretch */
.bp-segment { padding: 8px 10px 10px; }
.bp-segment__thumb { top: 4px; bottom: 6px; left: 4px; width: calc((100% - 8px) / var(--n)); background: var(--vidro-ativo); box-shadow: var(--shadow-vidro-ativo);
  transform: translateX(calc(100% * var(--i))); transition: transform 400ms cubic-bezier(1, 0, 0.4, 1), background-color 400ms cubic-bezier(1, 0, 0.4, 1), box-shadow 400ms cubic-bezier(1, 0, 0.4, 1); }
.bp-segment__opt[aria-pressed="true"] { color: var(--neutro-50); }

@media (prefers-reduced-motion: reduce) {
  .bp-glass, .bp-segment, .bp-segment__thumb, .bp-chip, .bp-btn-glass, .bp-arrow, .bp-arrow svg, .bp-play, .bp-play img, .bp-header, .bp-offerbar, .bp-tabs__tab, .bp-explorer__item { transition: none; }
  .bp-arrow:hover svg, .bp-play:hover img { scale: 1; }
}

/* All page buttons share the square 4px corner of the primary CTA */
.bp-btn-caps, .bp-btn-light, .bp-btn-glass { border-radius: var(--radius-sm); }
.bp-header .bp-btn { min-height: 44px; padding: 10px 20px; font-size: 14px; gap: 12px; animation: bp-angle 3s linear infinite; }
.bp-offerbar .bp-btn { min-height: 50px; padding: 12px 24px; font-size: 15px; }
@media (prefers-reduced-motion: reduce) {
  .bp-btn, .bp-btn::before, .bp-header .bp-btn { transition: none; } :is(.bp-btn, #bp-rm), :is(.bp-btn, #bp-rm)::before { animation: none; }
  .bp-btn:is(:hover, :focus-visible)::after, .bp-btn.is-hover::after { animation: none; opacity: 0; }
  .bp-btn:is(:hover, :focus-visible), .bp-btn.is-hover { transform: none; }
  .bp-btn:hover img, .bp-btn.is-hover img { transform: none; }
}

/* Keep the dark label on hover/focus, even where the page styles links (a:hover) */
a.bp-btn, a.bp-btn:visited, .bp-btn:is(:hover, :focus-visible, :active), a.bp-btn:is(:hover, :focus-visible, :active), .bp-btn.is-hover { color: var(--on-lima); }
/* The button stays in place on hover and click: no lift, no scale */
.bp-btn:is(:hover, :focus-visible, :active), .bp-btn.is-hover { transform: none; translate: none; scale: none; }
