/* Postiças Pro Lab v1.0 — estilos encapsulados na landing page */
.ppl {
  --pink: #fa168f; --hot: #f80086; --pink-light: #ffb8dc; --pink-pale: #ffe0f0;
  --lime: #e6fa75; --lime-strong: #dbfb56; --ink: #19181c; --paper: #deddd5;
  --font-body: 'DM Sans', Arial, Helvetica, sans-serif;
  --font-title: 'Archivo Black', 'Arial Black', Impact, sans-serif;
  --font-accent: 'Space Grotesk', Arial, Helvetica, sans-serif;
  width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw;
  isolation: isolate; overflow: clip; background: var(--ink); color: var(--ink); font-family: var(--font-body);
  font-size: 16px; font-weight: 400; line-height: 1.5; scroll-behavior: smooth;
}
.ppl, .ppl *, .ppl *::before, .ppl *::after { box-sizing: border-box; }
.ppl * { max-width: none; }
.ppl img { display: block; max-width: 100%; height: auto; }
.ppl p, .ppl h1, .ppl h2, .ppl figure, .ppl ul { margin: 0; }
.ppl a { text-decoration: none; color: inherit; }
.ppl button { font: inherit; }
.ppl button, .ppl a, .ppl summary { -webkit-tap-highlight-color: transparent; }
.ppl :focus-visible { outline: 3px solid #2185fa !important; outline-offset: 5px; }
.ppl .ppl-container { width: min(1190px, calc(100% - 88px)); margin-inline: auto; }
.ppl .ppl-section-kicker { display: inline-block; font-size: 12px; color: var(--pink-light); font-weight: 800; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.ppl .ppl-kicker-dark { color: #222; }
.ppl .ppl-button { min-height: 61px; display: inline-flex; justify-content: space-between; align-items: center; gap: 28px; padding: 16px 25px; color: #111; border: 2px solid var(--ink); box-shadow: 6px 6px 0 #19181c; font-family: var(--font-title); font-size: 14px; line-height: 1.3; text-transform: uppercase; cursor: pointer; transition: translate .2s ease, box-shadow .2s ease, background .2s ease; }
.ppl .ppl-button:hover { translate: 3px 3px; box-shadow: 3px 3px 0 #19181c; }
.ppl .ppl-button span { font: 28px/1 var(--font-accent); }
.ppl .ppl-button-pink { background: var(--pink-light); }
.ppl .ppl-button-pink:hover { background: #ff8ac7; }
.ppl .ppl-button-lime { background: var(--lime); }
.ppl .ppl-button-lime:hover { background: #d1f44c; }
.ppl .ppl-button-muted { background: #a7a2a7; cursor: default; color: #252525; box-shadow: none; }
.ppl .ppl-button-muted:hover { translate: none; box-shadow: none; }
.ppl .ppl-paper { background-color: #dcdad3; background-image: url('../images/textura-papel.webp'); background-size: cover; background-position: center; }
.ppl .ppl-grain { position: absolute; inset: 0; pointer-events: none; opacity: .06; background-image: url('../images/textura-ruido.webp'); background-size: 450px; mix-blend-mode: multiply; }
.ppl .ppl-noise { position: absolute; inset: 0; pointer-events: none; opacity: .12; background-image: url('../images/textura-ruido.webp'); background-size: 700px; mix-blend-mode: screen; }
.ppl .ppl-topline { min-height: 32px; background: var(--ink); color: var(--lime); display: flex; align-items: center; justify-content: space-around; gap: 20px; font: 800 10px/1 var(--font-accent); letter-spacing: .16em; white-space: nowrap; padding: 8px 18px; }
.ppl .ppl-topline span:nth-child(even) { color: var(--pink); font-size: 17px; }
.ppl .ppl-header { width: 100%; min-height: 90px; z-index: 20; position: relative; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 9px max(44px, calc((100vw - 1190px)/2)); background: #fbd7e8; border-bottom: 2px solid var(--ink); }
.ppl .ppl-header-brand { width: 120px; height: 65px; display: flex; align-items: center; justify-content: center; overflow: hidden; flex: 0 0 120px; }
.ppl .ppl-header-brand img { width: 109px; max-width: none; height: 109px; object-fit: contain; }
.ppl .ppl-nav { display: flex; align-items: center; gap: clamp(14px, 2.2vw, 34px); }
.ppl .ppl-nav a { font: 800 12px/1.2 var(--font-accent); letter-spacing: .025em; white-space: nowrap; }
.ppl .ppl-nav a:hover { color: var(--hot); }
.ppl .ppl-nav-cta { background: var(--lime); padding: 13px 18px; border: 2px solid var(--ink); font: 800 11px/1 var(--font-title); white-space: nowrap; }
.ppl .ppl-nav-cta span { margin-left: 12px; font-size: 19px; }
/* Hero */
.ppl .ppl-hero { position: relative; }
.ppl .ppl-hero-grid { display: grid; grid-template-columns: 1fr .87fr; align-items: center; gap: 5.7%; min-height: 696px; padding-block: 70px 72px; position: relative; z-index: 1; }
.ppl .ppl-hero-text { min-width: 0; max-width: 650px; }
.ppl .ppl-overline { display: inline-flex; align-items: center; gap: 10px; border: 1.6px solid var(--ink); background: #eee8de; padding: 7px 13px; font: 800 10px/1.5 var(--font-accent); letter-spacing: .13em; }
.ppl .ppl-overline-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--hot); }
.ppl .ppl-main-logo { width: clamp(390px, 40vw, 540px); height: clamp(203px, 20vw, 275px); margin: 10px 0 0 -34px; object-fit: cover; object-position: center; }
.ppl .ppl-hero h1 { max-width: 540px; margin-top: -3px; font: 800 clamp(24px, 2.5vw, 34px)/1.18 var(--font-accent); letter-spacing: -.045em; }
.ppl .ppl-hero h1 em { font-style: normal; background: var(--lime); padding: 0 .09em; }
.ppl .ppl-hero-desc { margin-top: 19px; max-width: 530px; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.55; }
.ppl .ppl-hero-actions { display: flex; align-items: center; gap: 26px; margin-top: 27px; }
.ppl .ppl-hero-micro { font: 800 10px/1.5 var(--font-accent); letter-spacing: .09em; max-width: 160px; }
.ppl .ppl-hero-visual { position: relative; min-height: 580px; display: flex; align-items: center; }
.ppl .ppl-photo-wrap { position: relative; width: min(100%, 472px); height: 574px; background: #cfcec8; transform: rotate(3deg); border: 7px solid #faf8f2; box-shadow: 16px 18px 0 var(--pink); overflow: hidden; border-radius: 210px 210px 16px 16px; }
.ppl .ppl-photo-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
.ppl .ppl-hero-spark { position: absolute; z-index: 2; top: 0; left: -42px; color: var(--hot); font: 170px/.8 var(--font-body); transform: rotate(-18deg); }
.ppl .ppl-round-sticker { position: absolute; z-index: 3; right: -28px; top: 80px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 150px; height: 150px; border-radius: 50%; background: var(--lime); border: 3px solid #19181c; transform: rotate(16deg); text-align: center; }
.ppl .ppl-round-sticker span { font: 800 10px var(--font-accent); letter-spacing: .1em; }
.ppl .ppl-round-sticker strong { font: 22px/1 var(--font-title); }
.ppl .ppl-mini-tag { position: absolute; left: -20px; bottom: 48px; z-index: 4; background: #f8add2; border: 2px solid #111; padding: 12px 16px; transform: rotate(-7deg); font: 800 12px var(--font-accent); }
.ppl .ppl-mini-tag span { color: var(--hot); }
.ppl .ppl-hero-bottom { padding: 16px max(44px, calc((100vw - 1190px)/2)); display: flex; justify-content: space-between; gap: 20px; background: var(--lime); border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); font: 800 11px var(--font-accent); letter-spacing: .08em; }
/* Intro — seção centralizada com um único box, conforme o PDF */
.ppl .ppl-intro { padding: 95px 0 104px; background: #f43b80; background-image: linear-gradient(125deg,#ee578d 0%,#e93578 45%,#f65d89 100%); }
.ppl .ppl-intro-inner { display: flex; flex-direction: column; align-items: center; gap: 36px; text-align: center; }
.ppl .ppl-intro-heading { width: 100%; max-width: 1130px; }
.ppl .ppl-intro-heading h2 { color: #fff; font: 800 clamp(31px, 3.5vw, 49px)/1.18 var(--font-accent); letter-spacing: -.043em; text-wrap: pretty; }
.ppl .ppl-intro-box { width: min(100%, 420px); min-height: 360px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; text-align: center; background: #ffb5d9; border: 2px solid var(--ink); padding: 24px 28px 28px; }
.ppl .ppl-intro-box p { max-width: 100%; font: 600 clamp(19px, 2vw, 27px)/1.42 var(--font-accent); letter-spacing: -.025em; text-wrap: pretty; }
/* Gallery */
.ppl .ppl-gallery { position: relative; overflow: hidden; background: #1f2024; color: #fff; padding: 104px 0 80px; }
.ppl .ppl-gallery-head { position: relative; z-index: 2; text-align: center; }
.ppl .ppl-gallery-head h2 { margin-top: 12px; font: clamp(42px, 6vw, 86px)/.98 var(--font-title); letter-spacing: -.06em; }
.ppl .ppl-gallery-head h2 span { color: var(--hot); text-shadow: 2px 2px 0 #fff; }
.ppl .ppl-gallery-head p { margin: 26px auto 0; max-width: 670px; font-size: clamp(18px, 2vw, 24px); line-height: 1.45; }
.ppl .ppl-gallery-grid { display: grid; grid-template-columns: 1.05fr .8fr; gap: 40px; max-width: 980px; margin: 54px auto 0; align-items: center; position: relative; z-index: 1; }
.ppl .ppl-gallery-photo { position: relative; }
.ppl .ppl-gallery-photo button { display: block; border: 0; padding: 0; width: 100%; cursor: zoom-in; background: #bbb; overflow: hidden; border-radius: 14px; }
.ppl .ppl-gallery-photo img { width: 100%; height: 560px; object-fit: cover; transition: transform .5s ease; }
.ppl .ppl-gallery-photo button:hover img { transform: scale(1.05); }
.ppl .ppl-gallery-photo-main { transform: rotate(-3deg); }
.ppl .ppl-gallery-photo-secondary { transform: rotate(4deg); }
.ppl .ppl-gallery-photo-secondary img { height: 470px; }
.ppl .ppl-gallery-photo figcaption { display: flex; justify-content: space-between; font: 800 11px var(--font-accent); letter-spacing: .14em; margin-top: 16px; }
.ppl .ppl-gallery-photo figcaption span { color: var(--lime); }
.ppl .ppl-spoiler-sticker { position: absolute; z-index: 2; top: -29px; left: -45px; border-radius: 50%; background: var(--lime); color: #111; border: 2px solid var(--ink); padding: 29px 20px; font: 23px var(--font-title); transform: rotate(-24deg); }
.ppl .ppl-gallery-cross { position: absolute; color: var(--hot); font: 180px/1 Arial,sans-serif; }
.ppl .ppl-cross-one { left: 2%; top: 150px; transform: rotate(14deg); }
.ppl .ppl-cross-two { right: 2%; bottom: 150px; transform: rotate(-12deg); }
.ppl .ppl-gallery-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 75px; padding-top: 20px; border-top: 1px solid #777; font: 800 12px var(--font-accent); letter-spacing: .09em; }
.ppl .ppl-gallery-bottom a { color: var(--lime); }
/* curriculum */
.ppl .ppl-curriculum { position: relative; padding: 116px 0 122px; background-color: var(--lime); background-image: radial-gradient(#9aaa4e75 1.3px, transparent 1.3px); background-size: 17px 17px; }
.ppl .ppl-curriculum-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 8%; align-items: start; }
.ppl .ppl-curriculum-info { position: relative; }
.ppl .ppl-curriculum h2 { margin-top: 23px; font: clamp(42px, 4.8vw, 65px)/1.06 var(--font-title); letter-spacing: -.065em; }
.ppl .ppl-curriculum h2 span { color: var(--hot); text-shadow: 3px 3px 0 var(--ink); }
.ppl .ppl-curriculum-info > p { margin-top: 25px; font-size: 20px; line-height: 1.5; max-width: 480px; }
.ppl .ppl-counters { display: flex; gap: 14px; margin-top: 42px; }
.ppl .ppl-counters > div { display: flex; flex-direction: column; gap: 0; background: #fff; padding: 10px 22px 15px; min-width: 144px; border: 2px solid #171717; box-shadow: 5px 5px 0 var(--hot); }
.ppl .ppl-counters strong { font: 67px/1 var(--font-title); letter-spacing: -.06em; }
.ppl .ppl-counters span { font: 800 11px var(--font-accent); letter-spacing: .15em; }
.ppl .ppl-accordion { display: grid; gap: 14px; }
.ppl .ppl-module { background: var(--hot); border: 2px solid #1b1b1b; box-shadow: 5px 5px 0 #1b1b1b; }
.ppl .ppl-module summary { min-height: 87px; display: flex; gap: 14px; align-items: center; padding: 14px 21px; cursor: pointer; list-style: none; }
.ppl .ppl-module summary::-webkit-details-marker, .ppl .ppl-faq summary::-webkit-details-marker { display: none; }
.ppl .ppl-module-index { font: 800 13px/1 var(--font-accent); color: var(--lime); }
.ppl .ppl-module-name { flex: 1; color: #111; font: clamp(18px, 2vw, 25px)/1.1 var(--font-title); letter-spacing: -.055em; -webkit-text-stroke: .4px #fff; text-shadow: 2px 2px 0 #fff; }
.ppl .ppl-module-toggle { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; border: 2px solid var(--ink); border-radius: 100%; font: 30px/1 var(--font-accent); transition: transform .2s ease; }
.ppl .ppl-module[open] .ppl-module-toggle { transform: rotate(45deg); }
.ppl .ppl-module-body { border-top: 1px solid rgba(0,0,0,.3); padding: 17px 24px 22px 52px; background: #ffb8d9; }
.ppl .ppl-module-body p { font-size: 16px; font-weight: 650; }
.ppl .ppl-module-body small { display: block; margin-top: 8px; font-size: 12px; opacity: .75; }
.ppl .ppl-curriculum-link { display: inline-flex; align-items: center; justify-content: center; min-height: 61px; margin-top: 19px; padding: 16px 25px; border: 2px solid #111; background: #111; color: #fff; box-shadow: 6px 6px 0 var(--hot); font: 800 14px/1.3 var(--font-title); text-align: center; text-transform: uppercase; transition: transform .2s ease, box-shadow .2s ease; }
.ppl .ppl-curriculum-link:hover { transform: translate(3px, 3px); box-shadow: 3px 3px 0 var(--hot); color: #fff; }
.ppl .ppl-curriculum-link:visited { color: #fff; }
.ppl .ppl-curriculum-link span { margin-left: 16px; }
/* audience */
.ppl .ppl-audience { background: #fbd9e8; padding: 112px 0 104px; }
.ppl .ppl-audience h2 { margin-top: 20px; font: clamp(37px, 5.5vw, 72px)/1.08 var(--font-title); text-align: center; letter-spacing: -.055em; }
.ppl .ppl-audience .ppl-section-kicker { display: block; text-align: center; }
.ppl .ppl-audience h2 em { font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 900; letter-spacing: -.07em; text-decoration: underline; text-decoration-color: var(--pink); text-decoration-thickness: 7px; text-underline-offset: 7px; }
.ppl .ppl-audience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 35px; padding: 28px 35px; margin-top: 50px; border: 3px solid #111; background: var(--lime); box-shadow: 13px 13px 0 var(--pink); }
.ppl .ppl-audience-grid > div { display: flex; align-items: flex-start; gap: 16px; padding: 22px 0; border-bottom: 1px solid #c4d650; }
.ppl .ppl-audience-grid > div:nth-last-child(-n+2) { border-bottom: 0; }
.ppl .ppl-audience-grid > div > span { color: var(--hot); font: 52px/.8 Arial,sans-serif; flex-shrink: 0; }
.ppl .ppl-audience-grid p { font: 500 17px/1.4 var(--font-accent); }
.ppl .ppl-audience-grid strong { font-weight: 800; }
.ppl .ppl-audience-close { margin: 66px auto 0; font: 25px/1.35 var(--font-title); letter-spacing: -.045em; text-align: center; }
.ppl .ppl-audience-close span { color: var(--hot); }
/* Bonus */
.ppl .ppl-bonus { padding: 100px 0; }
.ppl .ppl-bonus-inner { display: grid; grid-template-columns: 1fr .85fr; gap: 10%; align-items: center; }
.ppl .ppl-bonus h2 { margin: 19px 0 12px; font: clamp(65px, 8vw, 109px)/1 var(--font-title); letter-spacing: -.06em; }
.ppl .ppl-bonus h2 span { color: var(--hot); }
.ppl .ppl-bonus-copy > p { margin-bottom: 33px; font-size: 20px; }
.ppl .ppl-bonus-pills { display: grid; gap: 12px; max-width: 520px; }
.ppl .ppl-bonus-pills > span { display: flex; justify-content: space-between; gap: 10px; padding: 18px 22px; background: var(--lime); border: 2px solid #111; font: 20px/1.2 var(--font-title); letter-spacing: -.05em; }
.ppl .ppl-bonus-pills b { font-family: var(--font-body); color: var(--hot); font-size: 22px; }
.ppl .ppl-bonus-image { height: 515px; position: relative; transform: rotate(3deg); background: #d0cec9; border: 8px solid white; box-shadow: 13px 13px 0 var(--pink); overflow: hidden; }
.ppl .ppl-bonus-image img { height: 100%; width: 100%; object-fit: cover; object-position: center 54%; }
.ppl .ppl-bonus-image span { position: absolute; bottom: 22px; left: 20px; background: var(--pink-light); padding: 8px 16px; transform: rotate(-7deg); font: 21px/1.15 var(--font-title); }
/* reviews */
.ppl .ppl-reviews { position: relative; background: #f33a86; padding: 105px 0 110px; overflow: hidden; }
.ppl .ppl-reviews::before { content: '✳'; position: absolute; top: -100px; right: -12px; color: var(--pink-light); font: 300px Arial,sans-serif; opacity: .45; }
.ppl .ppl-reviews-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .7fr; gap: 9%; align-items: center; }
.ppl .ppl-reviews h2 { font: clamp(40px, 5.3vw, 75px)/1.03 var(--font-title); letter-spacing: -.06em; margin-top: 26px; }
.ppl .ppl-reviews h2 span { color: var(--lime); -webkit-text-stroke: 1px #111; text-shadow: 3px 4px 0 #111; }
.ppl .ppl-reviews-copy > p { font-size: 20px; margin-top: 30px; max-width: 480px; line-height: 1.5; }

.ppl .ppl-review-capture { background: #0b0f12; border: 8px solid var(--ink); border-radius: 25px; box-shadow: 15px 15px 0 var(--lime); padding: 10px; overflow: hidden; transform: rotate(2deg); }
.ppl .ppl-review-capture img { width: 100%; height: 510px; object-fit: cover; object-position: top center; border-radius: 14px; }
.ppl .ppl-review-capture figcaption { padding: 16px 3px 8px; color: #f4f4f4; font: 800 10px var(--font-accent); letter-spacing: .12em; text-align: center; }
/* mentor */
.ppl .ppl-mentor { position: relative; background: #ffc4df; background-image: linear-gradient(140deg,#ffd7e7 0%,#ef8dac 100%); padding: 110px 0; }
.ppl .ppl-mentor-inner { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 9%; }
.ppl .ppl-mentor-art { position: relative; }
.ppl .ppl-mentor-photo { height: 555px; max-width: 445px; position: relative; margin: auto; }
.ppl .ppl-mentor-person { width: 71%; height: 79%; object-fit: cover; position: absolute; left: 15%; top: 10%; filter: grayscale(1); }
.ppl .ppl-mentor-frame { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; }
.ppl .ppl-mentor h2 { font: clamp(39px, 5vw, 67px)/1.05 var(--font-title); letter-spacing: -.06em; margin: 18px 0 26px; }
.ppl .ppl-mentor h2 em { font-family: Georgia,serif; font-style: italic; color: var(--hot); font-weight: 900; }
.ppl .ppl-mentor-copy > p { font-size: 18px; line-height: 1.55; margin-top: 13px; }
.ppl .ppl-mentor-points { list-style: none; margin-top: 25px; background: #fce2ee; border: 2px solid #111; padding: 18px 24px; }
.ppl .ppl-mentor-points li { position: relative; padding: 8px 0 8px 32px; font: 800 16px/1.35 var(--font-accent); }
.ppl .ppl-mentor-points li::before { content: '✳'; position: absolute; left: 0; color: var(--hot); font-size: 24px; top: 4px; }
.ppl .ppl-mentor-copy > .ppl-mentor-final { margin-top: 22px; font: 19px/1.3 var(--font-title); letter-spacing: -.035em; }
/* price */
.ppl .ppl-price { position: relative; overflow: hidden; background: #101114; color: #f9f9f9; padding: 90px 0 100px; text-align: center; }
.ppl .ppl-price-inner { position: relative; z-index: 2; }
.ppl .ppl-price h2 { margin: 14px 0 5px; font: clamp(50px, 7.5vw, 103px)/1 var(--font-title); letter-spacing: -.08em; }
.ppl .ppl-price h2 span { color: var(--pink-light); }
.ppl .ppl-price-star { width: min(660px, 90%); height: 420px; margin: 5px auto 0; position: relative; display: grid; place-items: center; filter: drop-shadow(12px 15px 0 #d92779); }
.ppl .ppl-price-star::before { content: ''; position: absolute; inset: 8px 0; background: var(--lime); clip-path: polygon(50% 0%,58% 21%,69% 5%,72% 26%,93% 11%,82% 34%,100% 35%,84% 47%,100% 59%,81% 62%,93% 86%,72% 73%,67% 100%,54% 78%,43% 98%,37% 75%,15% 90%,25% 67%,1% 64%,20% 50%,0% 37%,22% 34%,10% 9%,35% 25%); }
.ppl .ppl-price-star-content { position: relative; z-index: 1; color: #151515; display: flex; flex-direction: column; align-items: center; gap: 4px; max-width: 86%; }
.ppl .ppl-price-star-content span { font: 800 12px var(--font-accent); letter-spacing: .13em; }
.ppl .ppl-price-star-content strong { font: clamp(24px, 4.3vw, 52px)/1.1 var(--font-title); letter-spacing: -.06em; }
.ppl .ppl-price-star-content i { font: 800 16px var(--font-accent); font-style: normal; }
.ppl .ppl-price-star-content b { font: clamp(23px, 3.4vw, 41px)/1.1 var(--font-title); letter-spacing: -.055em; }
.ppl .ppl-price-inner > p { max-width: 580px; margin: 18px auto 28px; font-size: 20px; }
.ppl .ppl-price-cta { margin: 0 auto; min-width: 355px; }
.ppl .ppl-price-inner > small { display: block; margin: 22px auto 0; max-width: 500px; font-size: 12px; color: #b9b9bc; }
/* faq */
.ppl .ppl-faq { padding: 110px 0 120px; background-color: #ecf99a; background-image: radial-gradient(#d3e17d 1px,transparent 1px); background-size: 14px 14px; }
.ppl .ppl-faq-inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7%; }
.ppl .ppl-faq h2 { margin-top: 15px; font: clamp(40px, 5vw, 65px)/1.06 var(--font-title); letter-spacing: -.06em; }
.ppl .ppl-faq h2 em { color: var(--hot); font-family: Georgia,serif; font-weight: 900; font-style: italic; }
.ppl .ppl-faq-deco { margin-top: 35px; color: var(--hot); font: 150px/.8 var(--font-body); transform: rotate(14deg); }
.ppl .ppl-faq-list { display: grid; align-content: start; gap: 13px; }
.ppl .ppl-faq-list details { border: 2px solid var(--ink); background: #fffaf3; }
.ppl .ppl-faq-list summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; font: 800 18px/1.3 var(--font-accent); padding: 22px 24px; }
.ppl .ppl-faq-list summary span { font: 30px/1 var(--font-accent); color: var(--hot); transition: transform .2s ease; }
.ppl .ppl-faq-list details[open] summary span { transform: rotate(45deg); }
.ppl .ppl-faq-list details p { padding: 0 24px 22px; font-size: 17px; line-height: 1.55; }
/* footer */
.ppl .ppl-footer { background: #151518; color: #fff; border-top: 2px solid var(--pink); }
.ppl .ppl-footer-inner { display: flex; gap: 25px; justify-content: space-between; align-items: center; min-height: 145px; }
.ppl .ppl-footer img { width: 140px; height: 115px; object-fit: cover; }
.ppl .ppl-footer span { font: 800 13px var(--font-accent); letter-spacing: .1em; }
.ppl .ppl-footer a { font: 800 12px var(--font-accent); white-space: nowrap; color: var(--lime); }
.ppl .ppl-lightbox { position: fixed; max-width: min(95vw,960px); max-height: 92vh; background: #151518; border: 4px solid var(--lime); padding: 12px; box-shadow: 0 0 0 100vmax #000a; }
.ppl .ppl-lightbox::backdrop { background: #000c; }
.ppl .ppl-lightbox img { display: block; max-width: 90vw; max-height: 82vh; object-fit: contain; }
.ppl .ppl-lightbox-close { position: absolute; z-index: 2; top: 5px; right: 8px; border: 0; background: var(--lime); color: #111; width: 44px; height: 44px; font-size: 34px; cursor: pointer; }
.ppl .ppl-mobile-bar { display: none; }
/* Tablets */
@media (max-width: 1030px) {
 .ppl .ppl-container { width: min(100% - 56px, 1190px); }
 .ppl .ppl-header { padding-inline: 28px; } .ppl .ppl-nav { gap: 16px; } .ppl .ppl-nav a { font-size: 10px; }
 .ppl .ppl-hero-grid { grid-template-columns: 1fr 1fr; gap: 2%; min-height: 640px; }
 .ppl .ppl-hero-visual { min-height: 500px; } .ppl .ppl-photo-wrap { height: 500px; }
 .ppl .ppl-round-sticker { right: -12px; top: 28px; }
 .ppl .ppl-hero-spark { font-size: 120px; left: -20px; }
 .ppl .ppl-curriculum-grid { gap: 5%; } .ppl .ppl-curriculum h2 { font-size: 48px; }
 .ppl .ppl-mentor-inner { gap: 5%; } .ppl .ppl-mentor-photo { height: 480px; }
}
@media (max-width: 767px) {
 .ppl .ppl-container { width: calc(100% - 36px); }
 .ppl .ppl-topline { justify-content: center; overflow: hidden; gap: 16px; min-height: 27px; font-size: 9px; }
 .ppl .ppl-topline span:nth-last-child(-n+3) { display: none; }
 .ppl .ppl-header { padding: 7px 18px; min-height: 67px; }
 .ppl .ppl-header-brand { width: 102px; flex-basis: 102px; height: 52px; } .ppl .ppl-header-brand img { width: 100px; height: 100px; }
 .ppl .ppl-nav { display: none; } .ppl .ppl-nav-cta { font-size: 10px; padding: 12px; } .ppl .ppl-nav-cta span { margin-left: 5px; }
 .ppl .ppl-hero-grid { display: flex; flex-direction: column; min-height: 0; gap: 38px; padding-top: 43px; padding-bottom: 65px; }
 .ppl .ppl-hero-text { width: 100%; text-align: center; display: flex; flex-direction: column; align-items: center; }
 .ppl .ppl-overline { font-size: 8px; }
 .ppl .ppl-main-logo { width: min(100%,460px); height: 240px; margin: -2px auto -12px; object-fit: cover; }
 .ppl .ppl-hero h1 { max-width: 600px; font-size: clamp(22px,5.5vw,35px); }
 .ppl .ppl-hero-desc { font-size: 16px; max-width: 530px; margin-top: 16px; }
 .ppl .ppl-hero-actions { flex-direction: column; gap: 12px; margin-top: 25px; } .ppl .ppl-hero-micro { max-width: initial; font-size: 10px; }
 .ppl .ppl-hero-visual { width: min(83%,460px); min-height: 0; margin: 0 auto; }
 .ppl .ppl-photo-wrap { height: 440px; width: 100%; transform: rotate(2deg); }
 .ppl .ppl-hero-spark { top: -12px; left: -47px; font-size: 120px; }
 .ppl .ppl-round-sticker { width: 116px; height: 116px; right: -28px; top: 33px; } .ppl .ppl-round-sticker strong { font-size: 18px; } .ppl .ppl-round-sticker span { font-size: 8px; }
 .ppl .ppl-mini-tag { left: -30px; bottom: 25px; font-size: 10px; }
 .ppl .ppl-hero-bottom { padding: 13px 18px; font-size: 9px; } .ppl .ppl-hero-bottom span:nth-child(2) { display: none; }
 .ppl .ppl-intro, .ppl .ppl-gallery, .ppl .ppl-curriculum, .ppl .ppl-audience, .ppl .ppl-bonus, .ppl .ppl-reviews, .ppl .ppl-mentor, .ppl .ppl-faq { padding-block: 75px; }
 .ppl .ppl-intro-inner { gap: 28px; } .ppl .ppl-intro-heading h2 { font-size: clamp(27px, 6vw, 39px); line-height: 1.2; }
 .ppl .ppl-intro-box { width: min(100%, 420px); min-height: 0; padding: 24px 24px 26px; gap: 0; } .ppl .ppl-intro-box p { font-size: clamp(18px, 4.5vw, 21px); line-height: 1.42; }
 .ppl .ppl-gallery-head h2 { font-size: clamp(35px,8vw,58px); } .ppl .ppl-gallery-head p { font-size: 17px; }
 .ppl .ppl-gallery-grid { gap: 18px; margin-top: 39px; } .ppl .ppl-gallery-photo img { height: 330px; } .ppl .ppl-gallery-photo-secondary img { height: 300px; } .ppl .ppl-spoiler-sticker { font-size: 15px; padding: 17px 14px; top: -19px; left: -26px; }
 .ppl .ppl-gallery-cross { font-size: 100px; } .ppl .ppl-gallery-bottom { margin-top: 55px; font-size: 10px; }
 .ppl .ppl-curriculum-grid { display: block; } .ppl .ppl-curriculum h2 { font-size: clamp(39px,8vw,55px); } .ppl .ppl-curriculum-info > p { font-size: 17px; }
 .ppl .ppl-counters { margin: 26px 0 35px; }
 .ppl .ppl-audience h2 { font-size: clamp(36px,7.5vw,52px); } .ppl .ppl-audience-grid { padding: 20px; grid-template-columns: 1fr; margin-top: 32px; box-shadow: 7px 7px 0 var(--pink); }
 .ppl .ppl-audience-grid > div { padding: 16px 0; } .ppl .ppl-audience-grid > div:nth-last-child(2) { border-bottom: 1px solid #c4d650; } .ppl .ppl-audience-grid > div > span { font-size: 38px; }
 .ppl .ppl-audience-grid p { font-size: 16px; } .ppl .ppl-audience-close { font-size: 20px; margin-top: 50px; }
 .ppl .ppl-bonus-inner { display: flex; flex-direction: column; gap: 45px; } .ppl .ppl-bonus-copy { width: 100%; } .ppl .ppl-bonus h2 { font-size: 76px; }
 .ppl .ppl-bonus-pills { max-width: 600px; } .ppl .ppl-bonus-image { width: min(80%,430px); height: 420px; }
 .ppl .ppl-reviews-inner { display: flex; flex-direction: column; gap: 33px; } .ppl .ppl-reviews h2 { font-size: clamp(40px,8vw,62px); }
 .ppl .ppl-review-capture { width: min(76%,400px); }
 .ppl .ppl-mentor-inner { display: flex; flex-direction: column; gap: 66px; } .ppl .ppl-mentor-art { width: min(80%,440px); }
 .ppl .ppl-mentor-copy { width: 100%; } .ppl .ppl-mentor h2 { font-size: clamp(40px,8vw,64px); }
 .ppl .ppl-price { padding-block: 75px 86px; } .ppl .ppl-price h2 { font-size: clamp(45px,9vw,72px); }
 .ppl .ppl-price-star { height: 350px; } .ppl .ppl-price-star-content strong { font-size: clamp(27px,5.5vw,44px); } .ppl .ppl-price-star-content b { font-size: clamp(25px,5vw,38px); }
 .ppl .ppl-faq-inner { display: flex; flex-direction: column; gap: 26px; } .ppl .ppl-faq h2 { font-size: clamp(38px,8vw,54px); } .ppl .ppl-faq-deco { display: none; }
 .ppl .ppl-footer-inner { min-height: 170px; flex-wrap: wrap; justify-content: space-around; gap: 0 20px; padding: 16px 0 70px; }
 .ppl .ppl-footer span { order: 3; flex: 0 0 100%; text-align: center; font-size: 10px; }
 .ppl .ppl-mobile-bar { position: fixed; z-index: 30; left: 0; bottom: 0; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; background: #18191c; color: #fff; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); box-shadow: 0 -4px 25px #0003; }
 .ppl .ppl-mobile-bar > span { font: 800 11px/1.3 var(--font-accent); } .ppl .ppl-mobile-bar small { color: var(--lime); display: block; margin-top: 3px; font-size: 11px; }
 .ppl .ppl-mobile-bar a { flex-shrink: 0; color: #141414; background: var(--lime); padding: 13px 15px; font: 800 11px/1 var(--font-title); }
}
@media (max-width: 460px) {
 .ppl .ppl-main-logo { width: 350px; height: 200px; margin-top: -4px; margin-bottom: -8px; }
 .ppl .ppl-hero h1 { font-size: 26px; }
 .ppl .ppl-hero-visual { width: 82%; } .ppl .ppl-photo-wrap { height: 370px; border-width: 5px; box-shadow: 9px 10px 0 var(--pink); }
 .ppl .ppl-hero-spark { left: -40px; font-size: 95px; }
 .ppl .ppl-round-sticker { right: -35px; width: 101px; height: 101px; } .ppl .ppl-round-sticker strong { font-size: 16px; }
 .ppl .ppl-mini-tag { left: -21px; bottom: 27px; max-width: 190px; font-size: 9px; }
 .ppl .ppl-gallery-grid { grid-template-columns: 1fr; max-width: 300px; gap: 35px; } .ppl .ppl-gallery-photo img, .ppl .ppl-gallery-photo-secondary img { height: 335px; }
 .ppl .ppl-gallery-bottom { align-items: flex-start; flex-direction: column; }
 .ppl .ppl-counters > div { min-width: 126px; padding-inline: 16px; } .ppl .ppl-counters strong { font-size: 58px; }
 .ppl .ppl-module summary { min-height: 77px; padding: 13px; gap: 10px; } .ppl .ppl-module-name { font-size: 17px; } .ppl .ppl-module-toggle { width: 33px; flex-basis: 33px; height: 33px; font-size: 24px; } .ppl .ppl-module-body { padding-left: 15px; }
 .ppl .ppl-bonus-pills > span { font-size: 16px; padding: 15px; } .ppl .ppl-bonus-image { width: 86%; height: 355px; }
 .ppl .ppl-review-capture { width: 83%; } .ppl .ppl-review-capture img { height: 400px; }
 .ppl .ppl-mentor-art { width: 86%; } .ppl .ppl-mentor-photo { height: 410px; }
 .ppl .ppl-price-star { width: 115%; margin-left: -7.5%; height: 290px; } .ppl .ppl-price-star-content span { font-size: 10px; } .ppl .ppl-price-star-content strong { font-size: 27px; } .ppl .ppl-price-star-content b { font-size: 24px; } .ppl .ppl-price-star-content i { font-size: 13px; }
 .ppl .ppl-price-inner > p { font-size: 16px; } .ppl .ppl-price-cta { min-width: 0; width: 100%; justify-content: space-around; font-size: 12px; }
 .ppl .ppl-faq-list summary { font-size: 16px; padding: 18px; } .ppl .ppl-faq-list details p { padding-inline: 18px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
 .ppl, .ppl *, .ppl *::before, .ppl *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* v1.1: reseta o tema SOMENTE na página independente da landing page. */
html:has(> body.ppl-standalone) { margin: 0 !important; padding: 0 !important; scroll-behavior: smooth; }
body.ppl-standalone { display: block !important; width: 100% !important; max-width: none !important; min-height: 100vh; margin: 0 !important; padding: 0 !important; overflow-x: hidden !important; background: #19181c !important; }
body.ppl-standalone > .ppl { position: relative; display: block; width: 100% !important; max-width: none !important; left: auto !important; right: auto !important; margin: 0 !important; float: none !important; }
body.ppl-standalone #wpadminbar { z-index: 999999; }

/* V1.2: original PDF only supplies the FAQ heading; abstract illustration holds its place. */
.ppl .ppl-faq-art { min-height: 270px; position: relative; display: flex; align-items: center; justify-content: center; gap: 15px; border: 3px solid #111; background: #ffb5d9; box-shadow: 14px 14px 0 #f63a87; overflow: hidden; }
.ppl .ppl-faq-art span { color: #f60085; font-family: Arial, sans-serif; font-size: clamp(55px, 8vw, 115px); line-height: 1; transform: rotate(-12deg); }
.ppl .ppl-faq-art span:nth-child(2) { color: #111; transform: rotate(23deg); }
.ppl .ppl-faq-art span:nth-child(3) { color: #e8fb76; -webkit-text-stroke: 2px #111; transform: rotate(-24deg); }
@media (max-width: 767px) { .ppl .ppl-faq-art { min-height: 175px; } .ppl .ppl-faq-art span { font-size: 62px; } }

/* v1.3 — Ajustes solicitados na área inicial e nos botões */
.ppl .ppl-nav-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.ppl .ppl-nav-actions .ppl-nav-cta { min-height: 48px; min-width: 126px; display: inline-flex; align-items: center; justify-content: center; text-align: center; padding: 12px 14px; transition: background .2s ease; }
.ppl .ppl-nav-actions .ppl-nav-cta span { display: none; }
.ppl .ppl-nav-actions .ppl-nav-student { background: var(--pink-light); }
.ppl .ppl-nav-actions .ppl-nav-enroll { background: var(--lime); }
.ppl .ppl-nav-actions a.ppl-nav-cta:hover { background: #ffd0e7; }
.ppl .ppl-nav-actions a.ppl-nav-enroll:hover { background: #d3f457; }
.ppl .ppl-nav-actions .ppl-nav-inactive { opacity: .62; cursor: not-allowed; }
.ppl .ppl-hero h1 { max-width: 560px; margin-top: 2px; font: 700 clamp(23px,2.35vw,32px)/1.26 var(--font-accent); letter-spacing: -.035em; }
.ppl .ppl-button { justify-content: center; text-align: center; }
.ppl .ppl-price-cta { justify-content: center; }
@media (max-width: 1030px) {
 .ppl .ppl-nav-actions { gap: 8px; }
 .ppl .ppl-nav-actions .ppl-nav-cta { min-width: 108px; font-size: 10px; padding: 12px 9px; }
}
@media (max-width: 767px) {
 .ppl .ppl-header { gap: 8px; }
 .ppl .ppl-nav-actions { margin-left: auto; gap: 7px; }
 .ppl .ppl-nav-actions .ppl-nav-cta { min-width: 0; min-height: 39px; font-size: 9px; padding: 10px 8px; }
 .ppl .ppl-hero h1 { max-width: 550px; font-size: clamp(22px,5.3vw,30px); line-height: 1.31; }
}
@media (max-width: 380px) {
 .ppl .ppl-header { padding-inline: 10px; }
 .ppl .ppl-header-brand { width: 80px; flex-basis: 80px; }
 .ppl .ppl-header-brand img { width: 88px; height: 88px; }
 .ppl .ppl-nav-actions .ppl-nav-cta { font-size: 8px; padding: 9px 6px; }
}

/* v1.9 — Letreiro com recheio preto e contorno rosa espesso.
   Referência: serifas de alto contraste, palavras comprimidas e entrelinhas sobrepostas.
   Somente o título da galeria é afetado. */
.ppl .ppl-gallery-head .ppl-gallery-editorial-title {
    margin: 24px auto 0;
    max-width: 1190px;
    color: #111015;
    font-family: 'Bodoni Moda', 'Bodoni MT', Didot, 'GFS Didot', 'Times New Roman', Georgia, serif;
    font-size: clamp(65px, 11.4vw, 166px);
    font-weight: 900;
    font-style: normal;
    font-optical-sizing: auto;
    line-height: .76;
    letter-spacing: -.11em;
    word-spacing: -.19em;
    text-align: center;
    text-transform: none;
    font-kerning: normal;
    -webkit-text-stroke: 15px var(--hot);
    paint-order: stroke fill;
    text-shadow: none;
}
.ppl .ppl-gallery-head .ppl-gallery-editorial-title span {
    display: block;
    color: inherit;
    text-shadow: none;
    overflow-wrap: normal;
}
.ppl .ppl-gallery-head .ppl-gallery-editorial-title span + span {
    margin-top: -.08em;
}
@media (max-width: 767px) {
    .ppl .ppl-gallery-head .ppl-gallery-editorial-title {
        max-width: 100%;
        font-size: clamp(40px, 11.3vw, 76px);
        line-height: .83;
        letter-spacing: -.115em;
        word-spacing: -.20em;
        -webkit-text-stroke: 7px var(--hot);
    }
    .ppl .ppl-gallery-head .ppl-gallery-editorial-title span + span { margin-top: -.02em; }
    /* Elemento decorativo antigo não deve atravessar o novo letreiro no celular. */
    .ppl .ppl-cross-one { display: none; }
}
@media (max-width: 380px) {
    .ppl .ppl-gallery-head .ppl-gallery-editorial-title {
        font-size: clamp(36px, 10.8vw, 45px);
        -webkit-text-stroke: 6px var(--hot);
    }
}

/* v1.11 — três fotos em looping com controles acessíveis. */
.ppl .ppl-gallery-carousel {
    position: relative;
    z-index: 2;
    width: 100%;
    margin-top: 60px;
}
.ppl .ppl-gallery-track {
    display: flex;
    align-items: center;
    gap: clamp(24px, 3.2vw, 54px);
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 39px max(25px, calc((100vw - 1190px) / 2)) 44px;
    scroll-padding-inline: max(25px, calc((100vw - 1190px) / 2));
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    cursor: grab;
    -webkit-overflow-scrolling: touch;
}
.ppl .ppl-gallery-track::-webkit-scrollbar { display: none; }
.ppl .ppl-gallery-track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.ppl .ppl-carousel-card {
    flex: 0 0 clamp(265px, 35vw, 460px);
    position: relative;
    scroll-snap-align: start;
    padding: 0;
    margin: 0;
    transform: rotate(-2.3deg);
}
.ppl .ppl-carousel-card:nth-child(even) { transform: rotate(2.3deg) translateY(6px); }
.ppl .ppl-carousel-card:nth-child(3n) { transform: rotate(-1.1deg) translateY(-4px); }
.ppl .ppl-carousel-card button {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: #c7c7c7;
    border-radius: 16px;
    overflow: hidden;
    cursor: inherit;
}
.ppl .ppl-carousel-card button:focus-visible { outline-offset: 7px; }
.ppl .ppl-carousel-card img {
    width: 100%;
    height: clamp(355px, 43vw, 590px);
    object-fit: cover;
    object-position: center;
    display: block;
    pointer-events: none;
}
.ppl .ppl-carousel-card:nth-child(2n) img { object-position: center 35%; }
.ppl .ppl-carousel-card .ppl-spoiler-sticker {
    left: -17px;
    top: -24px;
    z-index: 2;
    pointer-events: none;
}
.ppl .ppl-gallery-bottom { margin-top: 34px; }
@media (max-width: 767px) {
    .ppl .ppl-gallery-carousel { margin-top: 37px; }
    .ppl .ppl-gallery-track {
        gap: 20px;
        padding: 30px 20px 32px;
        scroll-padding-inline: 20px;
        scroll-snap-type: x mandatory;
    }
    .ppl .ppl-carousel-card { flex-basis: min(78vw, 360px); }
    .ppl .ppl-carousel-card img { height: clamp(335px, 100vw, 480px); }
    .ppl .ppl-carousel-card .ppl-spoiler-sticker { left: -10px; top: -17px; }
    .ppl .ppl-gallery-bottom { margin-top: 26px; }
}
@media (prefers-reduced-motion: reduce) {
    .ppl .ppl-gallery-track { scroll-behavior: auto; }
}

/* v1.11 — setas e looping; não altera o restante da landing. */
.ppl .ppl-gallery-carousel { isolation: isolate; }
.ppl .ppl-carousel-arrow {
    position: absolute;
    z-index: 9;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    padding: 0;
    background: var(--lime);
    color: #141414;
    border: 2px solid var(--ink);
    border-radius: 50%;
    box-shadow: 4px 4px 0 var(--hot);
    cursor: pointer;
    font: 800 29px/1 var(--font-accent);
    transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.ppl .ppl-carousel-arrow:hover { background: #f3ffac; box-shadow: 2px 2px 0 var(--hot); transform: translateY(-50%) translate(2px,2px); }
.ppl .ppl-carousel-arrow:active { background: #d0e858; }
.ppl .ppl-carousel-prev { left: clamp(8px, 2vw, 28px); }
.ppl .ppl-carousel-next { right: clamp(8px, 2vw, 28px); }
.ppl .ppl-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.ppl .ppl-gallery-track { scrollbar-width: none; }
.ppl .ppl-gallery-track::-webkit-scrollbar { display: none; }
@media (max-width: 767px) {
    .ppl .ppl-carousel-arrow { width: 44px; height: 44px; font-size: 23px; box-shadow: 3px 3px 0 var(--hot); }
    .ppl .ppl-carousel-prev { left: 7px; }
    .ppl .ppl-carousel-next { right: 7px; }
}


/* v1.12 — carrossel em estrutura coverflow: card central maior, laterais visíveis e dots. */
.ppl .ppl-gallery-carousel {
    isolation: isolate;
    position: relative;
    z-index: 2;
    width: 100%;
    margin-top: 58px;
    padding-bottom: 50px;
}
.ppl .ppl-gallery-track {
    display: flex;
    align-items: center;
    gap: clamp(16px, 2vw, 30px);
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 26px 0 34px;
    scroll-padding-inline: 0;
    scroll-snap-type: none;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    cursor: grab;
    -webkit-overflow-scrolling: touch;
}
.ppl .ppl-gallery-track.is-dragging { cursor: grabbing; user-select: none; }
.ppl .ppl-carousel-card {
    flex: 0 0 clamp(250px, 37vw, 470px);
    position: relative;
    padding: 0;
    margin: 0;
    opacity: .42;
    transform: scale(.78) translateY(18px) rotate(0deg);
    transition: transform .35s ease, opacity .35s ease, filter .35s ease;
    filter: saturate(.8);
    pointer-events: none;
}
.ppl .ppl-carousel-card.is-active,
.ppl .ppl-carousel-card.is-prev,
.ppl .ppl-carousel-card.is-next { pointer-events: auto; }
.ppl .ppl-carousel-card.is-active {
    opacity: 1;
    transform: scale(1) translateY(0) rotate(-1.2deg);
    z-index: 4;
    filter: saturate(1);
}
.ppl .ppl-carousel-card.is-prev {
    opacity: .82;
    transform: scale(.86) translateY(10px) rotate(-4.5deg);
    z-index: 3;
}
.ppl .ppl-carousel-card.is-next {
    opacity: .82;
    transform: scale(.86) translateY(10px) rotate(4.5deg);
    z-index: 3;
}
.ppl .ppl-carousel-card button {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: #c7c7c7;
    border-radius: 18px;
    overflow: hidden;
    cursor: inherit;
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
.ppl .ppl-carousel-card img {
    width: 100%;
    height: clamp(330px, 42vw, 560px);
    object-fit: cover;
    object-position: center;
    display: block;
    pointer-events: none;
}
.ppl .ppl-carousel-card.is-prev .ppl-spoiler-sticker,
.ppl .ppl-carousel-card.is-next .ppl-spoiler-sticker,
.ppl .ppl-carousel-card.is-active .ppl-spoiler-sticker { left: -18px; top: -22px; z-index: 5; pointer-events: none; }
.ppl .ppl-carousel-dots {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 32px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #101014;
    border: 2px solid #101014;
}
.ppl .ppl-carousel-dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #7f7f88;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease;
}
.ppl .ppl-carousel-dot:hover { transform: scale(1.12); }
.ppl .ppl-carousel-dot.is-active { width: 24px; border-radius: 999px; background: var(--hot); }
.ppl .ppl-carousel-arrow {
    position: absolute;
    z-index: 9;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    padding: 0;
    background: rgba(230,250,117,.96);
    color: #141414;
    border: 2px solid var(--ink);
    border-radius: 50%;
    box-shadow: 4px 4px 0 var(--hot);
    cursor: pointer;
    font: 800 28px/1 var(--font-accent);
}
.ppl .ppl-carousel-prev { left: max(14px, calc(50% - min(530px, 45vw))); }
.ppl .ppl-carousel-next { right: max(14px, calc(50% - min(530px, 45vw))); }
@media (max-width: 767px) {
    .ppl .ppl-gallery-carousel { margin-top: 36px; padding-bottom: 42px; }
    .ppl .ppl-gallery-track { gap: 12px; padding: 18px 0 26px; }
    .ppl .ppl-carousel-card { flex-basis: min(74vw, 320px); transform: scale(.74) translateY(10px); }
    .ppl .ppl-carousel-card.is-prev { transform: scale(.82) translateY(7px) rotate(-4deg); }
    .ppl .ppl-carousel-card.is-next { transform: scale(.82) translateY(7px) rotate(4deg); }
    .ppl .ppl-carousel-card.is-active { transform: scale(1) translateY(0) rotate(-1deg); }
    .ppl .ppl-carousel-card img { height: clamp(300px, 86vw, 420px); }
    .ppl .ppl-carousel-arrow { width: 42px; height: 42px; font-size: 22px; box-shadow: 3px 3px 0 var(--hot); }
    .ppl .ppl-carousel-prev { left: 6px; }
    .ppl .ppl-carousel-next { right: 6px; }
}


/* v1.14 — imagens de capa em cada módulo expansível da grade de aulas. */
.ppl .ppl-module-body .ppl-module-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1000 / 562;
    object-fit: cover;
    object-position: center;
    border: 2px solid var(--ink);
    border-radius: 4px;
    margin: 0 0 20px;
}
@media (max-width: 767px) {
    .ppl .ppl-module-body .ppl-module-image { margin-bottom: 16px; }
}


/* v1.16 — bônus: quatro cards horizontais, sem imagem ou subtítulo redundante. */
.ppl .ppl-bonus { padding-block: 104px 112px; }
.ppl .ppl-bonus-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 38px;
}
.ppl .ppl-bonus h2 {
    margin: 0;
    text-align: center;
    font: clamp(62px, 7vw, 94px)/1 var(--font-title);
    letter-spacing: -.065em;
}
.ppl .ppl-bonus-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 19px;
    width: 100%;
    margin-inline: auto;
}
.ppl .ppl-bonus-card {
    min-width: 0;
    min-height: 224px;
    padding: 24px 13px 27px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 19px;
    background: var(--lime);
    border: 2px solid var(--ink);
    box-shadow: 7px 7px 0 var(--hot);
    text-align: center;
}
.ppl .ppl-bonus-icon {
    display: grid;
    place-items: center;
    width: 75px;
    height: 75px;
    padding: 14px;
    flex: 0 0 75px;
    color: var(--ink);
    background: #ffb8dc;
    border: 2px solid var(--ink);
    border-radius: 50%;
}
.ppl .ppl-bonus-icon svg { width: 100%; height: 100%; display: block; }
.ppl .ppl-bonus-card h3 {
    margin: 0;
    max-width: 100%;
    font: 19px/1.2 var(--font-title);
    letter-spacing: -.035em;
    text-wrap: balance;
}
@media (max-width: 1023px) {
    .ppl .ppl-bonus-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .ppl .ppl-bonus-card { min-height: 210px; }
}
@media (max-width: 600px) {
    .ppl .ppl-bonus { padding-block: 72px 80px; }
    .ppl .ppl-bonus-inner { gap: 28px; }
    .ppl .ppl-bonus h2 { font-size: clamp(54px, 14vw, 76px); }
    .ppl .ppl-bonus-cards { grid-template-columns: 1fr; gap: 15px; }
    .ppl .ppl-bonus-card {
        min-height: 120px;
        flex-direction: row;
        justify-content: flex-start;
        gap: 22px;
        padding: 17px 20px;
        text-align: left;
        box-shadow: 5px 5px 0 var(--hot);
    }
    .ppl .ppl-bonus-icon { width: 62px; height: 62px; flex-basis: 62px; padding: 12px; }
    .ppl .ppl-bonus-card h3 { font-size: clamp(17px, 5vw, 21px); }
}

/* v1.17 — Depoimentos: carrossel de seis capturas configuráveis no WordPress. */
.ppl .ppl-reviews-inner { grid-template-columns: minmax(0,1.12fr) minmax(280px,.76fr); gap: clamp(28px, 7vw, 110px); }
.ppl .ppl-reviews-copy h2 { margin-top: 0; }
.ppl .ppl-review-carousel { width: 100%; min-width: 0; position: relative; }
.ppl .ppl-review-window {
    width: 100%; overflow: hidden; background: #0b0f12;
    border: 8px solid var(--ink); border-radius: 25px;
    box-shadow: 14px 14px 0 var(--lime);
    transform: rotate(1.2deg);
}
.ppl .ppl-review-slides { display: flex; align-items: stretch; width: 100%; transform: translate3d(0,0,0); transition: transform .45s cubic-bezier(.25,.7,.22,1); }
.ppl .ppl-review-slide { flex: 0 0 100%; min-width: 0; margin: 0; padding: 8px; background: #0b0f12; }
.ppl .ppl-review-photo-button { display: flex; align-items: center; justify-content: center; padding: 0; margin: 0; width: 100%; height: clamp(350px, 39vw, 515px); border: 0; background: #0b0f12; cursor: zoom-in; border-radius: 12px; overflow: hidden; }
.ppl .ppl-review-photo-button img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.ppl .ppl-review-controls { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 27px; }
.ppl .ppl-review-prev, .ppl .ppl-review-next {
    width: 43px; height: 43px; display: grid; place-items: center;
    border: 2px solid var(--ink); background: var(--lime); color: var(--ink);
    box-shadow: 3px 3px 0 var(--ink); border-radius: 50%; cursor: pointer;
    font: 800 24px/1 var(--font-accent); transition: background .2s ease;
}
.ppl .ppl-review-prev:hover, .ppl .ppl-review-next:hover { background: #fff; }
.ppl .ppl-review-dots { display: flex; align-items: center; justify-content: center; gap: 7px; }
.ppl .ppl-review-dot { width: 9px; height: 9px; padding: 0; border: none; border-radius: 100px; background: #ffc0da; opacity: .68; cursor: pointer; transition: width .2s, background .2s, opacity .2s; }
.ppl .ppl-review-dot.is-active { width: 24px; background: var(--lime); opacity: 1; }
@media (max-width: 1024px) {
  .ppl .ppl-reviews-inner { grid-template-columns: minmax(0,1fr) minmax(290px,.83fr); gap: 30px; }
}
@media (max-width: 767px) {
  .ppl .ppl-reviews-inner { display: flex; flex-direction: column; align-items: center; gap: 34px; }
  .ppl .ppl-reviews-copy { align-self: stretch; }
  .ppl .ppl-review-carousel { width: min(87%, 405px); }
  .ppl .ppl-review-photo-button { height: clamp(350px, 102vw, 480px); }
  .ppl .ppl-review-controls { margin-top: 24px; gap: 15px; }
}
@media (max-width: 380px) {
  .ppl .ppl-review-carousel { width: 90%; }
  .ppl .ppl-review-controls { gap: 10px; }
  .ppl .ppl-review-dot { width: 8px; height: 8px; }
  .ppl .ppl-review-dot.is-active { width: 20px; }
}
@media (prefers-reduced-motion: reduce) { .ppl .ppl-review-slides { transition: none; } }


/* v1.19 — Oferta Black Month. Mantém o destaque gráfico existente. */
.ppl .ppl-price h2 {
    max-width: 1160px;
    margin: 8px auto 20px;
    font-size: clamp(42px, 6vw, 88px);
    line-height: 1.07;
    letter-spacing: -.065em;
    text-wrap: balance;
}
.ppl .ppl-price h2 span { color: var(--pink-light); }
.ppl .ppl-price-star { margin: 0 auto; }
.ppl .ppl-price-star-content {
    width: 81%;
    max-width: 510px;
    gap: 0;
    text-align: center;
}
.ppl .ppl-price-star-content .ppl-price-main-value {
    display: block;
    font-family: var(--font-title);
    font-size: clamp(36px, 4.1vw, 58px);
    font-weight: 900;
    letter-spacing: -.055em;
    line-height: 1.05;
}
.ppl .ppl-price-star-content .ppl-price-cash {
    display: block;
    font-family: var(--font-accent);
    font-size: clamp(17px, 1.8vw, 23px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
    text-transform: none;
    margin-top: 4px;
}
.ppl .ppl-price-star-content .ppl-price-installments {
    font-family: var(--font-accent);
    font-size: clamp(16px, 1.8vw, 23px);
    font-weight: 500;
    letter-spacing: -.025em;
    line-height: 1.35;
    margin: 18px 0 0;
    color: var(--ink);
}
.ppl .ppl-price-star-content .ppl-price-installments strong {
    display: inline;
    font: inherit;
    font-weight: 800;
    letter-spacing: inherit;
}
.ppl .ppl-price-star-content .ppl-price-total {
    display: block;
    font-family: var(--font-accent);
    font-size: clamp(12px, 1.2vw, 15px);
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.45;
    margin-top: 7px;
}
@media (max-width: 767px) {
    .ppl .ppl-price h2 { font-size: clamp(36px, 8.5vw, 62px); margin-bottom: 16px; }
    .ppl .ppl-price-star-content { width: 76%; }
    .ppl .ppl-price-star-content .ppl-price-main-value { font-size: clamp(28px, 7vw, 43px); }
    .ppl .ppl-price-star-content .ppl-price-cash { font-size: clamp(14px, 3.3vw, 18px); }
    .ppl .ppl-price-star-content .ppl-price-installments { font-size: clamp(14px, 3.2vw, 17px); margin-top: 9px; }
    .ppl .ppl-price-star-content .ppl-price-total { font-size: clamp(10px, 2.5vw, 13px); margin-top: 5px; }
}
@media (max-width: 460px) {
    .ppl .ppl-price-star { height: 310px; }
    .ppl .ppl-price-star-content { width: 75%; }
}


/* v1.20: FAQ expansível em cards, seguindo a linguagem da grade de aulas. */
.ppl .ppl-faq-inner { align-items: start; }
.ppl .ppl-faq-heading { min-width: 0; }
.ppl .ppl-faq-list { display: grid; gap: 14px; width: 100%; min-width: 0; align-content: start; }
.ppl .ppl-faq-list .ppl-faq-item {
    margin: 0;
    border: 2px solid var(--ink);
    background: var(--hot);
    box-shadow: 5px 5px 0 var(--ink);
    min-width: 0;
}
.ppl .ppl-faq-list .ppl-faq-item summary {
    min-height: 88px;
    padding: 17px 21px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    cursor: pointer;
    list-style: none;
    color: var(--ink);
    font: 800 clamp(17px, 1.55vw, 20px)/1.28 var(--font-accent);
}
.ppl .ppl-faq-list .ppl-faq-item summary::-webkit-details-marker { display: none; }
.ppl .ppl-faq-list .ppl-faq-question { flex: 1; min-width: 0; font: inherit; color: inherit; transform: none; }
.ppl .ppl-faq-list .ppl-faq-item[open] .ppl-faq-question { transform: none; }
.ppl .ppl-faq-list .ppl-faq-toggle {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 2px solid var(--ink);
    border-radius: 100%;
    color: var(--ink);
    background: transparent;
    font: 30px/1 var(--font-accent);
    transition: transform .2s ease;
}
.ppl .ppl-faq-list .ppl-faq-item[open] .ppl-faq-toggle { transform: rotate(45deg); }
.ppl .ppl-faq-list .ppl-faq-answer { border-top: 1px solid rgba(0,0,0,.3); padding: 22px 24px 24px; background: #ffb8d9; }
.ppl .ppl-faq-list .ppl-faq-answer p { padding: 0; margin: 0; color: var(--ink); font: 500 16px/1.6 var(--font-accent); }
.ppl .ppl-faq-list .ppl-faq-answer strong { font-weight: 800; }
@media (max-width: 767px) {
    .ppl .ppl-faq-list { gap: 12px; }
    .ppl .ppl-faq-list .ppl-faq-item summary { min-height: 72px; padding: 16px; gap: 12px; font-size: 16px; }
    .ppl .ppl-faq-list .ppl-faq-toggle { flex-basis: 32px; width: 32px; height: 32px; font-size: 25px; }
    .ppl .ppl-faq-list .ppl-faq-answer { padding: 18px 17px 21px; }
    .ppl .ppl-faq-list .ppl-faq-answer p { font-size: 15px; }
}


/* v1.21 — substituição global da estrela decorativa */
.ppl .ppl-inline-star,
.ppl .ppl-hero-spark,
.ppl .ppl-gallery-cross,
.ppl .ppl-audience-icon,
.ppl .ppl-faq-deco {
    display: inline-block;
    background: url('../images/star-spark.svg') center/contain no-repeat;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    flex: 0 0 auto;
}
.ppl .ppl-inline-star-xxs { width: 10px; height: 10px; }
.ppl .ppl-inline-star-xs { width: 14px; height: 14px; }
.ppl .ppl-inline-star-sm { width: 18px; height: 18px; }
.ppl .ppl-topline { gap: 14px; }
.ppl .ppl-topline span { display: inline-flex; align-items: center; }
.ppl .ppl-hero-spark {
    position: absolute;
    z-index: 2;
    top: 6px;
    left: -30px;
    width: 125px;
    height: 125px;
    transform: rotate(-18deg);
}
.ppl .ppl-round-stars {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.ppl .ppl-round-stars .ppl-inline-star { width: 10px; height: 10px; }
.ppl .ppl-hero-bottom span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.ppl .ppl-gallery-cross {
    position: absolute;
    width: 160px;
    height: 160px;
}
.ppl .ppl-audience-grid > div > .ppl-audience-icon {
    width: 34px;
    height: 34px;
    margin-top: 4px;
}
.ppl .ppl-reviews::before {
    content: '';
    position: absolute;
    top: -84px;
    right: -6px;
    width: 235px;
    height: 235px;
    background: url('../images/star-spark.svg') center/contain no-repeat;
    opacity: .45;
}
.ppl .ppl-mentor-points li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 18px;
    height: 18px;
    background: url('../images/star-spark.svg') center/contain no-repeat;
}
.ppl .ppl-faq-deco {
    width: 92px;
    height: 92px;
}
.ppl .ppl-footer-inner span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
@media (max-width: 1024px) {
    .ppl .ppl-hero-spark { width: 100px; height: 100px; left: -24px; top: -2px; }
    .ppl .ppl-gallery-cross { width: 130px; height: 130px; }
    .ppl .ppl-reviews::before { width: 190px; height: 190px; top: -60px; }
}
@media (max-width: 767px) {
    .ppl .ppl-topline { gap: 8px; }
    .ppl .ppl-inline-star-xs { width: 12px; height: 12px; }
    .ppl .ppl-hero-spark { width: 82px; height: 82px; left: -32px; top: -10px; }
    .ppl .ppl-gallery-cross { width: 86px; height: 86px; }
    .ppl .ppl-audience-grid > div > .ppl-audience-icon { width: 28px; height: 28px; }
    .ppl .ppl-faq-deco { width: 70px; height: 70px; }
    .ppl .ppl-reviews::before { width: 140px; height: 140px; top: -42px; right: -10px; }
}


/* v1.23 — galeria: fundo liso #343439 e título Times New Roman MT Condensed em duas linhas. */
.ppl .ppl-gallery {
    background: #343439;
    background-image: none;
}
.ppl .ppl-gallery > .ppl-noise { display: none; }
.ppl .ppl-gallery-head .ppl-gallery-editorial-title {
    max-width: 100%;
    margin: 22px auto 0;
    color: #111015;
    font-family: "Times New Roman MT Condensed", "Times New Roman Condensed", "Times New Roman", "Liberation Serif", Georgia, serif;
    font-size: clamp(36px, 11.2vw, 158px);
    font-weight: 900;
    font-stretch: condensed;
    line-height: .82;
    letter-spacing: -.085em;
    word-spacing: -.11em;
    -webkit-text-stroke: clamp(2.5px, .58vw, 10px) var(--hot);
    paint-order: stroke fill;
    text-transform: none;
    text-wrap: nowrap;
}
.ppl .ppl-gallery-head .ppl-gallery-editorial-title span {
    display: block;
    width: max-content;
    max-width: none;
    margin-inline: auto;
    white-space: nowrap;
    overflow-wrap: normal;
    text-shadow: none;
}
.ppl .ppl-gallery-head .ppl-gallery-editorial-title span + span {
    margin-top: -.075em;
}
@media (max-width: 767px) {
    .ppl .ppl-gallery-head .ppl-gallery-editorial-title {
        font-size: clamp(32px, 10.7vw, 70px);
        line-height: .9;
        letter-spacing: -.095em;
        word-spacing: -.12em;
        -webkit-text-stroke: clamp(2px, .65vw, 5px) var(--hot);
    }
    .ppl .ppl-gallery-head .ppl-gallery-editorial-title span + span { margin-top: -.055em; }
}
@media (max-width: 380px) {
    .ppl .ppl-gallery-head .ppl-gallery-editorial-title {
        font-size: clamp(32px, 10.4vw, 40px);
        -webkit-text-stroke: 2px var(--hot);
    }
}


/* v1.24 — título da galeria: duas linhas fixas, espaçamento explícito entre palavras.
   As palavras são elementos independentes; gap impede que o contorno una os textos. */
.ppl .ppl-gallery-head .ppl-gallery-editorial-title {
    width: 100%;
    max-width: 100%;
    margin: 22px auto 0;
    font-family: "Times New Roman MT Condensed", "Times New Roman Condensed", "Times New Roman", "Liberation Serif", Georgia, serif;
    font-size: clamp(31px, 9.2vw, 146px);
    font-weight: 900;
    font-stretch: condensed;
    line-height: .93;
    letter-spacing: -.04em;
    word-spacing: normal;
    text-align: center;
    text-transform: none;
    color: #ffffff;
    -webkit-text-stroke: clamp(2px, .52vw, 9px) var(--hot);
    paint-order: stroke fill;
}
.ppl .ppl-gallery-head .ppl-gallery-editorial-title > .ppl-gallery-line {
    width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: .15em;
    white-space: nowrap;
    margin-inline: auto;
    overflow-wrap: normal;
    text-shadow: none;
}
.ppl .ppl-gallery-head .ppl-gallery-editorial-title > .ppl-gallery-line + .ppl-gallery-line {
    margin-top: .035em;
}
.ppl .ppl-gallery-head .ppl-gallery-editorial-title .ppl-gallery-line > .ppl-title-word,
.ppl .ppl-gallery-head .ppl-gallery-editorial-title .ppl-gallery-line > .ppl-title-word + .ppl-title-word {
    display: inline-block;
    flex: 0 0 auto;
    margin: 0;
    width: auto;
    max-width: none;
    white-space: nowrap;
    text-shadow: none;
    overflow-wrap: normal;
}
@media (max-width: 767px) {
    .ppl .ppl-gallery-head .ppl-gallery-editorial-title {
        font-size: clamp(27px, 8.5vw, 63px);
        line-height: 1.03;
        letter-spacing: -.04em;
        word-spacing: normal;
        -webkit-text-stroke: clamp(1.5px, .45vw, 3px) var(--hot);
    }
    .ppl .ppl-gallery-head .ppl-gallery-editorial-title > .ppl-gallery-line { gap: .14em; }
    .ppl .ppl-gallery-head .ppl-gallery-editorial-title > .ppl-gallery-line + .ppl-gallery-line { margin-top: .06em; }
}
@media (max-width: 360px) {
    .ppl .ppl-gallery-head .ppl-gallery-editorial-title { font-size: 8.15vw; }
}


/* v1.27 — selo Spoiler da galeria um pouco menor e sem corte */
.ppl .ppl-carousel-card button {
    overflow: visible;
}
.ppl .ppl-carousel-card img {
    border-radius: 18px;
}
.ppl .ppl-carousel-card .ppl-spoiler-sticker {
    font-size: 15px;
    line-height: 1;
    padding: 16px 14px;
}
.ppl .ppl-carousel-card.is-prev .ppl-spoiler-sticker,
.ppl .ppl-carousel-card.is-next .ppl-spoiler-sticker,
.ppl .ppl-carousel-card.is-active .ppl-spoiler-sticker {
    left: -10px;
    top: -16px;
}
@media (max-width: 767px) {
    .ppl .ppl-carousel-card .ppl-spoiler-sticker {
        font-size: 13px;
        padding: 13px 11px;
    }
    .ppl .ppl-carousel-card.is-prev .ppl-spoiler-sticker,
    .ppl .ppl-carousel-card.is-next .ppl-spoiler-sticker,
    .ppl .ppl-carousel-card.is-active .ppl-spoiler-sticker {
        left: -8px;
        top: -12px;
    }
}


/* v1.31 — Arte acima do título; sem estrelas decorativas nos depoimentos. */
.ppl .ppl-reviews::before { display: none; }
.ppl .ppl-reviews-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.ppl .ppl-review-heading-art {
    display: block;
    width: clamp(110px, 9.5vw, 155px);
    height: auto;
    margin: 0 0 18px;
    object-fit: contain;
    flex-shrink: 0;
}
.ppl .ppl-reviews-copy h2 { margin-top: 0; }
@media (max-width: 767px) {
    .ppl .ppl-review-heading-art { width: 120px; margin-bottom: 12px; }
}


/* v1.32 — remove completamente estrelas residuais da seção de depoimentos */
.ppl .ppl-reviews::before,
.ppl .ppl-reviews::after,
.ppl .ppl-reviews [class*="review-star"],
.ppl .ppl-reviews [class*="reviews-star"],
.ppl .ppl-reviews [class*="star-outline"],
.ppl .ppl-reviews [class*="spark"],
.ppl .ppl-reviews .ppl-inline-star,
.ppl .ppl-reviews .ppl-review-stars,
.ppl .ppl-reviews .ppl-review-stars > span {
    display: none !important;
    content: none !important;
    background: none !important;
}


/* v1.33 — fundo uniforme na seção de investimento. 
   O splash existente permanece temporariamente até o recebimento do SVG original. */
.ppl .ppl-price {
    background: #343439;
    background-image: none;
}
.ppl .ppl-price > .ppl-noise {
    display: none;
}


/* v1.34 — Splash original em SVG na oferta; fundo sólido preservado da v1.33. */
.ppl .ppl-price {
    background-color: #343439;
    background-image: none;
}
.ppl .ppl-price-star {
    filter: none; /* o SVG já contém a sombra rosa original */
}
.ppl .ppl-price-star::before {
    inset: 0;
    width: 100%;
    height: 100%;
    background: url('../images/splash-preco.svg') center center / contain no-repeat;
    clip-path: none;
    pointer-events: none;
}

/* Mantém todo o novo splash visível no celular, sem cortar as pontas. */
.ppl .ppl-price-star {
    width: min(100%, 740px);
    aspect-ratio: 808 / 551;
    height: auto;
    margin: 0 auto;
}
.ppl .ppl-price-star-content {
    width: 78%;
    max-width: 490px;
}
@media (max-width: 460px) {
    .ppl .ppl-price-star {
        width: 100%;
        height: auto;
        margin: 0 auto;
    }
    .ppl .ppl-price-star-content {
        width: 80%;
    }
}
/* Ajuste fino para manter o texto no miolo da explosão. */
.ppl .ppl-price-star-content {
    transform: translateY(-10px);
}


/* v1.35 — splash da oferta maior, com mais respiro para o texto */
.ppl .ppl-price-star {
    width: min(100%, 860px);
    aspect-ratio: 808 / 551;
    height: auto;
    margin: 10px auto 0;
}
.ppl .ppl-price-star-content {
    width: 70%;
    max-width: 560px;
    gap: 10px;
    transform: translateY(-4px);
}
.ppl .ppl-price-star-content .ppl-price-main-value {
    margin-bottom: 2px;
}
.ppl .ppl-price-star-content .ppl-price-cash {
    margin-bottom: 8px;
}
.ppl .ppl-price-star-content .ppl-price-installments {
    margin-top: 6px;
}
.ppl .ppl-price-star-content .ppl-price-total {
    margin-top: 3px;
}
@media (max-width: 1024px) {
    .ppl .ppl-price-star {
        width: min(100%, 780px);
    }
    .ppl .ppl-price-star-content {
        width: 71%;
        max-width: 520px;
        gap: 8px;
    }
}
@media (max-width: 767px) {
    .ppl .ppl-price-star {
        width: min(112%, 760px);
        margin-left: -6%;
    }
    .ppl .ppl-price-star-content {
        width: 74%;
        max-width: 440px;
        gap: 6px;
        transform: translateY(-2px);
    }
}
@media (max-width: 460px) {
    .ppl .ppl-price-star {
        width: 118%;
        margin-left: -9%;
    }
    .ppl .ppl-price-star-content {
        width: 75%;
        max-width: 360px;
        gap: 5px;
    }
}


/* v1.36 — cantos levemente arredondados em botoes e boxes.
   Selos circulares, fotos e splash SVG mantem o formato original. */
.ppl { --ppl-soft-radius: 8px; }
.ppl .ppl-button,
.ppl .ppl-nav-cta,
.ppl .ppl-curriculum-link,
.ppl .ppl-mobile-bar a,
.ppl .ppl-lightbox-close,
.ppl .ppl-overline,
.ppl .ppl-mini-tag,
.ppl .ppl-intro-box,
.ppl .ppl-counters > div,
.ppl .ppl-module,
.ppl .ppl-audience-grid,
.ppl .ppl-bonus-card,
.ppl .ppl-bonus-pills > span,
.ppl .ppl-bonus-image span,
.ppl .ppl-mentor-points,
.ppl .ppl-faq-art,
.ppl .ppl-faq-list .ppl-faq-item,
.ppl .ppl-lightbox { border-radius: var(--ppl-soft-radius); }

/* Fundos dos paineis abertos tambem respeitam a borda externa. */
.ppl .ppl-module,
.ppl .ppl-faq-list .ppl-faq-item { overflow: hidden; }


/* v1.38 — faixa de chamadas em rolagem horizontal, contínua e sem cortes */
.ppl .ppl-hero-bottom {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
    min-width: 0;
    padding: 0;
    gap: 0;
    min-height: 50px;
    background: var(--lime);
    border-top: 2px solid var(--ink);
    border-bottom: 2px solid var(--ink);
}
.ppl .ppl-hero-marquee-track {
    display: flex;
    align-items: center;
    width: max-content;
    min-height: 48px;
    animation: ppl-hero-marquee-scroll 64s linear infinite;
    will-change: transform;
}
.ppl .ppl-hero-marquee-group {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 0;
    width: max-content;
}
.ppl .ppl-hero-marquee-item {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 12px;
    padding-right: clamp(32px, 3.5vw, 62px);
    white-space: nowrap;
    color: var(--ink);
    font: 800 12px/1.2 var(--font-accent);
    letter-spacing: .065em;
}
.ppl .ppl-hero-marquee-item strong { font: inherit; }
.ppl .ppl-hero-marquee-star {
    display: inline-block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    background: url('../images/star-spark.svg') center/contain no-repeat;
}
@keyframes ppl-hero-marquee-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
@media (max-width: 767px) {
    .ppl .ppl-hero-bottom { padding: 0; min-height: 44px; }
    .ppl .ppl-hero-marquee-track { min-height: 42px; animation-duration: 60s; }
    .ppl .ppl-hero-marquee-item { font-size: 11px; gap: 10px; padding-right: 30px; }
    .ppl .ppl-hero-marquee-star { flex-basis: 16px; width: 16px; height: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .ppl .ppl-hero-marquee-track { animation: none; will-change: auto; }
    .ppl .ppl-hero-bottom { overflow-x: auto; }
}


/* v1.39 — substitui os fundos cinzas pela textura enviada pelo cliente */
.ppl .ppl-paper {
    background-color: #e7e7e7;
    background-image: url('../images/textura-cinza-custom.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* v1.40 — garante respiro entre a legenda e a borda do selo circular. */
.ppl .ppl-round-sticker strong {
    font-size: 18px;
    line-height: 1.04;
    letter-spacing: -.015em;
    max-width: calc(100% - 26px);
    margin-inline: auto;
    text-align: center;
}
@media (max-width: 767px) {
    .ppl .ppl-round-sticker strong {
        font-size: 14px;
        max-width: calc(100% - 22px);
    }
}
@media (max-width: 460px) {
    .ppl .ppl-round-sticker strong {
        font-size: 12px;
        max-width: calc(100% - 18px);
    }
}



/* v1.43 — oferta reproduzida a partir da referência: estrela angular e destaque tipográfico. */
.ppl .ppl-price {
    background: #343439;
    background-image: none;
    padding: clamp(65px, 6vw, 92px) 0 100px;
    overflow: hidden;
}
.ppl .ppl-price > .ppl-noise { display: none; }
.ppl .ppl-price-inner { width: min(100% - 36px, 1250px); }
.ppl .ppl-price h2 {
    color: #fff;
    font-family: var(--font-title);
    font-size: clamp(40px, 6.7vw, 96px);
    line-height: 1.02;
    margin: 0 auto 10px;
    max-width: 1200px;
    letter-spacing: -.064em;
    white-space: normal;
}
.ppl .ppl-price h2 span { color: #f9a9d0; }
.ppl .ppl-price-star {
    position: relative;
    display: grid;
    place-items: center;
    margin: 0 auto;
    width: min(100%, 885px);
    height: auto;
    aspect-ratio: 1.69;
    filter: none;
    isolation: isolate;
}
.ppl .ppl-price-star::before,
.ppl .ppl-price-star::after {
    content: '';
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-image: none;
    background: #e7fa72;
    clip-path: polygon(50% 0%, 59% 23%, 68% 5%, 72% 26%, 93% 9%, 80% 33%, 100% 35%, 82% 49%, 100% 63%, 80% 65%, 93% 91%, 70% 76%, 65% 100%, 52% 80%, 42% 99%, 37% 78%, 14% 91%, 25% 67%, 0% 64%, 18% 51%, 0% 38%, 22% 36%, 11% 9%, 35% 26%);
    pointer-events: none;
}
.ppl .ppl-price-star::before { z-index: 0; background: #ec2186; transform: translate(13px, 12px); }
.ppl .ppl-price-star::after { z-index: 1; background: #e7fa72; }
.ppl .ppl-price-star-content {
    position: relative;
    z-index: 2;
    color: #17161a;
    width: 64%;
    max-width: 590px;
    transform: translateY(3px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0;
    text-align: center;
}
.ppl .ppl-price-star-content .ppl-price-one-line {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: baseline;
    gap: .28em;
    white-space: nowrap;
    font-family: var(--font-title);
    font-size: clamp(25px, 3.6vw, 50px);
    font-weight: 900;
    line-height: 1.09;
    letter-spacing: -.05em;
}
.ppl .ppl-price-star-content .ppl-price-main-value,
.ppl .ppl-price-star-content .ppl-price-cash {
    display: inline;
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    text-transform: uppercase;
    margin: 0;
    color: inherit;
}
.ppl .ppl-price-star-content .ppl-price-or {
    display: block;
    font-family: var(--font-accent);
    font-size: clamp(20px, 2vw, 29px);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.2;
    margin-top: 6px;
}
.ppl .ppl-price-star-content .ppl-price-installments {
    font-family: var(--font-title);
    font-size: clamp(28px, 4.15vw, 58px);
    font-weight: 900;
    line-height: 1.04;
    margin: 3px 0 0;
    letter-spacing: -.05em;
    color: #17161a;
    white-space: nowrap;
}
.ppl .ppl-price-star-content .ppl-price-installments strong {
    font: inherit;
    letter-spacing: inherit;
}
.ppl .ppl-price-star-content .ppl-price-total {
    font-family: var(--font-accent);
    display: block;
    font-size: clamp(17px, 2.05vw, 26px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.035em;
    margin: 11px 0 0;
    white-space: nowrap;
}
.ppl .ppl-price-inner > .ppl-price-disclaimer {
    margin: 24px auto 29px;
    max-width: 960px;
    font-size: clamp(16px, 1.75vw, 26px);
    line-height: 1.35;
    color: #fff;
}
.ppl .ppl-price-cta {
    margin-inline: auto;
    width: min(100%, 550px);
    min-height: 84px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    font-size: clamp(17px, 1.8vw, 27px);
    box-shadow: none;
}
.ppl .ppl-price-cta.ppl-button-muted {
    background: #aaa6ad;
    color: #1a191e;
    border: 0;
    cursor: not-allowed;
}
@media (max-width: 767px) {
    .ppl .ppl-price { padding: 68px 0 74px; }
    .ppl .ppl-price-inner { width: calc(100% - 24px); }
    .ppl .ppl-price h2 { font-size: clamp(33px, 7.1vw, 55px); margin-bottom: 18px; }
    .ppl .ppl-price-star { width: 100%; max-width: none; margin: 0 auto; aspect-ratio: 1.55; }
    .ppl .ppl-price-star-content { width: 64%; max-width: 470px; transform: translateY(0); }
    .ppl .ppl-price-star-content .ppl-price-one-line { font-size: clamp(18px, 4.2vw, 31px); }
    .ppl .ppl-price-star-content .ppl-price-or { font-size: clamp(13px, 2.7vw, 20px); margin-top: 2px; }
    .ppl .ppl-price-star-content .ppl-price-installments { font-size: clamp(22px, 5.5vw, 40px); margin-top: 2px; }
    .ppl .ppl-price-star-content .ppl-price-total { font-size: clamp(12px, 2.6vw, 21px); margin-top: 5px; }
    .ppl .ppl-price-inner > .ppl-price-disclaimer { margin: 20px auto 24px; font-size: clamp(14px, 3.3vw, 19px); }
    .ppl .ppl-price-cta { width: min(100%, 450px); min-height: 66px; font-size: 17px; }
}
@media (max-width: 400px) {
    .ppl .ppl-price-star { width: 100%; margin-left: 0; }
    .ppl .ppl-price-star-content { width: 62%; }
    .ppl .ppl-price-star-content .ppl-price-one-line { font-size: clamp(16px, 4.4vw, 20px); }
    .ppl .ppl-price-star-content .ppl-price-or { font-size: 13px; }
    .ppl .ppl-price-star-content .ppl-price-installments { font-size: clamp(19px, 5.6vw, 24px); }
    .ppl .ppl-price-star-content .ppl-price-total { font-size: 11px; }
}

/* Textura muito discreta sobre #343439, aproximando a superfície do print. */
.ppl .ppl-price::before {
    content: '';
    position: absolute;
    z-index: 0;
    inset: 0;
    background: url('../images/textura-ruido.webp') center / 700px repeat;
    opacity: .055;
    mix-blend-mode: multiply;
    pointer-events: none;
}
