/* ==========================================================================
   PowerPHP — Partnerships page (pp-partners.css)
   Prefix: pp-pa-  · uses tokens from pp-header-footer.css
   ========================================================================== */
.pp-pa, .pp-pa * { box-sizing: border-box; }
.pp-pa { font-family: var(--font-heading, "Lexend Deca", sans-serif); letter-spacing: -.01em; color: var(--pp-ink); padding-bottom: 72px; }
.pp-pa a { text-decoration: none; }
.pp-pa .material-icons-outlined { line-height: 1; }
.pp-pa button, .pp-pa input, .pp-pa select, .pp-pa textarea { font-family: inherit; }
.pp-pa h1, .pp-pa h2, .pp-pa h3 { font-family: inherit; }
.pp-pa svg { fill: currentColor; }

/* ---------- shared ---------- */
.pp-pa .page__container > * { width: 100%; min-width: 0; }
.pp-pa-eyebrow { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px 0 10px; border-radius: 999px; font-size: 12.5px; font-weight: 500; letter-spacing: .02em; color: var(--pp-teal-800); background: rgba(255, 255, 255, .8); box-shadow: inset 0 0 0 1px rgba(17, 59, 62, .08); }
.pp-pa-eyebrow .material-icons-outlined { font-size: 17px; color: var(--pp-teal-400); }
.pp-pa-eyebrow--dark { color: #fff; background: rgba(255, 255, 255, .1); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); }
.pp-pa-eyebrow--dark .material-icons-outlined { color: #b8f5d4; }
.pp-pa-hl { position: relative; z-index: 0; white-space: nowrap; color: var(--pp-teal-600); }
.pp-pa-hl::after { content: ""; position: absolute; left: -2px; right: -2px; bottom: .04em; height: .32em; z-index: -1; border-radius: 6px; background: linear-gradient(90deg, rgba(0, 188, 212, .22), rgba(62, 142, 147, .22)); }

.pp-pa-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 50px; padding: 0 22px; border: 0; border-radius: 15px; cursor: pointer; white-space: nowrap; font: 500 15px/1 var(--font-heading, "Lexend Deca", sans-serif); letter-spacing: -.01em; transition: transform .25s var(--pp-ease), box-shadow .25s, background .2s, color .2s; }
.pp-pa-btn .material-icons-outlined { font-size: 19px; transition: transform .25s var(--pp-ease); }
.pp-pa-btn:hover { transform: translateY(-2px); }
.pp-pa-btn:hover .material-icons-outlined:last-child { transform: translateX(3px); }
.pp-pa-btn:focus-visible { outline: 2px solid var(--pp-cyan); outline-offset: 3px; }
.pp-pa-btn--dark { color: #fff !important; background: var(--pp-teal-800); box-shadow: 0 16px 26px -14px rgba(13, 48, 51, .85); }
.pp-pa-btn--dark:hover { background: var(--pp-teal-700); }
.pp-pa-btn--cream { color: var(--pp-teal-900) !important; background: var(--pp-cream); box-shadow: 0 16px 26px -14px rgba(0, 0, 0, .55); }
.pp-pa-btn--cream:hover { background: #fff; }
.pp-pa-btn--cyan { color: #fff !important; background: var(--pp-cyan); box-shadow: 0 16px 26px -14px rgba(0, 150, 170, .9); }
.pp-pa-btn--cyan:hover { background: var(--pp-cyan-600, #00a5bb); }
.pp-pa-btn--ghost { color: var(--pp-ink) !important; background: #fff; box-shadow: inset 0 0 0 1px rgba(17, 59, 62, .1); }
.pp-pa-btn--ghost:hover { box-shadow: inset 0 0 0 1.5px var(--pp-teal-400); }
.pp-pa-btn--ghost .material-icons-outlined:first-child { color: var(--pp-teal-400); }
.pp-pa-btn--sm { height: 42px; padding: 0 16px; font-size: 13.5px; border-radius: 13px; }

.pp-pa-avatars { display: inline-flex; align-items: center; }
.pp-pa-avatars img, .pp-pa-avatars > span { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px #effcf0; }
.pp-pa-avatars > * + * { margin-left: -10px; }
.pp-pa-avatars > span { display: grid; place-items: center; font-size: 11.5px; font-weight: 600; color: #fff; background: var(--pp-teal-800); }
.pp-pa-avatars--sm img { width: 34px; height: 34px; }

.pp-pa-chip { display: inline-flex; align-items: center; gap: 3px; height: 26px; padding: 0 9px 0 7px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.pp-pa-chip .material-icons-outlined { font-size: 15px; }
.pp-pa-chip--up { color: #127a4a; background: #dcf7e8; }

/* reveal */
.pp-pa-rv { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--pp-ease), transform .7s var(--pp-ease); transition-delay: var(--d, 0s); }
.pp-pa-rv.is-in { opacity: 1; transform: none; }

/* ==========================================================================
   Hero
   ========================================================================== */
.pp-pa-hero { padding: 24px 0 0; }
.pp-pa-hero__panel { position: relative; isolation: isolate; overflow: hidden; padding: 64px 56px 0; border-radius: 36px; background: linear-gradient(171deg, #ebffd0 0%, #e8fff3 41%, #e7fbf1 100%); }
.pp-pa-hero__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.pp-pa-hero__bg::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(17, 59, 62, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(17, 59, 62, .06) 1px, transparent 1px); background-size: 40px 40px; -webkit-mask-image: radial-gradient(ellipse 60% 70% at 75% 30%, #000 15%, transparent 75%); mask-image: radial-gradient(ellipse 60% 70% at 75% 30%, #000 15%, transparent 75%); }
.pp-pa-blob { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .55; }
.pp-pa-blob--a { width: 420px; height: 420px; left: -140px; bottom: -120px; background: #c9f5df; animation: ppPaBlob 14s ease-in-out infinite alternate; }
.pp-pa-blob--b { width: 440px; height: 440px; right: -80px; top: -120px; background: #b8eef6; animation: ppPaBlob 16s ease-in-out infinite alternate-reverse; }
@keyframes ppPaBlob { to { transform: translate(60px, 40px) scale(1.12); } }

.pp-pa-hero__grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.pp-pa-hero__title { margin: 20px 0 0; font-size: clamp(34px, 4.2vw, 60px); font-weight: 600; line-height: 1.05; letter-spacing: -.045em; color: var(--pp-ink); }
.pp-pa-hero__title .pp-pa-hl { white-space: normal; }
.pp-pa-hero__lead { max-width: 540px; margin: 20px 0 0; font-size: 17px; font-weight: 300; line-height: 1.6; color: var(--pp-ink-2); }
.pp-pa-hero__lead b { font-weight: 600; color: var(--pp-ink); }
.pp-pa-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.pp-pa-hero__proof { display: flex; align-items: center; gap: 14px; margin-top: 30px; }
.pp-pa-hero__proof p { margin: 0; font-size: 13.5px; font-weight: 300; line-height: 1.5; color: var(--pp-ink-2); }
.pp-pa-hero__proof p b { font-weight: 600; color: var(--pp-ink); }
.pp-pa-stars { display: inline-flex; vertical-align: -3px; margin-right: 4px; color: #ffb703; }
.pp-pa-stars .material-icons-outlined { font-size: 16px; }

/* visual */
.pp-pa-hero__visual { position: relative; padding: 46px 46px 76px 34px; }
.pp-pa-dash { position: relative; padding: 24px 24px 22px; border-radius: 28px; background: rgba(255, 255, 255, .94); box-shadow: 0 0 0 1px rgba(17, 59, 62, .07), 0 50px 80px -46px rgba(13, 48, 51, .65); }
.pp-pa-dash__head { display: flex; align-items: center; gap: 12px; }
.pp-pa-dash__head img { width: 40px; height: 40px; border-radius: 13px; object-fit: cover; }
.pp-pa-dash__head div { flex: 1; min-width: 0; }
.pp-pa-dash__head b { display: block; font-size: 15px; font-weight: 600; color: var(--pp-ink); }
.pp-pa-dash__head small { display: block; margin-top: 2px; font-size: 12px; font-weight: 300; color: var(--pp-ink-2); }
.pp-pa-dash__total { display: flex; align-items: flex-start; gap: 2px; margin-top: 22px; }
.pp-pa-dash__total small { margin-top: 6px; font-size: 22px; font-weight: 500; color: var(--pp-ink-2); }
.pp-pa-dash__total b { font-size: 46px; font-weight: 700; line-height: 1; letter-spacing: -.05em; font-variant-numeric: tabular-nums; }
.pp-pa-dash__sub { margin: 6px 0 0; font-size: 13px; font-weight: 300; color: var(--pp-ink-2); }
.pp-pa-bars { display: flex; align-items: flex-end; gap: 7px; height: 120px; margin-top: 20px; }
.pp-pa-bars span { flex: 1; height: var(--h); border-radius: 7px 7px 4px 4px; background: linear-gradient(180deg, #7fc4c8, #d6efef); transform-origin: bottom; animation: ppPaBar .9s var(--pp-ease) both; }
.pp-pa-bars span:nth-child(2n) { animation-delay: .05s; }
.pp-pa-bars span:nth-child(3n) { animation-delay: .1s; }
.pp-pa-bars span.is-now { background: linear-gradient(180deg, var(--pp-cyan), var(--pp-teal-600)); box-shadow: 0 10px 18px -8px rgba(0, 188, 212, .8); }
@keyframes ppPaBar { from { transform: scaleY(0); } }
.pp-pa-dash__legend { display: flex; justify-content: space-between; margin-top: 8px; font-size: 11px; color: var(--pp-faint); }
.pp-pa-dash__split { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.pp-pa-dash__split div { display: flex; align-items: center; gap: 8px; padding: 11px 12px; border-radius: 14px; background: var(--pp-bg-2); font-size: 12.5px; color: var(--pp-ink-2); }
.pp-pa-dash__split b { margin-left: auto; font-size: 14px; font-weight: 600; color: var(--pp-ink); }
.pp-pa-dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.pp-pa-dot--teal { background: var(--pp-teal-600); }
.pp-pa-dot--cyan { background: var(--pp-cyan); }

.pp-pa-float { position: absolute; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px rgba(17, 59, 62, .06), 0 24px 40px -22px rgba(13, 48, 51, .55); animation: ppPaFloat 6s ease-in-out infinite; }
.pp-pa-float__ico { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 13px; color: #f05340; background: #fdecea; }
.pp-pa-float__ico svg { width: 22px; height: 22px; }
.pp-pa-float b { display: block; font-size: 14px; font-weight: 600; color: var(--pp-ink); }
.pp-pa-float b em { font-style: normal; color: #1f9d63; }
.pp-pa-float small { display: block; font-size: 11.5px; font-weight: 300; color: var(--pp-ink-2); }
.pp-pa-float--sale { top: 0; left: -8px; }
.pp-pa-float--payout { right: 0; bottom: 0; color: #fff; background: var(--pp-teal-800); animation-delay: -3s; box-shadow: 0 30px 46px -22px rgba(13, 48, 51, .9); }
.pp-pa-float--payout .pp-pa-float__ico { color: var(--pp-teal-900); background: var(--pp-cream); }
.pp-pa-float--payout b { font-size: 20px; letter-spacing: -.03em; color: #fff; }
.pp-pa-float--payout small { color: rgba(255, 255, 255, .65); }
.pp-pa-float--rate { top: 34px; right: 6px; gap: 6px; padding: 9px 14px 9px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--pp-teal-900); background: var(--pp-cream); animation-delay: -1.5s; }
.pp-pa-float--rate .material-icons-outlined { font-size: 18px; color: #e8590c; }
@keyframes ppPaFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }

.pp-pa-hero__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 32px -56px 0; border-top: 1px solid rgba(17, 59, 62, .08); background: rgba(255, 255, 255, .45); }
.pp-pa-hero__stats > div { padding: 22px 20px; text-align: center; }
.pp-pa-hero__stats > div + div { border-left: 1px solid rgba(17, 59, 62, .08); }
.pp-pa-hero__stats b { display: block; font-size: 30px; font-weight: 700; letter-spacing: -.045em; color: var(--pp-ink); font-variant-numeric: tabular-nums; }
.pp-pa-hero__stats > div > span { display: block; margin-top: 2px; font-size: 13px; font-weight: 300; color: var(--pp-ink-2); }

.pp-pa-logos { margin-top: 34px; text-align: center; }
.pp-pa-logos p { margin: 0 0 14px; font-size: 13px; font-weight: 400; letter-spacing: .02em; color: var(--pp-ink-2); }
.pp-pa-marquee { overflow: hidden; padding: 8px 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.pp-pa-marquee__track { display: flex; align-items: center; gap: 56px; width: max-content; animation: ppPaMarquee 44s linear infinite; }
.pp-pa-marquee:hover .pp-pa-marquee__track { animation-play-state: paused; }
.pp-pa-marquee__track img { height: 28px; width: auto; max-width: 120px; object-fit: contain; filter: grayscale(1); opacity: .5; transition: filter .3s, opacity .3s; }
.pp-pa-marquee__track img:hover { filter: none; opacity: 1; }
@keyframes ppPaMarquee { to { transform: translateX(calc(-50% - 28px)); } }

/* ==========================================================================
   Sections
   ========================================================================== */
.pp-pa-sec { padding: 96px 0 0; scroll-margin-top: calc(var(--pp-sticky-top, 124px) + 10px); }
.pp-pa-sec__head { max-width: 760px; margin: 0 auto 44px; text-align: center; }
.pp-pa-sec__title { margin: 14px 0 0; font-size: clamp(28px, 3vw, 42px); font-weight: 600; line-height: 1.1; letter-spacing: -.04em; color: var(--pp-ink); }
.pp-pa-sec__lead { margin: 12px 0 0; font-size: 16px; font-weight: 300; line-height: 1.6; color: var(--pp-ink-2); }

/* programs */
.pp-pa-progs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pp-pa-prog { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; padding: 26px 24px 24px; border-radius: 26px; background: #fff; box-shadow: 0 0 0 1px rgba(17, 59, 62, .07), 0 26px 44px -38px rgba(13, 48, 51, .55); transition: transform .4s var(--pp-ease), box-shadow .4s; }
.pp-pa-prog::before { content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: 140px; background: linear-gradient(180deg, var(--tint), rgba(255, 255, 255, 0)); opacity: .9; }
.pp-pa-prog:hover { transform: translateY(-6px); box-shadow: 0 0 0 1px rgba(17, 59, 62, .08), 0 40px 60px -36px rgba(13, 48, 51, .5); }
.pp-pa-prog__icon { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; color: var(--pp-teal-600); background: #fff; box-shadow: 0 14px 24px -16px rgba(13, 48, 51, .5), 0 0 0 1px rgba(17, 59, 62, .06); transition: transform .4s var(--pp-ease); }
.pp-pa-prog:hover .pp-pa-prog__icon { transform: rotate(-8deg) scale(1.06); }
.pp-pa-prog__icon .material-icons-outlined { font-size: 26px; }
.pp-pa-prog h3 { margin: 20px 0 0; font-size: 19px; font-weight: 600; letter-spacing: -.025em; color: var(--pp-ink); }
.pp-pa-prog > p { margin: 8px 0 0; font-size: 13.5px; font-weight: 300; line-height: 1.55; color: var(--pp-ink-2); min-height: 63px; }
.pp-pa-prog__rate { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: 18px 0 0; padding: 14px 0; border-top: 1px dashed var(--pp-line); border-bottom: 1px dashed var(--pp-line); }
.pp-pa-prog__rate b { font-size: 32px; font-weight: 700; letter-spacing: -.05em; color: var(--pp-ink); }
.pp-pa-prog__rate span { font-size: 13px; color: var(--pp-ink-2); }
.pp-pa-prog ul { list-style: none; margin: 16px 0 22px; padding: 0; display: grid; gap: 10px; }
.pp-pa-prog li { display: flex; gap: 9px; align-items: flex-start; font-size: 13.5px; font-weight: 300; line-height: 1.4; color: var(--pp-ink); }
.pp-pa-prog li .material-icons-outlined { flex: none; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 7px; font-size: 14px; color: #1f9d63; background: #dcf7e8; }
.pp-pa-prog .pp-pa-btn { margin-top: auto; width: 100%; }
.pp-pa-prog__badge { position: absolute; top: 26px; right: 22px; display: inline-flex; align-items: center; gap: 4px; height: 26px; padding: 0 10px 0 7px; border-radius: 999px; font-size: 11.5px; font-weight: 600; color: var(--pp-teal-900); background: #b8f5d4; }
.pp-pa-prog__badge .material-icons-outlined { font-size: 15px; color: #e8590c; }
.pp-pa-prog--feat { color: #fff; background: var(--pp-teal-800); box-shadow: 0 40px 70px -36px rgba(13, 48, 51, .95); }
.pp-pa-prog--feat::before { inset: -40% -40% auto auto; width: 360px; height: 360px; border-radius: 50%; opacity: 1; background: radial-gradient(circle, rgba(62, 142, 147, .85), rgba(62, 142, 147, 0) 70%); }
.pp-pa-prog--feat::after { content: ""; position: absolute; z-index: -1; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 16px 16px; -webkit-mask-image: linear-gradient(to bottom, #000, transparent 50%); mask-image: linear-gradient(to bottom, #000, transparent 50%); }
.pp-pa-prog--feat .pp-pa-prog__icon { color: var(--pp-teal-900); background: var(--pp-cream); box-shadow: none; }
.pp-pa-prog--feat h3, .pp-pa-prog--feat .pp-pa-prog__rate b { color: #fff; }
.pp-pa-prog--feat > p, .pp-pa-prog--feat .pp-pa-prog__rate span { color: rgba(255, 255, 255, .7); }
.pp-pa-prog--feat .pp-pa-prog__rate { border-color: rgba(255, 255, 255, .16); }
.pp-pa-prog--feat li { color: rgba(255, 255, 255, .9); }
.pp-pa-prog--feat li .material-icons-outlined { color: var(--pp-teal-900); background: #b8f5d4; }

/* ---------- calculator ---------- */
.pp-pa-calc { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 18px; padding: 18px; border-radius: 34px; background: linear-gradient(171deg, #ebffd0 0%, #e8fff3 41%, #e7fbf1 100%); }
.pp-pa-calc__form { padding: 34px 30px 30px; }
.pp-pa-calc__form .pp-pa-sec__lead { margin-bottom: 26px; }
.pp-pa-seg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 5px; border-radius: 18px; background: rgba(255, 255, 255, .8); box-shadow: inset 0 0 0 1px rgba(17, 59, 62, .08); }
.pp-pa-seg button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 58px; padding: 6px 8px; border: 0; border-radius: 14px; cursor: pointer; background: transparent; font-size: 12.5px; font-weight: 500; line-height: 1.2; text-align: center; color: var(--pp-ink-2); transition: background .25s, color .25s, box-shadow .25s; }
.pp-pa-seg button em { font-style: normal; font-size: 15px; font-weight: 700; color: var(--pp-ink); transition: color .25s; }
.pp-pa-seg button:hover { background: rgba(17, 59, 62, .05); }
.pp-pa-seg button.is-active { color: rgba(255, 255, 255, .75); background: var(--pp-teal-800); box-shadow: 0 12px 20px -12px rgba(13, 48, 51, .9); }
.pp-pa-seg button.is-active em { color: #b8f5d4; }
.pp-pa-seg button:focus-visible { outline: 2px solid var(--pp-cyan); outline-offset: 2px; }

.pp-pa-range { margin-top: 26px; padding: 18px 20px 14px; border-radius: 20px; background: rgba(255, 255, 255, .85); box-shadow: inset 0 0 0 1px rgba(17, 59, 62, .06); }
.pp-pa-range__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pp-pa-range__top label { margin: 0; font-size: 14px; font-weight: 500; color: var(--pp-ink); }
.pp-pa-range__top output { min-width: 64px; padding: 6px 12px; border-radius: 11px; text-align: center; font-size: 15px; font-weight: 700; color: var(--pp-teal-900); background: var(--pp-mint); font-variant-numeric: tabular-nums; }
.pp-pa-range input[type=range] { --p: 50%; width: 100%; height: 26px; margin: 12px 0 4px; padding: 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer; }
.pp-pa-range input[type=range]::-webkit-slider-runnable-track { height: 8px; border-radius: 99px; background: linear-gradient(90deg, var(--pp-teal-600), var(--pp-cyan)) 0 / var(--p) 100% no-repeat, #e2ece9; }
.pp-pa-range input[type=range]::-moz-range-track { height: 8px; border-radius: 99px; background: #e2ece9; }
.pp-pa-range input[type=range]::-moz-range-progress { height: 8px; border-radius: 99px; background: linear-gradient(90deg, var(--pp-teal-600), var(--pp-cyan)); }
.pp-pa-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; margin-top: -8px; border-radius: 50%; background: #fff; border: 6px solid var(--pp-teal-800); box-shadow: 0 6px 14px -4px rgba(13, 48, 51, .6); transition: transform .2s var(--pp-ease); }
.pp-pa-range input[type=range]::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 6px solid var(--pp-teal-800); box-shadow: 0 6px 14px -4px rgba(13, 48, 51, .6); }
.pp-pa-range input[type=range]:hover::-webkit-slider-thumb, .pp-pa-range input[type=range]:focus-visible::-webkit-slider-thumb { transform: scale(1.15); }
.pp-pa-range input[type=range]:focus { outline: none; }
.pp-pa-range input[type=range]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 5px rgba(0, 188, 212, .25); }
.pp-pa-range__scale { display: flex; justify-content: space-between; font-size: 11px; color: var(--pp-faint); }
.pp-pa-calc__note { display: flex; gap: 8px; align-items: flex-start; margin: 20px 0 0; font-size: 12.5px; font-weight: 300; line-height: 1.5; color: var(--pp-ink-2); }
.pp-pa-calc__note .material-icons-outlined { font-size: 17px; color: var(--pp-teal-400); }

.pp-pa-calc__out { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; padding: 30px 28px 28px; border-radius: 26px; color: #fff; background: var(--pp-teal-800); box-shadow: 0 40px 70px -36px rgba(13, 48, 51, .95); }
.pp-pa-calc__out::before { content: ""; position: absolute; z-index: -1; width: 460px; height: 460px; right: -200px; top: -240px; border-radius: 50%; background: radial-gradient(circle, rgba(62, 142, 147, .85), rgba(62, 142, 147, 0) 70%); }
.pp-pa-calc__out::after { content: ""; position: absolute; z-index: -1; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 16px 16px; -webkit-mask-image: linear-gradient(to bottom, #000, transparent 45%); mask-image: linear-gradient(to bottom, #000, transparent 45%); }
.pp-pa-calc__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.pp-pa-calc__label { font-size: 14px; color: rgba(255, 255, 255, .7); }
.pp-pa-calc__tier { display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 11px 0 8px; border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--pp-teal-900); background: var(--pp-cream); transition: transform .3s var(--pp-ease); }
.pp-pa-calc__tier.is-pop { animation: ppPaPop .45s var(--pp-ease); }
@keyframes ppPaPop { 50% { transform: scale(1.12); } }
.pp-pa-calc__tier .material-icons-outlined { font-size: 16px; color: #c58b17; }
.pp-pa-calc__big { display: flex; align-items: flex-start; gap: 4px; margin-top: 14px; }
.pp-pa-calc__big small { margin-top: 10px; font-size: 26px; font-weight: 500; color: rgba(255, 255, 255, .6); }
.pp-pa-calc__big b { font-size: clamp(46px, 5vw, 68px); font-weight: 700; line-height: 1; letter-spacing: -.055em; color: #fff; font-variant-numeric: tabular-nums; }
.pp-pa-calc__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 22px; }
.pp-pa-calc__cards div { padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.pp-pa-calc__cards span { display: block; font-size: 11.5px; color: rgba(255, 255, 255, .6); }
.pp-pa-calc__cards b { display: block; margin-top: 4px; font-size: 17px; font-weight: 600; letter-spacing: -.03em; color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-pa-calc__cards div:first-child b { color: #b8f5d4; }
.pp-pa-calc__meter { margin-top: 20px; }
.pp-pa-calc__meter-top { display: flex; justify-content: space-between; font-size: 12.5px; color: rgba(255, 255, 255, .65); }
.pp-pa-calc__meter-top b { color: #fff; font-weight: 600; }
.pp-pa-calc__track { height: 8px; margin-top: 8px; border-radius: 99px; background: rgba(255, 255, 255, .12); overflow: hidden; }
.pp-pa-calc__track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #b8f5d4, var(--pp-cyan)); transition: width .6s var(--pp-ease); }
.pp-pa-calc__months { flex: 1 1 64px; display: flex; align-items: flex-end; gap: 5px; min-height: 64px; max-height: 190px; margin-top: 22px; }
.pp-pa-calc__months span { flex: 1; min-height: 4px; border-radius: 5px 5px 3px 3px; background: rgba(255, 255, 255, .2); transition: height .6s var(--pp-ease); }
.pp-pa-calc__months span:last-child { background: linear-gradient(180deg, #b8f5d4, var(--pp-cyan)); }
.pp-pa-calc__cap { margin: 8px 0 22px; font-size: 11.5px; color: rgba(255, 255, 255, .5); }
.pp-pa-calc__out .pp-pa-btn { width: 100%; }

/* ---------- steps ---------- */
.pp-pa-steps { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.pp-pa-steps::before { content: ""; position: absolute; top: 52px; left: 12%; right: 12%; height: 2px; background: repeating-linear-gradient(90deg, rgba(62, 142, 147, .45) 0 8px, transparent 8px 16px); }
.pp-pa-step { position: relative; padding: 26px 24px 24px; border-radius: 26px; background: #fff; box-shadow: 0 0 0 1px rgba(17, 59, 62, .07), 0 26px 44px -38px rgba(13, 48, 51, .55); transition: transform .4s var(--pp-ease), box-shadow .4s; }
.pp-pa-step:hover { transform: translateY(-5px); box-shadow: 0 0 0 1px rgba(17, 59, 62, .08), 0 36px 54px -36px rgba(13, 48, 51, .5); }
.pp-pa-step__num { position: absolute; top: 24px; right: 24px; font-size: 34px; font-weight: 700; letter-spacing: -.05em; color: transparent; -webkit-text-stroke: 1px rgba(17, 59, 62, .18); }
.pp-pa-step__icon { position: relative; z-index: 1; width: 56px; height: 56px; display: grid; place-items: center; border-radius: 18px; color: #fff; background: var(--pp-teal-800); box-shadow: 0 0 0 7px #fff, 0 16px 26px -14px rgba(13, 48, 51, .85); }
.pp-pa-step:last-child .pp-pa-step__icon { color: var(--pp-teal-900); background: var(--pp-cream); }
.pp-pa-step__icon .material-icons-outlined { font-size: 26px; }
.pp-pa-step h3 { margin: 22px 0 0; font-size: 18px; font-weight: 600; letter-spacing: -.025em; }
.pp-pa-step p { margin: 8px 0 0; font-size: 14px; font-weight: 300; line-height: 1.6; color: var(--pp-ink-2); }
.pp-pa-step__meta { display: inline-flex; align-items: center; gap: 5px; height: 28px; margin-top: 16px; padding: 0 11px 0 8px; border-radius: 999px; font-size: 12px; font-weight: 500; color: var(--pp-teal-800); background: var(--pp-mint); }
.pp-pa-step__meta .material-icons-outlined { font-size: 15px; color: var(--pp-teal-400); }

/* ---------- benefits ---------- */
.pp-pa-bens { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-radius: 28px; background: #fff; box-shadow: 0 0 0 1px rgba(17, 59, 62, .07), 0 30px 50px -40px rgba(13, 48, 51, .5); overflow: hidden; }
.pp-pa-ben { position: relative; padding: 30px 30px 32px; transition: background .3s; }
.pp-pa-ben:nth-child(3n+2), .pp-pa-ben:nth-child(3n+3) { border-left: 1px solid var(--pp-line-2); }
.pp-pa-ben:nth-child(n+4) { border-top: 1px solid var(--pp-line-2); }
.pp-pa-ben:hover { background: #fafcfc; }
.pp-pa-ben__icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; color: var(--c); background: var(--b); transition: transform .35s var(--pp-ease); }
.pp-pa-ben:hover .pp-pa-ben__icon { transform: translateY(-3px) rotate(-6deg); }
.pp-pa-ben__icon .material-icons-outlined { font-size: 23px; }
.pp-pa-ben h3 { margin: 18px 0 0; font-size: 17px; font-weight: 600; letter-spacing: -.02em; }
.pp-pa-ben p { margin: 6px 0 0; font-size: 14px; font-weight: 300; line-height: 1.6; color: var(--pp-ink-2); }

/* ---------- stories ---------- */
.pp-pa-stories { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.pp-pa-story { position: relative; display: flex; flex-direction: column; margin: 0; padding: 28px 26px 24px; border-radius: 26px; background: #fff; box-shadow: 0 0 0 1px rgba(17, 59, 62, .07), 0 26px 44px -38px rgba(13, 48, 51, .55); transition: transform .4s var(--pp-ease), box-shadow .4s; }
.pp-pa-story:hover { transform: translateY(-5px); box-shadow: 0 0 0 1px rgba(17, 59, 62, .08), 0 36px 54px -36px rgba(13, 48, 51, .5); }
.pp-pa-story__quote { font-size: 40px !important; color: var(--pp-teal-400); opacity: .5; }
.pp-pa-story blockquote { margin: 8px 0 0; padding: 0; border: 0; font-size: 15.5px; font-weight: 300; line-height: 1.6; color: var(--pp-ink); }
.pp-pa-story__earn { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin: 22px 0 0; padding: 14px 16px; border-radius: 16px; background: var(--pp-bg-2); }
.pp-pa-story__earn span { flex: 1 0 100%; font-size: 12px; color: var(--pp-ink-2); }
.pp-pa-story__earn b { font-size: 24px; font-weight: 700; letter-spacing: -.045em; color: var(--pp-ink); }
.pp-pa-story__earn em { display: inline-flex; align-items: center; gap: 2px; font-style: normal; font-size: 12px; font-weight: 600; color: #127a4a; }
.pp-pa-story__earn em .material-icons-outlined { font-size: 15px; }
.pp-pa-story figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 20px; }
.pp-pa-story figcaption img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(17, 59, 62, .1); }
.pp-pa-story figcaption div { flex: 1; min-width: 0; }
.pp-pa-story figcaption b { display: block; font-size: 14.5px; font-weight: 600; }
.pp-pa-story figcaption small { display: block; font-size: 12px; font-weight: 300; color: var(--pp-ink-2); }
.pp-pa-story__tag { display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 10px 0 8px; border-radius: 999px; font-size: 11.5px; font-weight: 500; color: var(--pp-ink-2); background: var(--pp-bg-2); }
.pp-pa-story__tag svg { width: 14px; height: 14px; }
.pp-pa-story--feat { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: var(--pp-teal-800); box-shadow: 0 40px 70px -36px rgba(13, 48, 51, .95); }
.pp-pa-story--feat::before { content: ""; position: absolute; z-index: -1; width: 420px; height: 420px; right: -180px; bottom: -220px; border-radius: 50%; background: radial-gradient(circle, rgba(62, 142, 147, .85), rgba(62, 142, 147, 0) 70%); }
.pp-pa-story--feat .pp-pa-story__quote { color: #b8f5d4; }
.pp-pa-story--feat blockquote { font-size: 19px; line-height: 1.5; color: #fff; }
.pp-pa-story--feat .pp-pa-story__earn { background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.pp-pa-story--feat .pp-pa-story__earn span, .pp-pa-story--feat figcaption small { color: rgba(255, 255, 255, .65); }
.pp-pa-story--feat .pp-pa-story__earn b { color: #fff; font-size: 30px; }
.pp-pa-story--feat .pp-pa-story__earn em { color: #b8f5d4; }
.pp-pa-story--feat figcaption img { box-shadow: 0 0 0 3px var(--pp-teal-800), 0 0 0 4px rgba(255, 255, 255, .25); }
.pp-pa-story--feat .pp-pa-story__tag { color: #fff; background: rgba(255, 255, 255, .1); }

/* ---------- tiers ---------- */
.pp-pa-toggle { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; margin-top: 24px; padding: 5px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px rgba(17, 59, 62, .08), 0 14px 30px -24px rgba(13, 48, 51, .6); }
.pp-pa-toggle button { position: relative; z-index: 1; height: 42px; padding: 0 22px; border: 0; border-radius: 12px; cursor: pointer; background: transparent; font-size: 14px; font-weight: 500; color: var(--pp-ink-2); transition: color .3s; }
.pp-pa-toggle button.is-active { color: #fff; }
.pp-pa-toggle__thumb { position: absolute; top: 5px; bottom: 5px; left: 5px; width: calc(50% - 5px); border-radius: 12px; background: var(--pp-teal-800); box-shadow: 0 12px 20px -12px rgba(13, 48, 51, .9); transition: transform .45s var(--pp-ease); }
.pp-pa-toggle.is-aff .pp-pa-toggle__thumb { transform: translateX(100%); }

.pp-pa-tiers-wrap { max-width: 1080px; margin: 0 auto; overflow-x: auto; border-radius: 28px; background: #fff; box-shadow: 0 0 0 1px rgba(17, 59, 62, .07), 0 30px 50px -40px rgba(13, 48, 51, .5); }
.pp-pa-tiers { width: 100%; min-width: 680px; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.pp-pa-tiers th, .pp-pa-tiers td { padding: 16px 20px; border: 0; text-align: center; vertical-align: middle; color: var(--pp-ink); }
.pp-pa-tiers thead th { padding-top: 26px; padding-bottom: 20px; border-bottom: 1px solid var(--pp-line-2); }
.pp-pa-tiers thead th b { display: block; margin-top: 10px; font-size: 16px; font-weight: 600; }
.pp-pa-tiers thead th small { display: block; margin-top: 3px; font-size: 12.5px; font-weight: 300; color: var(--pp-ink-2); }
.pp-pa-tiers thead th.is-feat { background: var(--pp-teal-800); border-radius: 22px 22px 0 0; }
.pp-pa-tiers thead th.is-feat b { color: #fff; }
.pp-pa-tiers thead th.is-feat small { color: rgba(255, 255, 255, .7); }
.pp-pa-tiers__corner { display: block; text-align: left; font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--pp-faint); }
.pp-pa-medal { width: 40px; height: 40px; display: inline-grid; place-items: center; border-radius: 13px; color: var(--m); background: color-mix(in srgb, var(--m) 16%, #fff); }
.pp-pa-medal .material-icons-outlined { font-size: 22px; }
.pp-pa-medal--elite { color: #fff; background: linear-gradient(135deg, var(--pp-cyan), var(--pp-teal-600)); box-shadow: 0 10px 18px -8px rgba(0, 188, 212, .7); }
.is-feat .pp-pa-medal { background: rgba(255, 255, 255, .12); }
.pp-pa-tiers tbody th { text-align: left; font-weight: 400; }
.pp-pa-tiers tbody tr + tr th, .pp-pa-tiers tbody tr + tr td { border-top: 1px solid var(--pp-line-2); }
.pp-pa-tiers tbody tr:hover th, .pp-pa-tiers tbody tr:hover td:not(.is-feat) { background: #fafcfc; }
.pp-pa-tiers td.is-feat { font-weight: 500; background: rgba(231, 251, 241, .6); }
.pp-pa-tiers tbody tr:last-child td.is-feat { border-radius: 0 0 22px 22px; }
.pp-pa-rate { display: inline-block; font-size: 20px; font-weight: 700; letter-spacing: -.04em; }
.pp-pa-rate.is-flip { animation: ppPaFlip .45s var(--pp-ease); }
@keyframes ppPaFlip { from { opacity: 0; transform: translateY(10px); } }
.pp-pa-yes, .pp-pa-no { width: 26px; height: 26px; display: inline-grid; place-items: center; border-radius: 9px; }
.pp-pa-yes { color: #1f9d63; background: #dcf7e8; }
.pp-pa-no { color: rgba(22, 28, 45, .25); background: var(--pp-bg-2); }
.pp-pa-yes .material-icons-outlined, .pp-pa-no .material-icons-outlined { font-size: 16px; }

/* ---------- terms doc ---------- */
.pp-pa-doc { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 40px; align-items: start; }
.pp-pa-doc__nav { position: sticky; top: calc(var(--pp-sticky-top, 124px) + 20px); display: grid; gap: 2px; padding: 18px; border-radius: 22px; background: #fff; box-shadow: 0 0 0 1px rgba(17, 59, 62, .07); }
.pp-pa-doc__navtitle { margin: 0 0 8px 10px; font-size: 11px; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: var(--pp-faint); }
.pp-pa-doc__nav a { position: relative; padding: 9px 10px 9px 14px; border-radius: 11px; font-size: 13.5px; color: var(--pp-ink-2); transition: background .2s, color .2s; }
.pp-pa-doc__nav a::before { content: ""; position: absolute; left: 4px; top: 10px; bottom: 10px; width: 3px; border-radius: 3px; background: var(--pp-cyan); transform: scaleY(0); transition: transform .3s var(--pp-ease); }
.pp-pa-doc__nav a:hover { color: var(--pp-ink); background: var(--pp-bg-2); }
.pp-pa-doc__nav a.is-active { color: var(--pp-teal-900); font-weight: 500; background: var(--pp-mint); }
.pp-pa-doc__nav a.is-active::before { transform: scaleY(1); }
.pp-pa-doc__body { display: grid; gap: 16px; }
.pp-pa-doc__sec { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 28px; padding: 30px; border-radius: 26px; background: #fff; box-shadow: 0 0 0 1px rgba(17, 59, 62, .07), 0 26px 44px -40px rgba(13, 48, 51, .5); scroll-margin-top: calc(var(--pp-sticky-top, 124px) + 20px); }
.pp-pa-doc__sec h3 { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 19px; font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
.pp-pa-doc__ico { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 13px; color: var(--pp-teal-600); background: var(--pp-mint); }
.pp-pa-doc__ico .material-icons-outlined { font-size: 21px; }
.pp-pa-doc__main > p { margin: 14px 0 0; font-size: 15px; font-weight: 300; line-height: 1.75; color: var(--pp-ink-2); }
.pp-pa-doc__main > p.pp-pa-doc__label { margin-top: 20px; font-weight: 500; color: var(--pp-ink); }
.pp-pa-doc__tldr { align-self: start; padding: 16px 18px; border-radius: 18px; font-size: 13px; font-weight: 300; line-height: 1.55; color: #6b5435; background: linear-gradient(160deg, #fbf4ea, var(--pp-cream)); box-shadow: inset 0 0 0 1px rgba(138, 106, 61, .12); }
.pp-pa-doc__tldr b { display: flex; align-items: center; gap: 5px; margin-bottom: 6px; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pp-teal-900); }
.pp-pa-doc__tldr b .material-icons-outlined { font-size: 16px; color: #c58b17; }
.pp-pa-uses { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.pp-pa-uses li { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 6px 14px 6px 8px; border-radius: 999px; font-size: 13.5px; color: var(--pp-ink); background: var(--pp-bg-2); box-shadow: inset 0 0 0 1px rgba(17, 59, 62, .05); transition: background .2s, transform .25s var(--pp-ease); }
.pp-pa-uses li:hover { background: var(--pp-mint); transform: translateY(-2px); }
.pp-pa-uses li .material-icons-outlined { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; font-size: 15px; color: var(--pp-teal-600); background: #fff; }
.pp-pa-lic { display: flex; gap: 16px; margin-top: 16px; padding: 20px; border-radius: 20px; background: var(--pp-bg-2); }
.pp-pa-lic__tag { width: 48px; height: 48px; flex: none; display: grid; place-items: center; border-radius: 15px; font-size: 15px; font-weight: 700; color: var(--pp-cream); background: var(--pp-teal-800); }
.pp-pa-lic b { font-size: 16px; font-weight: 600; }
.pp-pa-lic p { margin: 6px 0 0; font-size: 14.5px; font-weight: 300; line-height: 1.7; color: var(--pp-ink-2); }
.pp-pa-lic p.pp-pa-lic__note { display: flex; gap: 8px; margin-top: 12px; padding: 10px 12px; border-radius: 12px; font-size: 13.5px; background: #fff; }
.pp-pa-lic__note .material-icons-outlined { font-size: 18px; color: var(--pp-teal-400); }
.pp-pa-lic__note b { font-size: inherit; color: var(--pp-ink); }
.pp-pa-vs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.pp-pa-vs__card { padding: 20px; border-radius: 20px; background: var(--pp-bg-2); }
.pp-pa-vs__card--ex { background: var(--pp-mint); box-shadow: inset 0 0 0 1px rgba(31, 122, 77, .1); }
.pp-pa-vs__pill { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 12px 0 9px; border-radius: 999px; font-size: 12.5px; font-weight: 600; color: var(--pp-teal-900); background: #fff; }
.pp-pa-vs__pill .material-icons-outlined { font-size: 16px; color: var(--pp-teal-400); }
.pp-pa-vs__card p { margin: 12px 0 0; font-size: 14px; font-weight: 300; line-height: 1.7; color: var(--pp-ink-2); }
.pp-pa-vs__card p b { font-weight: 600; color: var(--pp-ink); }
.pp-pa-eula { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.pp-pa-eula a { display: flex; align-items: center; gap: 12px; padding: 14px 16px 14px 14px; border-radius: 18px; background: var(--pp-bg-2); box-shadow: inset 0 0 0 1px rgba(17, 59, 62, .05); transition: background .2s, box-shadow .2s, transform .25s var(--pp-ease); }
.pp-pa-eula a:hover { background: #fff; box-shadow: inset 0 0 0 1.5px var(--pp-teal-400); transform: translateY(-2px); }
.pp-pa-eula a > span:nth-child(2) { flex: 1; min-width: 0; }
.pp-pa-eula b { display: block; font-size: 14px; font-weight: 600; color: var(--pp-ink); }
.pp-pa-eula small { display: block; font-size: 12px; color: var(--pp-ink-2); }
.pp-pa-eula__ico { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 12px; color: #e03131; background: #fdecec; }
.pp-pa-eula a > .material-icons-outlined { font-size: 19px; color: var(--pp-teal-400); transition: transform .25s var(--pp-ease); }
.pp-pa-eula a:hover > .material-icons-outlined { transform: translate(2px, -2px); }

/* ---------- FAQ ---------- */
.pp-pa-faq { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 56px; align-items: start; }
.pp-pa-faq__side { position: sticky; top: calc(var(--pp-sticky-top, 124px) + 24px); }
.pp-pa-faq__tabs { display: grid; gap: 8px; margin-top: 26px; }
.pp-pa-faq__tabs button { display: flex; align-items: center; gap: 12px; height: 54px; padding: 0 16px; border: 0; border-radius: 16px; cursor: pointer; text-align: left; font-size: 15px; font-weight: 500; color: var(--pp-ink-2); background: #fff; box-shadow: 0 0 0 1px rgba(17, 59, 62, .07); transition: background .2s, color .2s, box-shadow .2s; }
.pp-pa-faq__tabs button .material-icons-outlined { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; font-size: 19px; color: var(--pp-teal-600); background: var(--pp-mint); }
.pp-pa-faq__tabs button em { margin-left: auto; font-style: normal; font-size: 12px; font-weight: 600; color: var(--pp-faint); }
.pp-pa-faq__tabs button:hover { color: var(--pp-ink); }
.pp-pa-faq__tabs button.is-active { color: #fff; background: var(--pp-teal-800); box-shadow: 0 16px 26px -16px rgba(13, 48, 51, .9); }
.pp-pa-faq__tabs button.is-active .material-icons-outlined { color: var(--pp-teal-900); background: var(--pp-cream); }
.pp-pa-faq__tabs button.is-active em { color: rgba(255, 255, 255, .6); }
.pp-pa-faq__help { margin-top: 22px; padding: 22px; border-radius: 22px; background: linear-gradient(160deg, #ebffd0, #e7fbf1); box-shadow: inset 0 0 0 1px rgba(31, 122, 77, .08); }
.pp-pa-faq__help .pp-pa-avatars { margin-bottom: 12px; }
.pp-pa-faq__help b { display: block; font-size: 16px; font-weight: 600; }
.pp-pa-faq__help p { margin: 4px 0 16px; font-size: 13.5px; font-weight: 300; color: var(--pp-ink-2); }
.pp-pa-faq__panel { display: grid; gap: 12px; }
.pp-pa-faq__panel[hidden] { display: none; }
.pp-pa-faq__panel.is-active { animation: ppPaFlip .45s var(--pp-ease); }
.pp-pa-faq__item { border-radius: 22px; background: #fff; box-shadow: 0 0 0 1px rgba(17, 59, 62, .07); transition: box-shadow .3s; }
.pp-pa-faq__item.is-open { box-shadow: 0 0 0 1px rgba(17, 59, 62, .08), 0 24px 40px -32px rgba(13, 48, 51, .55); }
.pp-pa-faq__q { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 24px; border: 0; background: none; cursor: pointer; text-align: left; font-size: 16.5px; font-weight: 500; letter-spacing: -.015em; color: var(--pp-ink); }
.pp-pa-faq__q:focus-visible { outline: 2px solid var(--pp-cyan); outline-offset: -2px; border-radius: 22px; }
.pp-pa-faq__pm { position: relative; width: 34px; height: 34px; flex: none; border-radius: 11px; background: var(--pp-bg-2); transition: background .3s, transform .4s var(--pp-ease); }
.pp-pa-faq__pm::before, .pp-pa-faq__pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 13px; height: 2px; margin: -1px 0 0 -6.5px; border-radius: 2px; background: var(--pp-ink); transition: transform .4s var(--pp-ease), background .3s; }
.pp-pa-faq__pm::after { transform: rotate(90deg); }
.pp-pa-faq__item.is-open .pp-pa-faq__pm { background: var(--pp-teal-800); transform: rotate(180deg); }
.pp-pa-faq__item.is-open .pp-pa-faq__pm::before, .pp-pa-faq__item.is-open .pp-pa-faq__pm::after { background: #fff; }
.pp-pa-faq__item.is-open .pp-pa-faq__pm::after { transform: rotate(0deg); }
.pp-pa-faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s var(--pp-ease); }
.pp-pa-faq__a > div { overflow: hidden; }
.pp-pa-faq__item.is-open .pp-pa-faq__a { grid-template-rows: 1fr; }
.pp-pa-faq__a p { margin: 0; padding: 0 76px 24px 24px; font-size: 15px; font-weight: 300; line-height: 1.7; color: var(--pp-ink-2); }

/* ---------- apply ---------- */
.pp-pa-apply { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 40px; align-items: center; padding: 48px; border-radius: 34px; color: #fff; background: var(--pp-teal-800); }
.pp-pa-apply::before { content: ""; position: absolute; z-index: -1; width: 620px; height: 620px; left: -220px; top: -320px; border-radius: 50%; background: radial-gradient(circle, rgba(62, 142, 147, .85), rgba(62, 142, 147, 0) 70%); }
.pp-pa-apply::after { content: ""; position: absolute; z-index: -1; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px); background-size: 36px 36px; -webkit-mask-image: radial-gradient(ellipse 50% 90% at 0% 100%, #000, transparent 75%); mask-image: radial-gradient(ellipse 50% 90% at 0% 100%, #000, transparent 75%); }
.pp-pa-apply__intro h2 { margin: 18px 0 0; font-size: clamp(28px, 3vw, 42px); font-weight: 600; line-height: 1.1; letter-spacing: -.04em; color: #fff; }
.pp-pa-apply__intro h2 span { color: #b8f5d4; }
.pp-pa-apply__intro > p { margin: 14px 0 0; font-size: 16px; font-weight: 300; line-height: 1.6; color: rgba(255, 255, 255, .72); }
.pp-pa-apply__list { display: grid; gap: 12px; margin: 26px 0 0; padding: 0; list-style: none; }
.pp-pa-apply__list li { display: flex; align-items: center; gap: 10px; font-size: 15px; color: rgba(255, 255, 255, .9); }
.pp-pa-apply__list .material-icons-outlined { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; font-size: 16px; color: var(--pp-teal-900); background: #b8f5d4; }
.pp-pa-apply__contact { display: flex; align-items: center; gap: 12px; margin-top: 32px; padding: 14px; border-radius: 20px; background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); max-width: 400px; }
.pp-pa-apply__contact img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; }
.pp-pa-apply__contact b { display: block; font-size: 15px; font-weight: 600; }
.pp-pa-apply__contact small { display: block; font-size: 12.5px; color: rgba(255, 255, 255, .6); }
.pp-pa-apply__contact a { color: #b8f5d4; }
.pp-pa-apply__contact a:hover { text-decoration: underline; }
.pp-pa-apply__card { padding: 28px; border-radius: 26px; color: var(--pp-ink); background: #fff; box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .5); }

.pp-pa-form { display: grid; gap: 16px; }
.pp-pa-form__types { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
.pp-pa-form__types legend { grid-column: 1 / -1; float: left; width: 100%; margin: 0 0 8px; font-size: 13px; font-weight: 500; color: var(--pp-ink); }
.pp-pa-form__types label { margin: 0; cursor: pointer; }
.pp-pa-form__types input { position: absolute; opacity: 0; pointer-events: none; }
.pp-pa-form__types label span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; height: 70px; border-radius: 16px; font-size: 12.5px; font-weight: 500; color: var(--pp-ink-2); background: var(--pp-bg-2); box-shadow: inset 0 0 0 1px rgba(17, 59, 62, .06); transition: background .2s, box-shadow .2s, color .2s, transform .25s var(--pp-ease); }
.pp-pa-form__types label span .material-icons-outlined { font-size: 22px; color: var(--pp-teal-400); }
.pp-pa-form__types label:hover span { transform: translateY(-2px); }
.pp-pa-form__types input:checked + span { color: var(--pp-teal-900); background: var(--pp-mint); box-shadow: inset 0 0 0 1.5px var(--pp-teal-600); }
.pp-pa-form__types input:checked + span .material-icons-outlined { color: var(--pp-teal-800); }
.pp-pa-form__types input:focus-visible + span { box-shadow: inset 0 0 0 1.5px var(--pp-teal-600), 0 0 0 4px rgba(0, 188, 212, .2); }
.pp-pa-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pp-pa-field { position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pp-pa-field > label { margin: 0; font-size: 13px; font-weight: 500; color: var(--pp-ink); }
.pp-pa-field > label small { font-weight: 300; color: var(--pp-faint); }
.pp-pa-field__wrap { position: relative; }
.pp-pa-field__wrap > .material-icons-outlined { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-size: 19px; color: var(--pp-faint); pointer-events: none; transition: color .2s; }
.pp-pa-field input, .pp-pa-field select, .pp-pa-field textarea { width: 100%; height: 48px; padding: 0 14px 0 42px; border: 0; border-radius: 14px; font-size: 14px; color: var(--pp-ink); background: var(--pp-bg-2); box-shadow: inset 0 0 0 1px rgba(17, 59, 62, .06); outline: none; transition: background .2s, box-shadow .2s; -webkit-appearance: none; appearance: none; }
.pp-pa-field textarea { height: auto; min-height: 88px; padding: 12px 14px; resize: vertical; line-height: 1.5; }
.pp-pa-field__wrap--select::after { content: "expand_more"; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-family: "Material Icons Outlined"; font-size: 20px; color: var(--pp-ink-2); pointer-events: none; }
.pp-pa-field select { padding-right: 36px; cursor: pointer; }
.pp-pa-field input::placeholder, .pp-pa-field textarea::placeholder { color: var(--pp-faint); }
.pp-pa-field input:focus, .pp-pa-field select:focus, .pp-pa-field textarea:focus { background: #fff; box-shadow: 0 0 0 1.5px rgba(0, 188, 212, .65), 0 0 0 5px rgba(0, 188, 212, .12); }
.pp-pa-field__wrap:focus-within > .material-icons-outlined { color: var(--pp-teal-600); }
.pp-pa-field__err { display: none; align-items: center; gap: 4px; font-size: 12px; color: #d63b3b; }
.pp-pa-field.is-invalid .pp-pa-field__err, .pp-pa-check__err.is-shown { display: flex; }
.pp-pa-field.is-invalid input, .pp-pa-field.is-invalid select { background: #fff6f6; box-shadow: inset 0 0 0 1.5px rgba(214, 59, 59, .6); }
.pp-pa-field.is-invalid .pp-pa-field__wrap > .material-icons-outlined { color: #d63b3b; }
.pp-pa-field.is-valid .pp-pa-field__wrap::before { content: "check_circle"; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-family: "Material Icons Outlined"; font-size: 19px; color: #1f9d63; pointer-events: none; }
.pp-pa-field.is-valid .pp-pa-field__wrap--select::before { right: 36px; }
.pp-pa-field.is-shake { animation: ppPaShake .4s; }
@keyframes ppPaShake { 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }
.pp-pa-field__count { position: absolute; right: 12px; bottom: 9px; font-size: 11px; color: var(--pp-faint); pointer-events: none; }
.pp-pa-check { display: flex; align-items: flex-start; gap: 10px; margin: 0; cursor: pointer; font-size: 13.5px; font-weight: 300; line-height: 1.5; color: var(--pp-ink-2); }
.pp-pa-check input { position: absolute; opacity: 0; pointer-events: none; }
.pp-pa-check__box { width: 22px; height: 22px; flex: none; display: grid; place-items: center; border-radius: 7px; background: var(--pp-bg-2); box-shadow: inset 0 0 0 1.5px rgba(17, 59, 62, .2); transition: background .2s, box-shadow .2s; }
.pp-pa-check__box .material-icons-outlined { font-size: 16px; color: #fff; transform: scale(0); transition: transform .25s var(--pp-ease); }
.pp-pa-check input:checked + .pp-pa-check__box { background: var(--pp-teal-800); box-shadow: none; }
.pp-pa-check input:checked + .pp-pa-check__box .material-icons-outlined { transform: scale(1); }
.pp-pa-check input:focus-visible + .pp-pa-check__box { box-shadow: 0 0 0 4px rgba(0, 188, 212, .25); }
.pp-pa-check.is-invalid .pp-pa-check__box { box-shadow: inset 0 0 0 1.5px #d63b3b; }
.pp-pa-check a { color: var(--pp-teal-600); font-weight: 500; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .3s; }
.pp-pa-check a:hover { background-size: 100% 1px; }
.pp-pa-check__err { margin-top: -10px; }
.pp-pa-form__submit { width: 100%; height: 54px; font-size: 15.5px; }
.pp-pa-form__submit.is-loading { pointer-events: none; opacity: .85; }
.pp-pa-form__submit.is-loading .material-icons-outlined { animation: ppPaSpin .8s linear infinite; }
@keyframes ppPaSpin { to { transform: rotate(360deg); } }

.pp-pa-success { text-align: center; padding: 16px 6px 6px; animation: ppPaFlip .5s var(--pp-ease); }
.pp-pa-success[hidden] { display: none; }
.pp-pa-success__icon { width: 76px; height: 76px; margin: 0 auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #33c58a, #1f9d63); box-shadow: 0 0 0 10px #dcf7e8, 0 20px 30px -12px rgba(31, 157, 99, .7); animation: ppPaPop .6s var(--pp-ease); }
.pp-pa-success__icon .material-icons-outlined { font-size: 40px; }
.pp-pa-success h3 { margin: 26px 0 0; font-size: 24px; font-weight: 600; letter-spacing: -.035em; }
.pp-pa-success p { max-width: 400px; margin: 10px auto 0; font-size: 14.5px; font-weight: 300; line-height: 1.6; color: var(--pp-ink-2); }
.pp-pa-success p b { font-weight: 600; color: var(--pp-ink); }
.pp-pa-success__steps { display: grid; gap: 8px; max-width: 340px; margin: 22px auto 22px; padding: 0; list-style: none; text-align: left; }
.pp-pa-success__steps li { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 14px; font-size: 13.5px; color: var(--pp-ink-2); background: var(--pp-bg-2); }
.pp-pa-success__steps li .material-icons-outlined { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; font-size: 16px; color: var(--pp-teal-600); background: #fff; }
.pp-pa-success__steps li.is-done { color: var(--pp-teal-900); background: var(--pp-mint); }
.pp-pa-success__steps li.is-done .material-icons-outlined { color: #fff; background: #1f9d63; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1199px) {
  .pp-pa-hero__panel { padding: 52px 40px 0; }
  .pp-pa-hero__stats { margin: 28px -40px 0; }
  .pp-pa-hero__grid { gap: 24px; }
  .pp-pa-hero__visual { padding: 46px 20px 76px 10px; }
  .pp-pa-progs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-pa-prog > p { min-height: 0; }
  .pp-pa-calc { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); }
  .pp-pa-calc__form { padding: 26px 18px 20px; }
  .pp-pa-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-pa-steps::before { display: none; }
  .pp-pa-stories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-pa-story--feat { grid-column: 1 / -1; }
  .pp-pa-doc { grid-template-columns: 210px minmax(0, 1fr); gap: 24px; }
  .pp-pa-doc__sec { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .pp-pa-faq { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 36px; }
  .pp-pa-apply { grid-template-columns: minmax(0, 1fr); padding: 40px; }
  .pp-pa-apply__card { max-width: 680px; }
}
@media (max-width: 991px) {
  .pp-pa-hero__panel { padding: 44px 28px 0; border-radius: 30px; }
  .pp-pa-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .pp-pa-hero__copy { text-align: center; }
  .pp-pa-hero__lead { margin-left: auto; margin-right: auto; }
  .pp-pa-hero__actions, .pp-pa-hero__proof { justify-content: center; }
  .pp-pa-hero__proof { text-align: left; }
  .pp-pa-hero__visual { max-width: 560px; width: 100%; margin: 0 auto; }
  .pp-pa-hero__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 20px -28px 0; }
  .pp-pa-hero__stats > div:nth-child(3) { border-left: 0; }
  .pp-pa-hero__stats > div:nth-child(n+3) { border-top: 1px solid rgba(17, 59, 62, .08); }
  .pp-pa-sec { padding-top: 72px; }
  .pp-pa-calc { grid-template-columns: minmax(0, 1fr); }
  .pp-pa-bens { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-pa-ben:nth-child(n) { border-left: 0; border-top: 0; }
  .pp-pa-ben:nth-child(2n) { border-left: 1px solid var(--pp-line-2); }
  .pp-pa-ben:nth-child(n+3) { border-top: 1px solid var(--pp-line-2); }
  .pp-pa-doc { grid-template-columns: minmax(0, 1fr); }
  .pp-pa-doc__nav { position: static; display: flex; flex-wrap: nowrap; overflow-x: auto; gap: 6px; padding: 8px; border-radius: 18px; scrollbar-width: none; }
  .pp-pa-doc__nav::-webkit-scrollbar { display: none; }
  .pp-pa-doc__navtitle { display: none; }
  .pp-pa-doc__nav a { flex: none; white-space: nowrap; padding: 9px 14px; }
  .pp-pa-doc__nav a::before { display: none; }
  .pp-pa-faq { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .pp-pa-faq__side { position: static; }
  .pp-pa-faq__tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pp-pa-faq__help { display: none; }
  .pp-pa-apply__card { max-width: none; }
}
@media (max-width: 767px) {
  .pp-pa-hero { padding-top: 12px; }
  .pp-pa-hero__panel { padding: 36px 16px 0; border-radius: 26px; }
  .pp-pa-hero__lead { font-size: 15px; }
  .pp-pa-hero__actions .pp-pa-btn { flex: 1 1 100%; }
  .pp-pa-hero__proof { flex-direction: column; text-align: center; gap: 10px; }
  .pp-pa-hero__visual { padding: 52px 0 70px; }
  .pp-pa-dash { padding: 18px 16px; border-radius: 22px; }
  .pp-pa-dash__total b { font-size: 36px; }
  .pp-pa-bars { height: 90px; gap: 5px; }
  .pp-pa-dash__split { grid-template-columns: 1fr; }
  .pp-pa-float--sale { left: 0; top: 0; }
  .pp-pa-float--rate { top: auto; right: auto; left: 0; bottom: 14px; }
  .pp-pa-float--payout { right: 0; bottom: 0; padding: 10px 14px 10px 10px; }
  .pp-pa-float--payout b { font-size: 17px; }
  .pp-pa-float--payout .pp-pa-float__ico { width: 34px; height: 34px; }
  .pp-pa-hero__stats { margin: 16px -16px 0; }
  .pp-pa-hero__stats > div { padding: 18px 10px; }
  .pp-pa-hero__stats b { font-size: 24px; }
  .pp-pa-hero__stats > div > span { font-size: 12px; }
  .pp-pa-marquee__track { gap: 36px; }
  .pp-pa-marquee__track img { height: 22px; }
  .pp-pa-sec { padding-top: 60px; }
  .pp-pa-sec__head { margin-bottom: 28px; }
  .pp-pa-progs, .pp-pa-steps, .pp-pa-stories { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .pp-pa-calc { padding: 10px; border-radius: 26px; }
  .pp-pa-calc__form { padding: 22px 10px 14px; }
  .pp-pa-seg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-pa-range { padding: 16px 14px 12px; }
  .pp-pa-calc__out { padding: 24px 18px 20px; border-radius: 22px; }
  .pp-pa-calc__cards { grid-template-columns: 1fr 1fr; }
  .pp-pa-calc__cards div:first-child { grid-column: 1 / -1; }
  .pp-pa-bens { grid-template-columns: minmax(0, 1fr); }
  .pp-pa-ben:nth-child(n) { border-left: 0; }
  .pp-pa-ben:nth-child(n+2) { border-top: 1px solid var(--pp-line-2); }
  .pp-pa-ben { display: grid; grid-template-columns: 46px 1fr; gap: 0 14px; padding: 20px; }
  .pp-pa-ben__icon { grid-row: span 2; }
  .pp-pa-ben h3 { margin-top: 2px; font-size: 16px; }
  .pp-pa-story--feat blockquote { font-size: 16.5px; }
  .pp-pa-story__tag { display: none; }
  .pp-pa-tiers-wrap { border-radius: 22px; }
  .pp-pa-tiers { min-width: 560px; font-size: 13px; }
  .pp-pa-tiers th, .pp-pa-tiers td { padding: 13px 12px; }
  .pp-pa-tiers tbody th, .pp-pa-tiers thead th:first-child { position: sticky; left: 0; z-index: 2; width: 130px; min-width: 130px; background: #fff; box-shadow: 6px 0 12px -10px rgba(13, 48, 51, .35); }
  .pp-pa-rate { font-size: 17px; }
  .pp-pa-doc__sec { padding: 20px 18px; border-radius: 22px; }
  .pp-pa-doc__sec h3 { font-size: 17px; align-items: flex-start; }
  .pp-pa-doc__main > p { font-size: 14px; }
  .pp-pa-lic { flex-direction: column; padding: 16px; }
  .pp-pa-vs, .pp-pa-eula { grid-template-columns: minmax(0, 1fr); }
  .pp-pa-uses li { font-size: 13px; }
  .pp-pa-faq__tabs { grid-template-columns: minmax(0, 1fr); }
  .pp-pa-faq__q { padding: 18px; font-size: 15px; }
  .pp-pa-faq__a p { padding: 0 18px 20px; font-size: 14px; }
  .pp-pa-apply { padding: 30px 14px 14px; border-radius: 26px; gap: 28px; }
  .pp-pa-apply__intro { padding: 0 8px; }
  .pp-pa-apply__card { padding: 20px 16px; border-radius: 22px; }
  .pp-pa-form__types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pp-pa-form__row { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .pp-pa-blob, .pp-pa-marquee__track, .pp-pa-float, .pp-pa-bars span, .pp-pa-rate.is-flip, .pp-pa-faq__panel.is-active, .pp-pa-success, .pp-pa-success__icon, .pp-pa-calc__tier.is-pop, .pp-pa-field.is-shake { animation: none !important; }
  .pp-pa-rv { opacity: 1; transform: none; transition: none; }
  .pp-pa-faq__a, .pp-pa-toggle__thumb, .pp-pa-calc__track span, .pp-pa-calc__months span { transition: none; }
}
