
.pricing {
  position: relative; overflow: clip; isolation: isolate;
  background: linear-gradient(180deg, var(--bege-1) 0%, var(--cream) 44%, var(--cream-2) 100%);
}
.pricing > .container { position: relative; z-index: 1; }
.pricing-sprite { position: absolute; width: 0; height: 0; }

.pricing__bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.pricing__glow { position: absolute; border-radius: 50%; filter: blur(80px); }
.pricing__glow--1 { width: 44vw; height: 44vw; top: -8%; right: -10%; background: radial-gradient(circle at 50% 50%, rgba(201,154,146,.28), transparent 68%); }
.pricing__glow--2 { width: 46vw; height: 46vw; bottom: -12%; left: -12%; background: radial-gradient(circle at 50% 50%, rgba(143,162,188,.2), transparent 70%); }
.pricing__dust { position: absolute; inset: 0; opacity: .5; background-image:
  radial-gradient(1.5px 1.5px at 16% 22%, rgba(201,154,146,.9), transparent 60%),
  radial-gradient(1.3px 1.3px at 74% 14%, rgba(210,200,188,.9), transparent 60%),
  radial-gradient(1.5px 1.5px at 44% 66%, rgba(201,154,146,.7), transparent 60%),
  radial-gradient(1.2px 1.2px at 88% 72%, rgba(210,200,188,.8), transparent 60%),
  radial-gradient(1.4px 1.4px at 28% 88%, rgba(201,154,146,.7), transparent 60%); }
.pricing__vignette { position: absolute; inset: 0; mix-blend-mode: multiply; background:
  radial-gradient(120% 90% at 50% -10%, transparent 55%, rgba(90,18,36,.05) 100%),
  radial-gradient(120% 90% at 50% 110%, transparent 60%, rgba(43,19,24,.07) 100%),
  radial-gradient(rgba(90,18,36,.035) 1px, transparent 1px);
  background-size: auto, auto, 4px 4px; }

.pricing svg.i { width: 1.15em; height: 1.15em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; display: inline-block; vertical-align: middle; }

.pricing__sub-title { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.08; letter-spacing: -.015em; color: var(--bordo); }
.pricing__sub-title em { font-style: italic; color: var(--marrom); }
.pricing__sub-lead { margin-top: .6rem; color: var(--ink-soft); max-width: 60ch; }
.pricing-panel--emp .pricing__sub-title em { color: var(--azul); }

.pricing__intro { max-width: 820px; margin-inline: auto; text-align: center; min-height: 1px; }
.pricing__intro .eyebrow { justify-content: center; }
.pricing__title { font-family: var(--font-display); font-weight: 700; font-size: clamp(2rem, 5.4vw, 3.8rem); line-height: 1.03; letter-spacing: -.02em; color: var(--bordo); }
.pricing__title em { font-style: italic; color: var(--marrom); }
.pricing__intro.is-emp .pricing__title em { color: var(--azul); }
.pricing__intro.is-emp .pricing__from small { color: var(--azul); }
.pricing__intro.is-emp .pricing__trust li { color: var(--azul); }
.pricing__intro.is-emp .pricing__trust .i { color: var(--azul-claro); }
.pricing__lead { margin-top: 1.1rem; margin-inline: auto; max-width: 62ch; color: var(--ink-soft); font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.6; }
.pricing__from { display: flex; justify-content: center; align-items: baseline; gap: .5rem; margin-top: clamp(1.6rem, 3vw, 2.2rem); font-family: var(--font-display); color: var(--bordo); }
.pricing__from-lead { font-family: var(--font); font-weight: 500; font-size: .9rem; letter-spacing: .04em; color: var(--ink-soft); align-self: center; }
.pricing__from-num { flex: none; font-weight: 600; font-size: clamp(2.2rem, 5.2vw, 3.4rem); line-height: 1; letter-spacing: -.01em; }
.pricing__from small { flex: 0 1 auto; min-width: 0; align-self: center; text-align: left; line-height: 1.4; font-family: var(--font); font-weight: 500; font-size: .9rem; color: var(--marrom); }
.pricing__trust { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.6rem; margin-top: 1.5rem; }
.pricing__trust li { display: inline-flex; align-items: center; gap: .5rem; font-family: var(--font); font-weight: 500; font-size: .88rem; color: var(--marrom); }
.pricing__trust .i { color: var(--rosa); width: 1.05em; height: 1.05em; }

.seg { position: relative; display: grid; grid-template-columns: 1fr 1fr; width: 100%; max-width: 560px; margin: clamp(2.2rem, 4vw, 3rem) auto 0; padding: .4rem; background: rgba(110,15,18,.05); border: 1px solid var(--line); border-radius: 999px; box-shadow: inset 0 1px 2px rgba(58,12,26,.05); }
/* Secao Empresas + NR-1 desativada a pedido: sobrou um unico plano, entao o
   seletor de abas nao tem mais o que alternar (ficaria meia pilula vazia, o
   grid dele e de duas colunas). Para reativar a secao, apague so esta regra. */
.seg { display: none; }

.seg__thumb { position: absolute; z-index: 0; top: .4rem; bottom: .4rem; left: .4rem; width: 50%; border-radius: 999px; background: var(--bege-1); box-shadow: 0 4px 14px -6px rgba(58,12,26,.28), inset 0 0 0 1px rgba(90,18,36,.06); transition: left .55s var(--ease), width .55s var(--ease), box-shadow .4s ease; }
.seg.is-emp .seg__thumb { box-shadow: 0 4px 14px -6px rgba(40,52,68,.3), inset 0 0 0 1px rgba(86,110,136,.16); }
.seg__opt { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: .05rem; padding: .72rem .8rem; border-radius: 999px; transition: color .3s ease; }
.seg__opt-title { font-family: var(--font); font-weight: 500; font-size: .98rem; color: var(--ink-soft); transition: color .3s ease; }
.seg__opt-sub { font-family: var(--font); font-size: .72rem; letter-spacing: .02em; color: var(--ink-soft); opacity: .65; }
.seg__opt:hover .seg__opt-title { color: var(--bordo); }
#tab-ind.is-active .seg__opt-title { color: var(--bordo); }
#tab-ind.is-active .seg__opt-sub { color: var(--marrom); opacity: .9; }
#tab-emp.is-active .seg__opt-title { color: var(--azul); }
#tab-emp.is-active .seg__opt-sub { color: var(--azul); opacity: .9; }

.pricing__stage { position: relative; margin-top: clamp(2rem, 4vw, 3rem); }
.pricing-panel[hidden] { display: none; }
.pricing-panel > * + * { margin-top: clamp(2.4rem, 5vw, 4rem); }
.pricing-panel--emp { --accent: var(--azul); }

/* Card unico: o acordeao lateral virou conteudo do proprio card, entao a
   segunda coluna deixou de existir e o card ocupa a largura cheia do container.
   Os blocos de texto tem max-width proprio para a leitura nao esticar. */
.plan-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.4rem, 3vw, 2.6rem); align-items: start; }
/* O card vinho e uma lente sobre o fundo de particulas, e a cadeia de filtros do
   backdrop faz o efeito inteiro — so dentro desta area:
     invert(1)          inverte a luminosidade: o bege do fundo vira escuro e as
                        particulas douradas viram claras (o "gradiente invertido");
     sepia(1)           joga tudo num unico matiz, mantendo a luminancia;
     hue-rotate(330deg) leva esse matiz para o rosa da marca (o sepia sai por
                        volta de 35 graus; 330 desloca para ~5, vizinho do --rosa);
     saturate(2.6)      devolve a intensidade que o sepia achata.
   O resultado e monocromatico em rosa: fundo rosa escuro, particulas rosa claro.
   Como o fundo invertido ja escurece o card, o vinho pode ficar em .6 sem tirar
   contraste do texto branco. Blur baixo (5px) de proposito: com desfoque alto as
   particulas viram mancha e deixam de se ler como pontos.
   Para calibrar a cor, o botao e o hue-rotate; para a forca, o saturate. */
.pcard { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--radius-lg); padding: clamp(1.8rem, 3.5vw, 2.8rem); background: linear-gradient(135deg, rgba(122,20,24,.6) 0%, rgba(90,18,36,.6) 55%, rgba(62,12,26,.66) 100%); backdrop-filter: blur(5px) invert(1) sepia(1) hue-rotate(330deg) saturate(2.6); -webkit-backdrop-filter: blur(5px) invert(1) sepia(1) hue-rotate(330deg) saturate(2.6); color: var(--cream); box-shadow: var(--shadow-lg), inset 0 0 0 1px rgba(255,255,255,.06); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.pcard--emp { background: linear-gradient(160deg, #20242E 0%, #2A3340 100%); color: #E7ECF2; }
.pcard:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg), 0 40px 80px -40px rgba(58,12,26,.5), inset 0 0 0 1px rgba(255,255,255,.08); }
/* Topo do card centralizado. A lista de beneficios reverte para a esquerda:
   14 linhas com duas alturas de texto ficariam ilegiveis centralizadas. */
.pcard__body { position: relative; z-index: 2; text-align: center; }
.pcard__glow { position: absolute; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(58% 58% at var(--mx, 78%) var(--my, 0%), rgba(201,154,146,.34), transparent 62%); transition: background .3s ease; }
.pcard--emp .pcard__glow { background: radial-gradient(58% 58% at var(--mx, 78%) var(--my, 0%), rgba(143,162,188,.34), transparent 62%); }
.pcard__sheen { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(150deg, rgba(255,255,255,.14) 0%, transparent 34%); }
.pcard__spark { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: .5; background-image:
  radial-gradient(1.3px 1.3px at 22% 30%, rgba(201,154,146,.8), transparent 60%),
  radial-gradient(1.1px 1.1px at 72% 22%, rgba(210,200,188,.7), transparent 60%),
  radial-gradient(1.4px 1.4px at 60% 74%, rgba(201,154,146,.6), transparent 60%),
  radial-gradient(1.1px 1.1px at 34% 82%, rgba(210,200,188,.6), transparent 60%); }
.pcard--emp .pcard__spark { background-image:
  radial-gradient(1.3px 1.3px at 22% 30%, rgba(143,162,188,.75), transparent 60%),
  radial-gradient(1.1px 1.1px at 72% 22%, rgba(200,212,226,.6), transparent 60%),
  radial-gradient(1.4px 1.4px at 60% 74%, rgba(143,162,188,.55), transparent 60%),
  radial-gradient(1.1px 1.1px at 34% 82%, rgba(200,212,226,.5), transparent 60%); }
.pcard__badge { display: inline-block; font-family: var(--font); font-weight: 500; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--bordo); background: var(--bege); padding: .42rem 1rem; border-radius: 999px; margin-bottom: 1.2rem; }
.pcard--emp .pcard__badge { color: #1c2530; background: var(--azul-claro); }
.pcard__who { font-family: var(--font-display); font-weight: 600; color: #fff; font-size: clamp(1.3rem, 3vw, 1.6rem); line-height: 1.2; }
.pcard__tagline { color: rgba(210,200,188,.82); margin: .45rem auto 0; max-width: 40ch; font-size: clamp(1rem, 2.4vw, 1.12rem); }
.pcard--emp .pcard__tagline { color: rgba(231,236,242,.82); }
.pcard__price { margin-top: clamp(1.5rem, 3vw, 2rem); }
.pcard__lead { display: block; font-family: var(--font); font-weight: 500; font-size: .98rem; letter-spacing: .04em; color: rgba(210,200,188,.7); margin-bottom: .35rem; }
.pcard--emp .pcard__lead { color: var(--azul-claro); }
.pcard__row { display: inline-flex; justify-content: center; align-items: baseline; gap: .18em; font-family: var(--font-display); font-weight: 600; color: #fff; line-height: 1; flex-wrap: wrap; }
.pcard__cur { font-family: var(--font); font-weight: 500; font-size: 1.6rem; color: var(--rosa); }
.pcard--emp .pcard__cur { color: var(--azul-claro); }
.pcard__val { font-size: clamp(3.4rem, 8vw, 5.2rem); letter-spacing: -.02em; }
.pcard__per { font-family: var(--font); font-weight: 500; font-size: 1.15rem; color: rgba(210,200,188,.72); }
.pcard--emp .pcard__per { color: rgba(231,236,242,.72); }
.pcard__note { margin-top: .8rem; font-size: 1.02rem; color: rgba(210,200,188,.78); }
/* Texto + logo na mesma linha no desktop; no mobile o flex-wrap deixa a logo
   cair sozinha, sem overflow. O selo ganha um fundo claro porque o card e
   vinho escuro e a logo da Bemol tem contorno vermelho. */
.pcard__bemol {
  display: flex; justify-content: center; align-items: center; flex-wrap: wrap;
  gap: .3rem .5rem; margin-top: .6rem;
  font-size: .98rem; color: rgba(210,200,188,.78);
}
.pcard__bemol-logo {
  height: 1.5rem; width: auto; flex: none;
  padding: .12rem .3rem; border-radius: 5px;
  background: rgba(255,255,255,.92);
}
.pcard__break { margin-top: .8rem; font-size: .9rem; color: rgba(231,236,242,.82); }
.pcard__break span { color: #fff; font-weight: 500; }
.pcard__break i { color: var(--azul-claro); font-style: normal; margin: 0 .2em; }
.pcard__cond { display: flex; align-items: flex-start; gap: .5rem; margin-top: .7rem; font-size: .84rem; color: var(--azul-claro); }
.pcard__cond .i { margin-top: .1rem; }
.pcard__cta.btn { margin: 1.8rem auto 0; max-width: 26rem; background: var(--bege); color: var(--bordo); }
.pcard__cta.btn:hover { background: var(--bege-1); }
.pcard--emp .pcard__cta.btn { background: var(--azul-claro); color: #1c2530; }
.pcard--emp .pcard__cta.btn:hover { background: var(--bege-1); }
.pcard__assur { display: flex; justify-content: center; flex-wrap: wrap; gap: .55rem 1.6rem; margin-top: clamp(1.5rem, 3vw, 1.9rem); padding-top: clamp(1.3rem, 3vw, 1.6rem); border-top: 1px solid rgba(255,255,255,.12); }
.pcard__assur li { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--font); font-weight: 500; font-size: .95rem; color: rgba(210,200,188,.92); }
.pcard--emp .pcard__assur li { color: rgba(231,236,242,.92); }
.pcard__assur .i { color: var(--rosa); }
.pcard--emp .pcard__assur .i { color: var(--azul-claro); }

/* Beneficios do card. Duas colunas no desktop: sao 14 linhas curtas num card
   largo — em coluna unica sobrava metade do card vazio e o card virava uma
   torre. O check ganhou um disco rosa translucido, o mesmo tratamento circular
   que a .pchecklist usa nas superficies claras da secao. */
.pcard__benefits { text-align: left; display: grid; grid-template-columns: minmax(0, 1fr); gap: .85rem clamp(1.6rem, 3.5vw, 3rem); margin-top: clamp(1.5rem, 3vw, 2rem); padding-top: clamp(1.5rem, 3vw, 2rem); border-top: 1px solid rgba(255,255,255,.14); }
.pcard__benefits li { display: flex; align-items: center; gap: .7rem; }
/* box-sizing e border-box no projeto: width aqui e o diametro do disco, e o
   padding reduz o desenho do check dentro dele. */
.pcard__benefits svg.i { flex: none; width: 1.6rem; height: 1.6rem; padding: .36rem; border-radius: 50%; background: rgba(201,154,146,.18); color: var(--rosa); stroke-width: 2.6; }
.pcard__benefits strong { display: block; font-family: var(--font); font-weight: 500; font-size: 1rem; line-height: 1.35; color: rgba(255,255,255,.94); }

@media (min-width: 760px) {
  .pcard__benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Descricao secundaria desativada a pedido. Regra mantida para reativar:
.pcard__benefits em { display: block; margin-top: .12rem; font-style: normal; font-size: .86rem; line-height: 1.35; color: rgba(210,200,188,.72); }
*/

.pchapters { display: flex; flex-direction: column; gap: .9rem; }
.pchap { border: 1px solid var(--line-soft); border-radius: var(--radius); background: var(--bege-1); box-shadow: 0 12px 30px -26px rgba(58,12,26,.3); overflow: hidden; transition: border-color .4s ease, box-shadow .4s ease; }
.pchap.is-open { border-color: rgba(201,154,146,.4); box-shadow: var(--shadow-md); }
.pricing-panel--emp .pchap.is-open { border-color: rgba(143,162,188,.4); }
.pchap__head { width: 100%; display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: clamp(.8rem, 2vw, 1.3rem); padding: clamp(1.1rem, 2.4vw, 1.5rem); text-align: left; cursor: pointer; }
.pchap__head--nostat { grid-template-columns: auto 1fr auto; }
.pchap__ic { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: rgba(201,154,146,.16); color: var(--marrom); box-shadow: inset 0 0 0 1px rgba(201,154,146,.2); transition: transform .5s var(--ease), background .35s ease, color .35s ease; }
.pricing-panel--emp .pchap__ic { background: rgba(86,110,136,.14); color: var(--azul); box-shadow: inset 0 0 0 1px rgba(86,110,136,.22); }
.pchap__ic .i { width: 23px; height: 23px; }
.pchap:hover .pchap__ic, .pchap.is-open .pchap__ic { transform: translateY(-2px) rotate(-4deg); background: var(--grad-rose); color: #fff; }
.pricing-panel--emp .pchap:hover .pchap__ic, .pricing-panel--emp .pchap.is-open .pchap__ic { background: var(--grad-blue); }
.pchap__stat { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.5rem, 3.2vw, 2.3rem); line-height: 1; letter-spacing: -.03em; color: var(--bordo); white-space: nowrap; }
.pricing-panel--emp .pchap__stat { color: var(--azul); }
/* Destaques longos (ex.: dois valores) reduzem de corpo para nao comprimir a
   coluna de texto do head — mantendo a altura do card igual aos demais. */
.pchap__stat--sm { font-size: clamp(1.15rem, 2vw, 1.5rem); }
.pchap__txt { display: flex; flex-direction: column; gap: .12rem; min-width: 0; }
.pchap__title { font-family: var(--font); font-weight: 500; font-size: 1.08rem; color: var(--bordo); }
.pchap__lead { font-size: .9rem; color: var(--ink-soft); line-height: 1.35; }
.pchap__chev { position: relative; flex: none; width: 20px; height: 20px; }
.pchap__chev::before, .pchap__chev::after { content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 2px; background: var(--marrom); border-radius: 2px; transition: transform .4s var(--ease); }
.pricing-panel--emp .pchap__chev::before, .pricing-panel--emp .pchap__chev::after { background: var(--azul); }
.pchap__chev::before { transform: translate(-50%, -50%); }
.pchap__chev::after { transform: translate(-50%, -50%) rotate(90deg); }
.pchap.is-open .pchap__chev::after { transform: translate(-50%, -50%) rotate(0); }
.pchap__body { overflow: hidden; }
.pchap__list { padding: 0 clamp(1.1rem, 2.4vw, 1.5rem) clamp(1.2rem, 2.4vw, 1.6rem); display: flex; flex-direction: column; gap: .75rem; }
.pchap__list li { display: flex; align-items: flex-start; gap: .8rem; }
.pchap__dot { flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(201,154,146,.16); color: var(--marrom); margin-top: .05rem; }
.pricing-panel--emp .pchap__dot { background: rgba(86,110,136,.14); color: var(--azul); }
.pchap__dot .i { width: 15px; height: 15px; stroke-width: 2.4; }
.pchap__list strong { display: block; font-family: var(--font); font-weight: 500; font-size: .98rem; color: var(--ink); line-height: 1.35; }
.pchap__list em { display: block; margin-top: .1rem; font-style: normal; font-size: .88rem; color: var(--ink-soft); line-height: 1.4; }

.pbenefits__eyebrow { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--font-display); font-weight: 600; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--marrom); margin-bottom: 1rem; }
.pricing-panel--emp .pbenefits__eyebrow { color: var(--azul); }
.pbenefits__eyebrow .eyebrow__dot { background: var(--rosa); }
.pricing-panel--emp .pbenefits__eyebrow .eyebrow__dot { background: var(--azul-claro); }
.pdep__head { max-width: 640px; margin-bottom: clamp(1.4rem, 3vw, 2rem); }
.pdep__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem, 2vw, 1.4rem); align-items: start; }
.pcompare { position: relative; background: rgba(240,225,211,.72); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid var(--line-soft); border-radius: var(--radius); padding: clamp(1.4rem, 2.5vw, 1.9rem); box-shadow: 0 12px 30px -24px rgba(58,12,26,.3); }
.pcompare__tag { display: inline-block; font-family: var(--font); font-weight: 500; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--marrom); background: rgba(201,154,146,.16); padding: .38rem .85rem; border-radius: 999px; margin-bottom: 1.1rem; }
.pcompare--up { background: linear-gradient(165deg, rgba(240,225,211,.74), rgba(217,189,166,.74)); border-color: rgba(201,154,146,.4); box-shadow: var(--shadow-md); }
.pcompare--up .pcompare__tag { background: var(--bordo); color: var(--bege); }
.pcompare__head { font-family: var(--font); font-weight: 500; color: var(--bordo); margin-bottom: 1rem; line-height: 1.4; }
.pchecklist { display: flex; flex-direction: column; gap: .6rem; }
.pchecklist li { position: relative; padding-left: 1.9rem; font-size: .95rem; line-height: 1.45; color: var(--ink); }
.pchecklist__note { display: block; margin-top: .18rem; font-size: .82rem;
  line-height: 1.4; color: var(--ink-soft); }
.pchecklist li::before { content: ""; position: absolute; left: 0; top: .05rem; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: rgba(201,154,146,.16);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A514E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: 62% 62%; background-repeat: no-repeat; background-position: center; }
.pcompare--up .pchecklist li::before { background-color: rgba(110,15,18,.1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E0F12' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); }

/* Card de upgrade de dependentes. Container bege unico com cabecalho a esquerda
   e tres blocos claros: as duas formas de pagamento e o selo de confianca.
   auto-fit + minmax faz os tres virarem dois e depois um, sem media query. */
.pupg { margin-top: clamp(1.6rem, 4vw, 2.4rem); }
.pupg__card { background: rgba(240,225,211,.72); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid var(--line-soft); border-radius: var(--radius-lg); padding: clamp(1.4rem, 3.4vw, 2.4rem); box-shadow: var(--shadow-md); }
.pupg__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: clamp(.9rem, 2vw, 1.4rem); margin-top: clamp(1.3rem, 3vw, 1.9rem); }
.pupg__opt { display: flex; flex-direction: column; background: rgba(255, 252, 249, .5); border: 1px solid var(--line-soft); border-radius: var(--radius); padding: clamp(1.1rem, 2.4vw, 1.5rem); }
.pupg__tag { align-self: center; font-family: var(--font); font-weight: 500; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--bege); background: var(--bordo); padding: .38rem .9rem; border-radius: 999px; }
.pupg__line { display: flex; align-items: center; gap: clamp(.7rem, 1.8vw, 1rem); padding: clamp(.9rem, 2vw, 1.1rem) 0 0; }
/* Filete separando parcelamento e Pix: as duas leituras do mesmo valor. */
.pupg__line--pix { margin-top: clamp(.9rem, 2vw, 1.1rem); border-top: 1px solid var(--line-soft); }
.pupg__ic { flex: none; display: grid; place-items: center; color: var(--bordo); }
.pupg__ic .i { width: clamp(30px, 7vw, 38px); height: clamp(30px, 7vw, 38px); stroke-width: 1.5; }
.pricing svg.i--solid { fill: currentColor; stroke: none; }
.pupg__line-txt { display: flex; flex-direction: column; min-width: 0; }
.pupg__amount { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.3rem, 3.4vw, 1.7rem); line-height: 1.1; letter-spacing: -.015em; color: var(--bordo); }
.pupg__pix { font-family: var(--font); font-size: clamp(.95rem, 2.4vw, 1.05rem); line-height: 1.25; color: var(--ink); }
.pupg__pix strong { font-weight: 600; color: var(--bordo); }
.pupg__unit { margin-top: .15rem; font-family: var(--font); font-size: .88rem; color: var(--ink-soft); }
/* Selo de confianca: sem preco, entao centraliza no proprio bloco. */
.pupg__opt--trust { align-items: center; justify-content: center; text-align: center; gap: clamp(.7rem, 2vw, 1rem); padding-block: clamp(1.4rem, 3vw, 1.8rem); }
.pupg__trust-ic { color: var(--bordo); }
.pupg__trust-ic .i { width: clamp(44px, 9vw, 56px); height: clamp(44px, 9vw, 56px); stroke-width: 1.6; }
.pupg__trust-txt { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.15rem, 2.8vw, 1.4rem); line-height: 1.2; color: var(--bordo); }
.pupg__note { display: flex; align-items: center; gap: .55rem; margin-top: clamp(1.1rem, 2.5vw, 1.4rem); font-size: .9rem; color: var(--ink-soft); }
.pupg__note .i { color: var(--marrom); }

.emp-taglines { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.emp-taglines span { display: flex; align-items: center; gap: .6rem; padding: 1.1rem 1.3rem; background: linear-gradient(165deg, rgba(143,162,188,.1), rgba(86,110,136,.05)); border: 1px solid rgba(143,162,188,.28); border-radius: var(--radius); font-family: var(--font); font-weight: 500; color: var(--azul); font-size: .96rem; }
.emp-taglines .i { flex: none; color: var(--azul); }

.pricing-sticky { position: fixed; z-index: 140; left: 0; right: 0; bottom: 0; display: none; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem clamp(1rem, 4vw, 1.4rem); padding-bottom: calc(.7rem + env(safe-area-inset-bottom, 0px)); background: rgba(234,219,204,.94); backdrop-filter: saturate(1.4) blur(16px); -webkit-backdrop-filter: saturate(1.4) blur(16px); border-top: 1px solid var(--line); box-shadow: 0 -8px 30px -18px rgba(58,12,26,.3); transform: translateY(110%); transition: transform .5s var(--ease); }
.pricing-sticky.is-visible { transform: translateY(0); }
.pricing-sticky__info { display: flex; flex-direction: column; line-height: 1.1; }
.pricing-sticky__info strong { font-family: var(--font-display); font-weight: 600; font-size: 1.35rem; color: var(--bordo); }
.pricing-sticky__info span { font-family: var(--font); font-size: .78rem; color: var(--ink-soft); }
.pricing-sticky .btn { flex: none; }

@media (max-width: 900px) {
  .plan-grid { grid-template-columns: 1fr; }
  .emp-taglines { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .pricing__from { flex-wrap: wrap; }
  .pricing__from small { flex-basis: 100%; text-align: center; }
  .pdep__grid { grid-template-columns: 1fr; }
  .pchap__head { grid-template-columns: auto 1fr auto; }
  .pchap__stat { grid-column: 1 / -1; grid-row: 2; font-size: 1.8rem; }
  /* Stat com varios valores (ex.: "R$ 30 / R$ 50 / 50%") nao caberia em 1.8rem
     com nowrap na largura do celular; mantem o corpo reduzido do --sm. */
  .pchap__stat--sm { font-size: 1.35rem; }
  .pricing-sticky { display: flex; }
}
@media (max-width: 420px) {
  .seg__opt-sub { display: none; }
  .seg__opt { padding: .85rem .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .seg__thumb, .pricing-sticky, .pcard, .pcard__glow, .pchap, .pchap__ic, .pchap__chev::before, .pchap__chev::after { transition: none; }
}
