/* RPS Polishing Floor */
#hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-5);
  padding:0 var(--gutter);
  overflow:hidden;
  z-index:var(--z-base);
}
#hero::before{
  content:'';
  position:absolute;
  right:-12%;top:50%;
  width:72vw;height:72vw;
  max-width:920px;max-height:920px;
  transform:translateY(-50%);
  background:radial-gradient(circle,rgba(var(--accent-rgb),0.24),rgba(var(--accent-rgb),0.06) 40%,transparent 66%);
  pointer-events:none;
}
#hero::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;
  height:160px;
  background:linear-gradient(to top,var(--bg),transparent);
  pointer-events:none;
  z-index:0;
}
#hero:not(.page-hero){
  min-height:calc(100vh - 170px);
  min-height:calc(100svh - 170px);
  padding-top:var(--nav-h);
}
#hero:not(.page-hero) h1{font-size:clamp(46px,6vw,80px)}
#hero:not(.page-hero) .hero-sub{font-size:var(--text-lg);max-width:480px}
#hero.page-hero{min-height:auto;padding-top:150px;padding-bottom:90px}
.hero-content{max-width:640px;flex-shrink:1;z-index:2;position:relative}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:var(--space-2);
  background:rgba(180,30,30,0.08);
  border:1px solid rgba(180,30,30,0.22);
  border-radius:var(--radius-pill);
  padding:6px 16px;
  font-size:12px;
  font-weight:600;
  letter-spacing:2px;
  color:var(--accent);
  text-transform:uppercase;
  margin-bottom:10px;
}
.hero-eyebrow::before{
  content:'';width:6px;height:6px;
  background:var(--accent);
  border-radius:50%;
  animation:pulse 2s infinite;
}
.hero-sub{font-size:var(--text-xl);color:var(--text-muted);line-height:1.7;max-width:440px;margin-bottom:var(--space-4)}
.hero-sub strong{color:var(--text)}
.hero-btns{display:flex;gap:var(--space-4);flex-wrap:wrap}

.hero-disc-wrap{
  position:relative;
  width:min(560px,48vw);
  aspect-ratio:1;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.hero-disc-wrap::after{
  content:'';
  position:absolute;
  left:10%;right:10%;bottom:4%;
  height:44px;
  background:
    radial-gradient(ellipse at center,rgba(0,0,0,0.6),transparent 70%),
    radial-gradient(ellipse at center,rgba(var(--accent-rgb),0.35),transparent 75%);
  filter:blur(8px);
  pointer-events:none;
  z-index:0;
}
.machine-mobile-showcase{display:none}
.machine-showcase{
  position:relative;
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
}
.machine-glass-card{
  position:relative;
  width:78%;
  aspect-ratio:.85;
  background:linear-gradient(135deg,rgba(255,255,255,0.07) 0%,rgba(255,255,255,0.03) 50%,rgba(var(--accent-rgb),0.04) 100%);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius-hero);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 32px 80px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.06),inset 0 1px 0 rgba(255,255,255,0.12);
  animation:float 5s ease-in-out infinite;
}
.machine-glass-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:45%;
  background:linear-gradient(180deg,rgba(255,255,255,0.07) 0%,transparent 100%);
  border-radius:var(--radius-hero) var(--radius-hero) 0 0;
  pointer-events:none;
  z-index:2;
}
.machine-glass-card::after{
  content:'';
  position:absolute;
  bottom:-1px;left:10%;right:10%;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),0.7),transparent);
  border-radius:0 0 var(--radius-hero) var(--radius-hero);
}
.machine-photo{
  width:92%;
  height:auto;
  object-fit:contain;
  position:relative;
  z-index:1;
  filter:drop-shadow(0 24px 48px rgba(0,0,0,0.5)) drop-shadow(0 0 40px rgba(var(--accent-rgb),0.12));
  animation:float 5s ease-in-out infinite;
  scale:-1 1;
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) scale(var(--zoom,1));
  transition:transform .6s var(--ease-out);
}
.machine-glow{
  position:absolute;
  width:60%;height:60%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(var(--accent-rgb),0.12),transparent 70%);
  pointer-events:none;
  animation:pulse-ring 4s ease-in-out infinite;
}
.orbit-ring{position:absolute;border-radius:50%;border:1px solid rgba(var(--accent-rgb),0.1);pointer-events:none}
.orbit-ring:nth-child(1){inset:-8%;animation:spin 18s linear infinite;border-color:rgba(var(--accent-rgb),0.08)}
.orbit-ring:nth-child(2){inset:-18%;animation:counterspin 24s linear infinite;border-color:rgba(255,255,255,0.05);border-style:dashed}
.hero-badge{
  position:absolute;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  backdrop-filter:blur(12px);
  border-radius:var(--radius-lg);
  padding:10px 16px;
  display:flex;align-items:center;gap:var(--space-2);
  font-family:var(--font-heading);
  font-size:12px;
  font-weight:600;
  color:var(--text);
  white-space:nowrap;
  box-shadow:var(--shadow-md);
  z-index:3;
}
.hero-badge .badge-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 8px rgba(var(--accent-rgb),0.6);
  animation:pulse 2s infinite;
}
.hero-badge .badge-val{font-size:var(--text-xl);font-weight:700;color:var(--accent);line-height:1}
.badge-power{top:10%;right:-8%;animation:floatb 6s ease-in-out infinite}
.badge-warranty{bottom:22%;right:-10%;animation:floatb 7s ease-in-out infinite .8s}
.badge-local{bottom:8%;left:-6%;animation:floatb 5.5s ease-in-out infinite 1.4s}

.disc{width:100%;height:100%;border-radius:50%;position:relative;animation:spin 12s linear infinite}
.disc-ring{position:absolute;border-radius:50%;border:1px solid rgba(var(--accent-rgb),0.12)}
.disc-ring:nth-child(1){inset:0}
.disc-ring:nth-child(2){inset:8%;border-color:rgba(var(--accent-rgb),0.18);animation:counterspin 8s linear infinite}
.disc-ring:nth-child(3){inset:16%;border-color:rgba(var(--accent-rgb),0.25);animation:spin 6s linear infinite}
.disc-ring:nth-child(4){inset:26%;border-color:rgba(var(--warm-rgb),0.2);animation:counterspin 4s linear infinite}
.disc-core{
  position:absolute;
  inset:35%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(var(--accent-rgb),0.15),rgba(var(--accent-rgb),0.04),transparent);
  border:1px solid rgba(var(--accent-rgb),0.35);
  display:flex;align-items:center;justify-content:center;
}
.disc-core::after{
  content:'';
  width:40%;height:40%;
  border-radius:50%;
  background:rgba(var(--accent-rgb),0.2);
  box-shadow:0 0 30px rgba(200,50,50,0.35);
}
.disc-pad{
  position:absolute;
  inset:4%;
  border-radius:50%;
  background:repeating-conic-gradient(rgba(200,50,50,0.08) 0deg,transparent 3deg,transparent 30deg);
}
.disc-glow{
  position:absolute;
  inset:-20%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(var(--accent-rgb),0.06) 0%,transparent 65%);
  pointer-events:none;
}
.disc-lines{position:absolute;inset:0;border-radius:50%;overflow:hidden}
.disc-line{
  position:absolute;
  left:50%;top:50%;
  width:50%;height:1px;
  transform-origin:left center;
  background:linear-gradient(to right,rgba(var(--accent-rgb),0.35),transparent);
}

#stats{position:relative;z-index:var(--z-base);padding:0 var(--gutter) 36px}
#stats .stat-card{padding:22px 28px}
#stats .stat-number{font-size:44px;margin-bottom:4px}
#stats .stat-number span{font-size:26px}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--space-5);
  max-width:1100px;
  margin:0 auto;
}

.showcase{position:relative;padding:90px var(--gutter);z-index:var(--z-base);overflow:clip}
.showcase-inner{max-width:var(--container);margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.showcase-visual{position:sticky;top:110px}
.showcase-visual .machine-showcase{max-width:520px;margin:0 auto;aspect-ratio:1}
.spec-step{padding:34px 0;border-bottom:1px solid rgba(255,255,255,0.08)}
.spec-step:last-child{border-bottom:none}
.showcase.is-live .spec-step{opacity:.3;transition:opacity .4s}
.showcase.is-live .spec-step.active{opacity:1}
.spec-num{display:block;font-family:var(--font-display);font-size:46px;line-height:1;letter-spacing:2px;color:var(--accent)}
.spec-step h3{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--text);margin:6px 0}
.spec-step p{font-size:14px;color:var(--text-muted);line-height:1.7}

#produtos{background:linear-gradient(180deg,var(--bg),rgba(38,18,18,0.8),var(--bg))}
.products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:var(--space-5);
  max-width:var(--container);
  margin:0 auto;
}
.rps-grid{
  grid-template-columns:repeat(3,1fr);
  max-width:1140px;
  gap:28px;
  align-items:stretch;
}
.product-img-disc{
  width:120px;height:120px;
  border-radius:50%;
  border:2px solid rgba(var(--accent-rgb),0.2);
  display:flex;align-items:center;justify-content:center;
  position:relative;
  animation:spin 8s linear infinite;
}
.product-img-disc::before{
  content:'';
  position:absolute;inset:12px;
  border-radius:50%;
  border:1px dashed rgba(var(--accent-rgb),0.15);
  animation:counterspin 5s linear infinite;
}
.product-img-disc::after{
  content:'';
  position:absolute;inset:28px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(var(--accent-rgb),0.15),transparent);
}
.product-img-disc.gold{border-color:rgba(var(--warm-rgb),0.35)}
.product-img-disc.gold::before{border-color:rgba(var(--warm-rgb),0.2)}
.product-img-disc.gold::after{background:radial-gradient(circle,rgba(var(--warm-rgb),0.1),transparent)}
.disc-wrap-card{
  position:relative;
  width:140px;height:140px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.disc-wrap-card .product-img-disc{width:140px;height:140px;position:absolute;inset:0;z-index:1}
.machine-img{
  position:absolute;
  inset:0;margin:auto;
  width:72px;height:72px;
  object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.88;
  z-index:2;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
}
.img-label{font-family:var(--font-heading);font-size:var(--text-xs);letter-spacing:3px;text-transform:uppercase;font-weight:600}
.gold-label{color:rgba(var(--warm-rgb),0.75)}
.red-label{color:rgba(var(--accent-rgb),0.8)}
.model-number{
  position:absolute;
  inset:0;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);
  font-size:52px;
  letter-spacing:2px;
  line-height:1;
  z-index:10;
  pointer-events:none;
  text-shadow:0 2px 20px rgba(0,0,0,0.4);
}
.gold-number{color:rgba(var(--warm-rgb),0.9);text-shadow:0 0 30px rgba(var(--warm-rgb),0.3),0 2px 12px rgba(0,0,0,0.5)}
.red-number{color:rgba(210,60,60,0.9);text-shadow:0 0 30px rgba(var(--accent-rgb),0.3),0 2px 12px rgba(0,0,0,0.5)}

.acc-img{background:linear-gradient(160deg,rgba(30,15,50,0.7),rgba(60,30,100,0.12),rgba(20,10,40,0.6))!important}
.acc-icons-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:var(--space-2)}
.acc-icon-item{
  width:56px;height:56px;
  border-radius:14px;
  background:rgba(150,100,255,0.06);
  border:1px solid rgba(150,100,255,0.15);
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s,border-color .25s,background .25s;
  padding:var(--space-3);
  color:rgba(180,150,255,0.75);
}
.acc-icon-item svg{width:100%;height:100%}
.acc-card:hover .acc-icon-item{
  transform:scale(1.06);
  border-color:rgba(150,100,255,0.3);
  background:rgba(150,100,255,0.1);
  color:rgba(200,180,255,0.9);
}
.acc-list{list-style:none;margin-bottom:20px;flex:1;display:flex;flex-direction:column;gap:0}
.acc-list li{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:var(--space-2);
  padding:9px 0;
  border-bottom:1px solid rgba(150,100,255,0.1);
  font-size:var(--text-sm);
}
.acc-list li:last-of-type{border-bottom:none}
.acc-list li span{color:var(--text);font-weight:500}
.acc-list li em{font-style:normal;font-size:11.5px;color:rgba(150,100,255,0.7);white-space:nowrap}
.acc-list-more{
  font-size:12px!important;
  color:var(--text-muted)!important;
  font-style:italic!important;
  letter-spacing:.3px;
  justify-content:flex-start!important;
  padding-top:10px!important;
  border:none!important;
}
.acc-pills{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:20px;flex:1;align-content:flex-start}
.acc-pill{
  background:rgba(150,100,255,0.07);
  border:1px solid rgba(150,100,255,0.18);
  border-radius:var(--radius-pill);
  padding:5px 12px;
  font-size:12px;
  font-weight:500;
  color:rgba(200,180,255,0.85);
  white-space:nowrap;
  transition:all var(--dur-fast);
}
.acc-card:hover .acc-pill{border-color:rgba(150,100,255,0.3);background:rgba(150,100,255,0.12)}

#beneficios{background:var(--bg)}
.benefits-layout{display:grid;grid-template-columns:1fr;gap:0;max-width:800px;margin:0 auto}
.benefits-list{display:flex;flex-direction:column;gap:var(--space-6)}
.benefits-visual{position:relative;height:500px;display:flex;align-items:center;justify-content:center}
.bv-ring{position:absolute;border-radius:50%;border:1px solid rgba(var(--accent-rgb),0.07);animation:pulse-ring 3s ease-in-out infinite}
.bv-ring:nth-child(1){width:100%;height:100%;animation-delay:0s}
.bv-ring:nth-child(2){width:75%;height:75%;animation-delay:.5s;border-color:rgba(var(--accent-rgb),0.12)}
.bv-ring:nth-child(3){width:52%;height:52%;animation-delay:1s;border-color:rgba(var(--accent-rgb),0.18)}
.bv-center{
  width:200px;height:200px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(var(--accent-rgb),0.12),rgba(var(--accent-rgb),0.04));
  border:2px solid rgba(var(--accent-rgb),0.35);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  z-index:2;
  box-shadow:0 0 60px rgba(200,50,50,0.15);
}
.bv-center span{font-family:var(--font-heading);font-size:42px;font-weight:700;color:var(--accent);line-height:1}
.bv-center small{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px}

#cobertura{background:var(--bg-alt)}
.cobertura-inner{max-width:1100px;margin:0 auto;text-align:center}
.states-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:40px}
.cobertura-divider{display:flex;align-items:center;gap:var(--space-4);max-width:360px;margin:36px auto 0}
.cobertura-divider span{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--warm-rgb),0.3),transparent)}
.cobertura-divider em{
  font-style:normal;
  font-size:12px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  color:rgba(var(--warm-rgb),0.8);
  white-space:nowrap;
}
.cobertura-note{text-align:center;font-size:11.5px;color:var(--text-muted);margin-top:var(--space-4);font-style:italic}

#contato{background:linear-gradient(180deg,var(--bg-alt),var(--bg));padding:var(--space-9) var(--gutter)}
.cta-wrap{max-width:900px;margin:0 auto}
.cta-glass{
  background:rgba(255,255,255,0.06);
  border-radius:var(--radius-3xl);
  padding:60px;
  backdrop-filter:var(--blur-lg);
  position:relative;
  overflow:hidden;
}
.cta-glass::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(180,30,30,0.5),rgba(var(--accent-rgb),0.3),transparent);
}
.cta-glass::after{
  content:'';
  position:absolute;
  bottom:-60px;right:-60px;
  width:240px;height:240px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(var(--accent-rgb),0.06),transparent);
  pointer-events:none;
}
.cta-top{text-align:center;margin-bottom:var(--space-7)}

.legal-hero{padding:140px var(--gutter) 60px;max-width:900px;margin:0 auto}
.legal-hero .section-eyebrow{justify-content:flex-start;display:flex}
.legal-hero h1{font-size:clamp(36px,6vw,56px);letter-spacing:1px;line-height:1.05;margin-bottom:var(--space-3)}
.legal-updated{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:0}
.legal-body{max-width:900px;margin:0 auto;padding:0 var(--gutter) var(--space-9)}
.legal-card{border-radius:var(--radius-2xl);padding:40px;backdrop-filter:var(--blur-md)}
.legal-card h2{
  font-family:var(--font-display);
  font-size:26px;
  letter-spacing:.5px;
  color:var(--text);
  margin:36px 0 14px;
  padding-top:var(--space-5);
  border-top:1px solid var(--line-soft);
}
.legal-card h2:first-child{margin-top:0;padding-top:0;border-top:none}
.legal-card h2 span{color:var(--accent)}
.legal-card h3{font-size:var(--text-base);font-weight:700;color:var(--text);margin:20px 0 var(--space-2)}
.legal-card p{font-size:14.5px;color:var(--text-muted);line-height:1.85;margin-bottom:14px}
.legal-card p strong{color:var(--text)}
.legal-card a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.legal-card ul{list-style:none;margin:14px 0;display:flex;flex-direction:column;gap:var(--space-2)}
.legal-card ul li{font-size:14.5px;color:var(--text-muted);line-height:1.7;padding-left:18px;position:relative}
.legal-card ul li::before{content:'—';position:absolute;left:0;color:rgba(var(--accent-rgb),0.5)}
.legal-toc{
  background:rgba(var(--accent-rgb),0.05);
  border:1px solid rgba(var(--accent-rgb),0.18);
  border-radius:var(--radius-xl);
  padding:20px var(--space-5);
  margin-bottom:36px;
}
.legal-toc h4{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);margin-bottom:var(--space-3)}
.legal-toc ol{list-style:decimal;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.legal-toc ol li a{font-size:13.5px;color:var(--text-muted);text-decoration:none}
.legal-toc ol li a:hover{color:var(--accent)}
.legal-back{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:var(--text-sm);
  color:var(--text-muted);
  text-decoration:none;
  margin-bottom:20px;
  transition:color var(--dur-fast);
}
.legal-back:hover{color:var(--accent)}

.spec-wrap{max-width:640px;margin:0 auto}

.theme-light .spec-step{border-bottom-color:var(--line)}
.theme-light .faq-icon{border-color:var(--line-strong)}
.theme-light .region-card,
.theme-light .faq-item,
.theme-light .cmp-wrap{
  --text:#F5EDEC;
  --text-muted:#BBA9A9;
  --accent:#E05555;
  --accent-rgb:190,45,45;
  --fill-1:rgba(255,255,255,0.04);
  --fill-2:rgba(255,255,255,0.05);
  --line:rgba(255,255,255,0.1);
  --line-soft:rgba(255,255,255,0.07);
  --line-strong:rgba(255,255,255,0.14);
  background-color:#2A1717;
  border-color:rgba(255,255,255,0.1);
  color:var(--text);
  box-shadow:0 12px 32px rgba(28,16,16,0.2);
}
.theme-light .machine-photo{filter:drop-shadow(0 24px 36px rgba(28,16,16,0.3))}
.theme-light .machine-glow{background:radial-gradient(circle,rgba(var(--accent-rgb),0.18),transparent 70%)}
.theme-light .benefit-item:hover{background:rgba(255,255,255,0.7);box-shadow:0 12px 32px rgba(28,16,16,0.08)}
.theme-light .state-pill{background:rgba(255,255,255,0.7)}
.theme-light .state-pill.mercosul{color:#9A5600;border-color:rgba(217,119,6,0.4)}
.theme-light .state-pill.mercosul:hover{color:#7A4200;border-color:rgba(217,119,6,0.6);background:rgba(var(--warm-rgb),0.12)}
.theme-light .cobertura-divider em{color:#9A5600}
.theme-light .cobertura-divider span{background:linear-gradient(90deg,transparent,rgba(217,119,6,0.4),transparent)}

@media(max-width:960px){
  .rps-grid{grid-template-columns:1fr 1fr}
  .rps-grid .acc-card{grid-column:1/-1}
}
@media(max-width:900px){
  #hero{justify-content:flex-start}
  #hero:not(.page-hero){min-height:100vh;padding-top:0}
  #stats{padding:60px var(--gutter)}
  #stats .stat-card{padding:28px}
  .hero-disc-wrap{display:none}
  .hero-content{max-width:100%}
  .machine-mobile-showcase{display:flex;justify-content:center;margin:var(--space-3) 0 0}
  .machine-mobile-showcase .machine-showcase{width:420px;height:420px}
  .machine-mobile-showcase .machine-photo{width:360px}
  #produtos .section-header{margin-bottom:var(--space-4)}
  .stats-grid{grid-template-columns:1fr}
  .benefits-layout{grid-template-columns:1fr;gap:var(--space-7)}
  .benefits-visual{height:300px}
  .cta-glass{padding:36px var(--space-5)}
  .products-grid{grid-template-columns:1fr 1fr}
  .showcase{padding:70px var(--gutter)}
  .showcase-inner{grid-template-columns:1fr;gap:var(--space-6)}
  .showcase-visual{position:static}
  .spec-step{padding:20px 0}
}
@media(max-width:768px){
  #hero.page-hero{padding-top:120px;padding-bottom:60px}
}
@media(max-width:700px){
  .legal-card{padding:var(--space-5)}
  .legal-hero{padding:120px var(--gutter) 40px}
}
@media(max-width:600px){
  .products-grid{grid-template-columns:1fr}
  .rps-grid{grid-template-columns:1fr}
  .rps-grid .acc-card{grid-column:auto}
}
