/* =========================================================
   Professor BeDog — camada de marca sobre o design system BeDog
   Mesma paleta; protagonista = laranja (#FF743B), teal de apoio.
   ========================================================= */

/* ---------- Marca no cabeçalho/rodapé ---------- */
.pv-brand { gap: 10px; text-decoration: none; }
.pv-brand img, .motion-on .site-header.is-scrolled .pv-brand img { width: 44px; height: 44px; }
.pv-ico { width: 1.1em; height: 1.1em; vertical-align: -0.15em; margin-right: 4px; stroke: currentColor; }
.pv-word { font-family: var(--font-display); font-weight: 700; font-size: 1.35rem; line-height: 1; color: var(--ink); display: inline-flex; flex-direction: column; }
.pv-word small { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--orange-ink); margin-top: 3px; }
.pv-word--foot { color: var(--creme); font-size: 1.8rem; margin-bottom: 14px; }
.pv-word--foot small { color: var(--amber); }
.pv-family { display: inline-flex; align-items: center; gap: 12px; margin-top: 18px; color: #CFE3E1; text-decoration: none; font-size: .9rem; }
.pv-family img { width: 96px; height: auto; margin: 0; }
.pv-family:hover span { text-decoration: underline; }

/* ---------- Abertura ---------- */
.pv-hero { background: var(--orange); position: relative; overflow: hidden; padding-block: clamp(40px, 6vw, 80px) clamp(56px, 7vw, 96px); }
.pv-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(28px, 4vw, 56px); align-items: center; }
.pv-hero .eyebrow { background: #FFFDF9; }
.pv-kicker { font-family: var(--font-hand); font-size: clamp(1.7rem, 2vw + 1rem, 2.4rem); color: var(--brown); margin-top: 18px; line-height: 1; }
.pv-hero h1 { color: var(--ink); margin: 4px 0 18px; }
.pv-hero h1 .hl { color: var(--teal); }
.pv-hero .lead { color: var(--brown); font-weight: 600; max-width: 34ch; }
.pv-hero .photo-frame { transform: rotate(2deg); }
.pv-tagline { display: inline-block; margin-top: 18px; padding: 8px 16px; border: var(--border); border-radius: 999px; background: var(--amber); font-family: var(--font-display); font-weight: 600; color: var(--ink); box-shadow: var(--shadow-s); }

/* ---------- Dois caminhos (mesmo peso) ---------- */
.pv-paths { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2.4vw, 28px); margin-top: clamp(36px, 5vw, 56px); position: relative; z-index: 2; }
.pv-path { border: var(--border); border-radius: var(--radius); box-shadow: var(--shadow); padding: clamp(22px, 3vw, 34px); display: flex; flex-direction: column; gap: 10px; }
.pv-path--local { background: var(--teal); color: var(--creme); }
.pv-path--online { background: #FFFDF9; color: var(--text); }
.pv-path .tag { font-family: var(--font-display); font-weight: 600; font-size: .9rem; letter-spacing: .06em; text-transform: uppercase; }
.pv-path--local .tag { color: var(--amber); }
.pv-path--online .tag { color: var(--orange-ink); }
.pv-path h2 { font-size: clamp(1.6rem, 2vw + 0.8rem, 2.3rem); }
.pv-path--online h2 { color: var(--ink); }
.pv-path p { flex: 1; }
.pv-path--local p { color: #D6E8E6; }
.pv-path .btn { align-self: flex-start; margin-top: 8px; }
.pv-path .cta-micro { margin-top: 6px; }
.pv-path--local .cta-micro { color: #CFE3E1; }
.pv-path--local .cta-micro span::before { color: var(--amber); }

/* ---------- Desafios ---------- */
.pv-challenges { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px); }
.pv-ch { background: #FFFDF9; border: var(--border); border-radius: var(--radius); box-shadow: var(--shadow-s); overflow: hidden; display: flex; flex-direction: column; }
.pv-ch img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: top; border-bottom: var(--border); background: var(--creme); }
.pv-ch-body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pv-ch h3 { font-size: 1.2rem; color: var(--ink); }
.pv-ch p { color: var(--muted); font-size: .93rem; flex: 1; }
.pv-ch-links { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.pv-ch-links a { font-family: var(--font-display); font-weight: 600; font-size: .95rem; color: var(--teal); padding-block: 10px; text-decoration: none; }
.pv-ch-links a:hover { text-decoration: underline; }
.pv-ch-links a:first-child { color: var(--orange-ink); }

/* ---------- Como funciona (duas colunas) ---------- */
.pv-how { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(18px, 2.4vw, 28px); }
.pv-how .card { padding: clamp(22px, 3vw, 34px); }
.pv-how h3 { font-size: 1.6rem; color: var(--ink); margin-bottom: 14px; }
.pv-how ol { list-style: none; padding: 0; display: grid; gap: 14px; counter-reset: s; }
.pv-how li { counter-increment: s; display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: start; }
.pv-how li::before { content: counter(s); width: 40px; height: 40px; border-radius: 50%; border: var(--border); display: grid; place-items: center; font-family: var(--font-display); font-weight: 700; background: var(--amber); color: var(--ink); }
.pv-how .card:last-child li::before { background: var(--orange); }
.pv-how li strong { display: block; font-family: var(--font-display); color: var(--ink); }
.pv-how li span { color: var(--muted); font-size: .95rem; }
.pv-how .btn { margin-top: 22px; }

/* ---------- Família BeDog ---------- */
.pv-family-band { display: grid; grid-template-columns: auto 1fr; gap: clamp(20px, 4vw, 48px); align-items: center; }
.pv-family-band img { width: clamp(140px, 18vw, 220px); height: auto; }

@media (max-width: 1000px) { .pv-challenges { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .pv-hero-grid, .pv-paths, .pv-how { grid-template-columns: 1fr; }
  .pv-hero .photo-frame { max-width: 360px; margin-inline: auto; width: 100%; }
  .pv-family-band { grid-template-columns: 1fr; text-align: center; justify-items: center; }
}
@media (max-width: 520px) { .pv-challenges { grid-template-columns: 1fr; } .pv-ch img { aspect-ratio: 16 / 9; } }

/* ---------- Siga o Professor (Instagram) ---------- */
.pv-follow-band { display: grid; grid-template-columns: 1fr auto; gap: clamp(20px, 4vw, 48px); align-items: center; }
.pv-follow h2 { color: var(--creme); margin: 10px 0; }
.pv-follow .lead { color: #D6E8E6; max-width: 52ch; }
.pv-follow .btn .pv-ico { margin-right: 8px; }
@media (max-width: 900px) { .pv-follow-band { grid-template-columns: 1fr; text-align: center; justify-items: center; } }

/* ---- fotos reais (Higgsfield, 21/10/2026) ---- */
.pv-photo{margin:0;border-radius:var(--radius,20px);overflow:hidden;box-shadow:0 10px 30px rgba(18,51,50,.15)}
.pv-photo img{display:block;width:100%;height:auto}
.pv-photo figcaption{padding:10px 16px;font-size:.9rem;color:var(--teal,#123332);background:#fff}
.pv-photos{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}
.pv-photos:has(> .pv-photo:only-child){grid-template-columns:minmax(0,520px);justify-content:center}

/* ---- Coleção Completa ---- */
.pv-pack-grid{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:20px}
.pv-pack-grid li{display:flex;flex-direction:column;gap:10px;font-weight:700;font-size:.9rem;line-height:1.25;color:#00444F}
.pv-pack-grid img{width:100%;height:auto;border-radius:12px;box-shadow:0 6px 18px rgba(0,68,79,.18)}
.pv-offer{max-width:640px;text-align:center}
.pv-offer .price{justify-content:center}
.pv-offer-old{text-decoration:line-through;opacity:.8;margin:8px 0}
.pv-offer-list{list-style:none;margin:20px auto 26px;padding:0;display:grid;gap:8px;text-align:left;max-width:380px}
.pv-offer-list li::before{content:"✓ ";font-weight:800;color:#FFC44A}
/* quiz de diagnóstico + páginas novas (22/10) */
.pv-quiz{max-width:860px;margin-inline:auto;background:#FFFDF9;border:var(--border);border-radius:var(--radius-s);box-shadow:var(--shadow-s);padding:clamp(22px,4vw,40px);scroll-margin-top:100px}
.pv-quiz h3{font-size:clamp(1.4rem,3vw,1.9rem);margin:4px 0 18px}
.pv-quiz-step{font-weight:800;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);margin:0}
.pv-chips{display:flex;flex-wrap:wrap;gap:10px}
.pv-chip{font:inherit;font-weight:700;color:#00444F;background:var(--pink);border:2px solid #00444F;border-radius:999px;padding:10px 18px;cursor:pointer;text-align:left;transition:transform .15s,background .15s}
.pv-chip:hover,.pv-chip:focus-visible{background:#FFC44A;transform:translateY(-2px)}
.pv-quiz .note{margin:16px 0}
.pv-quiz-res{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr))}
.pv-quiz-res li{align-items:flex-start}
.pv-quiz-res .btn{margin-top:auto}
.pv-quiz-top img{outline:4px solid #FFC44A;outline-offset:3px}
.pv-steps-4{grid-template-columns:repeat(4,1fr)}
.pv-mods>li{margin:0}
@media (max-width:860px){.pv-steps-4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.pv-steps-4{grid-template-columns:1fr}.pv-steps-4::before{display:none}}
.section--teal .pv-offer .price-cur,.section--teal .pv-offer .price-val{color:var(--amber)}
.section--teal .pv-offer .price-note{color:#CFE3E1}
.pv-quiz-reset{font:inherit;font-weight:700;background:none;border:0;color:#00444F;text-decoration:underline;cursor:pointer;padding:10px}
@media (max-width:860px){.pv-mods{grid-template-columns:1fr}}

/* ===== Abertura animada (recorte + movimento) — 23/10/2026 ===== */
.pv-stage{position:relative;aspect-ratio:1/1.02;width:100%;max-width:560px;margin-inline:auto;isolation:isolate}
.pv-layer{position:absolute;inset:0;transition:transform .25s ease-out;will-change:transform}
.pv-blob{position:absolute;inset:8% 4% 0 6%;background:var(--teal) radial-gradient(circle at 1.5px 1.5px,rgba(251,211,242,.35) 1.5px,transparent 0) 0 0/18px 18px;border:var(--border);box-shadow:var(--shadow);border-radius:58% 42% 46% 54%/52% 48% 52% 48%;animation:pvMorph 14s ease-in-out infinite}
.pv-ring{position:absolute;width:44%;right:-4%;top:-2%;animation:pvSpin 28s linear infinite}
.pv-ring text{font-family:var(--font-display);font-weight:700;font-size:15.5px;letter-spacing:2.2px;fill:var(--brown)}
.pv-cut{position:absolute;left:50%;bottom:0;width:104%;max-width:none;height:auto;transform:translateX(-50%);filter:drop-shadow(0 14px 22px rgba(64,35,29,.28));animation:pvFloat 7s ease-in-out infinite;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 94%,transparent 100%),linear-gradient(180deg,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 94%,transparent 100%),linear-gradient(180deg,#000 86%,transparent 100%);mask-composite:intersect}
.pv-paw{position:absolute;display:block;color:var(--amber);animation:pvBob 6s ease-in-out infinite}
.pv-paw svg{width:100%;height:100%;filter:drop-shadow(2px 2px 0 var(--brown))}
.pv-paw--1{width:54px;left:-2%;top:14%;transform:rotate(-18deg);animation-delay:-1s}
.pv-paw--2{width:34px;left:12%;top:2%;color:var(--pink);transform:rotate(12deg);animation-delay:-3s}
.pv-paw--3{width:42px;right:2%;bottom:30%;color:var(--creme);transform:rotate(24deg);animation-delay:-2s}
.pv-spark{position:absolute;font-size:28px;color:var(--creme);animation:pvTwinkle 3.2s ease-in-out infinite}
.pv-spark--1{left:4%;bottom:42%}.pv-spark--2{right:28%;top:6%;font-size:20px;color:var(--amber);animation-delay:-1.2s}.pv-spark--3{right:-2%;top:52%;font-size:22px;animation-delay:-2.1s}
.pv-badge{position:absolute;white-space:nowrap;padding:9px 16px;border:var(--border);border-radius:999px;background:#FFFDF9;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:clamp(.78rem,1.4vw,.98rem);box-shadow:var(--shadow-s,3px 3px 0 var(--brown));animation:pvBob 5.5s ease-in-out infinite}
.pv-badge--1{left:-6%;top:30%;transform:rotate(-5deg)}
.pv-badge--2{left:-10%;bottom:14%;background:var(--amber);transform:rotate(3deg);animation-delay:-1.8s}
.pv-badge--3{right:-6%;top:44%;background:var(--pink);transform:rotate(6deg);animation-delay:-3.1s}
.pv-badge--4{right:-4%;bottom:5%;background:var(--teal);color:var(--creme);transform:rotate(-3deg);animation-delay:-.9s}
@keyframes pvMorph{0%,100%{border-radius:58% 42% 46% 54%/52% 48% 52% 48%}33%{border-radius:44% 56% 60% 40%/46% 58% 42% 54%}66%{border-radius:52% 48% 38% 62%/58% 42% 58% 42%}}
@keyframes pvSpin{to{transform:rotate(360deg)}}
@keyframes pvFloat{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-10px)}}
@keyframes pvBob{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes pvTwinkle{0%,100%{opacity:.25;scale:.7}50%{opacity:1;scale:1.15}}
.pv-stage .pv-cut,.pv-stage .pv-badge{opacity:0;animation-name:pvIn,pvFloat;animation-duration:.9s,7s;animation-delay:.15s,1s;animation-fill-mode:forwards,none;animation-iteration-count:1,infinite;animation-timing-function:cubic-bezier(.2,.8,.2,1),ease-in-out}
.pv-stage .pv-badge{animation-name:pvPop,pvBob;animation-duration:.6s,5.5s}
.pv-badge--1{animation-delay:.6s,-1s!important}.pv-badge--2{animation-delay:.75s,-1.8s!important}.pv-badge--3{animation-delay:.9s,-3.1s!important}.pv-badge--4{animation-delay:1.05s,-.9s!important}
@keyframes pvIn{from{opacity:0;transform:translate(-50%,40px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes pvPop{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
@media (max-width:900px){.pv-stage{max-width:400px}.pv-badge--1{left:-2%}.pv-badge--2{left:-2%}.pv-badge--3{right:-2%}.pv-badge--4{right:-1%}}
@media (max-width:480px){.pv-stage{max-width:340px}.pv-ring{width:40%}.pv-badge{padding:7px 12px}}
@media (prefers-reduced-motion:reduce){.pv-stage *{animation:none!important}.pv-stage .pv-cut,.pv-stage .pv-badge{opacity:1}}
.pv-badge::before{content:'';display:inline-block;width:.62em;height:.62em;margin-right:.5em;border-radius:50%;background:currentColor;opacity:.55;vertical-align:.05em}
