/*
Theme Name: Perfect Laser
Template: twentytwentyfive
Description: Tema filho da Perfect Laser — Estética Avançada. Visual editorial em grafite, prata e azul, com efeitos de movimento.
Version: 2.1.1
Text Domain: perfectlaser
*/

:root {
  --pl-ink: #0a0d13;
  --pl-paper: #f1f3f6;
  --pl-silver: #c9d1dc;
  --pl-blue-soft: #5a78b0;
  --pl-blue: #1f3460;
  --pl-navy: #1f3460;
  --pl-line: rgba(10, 13, 19, .13);
  --pl-line-dark: rgba(220, 228, 240, .13);
  --pl-platinum: linear-gradient(110deg, #8d99ad 0%, #f5f7fa 42%, #b4becc 68%, #7d8ba2 100%);
  --pl-blue-grad: linear-gradient(110deg, #1f3460 0%, #4f6fa8 50%, #1f3460 100%);
  --pl-ease: cubic-bezier(.16, 1, .3, 1);
  --pl-header-h: 84px;
}

/* Transição entre páginas (navegadores que suportam) */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: pl-vt-out .5s var(--pl-ease) both; }
::view-transition-new(root) { animation: pl-vt-in .7s var(--pl-ease) both; }
@keyframes pl-vt-out { to { opacity: 0; transform: scale(.97); filter: blur(6px); } }
@keyframes pl-vt-in { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }

html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, .pl-marquee, .pl-num, .pl-footer-word, .pl-faq summary { font-optical-sizing: auto; }
h1, h2 { font-weight: 400; }
h1 em, h2 em { font-weight: 400; letter-spacing: -.02em; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
body { overflow-x: clip; }
::selection { background: var(--pl-silver); color: var(--pl-ink); }

/* Granulado de filme por cima de tudo */
body::after {
  content: ""; position: fixed; inset: -50%; z-index: 9990; pointer-events: none; opacity: .055;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: pl-grain 1s steps(6) infinite;
}
@keyframes pl-grain {
  0% { transform: translate(0, 0); } 20% { transform: translate(-3%, 2%); } 40% { transform: translate(2%, -3%); }
  60% { transform: translate(-2%, -1%); } 80% { transform: translate(3%, 3%); } 100% { transform: translate(0, 0); }
}

/* Itálico de destaque nos títulos (quando o script divide em palavras, o brilho vai em cada palavra) */
h1 em, h2 em, h3 em { font-style: italic; font-weight: 400; }
h1 em:not(:has(.pl-w)), h2 em:not(:has(.pl-w)), h3 em, h1 em .pl-wi, h2 em .pl-wi {
  background-image: var(--pl-platinum); background-size: 200% 100%;
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
  animation: pl-shimmer 6s ease-in-out infinite; padding-right: .08em;
}
.has-base-background-color h2 em:not(:has(.pl-w)), .has-base-background-color h2 em .pl-wi,
.has-accent-6-background-color h2 em:not(:has(.pl-w)), .has-accent-6-background-color h2 em .pl-wi {
  background-image: var(--pl-blue-grad);
}
@keyframes pl-shimmer { 0%, 100% { background-position: 0% 0; } 50% { background-position: 100% 0; } }

/* Rótulo pequeno acima dos títulos */
.pl-eyebrow {
  font-family: var(--wp--preset--font-family--manrope) !important;
  letter-spacing: .38em; text-transform: uppercase; font-size: .7rem !important; font-weight: 600;
  color: var(--pl-blue) !important; display: inline-flex; align-items: center; gap: 1em;
}
.pl-eyebrow::before { content: ""; width: 2.4em; height: 1px; background: currentColor; opacity: .7; }
.has-text-align-center.pl-eyebrow { display: flex; justify-content: center; }
.has-contrast-background-color .pl-eyebrow, .pl-hero .pl-eyebrow, footer .pl-eyebrow,
.has-accent-1-background-color .pl-eyebrow, .has-navy-background-color .pl-eyebrow { color: var(--pl-silver) !important; }

/* ---------- Cabeçalho ---------- */
.wp-site-blocks > .wp-block-template-part:has(.pl-header) {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  transition: transform .6s var(--pl-ease);
}
body.admin-bar .wp-site-blocks > .wp-block-template-part:has(.pl-header) { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wp-site-blocks > .wp-block-template-part:has(.pl-header) { top: 46px; } }
html.pl-header-hidden .wp-site-blocks > .wp-block-template-part:has(.pl-header) { transform: translateY(-110%); }
.pl-header.pl-header {
  background: transparent !important; transition: background-color .5s ease, backdrop-filter .5s ease, padding .5s var(--pl-ease);
  border-bottom: 1px solid transparent;
}
html.pl-scrolled .pl-header.pl-header {
  background: rgba(10, 13, 19, .62) !important; -webkit-backdrop-filter: blur(18px) saturate(140%); backdrop-filter: blur(18px) saturate(140%);
  border-bottom-color: var(--pl-line-dark); padding-top: 12px !important; padding-bottom: 12px !important;
}
.pl-header .wp-block-navigation a {
  letter-spacing: .2em; text-transform: uppercase; font-size: .7rem; font-weight: 600; position: relative; padding: .4em 0;
}
.pl-header .wp-block-navigation .wp-block-navigation-item__content::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--pl-silver);
  transform: scaleX(0); transform-origin: right; transition: transform .5s var(--pl-ease);
}
.pl-header .wp-block-navigation .wp-block-navigation-item__content:hover::after,
.pl-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); transform-origin: left; }

/* Menu do celular em tela cheia */
.wp-block-navigation__responsive-container.is-menu-open {
  background: var(--pl-ink) !important; padding: 28px !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start !important; padding-top: 18vh !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  font-family: var(--wp--preset--font-family--serif) !important; font-size: clamp(2.6rem, 11vw, 4rem) !important;
  letter-spacing: -.02em !important; text-transform: none !important; font-weight: 400 !important; line-height: 1.15;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  animation: pl-menu-in .8s var(--pl-ease) both;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) { animation-delay: .06s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) { animation-delay: .12s; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) { animation-delay: .18s; }
@keyframes pl-menu-in { from { opacity: 0; transform: translateY(40px); } }

/* Primeira seção passa por baixo do cabeçalho */
.wp-block-post-content > .alignfull:first-child:not(.pl-hero) { padding-top: calc(var(--wp--preset--spacing--80) + var(--pl-header-h) + 2vh) !important; }

/* Barra de progresso da rolagem (o "feixe") */
.pl-progress {
  position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 200; pointer-events: none;
  background: linear-gradient(90deg, #4f6fa8, #f5f7fa); transform-origin: left; transform: scaleX(0);
  box-shadow: 0 0 12px rgba(120, 150, 210, .8);
}

/* ---------- Abertura (uma vez por visita) ---------- */
.pl-intro { display: none; }
html.pl-intro-on .pl-intro {
  display: grid; place-items: center; position: fixed; inset: 0; z-index: 9995; background: var(--pl-ink);
  animation: pl-intro-out 1s var(--pl-ease) 1.9s forwards; pointer-events: none;
}
.pl-intro__mark { width: 64px; position: relative; overflow: hidden; }
.pl-intro__mark img { display: block; width: 100%; clip-path: inset(100% 0 0 0); animation: pl-intro-mark 1.1s var(--pl-ease) .15s forwards; }
.pl-intro__beam {
  position: absolute; left: 50%; top: 50%; width: 0; height: 1px; transform: translate(-50%, 70px);
  background: var(--pl-platinum); box-shadow: 0 0 18px 2px rgba(232, 238, 246, .7), 0 0 50px 6px rgba(79, 111, 168, .5);
  animation: pl-intro-beam 1.3s var(--pl-ease) .4s forwards;
}
.pl-intro__count {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, 92px);
  font: 600 .66rem/1 var(--wp--preset--font-family--manrope); letter-spacing: .4em; color: var(--pl-silver); text-transform: uppercase;
  opacity: 0; animation: pl-fade-in .6s ease .6s forwards;
}
@keyframes pl-intro-mark { to { clip-path: inset(0 0 0 0); } }
@keyframes pl-intro-beam { to { width: min(420px, 70vw); } }
@keyframes pl-intro-out { to { clip-path: inset(0 0 100% 0); visibility: hidden; } }
@keyframes pl-fade-in { to { opacity: 1; } }

/* ---------- Hero ---------- */
.pl-hero { min-height: 100svh !important; overflow: hidden; isolation: isolate; }
.pl-hero .wp-block-cover__video-background, .pl-hero .wp-block-cover__image-background { will-change: transform; transform-origin: 50% 60%; }
.pl-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(6,8,12,.25) 0%, rgba(6,8,12,.55) 55%, rgba(6,8,12,.85) 100%) !important; opacity: 1 !important; }
.pl-hero::after { /* vinheta e fade para a próxima seção */
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: radial-gradient(120% 90% at 30% 40%, transparent 40%, rgba(6,8,12,.55) 100%), linear-gradient(to bottom, transparent 70%, rgba(14,13,12,.9) 100%);
}
.pl-hero .wp-block-cover__inner-container { z-index: 3; }
.pl-hero .wp-block-cover__inner-container > .wp-block-group { max-width: 700px !important; }
.pl-hero h1 { font-size: clamp(3rem, 6.4vw, 6.8rem) !important; line-height: .98 !important; margin-bottom: .15em; }
.pl-hero p:not(.pl-eyebrow) { font-size: clamp(1rem, 1.25vw, 1.15rem) !important; max-width: 30em; color: rgba(250,251,252,.78) !important; }
.pl-glow { /* luz que acompanha o mouse */
  position: absolute; z-index: 2; width: 46vw; height: 46vw; left: 0; top: 0; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(90,120,176,.28) 0%, rgba(90,120,176,0) 62%);
  transform: translate(-50%, -50%); mix-blend-mode: screen; opacity: 0; transition: opacity .8s ease;
}
.pl-has-pointer .pl-glow { opacity: 1; }
.pl-scan { /* feixe de laser que varre o topo */
  position: absolute; left: 0; right: 0; top: 0; height: 1px; z-index: 2; pointer-events: none; opacity: 0;
  background: linear-gradient(90deg, transparent, #eef2f8 20%, #fff 50%, #eef2f8 80%, transparent);
  box-shadow: 0 0 22px 3px rgba(232, 238, 246, .7), 0 0 90px 14px rgba(79, 111, 168, .45);
}
.pl-scan::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 1px; height: 26vh;
  background: linear-gradient(to top, rgba(232, 238, 246, .12), transparent);
}
.pl-scroll-cue {
  position: absolute; left: 50%; bottom: 28px; z-index: 3; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 12px; color: rgba(250,251,252,.6);
  font: 600 .62rem/1 var(--wp--preset--font-family--manrope); letter-spacing: .4em; text-transform: uppercase;
}
.pl-scroll-cue span { display: block; width: 1px; height: 54px; background: rgba(250,251,252,.18); position: relative; overflow: hidden; }
.pl-scroll-cue span::after {
  content: ""; position: absolute; left: 0; top: 0; width: 1px; height: 40%; background: var(--pl-silver);
  animation: pl-cue 2.2s var(--pl-ease) infinite;
}
@keyframes pl-cue { from { transform: translateY(-100%); } to { transform: translateY(260%); } }
@media (max-width: 781px) {
  .pl-hero .wp-block-cover__inner-container { text-align: left; }
  .pl-hero .wp-block-cover__background { background: linear-gradient(to bottom, rgba(6,8,12,.35), rgba(6,8,12,.82)) !important; }
  .pl-hero .wp-block-cover__video-background { object-position: 62% center; }
  .pl-scroll-cue { display: none; }
}

/* Divisão de títulos em palavras (feita pelo script) */
.pl-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
.pl-wi { display: inline-block; will-change: transform; }
h1 em .pl-w, h2 em .pl-w { overflow: visible; }

/* Antes do script assumir, o conteúdo do topo fica oculto (com destrave de segurança) */
html.pl-anim .pl-hero .wp-block-cover__inner-container,
html.pl-anim .wp-block-post-content > .alignfull:first-child:not(.pl-hero) > * { opacity: 0; animation: pl-failsafe 0s linear 3.5s forwards; }
html.pl-ready .pl-hero .wp-block-cover__inner-container,
html.pl-ready .wp-block-post-content > .alignfull:first-child:not(.pl-hero) > * { opacity: 1; animation: none; }
@keyframes pl-failsafe { to { opacity: 1; } }

/* ---------- Faixa rolante dos tratamentos ---------- */
.pl-marquee {
  background: var(--pl-ink); color: var(--pl-paper); overflow: hidden; padding: clamp(28px, 5vw, 64px) 0;
  border-top: 1px solid var(--pl-line-dark); border-bottom: 1px solid var(--pl-line-dark); margin-block: 0 !important;
}
.pl-marquee__track { display: flex; width: max-content; will-change: transform; }
.pl-marquee__group { display: flex; align-items: center; flex-shrink: 0; }
.pl-marquee__group > * { flex-shrink: 0; }
.pl-marquee a, .pl-marquee span {
  font-family: var(--wp--preset--font-family--serif); font-size: clamp(2.6rem, 7vw, 7rem); line-height: 1.1; letter-spacing: -.03em;
  padding: 0 .35em; white-space: nowrap; text-decoration: none; color: inherit; transition: color .4s ease, -webkit-text-stroke-color .4s ease;
}
.pl-marquee a:nth-of-type(odd) { font-style: italic; color: transparent; -webkit-text-stroke: 1px rgba(201, 211, 224, .7); }
.pl-marquee a:hover { color: var(--pl-silver); -webkit-text-stroke-color: transparent; }
.pl-marquee i { font-style: normal; color: var(--pl-silver); font-size: clamp(1.2rem, 2.4vw, 2.2rem); display: inline-block; animation: pl-spin 9s linear infinite; }
@keyframes pl-spin { to { transform: rotate(360deg); } }

/* ---------- Seções ---------- */
.has-base-background-color { background-color: var(--pl-paper) !important; }
.has-contrast-background-color { color: rgba(250, 251, 252, .74); }
.has-contrast-background-color h2, .has-contrast-background-color h3 { color: #fafbfc; }
.pl-spot { position: relative; isolation: isolate; }
.pl-spot::before { /* luz suave nas seções escuras, acompanha o mouse */
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; transition: opacity .6s ease;
  background: radial-gradient(600px circle at var(--mx, 50%) var(--my, 50%), rgba(79, 111, 168, .16), transparent 60%);
}
.pl-spot:hover::before { opacity: 1; }

/* Marca d'água com o símbolo P */
.pl-watermark { position: relative; overflow: hidden; }
.pl-watermark::before {
  content: ""; position: absolute; left: -6%; top: 50%; transform: translateY(-50%) translateY(var(--pl-wm, 0px));
  width: 44vw; max-width: 620px; aspect-ratio: 142/248;
  background: url("assets/images/simbolo-white.svg") no-repeat center / contain; opacity: .035; pointer-events: none;
}
.pl-watermark::after { /* brilho difuso */
  content: ""; position: absolute; right: -10%; top: -30%; width: 60vw; height: 60vw; border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(31, 52, 96, .55), transparent 62%); filter: blur(10px);
  animation: pl-float 14s ease-in-out infinite alternate;
}
@keyframes pl-float { to { transform: translate(-12vw, 18vh) scale(1.15); } }
.pl-watermark > * { position: relative; z-index: 1; }
.wp-block-post-content > .pl-watermark:first-child h1 { font-size: clamp(3rem, 7.6vw, 7.6rem) !important; }

/* Linha fina decorativa */
.pl-rule { width: 56px; border: 0; border-top: 1px solid var(--pl-blue) !important; opacity: .9; margin-left: 0 !important; }
.has-text-align-center + .pl-rule, .pl-rule.aligncenter { margin-left: auto !important; }

/* ---------- Cartões ---------- */
.pl-card {
  height: 100%; position: relative; overflow: hidden; isolation: isolate; background: transparent !important;
  border: 1px solid var(--pl-line); transition: color .6s var(--pl-ease), border-color .6s ease;
}
.pl-card:not(.pl-photo-card)::before { /* fundo escuro sobe no hover */
  content: ""; position: absolute; inset: 0; z-index: -1; background: var(--pl-ink);
  transform: scaleY(0); transform-origin: bottom; transition: transform .7s var(--pl-ease);
}
.pl-card:not(.pl-photo-card):hover { color: rgba(250,251,252,.8); border-color: var(--pl-ink); }
.pl-card:not(.pl-photo-card):hover::before { transform: scaleY(1); }
.pl-card:not(.pl-photo-card):hover h3 { color: #fafbfc; }
.pl-card:not(.pl-photo-card):hover .pl-num { color: var(--pl-silver); opacity: 1; }
.pl-num {
  font-family: var(--wp--preset--font-family--serif) !important; font-style: italic; font-size: clamp(3rem, 5vw, 4.6rem) !important;
  line-height: 1; opacity: .5; color: var(--pl-blue); transition: color .5s ease, opacity .5s ease; font-variant-numeric: tabular-nums;
}
.has-contrast-background-color .pl-num { color: var(--pl-silver); opacity: .9; }

/* Cartões com foto: inclinação 3D e reflexo */
.pl-photo-card { border: 0; transform-style: preserve-3d; will-change: transform; background: transparent !important; }
.pl-photo-card .wp-block-image { margin: 0; overflow: hidden; position: relative; }
.pl-photo-card .wp-block-image img { width: 100%; transition: transform 1.2s var(--pl-ease), filter 1.2s var(--pl-ease); filter: saturate(.9); }
.pl-photo-card:hover .wp-block-image img { transform: scale(1.07); filter: saturate(1.05); }
.pl-photo-card .wp-block-image::after { /* reflexo de luz */
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .5s ease; mix-blend-mode: soft-light;
  background: radial-gradient(500px circle at var(--gx, 50%) var(--gy, 50%), rgba(255,255,255,.55), transparent 45%);
}
.pl-photo-card:hover .wp-block-image::after { opacity: 1; }
.pl-photo-card > .wp-block-group { padding-left: 0 !important; padding-right: 0 !important; }
.pl-photo-card h3 { font-size: clamp(1.8rem, 2.6vw, 2.4rem) !important; }
.pl-photo-card h3 a { text-decoration: none; }

/* Links "saiba mais" com sublinhado que desenha */
.wp-block-post-content p a:not(.wp-element-button), footer a {
  text-decoration: none; background: linear-gradient(currentColor, currentColor) no-repeat 100% 100% / 0 1px;
  transition: background-size .6s var(--pl-ease), color .3s ease; padding-bottom: 2px;
}
.wp-block-post-content p a:not(.wp-element-button):hover, footer a:hover { background-size: 100% 1px; background-position: 0 100%; }
.wp-block-post-content p a[href*="tratamentos/"]:not(.wp-element-button) { background-size: 100% 1px; color: var(--pl-blue); }
.wp-block-post-content p a[href*="tratamentos/"]:not(.wp-element-button):hover { background-size: 0 1px; }

/* ---------- Botões ---------- */
.wp-block-button__link { position: relative; overflow: hidden; isolation: isolate; transition: color .4s ease, background-color .4s ease, border-color .4s ease, transform .5s var(--pl-ease) !important; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--pl-platinum) !important; background-size: 200% 100% !important; color: var(--pl-ink) !important; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--pl-blue) !important; color: #fafbfc !important; box-shadow: 0 10px 34px rgba(31, 52, 96, .45); }
.wp-block-button__link::after { /* brilho que atravessa */
  content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.65), transparent); transform: skewX(-20deg);
  transition: left .9s var(--pl-ease);
}
.wp-block-button__link:hover::after { left: 130%; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent !important; border: 1px solid rgba(250,251,252,.4) !important; color: #fafbfc !important; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fafbfc !important; color: var(--pl-ink) !important; border-color: #fafbfc !important; }
.has-base-background-color .wp-block-button.is-style-outline .wp-block-button__link { color: var(--pl-ink) !important; border-color: var(--pl-line) !important; }
.wp-block-button__link .pl-mag { display: inline-block; transition: transform .5s var(--pl-ease); }

/* ---------- Imagens e vídeos ---------- */
.pl-video { margin: 0; overflow: hidden; }
.pl-video video { display: block; width: 100%; height: auto; object-fit: cover; background: var(--pl-ink); }
.pl-video-4-5 video { aspect-ratio: 4 / 5 !important; border-radius: 999px 999px 0 0; }
.pl-video-4-5 { border-radius: 999px 999px 0 0; }
.pl-video-4-3 video { aspect-ratio: 4 / 3 !important; }
.pl-reveal { will-change: clip-path; }
.pl-reveal img, .pl-reveal video { will-change: transform; }

/* Moldura com selo giratório nas páginas de tratamento */
.pl-video-4-5 { position: relative; }
.pl-badge {
  position: absolute; right: -8px; bottom: 9%; width: 132px; height: 132px; z-index: 2; pointer-events: none;
  display: grid; place-items: center; border-radius: 50%; background: var(--pl-blue); color: var(--pl-silver); box-shadow: 0 18px 40px rgba(31, 52, 96, .35);
}
.pl-badge svg { position: absolute; inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); animation: pl-spin 18s linear infinite; }
.pl-badge text { font: 600 9.5px var(--wp--preset--font-family--manrope); letter-spacing: 3.2px; text-transform: uppercase; fill: currentColor; }
.pl-badge img { width: 22px; }
.pl-video-wrap { position: relative; }
@media (max-width: 781px) { .pl-badge { width: 104px; height: 104px; right: 0; } }

/* ---------- Listas, perguntas ---------- */
.pl-list { list-style: none; padding-left: 0; }
.pl-list li { position: relative; padding: 1em 0 1em 3em; border-bottom: 1px solid var(--pl-line); transition: padding-left .5s var(--pl-ease), color .3s ease; }
.pl-list li:hover { padding-left: 3.6em; }
.pl-list li::before { content: ""; position: absolute; left: 0; top: 1.75em; width: 1.8em; border-top: 1px solid var(--pl-blue); transition: width .5s var(--pl-ease); }
.pl-list li:hover::before { width: 2.4em; }
.has-contrast-background-color .pl-list li { border-color: var(--pl-line-dark); }

.pl-faq { border-bottom: 1px solid var(--pl-line); padding: 1.4em 0; }
.pl-faq summary {
  font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.4rem, 2.2vw, 1.9rem); cursor: pointer; letter-spacing: -.01em;
  list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1em;
}
.pl-faq summary::-webkit-details-marker { display: none; }
.pl-faq summary::after {
  content: "+"; font-family: var(--wp--preset--font-family--manrope); font-weight: 300; font-size: 1.6rem; line-height: 1;
  width: 44px; height: 44px; flex-shrink: 0; display: grid; place-items: center; border: 1px solid var(--pl-line); border-radius: 50%;
  transition: transform .5s var(--pl-ease), background-color .3s ease, color .3s ease;
}
.pl-faq[open] summary::after { transform: rotate(135deg); background: var(--pl-ink); color: var(--pl-silver); border-color: var(--pl-ink); }
.pl-faq[open] summary { margin-bottom: .6em; }
.pl-faq[open] > *:not(summary) { animation: pl-faq-in .6s var(--pl-ease); }
@keyframes pl-faq-in { from { opacity: 0; transform: translateY(-8px); } }

/* ---------- Faixa de chamada (aurora) ---------- */
.has-accent-1-background-color, .has-navy-background-color { background: var(--pl-ink) !important; position: relative; overflow: hidden; isolation: isolate; }
.has-accent-1-background-color::before, .has-navy-background-color::before {
  content: ""; position: absolute; inset: -40%; z-index: -1; pointer-events: none; filter: blur(60px);
  background:
    radial-gradient(35% 45% at 25% 40%, rgba(79, 111, 168, .55), transparent 70%),
    radial-gradient(30% 40% at 75% 60%, rgba(31, 52, 96, .95), transparent 70%),
    radial-gradient(25% 30% at 55% 25%, rgba(232, 238, 246, .25), transparent 70%);
  animation: pl-aurora 16s ease-in-out infinite alternate;
}
@keyframes pl-aurora { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(8deg) scale(1.15) translateX(4%); } 100% { transform: rotate(-6deg) scale(1.05) translateY(-4%); } }
.has-accent-1-background-color h2, .has-navy-background-color h2 { font-size: clamp(2.6rem, 5.6vw, 5.4rem) !important; color: #fafbfc; }

/* ---------- Rodapé ---------- */
footer.wp-block-group { background: var(--pl-ink) !important; border-top: 1px solid var(--pl-line-dark); }
footer h3.pl-eyebrow::before { display: none; }
.pl-footer-word {
  font-family: var(--wp--preset--font-family--serif) !important; font-size: clamp(3rem, 12.5vw, 14rem) !important; line-height: 1 !important;
  letter-spacing: -.05em; text-align: center; white-space: nowrap; margin: .25em 0 .05em !important; padding-bottom: .12em; user-select: none; color: var(--pl-silver);
}
.pl-footer-word:not(:has(.pl-w)), .pl-footer-word .pl-wi {
  background-image: linear-gradient(to bottom, rgba(232,238,246,.9) 10%, rgba(79,111,168,.15) 95%);
  -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
.pl-footer-word .pl-w { padding-bottom: .22em; margin-bottom: -.22em; }
.pl-footer-word em { font-style: italic; }

/* Botão flutuante do WhatsApp */
.pl-whats {
  position: fixed; right: 22px; bottom: 22px; z-index: 150; width: 58px; height: 58px; border-radius: 50%;
  background: var(--pl-ink); color: var(--pl-silver); display: flex; align-items: center; justify-content: center;
  box-shadow: 0 14px 34px rgba(0,0,0,.35), inset 0 0 0 1px rgba(201,211,224,.35); transition: transform .5s var(--pl-ease), background-color .3s ease, color .3s ease;
}
.pl-whats::before { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 1px solid rgba(201,211,224,.5); animation: pl-pulse 2.8s ease-out infinite; }
@keyframes pl-pulse { from { transform: scale(.85); opacity: 1; } to { transform: scale(1.5); opacity: 0; } }
.pl-whats:hover { transform: scale(1.08); background: var(--pl-blue); color: #fafbfc; }
.pl-whats svg { width: 26px; height: 26px; fill: currentColor; }

/* Lista de contato */
.pl-contact p { margin: 0 0 .35em; overflow-wrap: normal; word-break: normal; }

/* Seções coladas, sem faixas entre elas; o fim da página é escuro como o rodapé */
html { background: var(--pl-ink); }
.wp-site-blocks { padding-bottom: 0 !important; background: var(--pl-paper); }
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-site-blocks > main, .wp-site-blocks > footer, .wp-site-blocks > .wp-block-template-part { margin-block-start: 0 !important; }

/* ---------- Cursor personalizado (só com mouse) ---------- */
.pl-cursor, .pl-cursor-dot { display: none; }
@media (hover: hover) and (pointer: fine) {
  html.pl-has-cursor, html.pl-has-cursor a, html.pl-has-cursor button, html.pl-has-cursor summary { cursor: none; }
  html.pl-has-cursor .pl-cursor, html.pl-has-cursor .pl-cursor-dot { display: block; }
  .pl-cursor {
    position: fixed; left: 0; top: 0; z-index: 9999; width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%; pointer-events: none;
    border: 1px solid rgba(201, 211, 224, .8); transition: width .45s var(--pl-ease), height .45s var(--pl-ease), margin .45s var(--pl-ease), background-color .45s ease, border-color .45s ease;
    display: grid; place-items: center; mix-blend-mode: normal;
  }
  .pl-cursor-dot { position: fixed; left: 0; top: 0; z-index: 9999; width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; border-radius: 50%; background: var(--pl-silver); pointer-events: none; }
  .pl-cursor span { font: 600 .6rem/1 var(--wp--preset--font-family--manrope); letter-spacing: .25em; text-transform: uppercase; color: var(--pl-ink); opacity: 0; transition: opacity .3s ease; padding-left: .25em; }
  html.pl-cursor-link .pl-cursor { width: 64px; height: 64px; margin: -32px 0 0 -32px; background: rgba(201, 211, 224, .14); }
  html.pl-cursor-view .pl-cursor { width: 104px; height: 104px; margin: -52px 0 0 -52px; background: var(--pl-blue); border-color: rgba(201, 211, 224, .5); }
  html.pl-cursor-view .pl-cursor span { color: #fafbfc; }
  html.pl-cursor-view .pl-cursor span { opacity: 1; }
  html.pl-cursor-view .pl-cursor-dot, html.pl-cursor-link .pl-cursor-dot { opacity: 0; }
}

/* ---------- Quem prefere menos movimento ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  body::after { display: none; }
  html.pl-intro-on .pl-intro { display: none; }
}
