
.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); }
.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); }

.plan-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(1.4rem, 3vw, 2.6rem); align-items: start; }
.pcard { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--radius-lg); padding: clamp(1.8rem, 3.5vw, 2.8rem); background: var(--grad-wine); 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); }
.pcard__body { position: relative; z-index: 2; }
.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); font-weight: 500; color: #fff; font-size: 1.05rem; }
.pcard__tagline { color: rgba(210,200,188,.82); margin-top: .35rem; max-width: 34ch; font-size: .98rem; }
.pcard--emp .pcard__tagline { color: rgba(231,236,242,.82); }
.pcard__price { margin-top: 1.5rem; }
.pcard__lead { display: block; font-family: var(--font); font-weight: 500; font-size: .85rem; letter-spacing: .04em; color: rgba(210,200,188,.7); margin-bottom: .3rem; }
.pcard--emp .pcard__lead { color: var(--azul-claro); }
.pcard__row { display: inline-flex; 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.3rem; color: var(--rosa); }
.pcard--emp .pcard__cur { color: var(--azul-claro); }
.pcard__val { font-size: clamp(3rem, 7vw, 4.4rem); letter-spacing: -.02em; }
.pcard__per { font-family: var(--font); font-weight: 500; font-size: 1rem; color: rgba(210,200,188,.72); }
.pcard--emp .pcard__per { color: rgba(231,236,242,.72); }
.pcard__note { margin-top: .7rem; font-size: .92rem; 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; align-items: center; flex-wrap: wrap;
  gap: .3rem .5rem; margin-top: .5rem;
  font-size: .88rem; 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-top: 1.6rem; 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; flex-wrap: wrap; gap: .55rem 1.2rem; margin-top: 1.4rem; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.14); }
.pcard__assur li { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--font); font-weight: 500; font-size: .85rem; 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); }

.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: var(--bege-1); 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, var(--bege-1), var(--bege-3)); 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"); }

.pupg__head { max-width: 640px; margin-bottom: clamp(1.4rem, 3vw, 2rem); }
.pupg__panel { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(1.2rem, 2.5vw, 2rem); align-items: stretch; background: var(--bege-1); border: 1px solid var(--line-soft); border-radius: var(--radius-lg); padding: clamp(1.5rem, 3vw, 2.2rem); box-shadow: var(--shadow-md); }
.pupg__ruler { display: flex; align-items: center; justify-content: space-between; gap: .5rem; position: relative; }
.pupg__ruler::before { content: ""; position: absolute; left: 6%; right: 6%; top: 50%; height: 2px; background: var(--line); transform: translateY(-50%); z-index: 0; }
.pupg__step { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: .4rem; }
.pupg__step-n { display: grid; place-items: center; width: clamp(44px, 9vw, 56px); height: clamp(44px, 9vw, 56px); border-radius: 50%; background: var(--cream); border: 1px solid var(--line); font-family: var(--font-display); font-weight: 600; font-size: 1.2rem; color: var(--marrom); transition: transform .4s var(--ease), background .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease; }
.pupg__step-lbl { font-family: var(--font); font-size: .7rem; color: var(--ink-soft); height: .7rem; }
.pupg__step:hover .pupg__step-n { border-color: var(--marrom); transform: translateY(-2px); }
.pupg__step.is-on .pupg__step-n { background: var(--grad-wine); color: #fff; border-color: transparent; box-shadow: 0 10px 22px -12px rgba(90,18,36,.6); }
.pupg__display { display: flex; flex-direction: column; justify-content: center; text-align: center; background: linear-gradient(160deg, var(--bordo), #3E0C1A); color: var(--cream); border-radius: var(--radius); padding: clamp(1.3rem, 3vw, 1.9rem); }
.pupg__ord { font-family: var(--font); font-weight: 500; font-size: .85rem; letter-spacing: .04em; color: rgba(210,200,188,.85); }
.pupg__price { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.2rem, 6vw, 3.2rem); line-height: 1; color: #fff; margin: .4rem 0 .7rem; }
.pupg__price small { font-family: var(--font); font-weight: 500; font-size: .32em; color: rgba(210,200,188,.7); }
.pupg__hint { display: inline-flex; align-items: center; gap: .4rem; font-size: .82rem; color: rgba(210,200,188,.85); line-height: 1.4; }
.pupg__hint .i { color: var(--rosa); width: 1em; height: 1em; transform: rotate(90deg); }
.pupg__note { display: flex; align-items: center; gap: .55rem; margin-top: 1.1rem; 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; }
  .pupg__panel { 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; }
  .pupg__step-n { width: 46px; height: 46px; font-size: 1.05rem; }
}

/* Régua de upgrade em telas muito estreitas.
   São 5 degraus lado a lado: com o passo fixo em 46px eles somam 230px + gaps
   e estouram a área útil do painel (~232px em 320px de viewport), cortando o
   5º botão. Aqui o degrau volta a ser fluido e o gap encolhe, mantendo os
   cinco visíveis e clicáveis sem mudar o desenho. */
@media (max-width: 400px) {
  .pupg__ruler { gap: .25rem; }
  .pupg__step-n { width: clamp(38px, 11.5vw, 46px); height: clamp(38px, 11.5vw, 46px); font-size: 1rem; }
}

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