/* RPS Polishing Floor */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  overflow-x:hidden;
  line-height:1.6;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%,rgba(160,25,25,0.12) 0%,transparent 60%),
    radial-gradient(ellipse 60% 40% at 80% 80%,rgba(200,50,20,0.06) 0%,transparent 50%),
    radial-gradient(ellipse 50% 30% at 10% 60%,rgba(180,30,30,0.06) 0%,transparent 50%);
  pointer-events:none;
  z-index:0;
}
.noise{
  position:fixed;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events:none;
  z-index:0;
  opacity:.4;
}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}

h1{
  font-family:var(--font-display);
  font-size:var(--display-lg);
  line-height:.92;
  letter-spacing:2px;
  margin-bottom:var(--space-2);
}
h1 em{
  font-style:normal;
  color:transparent;
  -webkit-text-stroke:1px rgba(200,50,50,0.45);
}

section{position:relative;z-index:var(--z-base)}
.section-pad{padding:var(--space-9) var(--gutter)}
.section-eyebrow{
  font-size:12px;
  font-weight:600;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:var(--space-4);
}
.section-eyebrow::before{
  content:'';
  display:inline-block;
  width:32px;height:1px;
  background:linear-gradient(90deg,transparent,var(--accent));
  vertical-align:middle;
  margin-right:14px;
}
#produtos,#beneficios,#cobertura,#faq{border-top:1px solid var(--line-soft)}
.section-title{
  font-family:var(--font-display);
  font-size:var(--display-md);
  line-height:1;
  letter-spacing:1px;
  margin-bottom:var(--space-4);
}
.section-sub{
  color:var(--text-muted);
  font-size:var(--text-lg);
  max-width:560px;
  line-height:1.7;
}
.section-header{margin-bottom:60px}
.page-inner{max-width:var(--container);margin:0 auto}
.page-prose{max-width:820px;margin:0 auto}
.page-prose p{font-size:16px;color:var(--text-muted);line-height:1.85;margin-bottom:18px}
.page-prose p strong{color:var(--text)}

.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--dur-slow),transform var(--dur-slow)}
.reveal.visible{opacity:1;transform:translateY(0)}

@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes floatb{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes counterspin{to{transform:rotate(-360deg)}}
@keyframes pulse-ring{0%,100%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@keyframes wapop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}

@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .28s ease both}
::view-transition-new(root){animation:vt-in .45s ease both}
@keyframes vt-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(12px)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
