body.product-cg{
  --accent:#d7aa3f;
  --cg-navy:#000064;
  --cg-ink:#091423;
  --cg-deep:#040814;
  --cg-soft:#f1f4f6;
  --cg-line:rgba(9,20,35,.13);
  background:#f7f8f9;
}

/* CTA de demonstração permanente, alinhado com as restantes páginas de produto. */
.product-cg .demo-badge{
  top:auto;
  right:24px;
  bottom:24px;
  transform:none;
}
.product-cg .demo-badge:hover{transform:translateY(-5px) scale(1.03)}
.product-cg .demo-badge.is-visible{transform:none}

/* Hero de produto: robô grande à esquerda e mensagem à direita. */
.cg-hero{
  height:clamp(700px,63vw,840px);
  min-height:0;
  color:#fff;
  isolation:isolate;
  background:
    radial-gradient(circle at 24% 46%,rgba(215,170,63,.19),transparent 27%),
    radial-gradient(circle at 82% 8%,rgba(38,81,125,.34),transparent 34%),
    linear-gradient(124deg,#030713 0%,#071426 54%,#00004d 100%);
}
.cg-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.055) 50%,transparent 50.2%),
    linear-gradient(0deg,transparent 49.8%,rgba(255,255,255,.045) 50%,transparent 50.2%);
  background-size:180px 180px;
  mask-image:linear-gradient(90deg,#000 0 66%,transparent 94%);
}
.cg-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(90deg,transparent 0 47%,rgba(3,7,19,.42) 60%,rgba(3,7,19,.78) 100%);
}
.cg-glass{
  position:absolute;
  z-index:0;
  left:3.5%;
  top:7%;
  width:min(52vw,750px);
  height:84%;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.2);
  border-radius:42px;
  background:linear-gradient(135deg,rgba(255,255,255,.15),rgba(122,172,207,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 35px 90px rgba(0,0,0,.33);
}
.cg-glass::before{
  content:"";
  position:absolute;
  inset:-20% 54% -20% -42%;
  transform:skewX(-14deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  animation:glassLight 7s ease-in-out infinite;
}
.cg-glass::after{
  content:"";
  position:absolute;
  inset:8%;
  border:1px solid rgba(215,170,63,.25);
  border-radius:27px;
}
.cg-scan{
  position:absolute;
  z-index:3;
  left:7.5%;
  top:14%;
  width:min(45vw,650px);
  height:70%;
  border-inline:1px solid rgba(215,170,63,.16);
  pointer-events:none;
}
.cg-scan::before{
  content:"";
  position:absolute;
  left:4%;
  right:4%;
  top:12%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent);
  box-shadow:0 0 18px rgba(215,170,63,.68);
  animation:scan 6s ease-in-out infinite;
}
.cg-hero__robot{
  position:absolute;
  z-index:2;
  left:1.5%;
  top:19%;
  width:min(53vw,770px);
  height:auto;
  filter:drop-shadow(0 38px 34px rgba(0,0,0,.56));
  animation:cgAdhere 6s ease-in-out infinite;
}
.cg-hero .hero-copy{
  left:auto;
  right:max(var(--pad),calc((100vw - var(--product-content))/2));
  top:49%;
  width:min(510px,39vw);
  transform:translateY(-50%);
  text-align:left;
}
.cg-hero .eyebrow{margin-bottom:16px;color:#bdc9d1}
.cg-hero h1{
  margin:0;
  color:#fff;
  font-size:clamp(68px,7vw,112px);
  font-weight:700;
  font-style:italic;
  line-height:.92;
  letter-spacing:-.065em;
}
.cg-hero h1 em{
  margin:0 0 0 .08em;
  color:var(--accent);
  font-size:1em;
  font-style:inherit;
  letter-spacing:inherit;
  vertical-align:baseline;
}
.cg-hero .hero-lead{
  max-width:500px;
  margin:26px 0 30px;
  color:#d5dde2;
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.55;
}
.cg-hero .hero-actions{justify-content:flex-start}
.cg-hero .button.light{
  background:var(--accent);
  color:#111;
  box-shadow:0 14px 34px rgba(215,170,63,.2);
}
.cg-hero .text-button{color:#fff;border-color:rgba(255,255,255,.55)}
.cg-hero .hero-meta{color:#aebbc4}

/* Introdução e métricas. */
.product-cg .intro{background:#fff;text-align:center}
.product-cg .intro>h2{
  max-width:1040px;
  margin:0 auto;
  font-size:clamp(48px,6vw,94px);
}
.product-cg .intro-grid{
  display:block;
  max-width:1040px;
  margin:55px auto 0;
}
.product-cg .intro-grid>p{
  max-width:760px;
  margin:0 auto 45px;
  color:#5d6870;
  font-size:18px;
}
.product-cg .stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  border:0;
}
.product-cg .stats div{
  min-height:142px;
  padding:28px 18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid var(--cg-line);
  border-radius:20px;
  background:var(--cg-soft);
}
.product-cg .stats strong{color:var(--cg-navy);font-weight:500}
.product-cg .stats span{margin-top:8px;font-size:11px}

/* Capacidades em quatro cartões, como as grelhas das restantes páginas. */
.product-cg .modes{background:var(--cg-soft)}
.product-cg .modes .section-head{align-items:end}
.product-cg .modes .section-head h2{font-size:clamp(48px,5.3vw,84px)}
.product-cg .mode-grid{
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  border:0;
}
.product-cg .mode-grid article{
  min-height:310px;
  padding:28px;
  border:1px solid var(--cg-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 44px rgba(21,39,54,.05);
}
.product-cg .mode-grid article:last-child{border:1px solid var(--cg-line)}
.product-cg .mode-grid article:hover{
  background:var(--cg-navy);
  color:#fff;
  box-shadow:0 24px 50px rgba(0,0,100,.18);
}
.product-cg .mode-icon{font-size:42px;color:#c49a34}
.product-cg .mode-grid h3{font-size:22px}

/* Secção de percurso: composição fixa sem cruzar texto e robô. */
.cg-route{
  height:clamp(660px,56vw,790px);
  min-height:0;
  background:
    radial-gradient(circle at 25% 45%,rgba(215,170,63,.17),transparent 30%),
    linear-gradient(120deg,#030815,#071c27 72%,#0e2c35);
}
.cg-route::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 0 19.8%,rgba(153,211,228,.07) 20% 20.15%),
    linear-gradient(0deg,transparent 0 24.8%,rgba(153,211,228,.06) 25% 25.15%);
  background-size:240px 210px;
}
.cg-route::after{
  background:linear-gradient(270deg,rgba(3,8,21,.98) 0,rgba(3,8,21,.85) 43%,rgba(3,8,21,.16) 65%,transparent 82%);
}
.cg-route .film-copy{
  left:auto;
  right:max(var(--pad),calc((100vw - var(--product-content))/2));
  bottom:15%;
  width:min(520px,39vw);
  max-width:none;
}
.cg-route .film-copy h2{font-size:clamp(49px,5vw,78px)}
.cg-route .film-copy>p:last-child{color:#c8d3d9;font-size:17px}
.cg-route__path{
  position:absolute;
  left:4%;
  top:12%;
  width:48%;
  height:74%;
  border:1px dashed rgba(215,170,63,.36);
  border-radius:76px;
}
.cg-route__path::before,.cg-route__path::after{
  content:"";
  position:absolute;
  left:15%;
  right:15%;
  height:42%;
  border:1px solid rgba(215,170,63,.42);
  border-left:0;
  border-radius:0 68px 68px 0;
}
.cg-route__path::before{top:7%}
.cg-route__path::after{bottom:7%;transform:scaleX(-1)}
.cg-route img.cg-route__robot{
  position:absolute;
  z-index:2;
  left:1%;
  top:16%;
  width:min(49vw,705px);
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 22px 24px #000);
  animation:routeRobot 8s ease-in-out infinite;
}

/* Conteúdo editorial preservado, agora com o mesmo ritmo e largura dos produtos. */
.product-cg .feature,.product-cg .feature.reverse{
  min-height:0;
  grid-template-columns:1fr 1fr;
  margin-block:clamp(34px,5vw,72px);
  border:1px solid var(--cg-line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 24px 70px rgba(16,38,54,.08);
}
.product-cg .feature-media{
  min-height:0;
  align-self:center;
  aspect-ratio:487/304;
  background:#e9eef1;
}
.product-cg .feature-media img{width:100%;height:100%;object-fit:cover}
.product-cg .feature-copy{padding:clamp(38px,4.6vw,76px)}
.product-cg .feature-copy h2{font-size:clamp(40px,4.2vw,67px);line-height:.98}
.product-cg .feature-copy>p:not(.eyebrow){font-size:16px}
.product-cg .feature.dark{background:var(--cg-navy);color:#fff;border-color:transparent}
.product-cg .feature.dark .feature-copy>p:not(.eyebrow){color:#c3cad2}
.product-cg .cg-surface{background:#091922;color:#fff;border-color:transparent}
.product-cg .cg-surface .feature-copy>p:not(.eyebrow){color:#c1cbd0}
.cg-note{margin-top:16px;color:#77838a!important;font-size:11px!important}

.cg-applications{background:var(--cg-navy);color:#fff}
.cg-applications .section-head>p{color:#c0c7d0}
.cg-applications .gallery-track{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  padding-right:0;
  overflow:visible;
}
.cg-applications .gallery-track article{
  min-width:0;
  height:auto;
  aspect-ratio:487/304;
  margin-top:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:#fff;
  overflow:hidden;
}
.cg-applications .gallery-track article:nth-child(even){margin-top:0}
.cg-applications .gallery-track article::after{
  content:"";
  position:absolute;
  inset:48% 0 0;
  background:linear-gradient(transparent,rgba(0,0,32,.86));
}
.cg-applications .gallery-track img{width:100%;height:100%;object-fit:cover}
.cg-applications .gallery-track article div{z-index:2;color:#fff}
.cg-applications .gallery-track small{color:#ffca55}
.cg-applications .gallery-track h3{font-size:20px}

.product-cg .specs{background:#eef2f4;color:var(--cg-ink)}
.product-cg .spec-robot::before{background:radial-gradient(circle,rgba(215,170,63,.23),transparent 68%)}
.product-cg .spec-robot img{max-height:74%;filter:drop-shadow(0 36px 35px rgba(24,42,55,.28))}
.product-cg .spec-list{border-color:rgba(10,24,48,.16)}
.product-cg .spec-list div{border-color:rgba(10,24,48,.14)}
.product-cg .spec-list span{color:#67737d}

/* Formulário personalizado com o produto selecionado e o Robô CG visível. */
.product-cg .contact-modal{
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(6,10,15,.88);
  backdrop-filter:blur(14px);
}
.product-cg .contact-panel{
  width:min(100%,980px);
  min-height:0;
  max-height:90vh;
  overflow:auto;
  grid-template-columns:.9fr 1.1fr;
  gap:50px;
  padding:clamp(30px,5vw,65px);
  border-radius:20px;
  background:#fff;
  color:#111;
}
.product-cg .contact-modal .modal-close{
  top:14px;
  right:18px;
  width:42px;
  height:42px;
  color:#111;
  font-size:35px;
}
.product-cg .contact-intro{
  min-width:0;
  padding:0;
  display:flex;
  flex-direction:column;
  background:#fff;
  color:#111;
}
.product-cg .contact-intro .eyebrow{margin:0;color:#b28621}
.product-cg .contact-intro h2{
  margin:22px 0;
  font-size:clamp(34px,3vw,54px);
  font-weight:600;
  line-height:1.05;
  letter-spacing:-.05em;
}
.product-cg .contact-intro p:not(.eyebrow){margin:0;color:#52585d}
.product-cg .contact-intro div{margin:18px 0 0}
.product-cg .contact-intro a{color:#111;font-weight:600}
.product-cg .contact-robot{
  width:min(94%,310px);
  height:260px;
  margin:auto auto -34px;
  object-fit:contain;
  object-position:center bottom;
  transform-origin:50% 100%;
  filter:drop-shadow(0 14px 10px rgba(0,77,120,.16));
}
.product-cg .contact-modal.open .contact-robot{
  animation:contactRobotEnter .65s cubic-bezier(.2,.85,.25,1) both,contactRobotFloat 3.2s ease-in-out .65s infinite;
}
.product-cg .contact-form{padding:0;gap:13px}
.product-cg .contact-form label{
  display:grid;
  gap:6px;
  color:#111;
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}
.product-cg .contact-form input,.product-cg .contact-form textarea,.product-cg .contact-form select{
  width:100%;
  padding:11px;
  border:1px solid #d7d9dc;
  border-radius:4px;
  background:#fafafa;
  color:#111;
  resize:vertical;
}
.product-cg .contact-form .selected-product input{
  border-color:#dfc273;
  background:#fff9e9;
  font-weight:700;
  cursor:default;
}
.product-cg .contact-form .button{align-self:stretch;justify-content:center;border-radius:0;background:#111;color:#fff;padding:14px}
.product-cg .form-status{min-height:20px;margin:0;color:#45494d;font-size:13px}

@keyframes glassLight{
  0%,20%{transform:translateX(-25%) skewX(-14deg)}
  70%,100%{transform:translateX(230%) skewX(-14deg)}
}
@keyframes cgAdhere{
  0%,100%{transform:translateY(0) rotate(0)}
  50%{transform:translateY(9px) rotate(-.6deg)}
}
@keyframes scan{0%,100%{top:10%;opacity:.35}50%{top:90%;opacity:1}}
@keyframes routeRobot{
  0%,100%{transform:translate(0,0) rotate(0)}
  25%{transform:translate(24px,28px) rotate(-1deg)}
  50%{transform:translate(24px,92px) rotate(.5deg)}
  75%{transform:translate(0,128px) rotate(-.5deg)}
}
@keyframes contactRobotEnter{
  0%{opacity:0;transform:translateY(45px) scale(.88)}
  70%{opacity:1;transform:translateY(-7px) scale(1.02)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes contactRobotFloat{
  0%,100%{transform:translateY(0) rotate(-.35deg)}
  50%{transform:translateY(-10px) rotate(.35deg)}
}
@media(max-width:1080px){
  .cg-hero .hero-copy{width:42vw}
  .product-cg .mode-grid{grid-template-columns:repeat(2,1fr)}
  .cg-route .film-copy{width:41vw}
}

@media(max-width:980px){
  .cg-hero{height:760px}
  .cg-hero .hero-copy{right:5vw;width:43vw}
  .cg-hero h1{font-size:64px}
  .cg-hero__robot{left:-4%;top:25%;width:59vw}
  .cg-glass{left:2%;width:57vw}
  .cg-scan{left:6%;width:48vw}
  .product-cg .feature,.product-cg .feature.reverse{grid-template-columns:1fr}
  .product-cg .feature.reverse .feature-media{order:0}
  .cg-route img.cg-route__robot{left:-4%;width:56vw}
  .cg-route .film-copy{right:5vw;width:42vw}
  .cg-applications .gallery-track{grid-template-columns:1fr 1fr}
  .cg-applications .gallery-track article:last-child{grid-column:1/-1;width:calc(50% - 9px)}
}

@media(max-width:680px){
  .product-cg .demo-badge{right:12px;bottom:12px}
  .product-cg .demo-badge:hover{transform:scale(1.02)}
  .cg-hero{height:780px}
  .cg-hero::after{background:linear-gradient(0deg,rgba(3,7,19,.94) 0,rgba(3,7,19,.58) 47%,transparent 74%)}
  .cg-hero .hero-copy{
    left:22px;
    right:22px;
    top:44px;
    width:auto;
    transform:none;
    text-align:center;
  }
  .cg-hero h1{font-size:58px}
  .cg-hero .hero-lead{max-width:92%;margin:18px auto 20px;font-size:14px}
  .cg-hero .hero-actions{justify-content:center;gap:11px}
  .cg-hero .button{padding:12px 14px;gap:12px}
  .cg-hero .text-button{font-size:12px}
  .cg-glass{left:4%;top:43%;width:92%;height:49%;border-radius:24px}
  .cg-scan{left:10%;top:48%;width:80%;height:35%}
  .cg-hero__robot{left:-10%;top:50%;width:120vw}
  .product-cg .intro>h2{font-size:47px}
  .product-cg .intro-grid{margin-top:35px}
  .product-cg .intro-grid>p{margin-bottom:28px;font-size:15px}
  .product-cg .stats{grid-template-columns:1fr;gap:8px}
  .product-cg .stats div{min-height:108px}
  .product-cg .mode-grid{display:grid;grid-template-columns:1fr}
  .product-cg .mode-grid article{min-height:225px}
  .cg-route{height:740px}
  .cg-route::after{background:linear-gradient(0deg,rgba(3,8,21,.98) 0,rgba(3,8,21,.82) 49%,transparent 80%)}
  .cg-route .film-copy{left:22px;right:22px;bottom:7%;width:auto}
  .cg-route .film-copy h2{font-size:46px}
  .cg-route__path{left:7%;top:6%;width:86%;height:50%}
  .cg-route img.cg-route__robot{left:-7%;top:10%;width:105vw;animation:routeRobotMobile 7s ease-in-out infinite}
  .product-cg .feature{width:calc(100% - 28px);margin:22px auto;border-radius:18px}
  .product-cg .feature-copy{padding:45px 24px 52px}
  .product-cg .feature-copy h2{font-size:43px}
  .product-cg .feature-media{aspect-ratio:487/304}
  .cg-applications .gallery-track{display:flex;overflow-x:auto;padding-right:22px}
  .cg-applications .gallery-track article,.cg-applications .gallery-track article:last-child{min-width:82vw;width:auto}
  .product-cg .spec-robot{height:430px}
  .product-cg .contact-modal{padding:16px}
  .product-cg .contact-panel{display:block;padding:50px 22px 26px}
  .product-cg .contact-modal .modal-close{position:absolute;color:#111}
  .product-cg .contact-robot{width:180px;height:170px;margin:24px auto 0}
  .product-cg .contact-form{margin-top:26px}
  @keyframes routeRobotMobile{
    0%,100%{transform:translate(0,0)}
    33%{transform:translate(-48px,28px)}
    66%{transform:translate(-20px,90px)}
  }
}

@media(prefers-reduced-motion:reduce){
  .cg-glass::before,.cg-hero__robot,.cg-scan::before,.cg-route__robot,.product-cg .contact-modal.open .contact-robot{animation:none}
}
