/* ============================================================
   Tema Neon 3D — home: topo com a impressora 3D, faixa de
   categorias, mosaico, vitrines, processo, materiais, números,
   depoimentos e chamada final. Carregado só na home.
   ============================================================ */

/* ---------------- Topo ---------------- */
.t3d-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  width: var(--t3d-largura);
  min-height: min(calc(100svh - var(--t3d-header-h) - 36px), 860px);
  margin: 0 auto;
  padding: clamp(24px, 4vh, 48px) 0 clamp(20px, 3vh, 40px);
}
.t3d-hero-titulo {
  margin: 0 0 22px;
  font: 600 clamp(42px, 6vw, 86px)/.98 var(--t3d-fonte-titulo);
  letter-spacing: -.048em;
  color: var(--t3d-txt);
  text-wrap: balance;
}
.t3d-hero-texto {
  max-width: 33em;
  margin: 0 0 32px;
  color: rgb(var(--t3d-txt-rgb) / .7);
  font-size: clamp(16px, 1.25vw, 18.5px);
  line-height: 1.65;
}
.t3d-hero-botoes { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 30px; }
.t3d-selos { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 0; padding: 0; list-style: none; }
.t3d-selos li { display: inline-flex; align-items: center; gap: 8px; color: rgb(var(--t3d-txt-rgb) / .72); font-size: 13.5px; }
.t3d-selos svg { color: var(--t3d-n1); flex: none; }

/* palco da impressora */
.t3d-palco {
  position: relative;
  width: 100%;
  max-width: 660px;
  aspect-ratio: 1 / 1.04;
  justify-self: end;
  isolation: isolate;
}
.t3d-palco-brilho {
  position: absolute;
  inset: 8% 6% 4%;
  z-index: -1;
  border-radius: 50%;
  background:
    radial-gradient(closest-side, rgb(var(--t3d-n2-rgb) / .34), transparent 72%),
    radial-gradient(closest-side at 40% 70%, rgb(var(--t3d-n1-rgb) / .28), transparent 70%);
  filter: blur(30px);
  animation: t3dRespira 7s ease-in-out infinite alternate;
}
@keyframes t3dRespira { to { transform: scale(1.08); opacity: .8; } }
.t3d-palco canvas {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  display: block;
  opacity: 0;
  transition: opacity 1.1s ease;
  touch-action: pan-y;
  cursor: grab;
}
.t3d-palco canvas:active { cursor: grabbing; }
.t3d-palco--3d canvas { opacity: 1; }
.t3d-palco--3d .t3d-reserva { opacity: 0; visibility: hidden; }

/* ilustração em camadas (sem WebGL / impressora desligada) */
.t3d-reserva { position: absolute; inset: 0; transition: opacity .8s ease, visibility .8s; }
.t3d-reserva-img { position: absolute; inset: 6%; width: 88%; height: 88%; object-fit: contain; border-radius: var(--t3d-r-xl); }
.t3d-reserva-mesa,
.t3d-reserva-peca,
.t3d-reserva-peca svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.t3d-reserva-peca {
  filter: drop-shadow(0 0 14px rgb(var(--t3d-n2-rgb) / .45));
  animation: t3dResCamadas 8s steps(28, end) infinite, t3dResSome 8s linear infinite;
}
@keyframes t3dResCamadas {
  0%   { clip-path: inset(90% 0 0 0); }
  72%  { clip-path: inset(15% 0 0 0); }
  100% { clip-path: inset(15% 0 0 0); }
}
@keyframes t3dResSome { 0%, 93% { opacity: 1; } 98%, 100% { opacity: 0; } }
.t3d-reserva-bico {
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  animation: t3dResBico 8s steps(28, end) infinite;
}
.t3d-reserva-bico i {
  position: absolute;
  left: -16px;
  bottom: 0;
  width: 32px;
  height: 30px;
  background: linear-gradient(180deg, #4a5160, #22262f);
  clip-path: polygon(0 0, 100% 0, 100% 52%, 64% 52%, 54% 100%, 46% 100%, 36% 52%, 0 52%);
  animation: t3dResVaiVem .32s ease-in-out infinite alternate;
}
.t3d-reserva-bico i::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -3px;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  border-radius: 50%;
  background: var(--t3d-n3);
  box-shadow: 0 0 12px 4px rgb(var(--t3d-n3-rgb) / .8);
}
@keyframes t3dResBico {
  0%   { top: 82%; opacity: 1; }
  72%  { top: 18%; opacity: 1; }
  78%  { top: 8%; opacity: 0; }
  100% { top: 8%; opacity: 0; }
}
@keyframes t3dResVaiVem { from { transform: translateX(-46px); } to { transform: translateX(46px); } }

/* painéis de vidro sobre a impressora */
.t3d-hud {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--t3d-vidro-borda);
  border-radius: 14px;
  background: rgb(var(--t3d-surf-rgb) / .58);
  -webkit-backdrop-filter: blur(14px) saturate(1.5);
          backdrop-filter: blur(14px) saturate(1.5);
  box-shadow: 0 18px 40px -18px rgb(0 0 0 / .8);
  color: var(--t3d-txt);
  font-size: 12.5px;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  animation: t3dFlutua 6s ease-in-out infinite alternate;
}
@keyframes t3dFlutua { to { transform: translateY(-8px); } }
.t3d-hud-status { top: 7%; left: 0; animation-delay: -1s; }
.t3d-hud-status strong { font-weight: 600; }
.t3d-hud-status small { color: var(--t3d-muted); font-size: 12px; }
.t3d-hud-led {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--t3d-n3);
  box-shadow: 0 0 10px var(--t3d-n3);
  animation: t3dPisca 1s ease-in-out infinite;
}
.t3d-palco--pronto .t3d-hud-led { background: #4ade80; box-shadow: 0 0 10px #4ade80; animation: none; }
.t3d-hud-temp { top: 40%; right: -2%; flex-direction: column; align-items: flex-start; gap: 3px; animation-delay: -3s; }
.t3d-hud-temp span { color: var(--t3d-muted); }
.t3d-hud-temp b { color: var(--t3d-txt); font-weight: 600; }
.t3d-hud-temp span:last-child { color: var(--t3d-n1); font-weight: 600; }
.t3d-hud-prog { left: 12%; right: 12%; bottom: 3%; gap: 12px; animation-delay: -4.5s; }
.t3d-hud-barra { flex: 1; height: 6px; border-radius: 6px; background: rgb(var(--t3d-txt-rgb) / .1); overflow: hidden; }
.t3d-hud-barra i { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--t3d-grad); box-shadow: 0 0 12px rgb(var(--t3d-n2-rgb) / .8); }
.t3d-hud-prog span { min-width: 36px; text-align: right; font-weight: 600; }
.t3d-palco--parado .t3d-hud { display: none; }

.t3d-palco-repetir {
  position: absolute;
  right: 6%;
  top: 7%;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 14px;
  border: 1px solid rgb(var(--t3d-n1-rgb) / .45);
  border-radius: 999px;
  background: rgb(var(--t3d-surf-rgb) / .7);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  color: var(--t3d-txt);
  font: 600 12.5px/1 var(--t3d-fonte);
  cursor: pointer;
  animation: t3dSurge .5s var(--t3d-mola);
  transition: box-shadow .25s ease, border-color .2s;
}
.t3d-palco-repetir[hidden] { display: none; }
.t3d-palco-repetir:hover { border-color: var(--t3d-n1); box-shadow: 0 0 24px -4px rgb(var(--t3d-n1-rgb) / .8); }
@keyframes t3dSurge { from { opacity: 0; transform: translateY(8px) scale(.96); } }

/* ---------------- Faixa de categorias em movimento ---------------- */
.t3d-marquee {
  display: flex;
  margin-top: clamp(10px, 2vw, 24px);
  padding: 20px 0;
  border-top: 1px solid var(--t3d-line);
  border-bottom: 1px solid var(--t3d-line);
  background: rgb(var(--t3d-surf-rgb) / .35);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.t3d-marquee-trilho {
  display: flex;
  align-items: center;
  gap: 28px;
  flex: none;
  padding-right: 28px;
  animation: t3dMarquee 48s linear infinite;
}
.t3d-marquee:hover .t3d-marquee-trilho { animation-play-state: paused; }
@keyframes t3dMarquee { to { transform: translateX(-100%); } }
.t3d-marquee a {
  color: rgb(var(--t3d-txt-rgb) / .55);
  font: 500 clamp(20px, 2.2vw, 28px)/1 var(--t3d-fonte-titulo);
  letter-spacing: -.02em;
  text-decoration: none;
  white-space: nowrap;
  transition: color .25s ease;
}
.t3d-marquee a:hover { color: var(--t3d-txt); text-shadow: 0 0 24px rgb(var(--t3d-n1-rgb) / .7); }
.t3d-marquee i { width: 10px; height: 10px; flex: none; border: 1.5px solid var(--t3d-n2); transform: rotate(45deg); }

/* ---------------- Mosaico de categorias ---------------- */
.t3d-bento { display: grid; gap: 18px; grid-auto-rows: 250px; }
.t3d-bento-4 { grid-template-columns: 1.25fr 1fr 1fr; }
.t3d-bento-4 .t3d-bento-card:nth-child(1) { grid-row: span 2; }
.t3d-bento-4 .t3d-bento-card:nth-child(2) { grid-column: span 2; }
.t3d-bento-3 { grid-template-columns: 1.25fr 1fr; }
.t3d-bento-3 .t3d-bento-card:nth-child(1) { grid-row: span 2; }
.t3d-bento-2 { grid-template-columns: 1fr 1fr; grid-auto-rows: 320px; }
.t3d-bento-1 { grid-template-columns: 1fr; grid-auto-rows: 320px; }

.t3d-bento-card {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 26px;
  border: 1px solid var(--t3d-line);
  border-radius: var(--t3d-r-lg);
  background:
    radial-gradient(120% 90% at 85% 10%, rgb(var(--t3d-n2-rgb) / .14), transparent 60%),
    linear-gradient(160deg, var(--t3d-surf-2), var(--t3d-surf));
  color: var(--t3d-txt);
  text-decoration: none;
  overflow: hidden;
  isolation: isolate;
}
.t3d-bento-card:nth-child(2) { background: radial-gradient(120% 90% at 85% 10%, rgb(var(--t3d-n1-rgb) / .14), transparent 60%), linear-gradient(160deg, var(--t3d-surf-2), var(--t3d-surf)); }
.t3d-bento-card:nth-child(3) { background: radial-gradient(120% 90% at 85% 10%, rgb(var(--t3d-n3-rgb) / .13), transparent 60%), linear-gradient(160deg, var(--t3d-surf-2), var(--t3d-surf)); }
.t3d-bento-img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); transition: transform 1.1s var(--t3d-mola); }
.t3d-bento-card:hover .t3d-bento-img { transform: scale(1.08); }
.t3d-bento-veu { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgb(var(--t3d-bg-rgb) / .88), rgb(var(--t3d-bg-rgb) / .15) 60%, transparent); }
.t3d-forma {
  position: absolute;
  top: 50%;
  right: 6%;
  z-index: -1;
  width: min(54%, 260px);
  aspect-ratio: 1;
  color: var(--t3d-n1);
  transform: translateY(-58%);
  filter: drop-shadow(0 0 10px rgb(var(--t3d-n1-rgb) / .5));
  transition: filter .4s ease, color .4s ease;
}
.t3d-forma svg { width: 100%; height: 100%; animation: t3dGiraForma 26s linear infinite; }
.t3d-forma-esfera { color: var(--t3d-n2); filter: drop-shadow(0 0 10px rgb(var(--t3d-n2-rgb) / .5)); }
.t3d-forma-toro { color: var(--t3d-n3); filter: drop-shadow(0 0 10px rgb(var(--t3d-n3-rgb) / .5)); }
.t3d-forma-toro svg { animation-duration: 40s; }
.t3d-forma-piramide svg { animation-direction: reverse; }
.t3d-bento-card:hover .t3d-forma { filter: drop-shadow(0 0 22px currentColor); }
.t3d-bento-4 .t3d-bento-card:nth-child(1) .t3d-forma,
.t3d-bento-3 .t3d-bento-card:nth-child(1) .t3d-forma { top: 38%; right: 50%; width: min(70%, 340px); transform: translate(50%, -50%); }
@keyframes t3dGiraForma { to { transform: rotate(360deg); } }
.t3d-bento-txt { position: relative; display: flex; flex-direction: column; gap: 6px; max-width: 78%; transform: translateZ(30px); }
.t3d-bento-txt strong { font: 600 clamp(22px, 2vw, 30px)/1.05 var(--t3d-fonte-titulo); letter-spacing: -.03em; }
.t3d-bento-txt small { color: rgb(var(--t3d-txt-rgb) / .68); font-size: 14px; line-height: 1.45; }
.t3d-bento-seta {
  position: absolute;
  top: 20px;
  right: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--t3d-line-2);
  border-radius: 50%;
  background: rgb(var(--t3d-bg-rgb) / .4);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  transition: transform .4s var(--t3d-mola), background .25s, border-color .25s, color .25s;
}
.t3d-bento-card:hover .t3d-bento-seta { transform: rotate(45deg); background: var(--t3d-n1); border-color: var(--t3d-n1); color: var(--t3d-on-neon); }

/* ---------------- Vitrines ---------------- */
.t3d-vitrine-controles { display: flex; align-items: center; gap: 10px; }
.t3d-vitrine-controles .t3d-link-lateral { margin-right: 8px; }
.t3d-seta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid var(--t3d-line-2);
  border-radius: 50%;
  background: rgb(var(--t3d-txt-rgb) / .03);
  color: var(--t3d-txt);
  cursor: pointer;
  transition: border-color .2s, background .2s, opacity .2s, transform .25s var(--t3d-mola);
}
.t3d-seta:hover:not(:disabled) { border-color: var(--t3d-n1); background: rgb(var(--t3d-n1-rgb) / .1); transform: scale(1.06); }
.t3d-seta:disabled { opacity: .3; cursor: default; }
.t3d-trilho {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 3 * 22px) / 4);
  gap: 22px;
  margin: 0 -14px;
  padding: 14px 14px 30px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding: 0 14px;
  scrollbar-width: none;
}
.t3d-trilho::-webkit-scrollbar { display: none; }
.t3d-trilho-item { scroll-snap-align: start; min-width: 0; }

/* ---------------- Como é feito ---------------- */
.t3d-passos { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.t3d-passos-linha { position: absolute; top: 37px; left: 12.5%; right: 12.5%; height: 2px; background: var(--t3d-line); border-radius: 2px; }
.t3d-passos-linha i {
  display: block;
  width: calc(var(--prog, 0) * 100%);
  height: 100%;
  border-radius: inherit;
  background: var(--t3d-grad);
  box-shadow: 0 0 14px rgb(var(--t3d-n2-rgb) / .9);
}
.t3d-passo { position: relative; text-align: center; padding: 0 6px; }
.t3d-passo-icone {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  margin-bottom: 22px;
  border: 1px solid var(--t3d-line-2);
  border-radius: 50%;
  background: var(--t3d-surf);
  color: var(--t3d-muted);
  transition: color .5s ease, border-color .5s ease, box-shadow .6s ease;
}
.t3d-passo-icone b {
  position: absolute;
  top: -4px;
  right: -8px;
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--t3d-surf-3);
  color: var(--t3d-txt);
  font: 700 10.5px/1 var(--t3d-fonte);
  transition: background .5s ease, color .5s ease;
}
.t3d-passo--ativo .t3d-passo-icone { color: var(--t3d-n1); border-color: rgb(var(--t3d-n1-rgb) / .7); box-shadow: 0 0 0 6px rgb(var(--t3d-n1-rgb) / .06), 0 0 34px -4px rgb(var(--t3d-n1-rgb) / .7); }
.t3d-passo--ativo .t3d-passo-icone b { background: var(--t3d-grad); color: var(--t3d-on-neon); }
.t3d-passo strong { display: block; margin-bottom: 8px; font: 600 20px/1.2 var(--t3d-fonte-titulo); letter-spacing: -.02em; }
.t3d-passo p { max-width: 24em; margin: 0 auto; color: var(--t3d-muted); font-size: 14.5px; line-height: 1.6; }

/* ---------------- Materiais ---------------- */
.t3d-carreteis { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 16px; }
.t3d-carretel {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid var(--t3d-line);
  border-radius: 20px;
  background: rgb(var(--t3d-surf-rgb) / .7);
  transition: border-color .3s ease, transform .4s var(--t3d-mola), box-shadow .4s ease;
}
.t3d-carretel:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--cor) 50%, transparent); box-shadow: 0 20px 40px -24px color-mix(in srgb, var(--cor) 80%, transparent); }
.t3d-carretel-rolo {
  position: relative;
  flex: none;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background:
    radial-gradient(circle, var(--t3d-bg) 0 18%, transparent 19%),
    radial-gradient(circle, #2b2f3a 0 27%, transparent 28%),
    repeating-radial-gradient(circle, var(--cor) 0 1.6px, color-mix(in srgb, var(--cor) 70%, #000) 1.6px 3.2px);
  box-shadow: 0 0 0 3px #2b2f3a, 0 0 22px -4px var(--cor);
  transition: transform 1.2s var(--t3d-mola);
}
.t3d-carretel-rolo i {
  position: absolute;
  top: 50%;
  right: -12px;
  width: 16px;
  height: 2px;
  border-radius: 2px;
  background: var(--cor);
  box-shadow: 0 0 8px var(--cor);
}
.t3d-carretel:hover .t3d-carretel-rolo { transform: rotate(-200deg); }
.t3d-carretel strong { display: block; font: 600 16.5px/1.2 var(--t3d-fonte-titulo); }
.t3d-carretel small { display: block; margin-top: 3px; color: var(--t3d-muted); font-size: 13px; line-height: 1.45; }

/* ---------------- Números ---------------- */
.t3d-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 22px; text-align: center; }
.t3d-numero strong {
  display: block;
  font: 600 clamp(42px, 5vw, 66px)/1 var(--t3d-fonte-titulo);
  letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
  background: var(--t3d-grad);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.t3d-numero small { display: block; margin-top: 8px; color: var(--t3d-muted); font-size: 14px; }

/* ---------------- Depoimentos ---------------- */
.t3d-depoimentos-grade { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.t3d-depoimento { margin: 0; padding: 26px; border: 1px solid var(--t3d-line); border-radius: var(--t3d-r-lg); background: rgb(var(--t3d-surf-rgb) / .7); }
.t3d-depoimento blockquote { margin: 0 0 18px; padding: 0; border: 0; color: rgb(var(--t3d-txt-rgb) / .86); font-size: 16px; line-height: 1.6; }
.t3d-depoimento figcaption strong { display: block; font-weight: 600; }
.t3d-depoimento figcaption small { color: var(--t3d-muted); font-size: 13px; }

/* ---------------- Chamada final ---------------- */
@property --t3d-ang { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.t3d-cta {
  position: relative;
  padding: clamp(40px, 6vw, 84px);
  border-radius: var(--t3d-r-xl);
  background:
    radial-gradient(80% 120% at 100% 100%, rgb(var(--t3d-n2-rgb) / .22), transparent 60%),
    radial-gradient(60% 90% at 0% 0%, rgb(var(--t3d-n1-rgb) / .14), transparent 60%),
    var(--t3d-surf);
  overflow: hidden;
  isolation: isolate;
}
.t3d-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 1.5px;
  border-radius: inherit;
  background: conic-gradient(from var(--t3d-ang), var(--t3d-n1), var(--t3d-n2), var(--t3d-n3), transparent 60%, var(--t3d-n1));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask-composite: exclude;
  animation: t3dBorda 6s linear infinite;
  pointer-events: none;
}
@keyframes t3dBorda { to { --t3d-ang: 360deg; } }
.t3d-cta-in { position: relative; z-index: 1; max-width: 620px; }
.t3d-cta h2 { margin: 0 0 16px; font: 600 clamp(32px, 4.4vw, 58px)/1.02 var(--t3d-fonte-titulo); letter-spacing: -.04em; }
.t3d-cta p { margin: 0 0 30px; color: rgb(var(--t3d-txt-rgb) / .72); font-size: 17px; line-height: 1.6; }
.t3d-cta-botoes { display: flex; flex-wrap: wrap; gap: 12px; }
.t3d-cta-camadas {
  position: absolute;
  right: 7%;
  bottom: 12%;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 5px;
  width: min(30%, 320px);
  perspective: 600px;
}
.t3d-cta-camadas i {
  display: block;
  width: calc(100% - var(--k) * 9%);
  height: 18px;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--t3d-n1), var(--t3d-n2), var(--t3d-n3));
  opacity: calc(.95 - var(--k) * .07);
  box-shadow: 0 0 18px -4px rgb(var(--t3d-n2-rgb) / .8);
  transform: rotateX(58deg);
  animation: t3dCamadaCta 3.6s var(--t3d-mola) infinite;
  animation-delay: calc(var(--k) * .12s);
}
@keyframes t3dCamadaCta {
  0%, 100% { transform: rotateX(58deg) translateY(0); }
  50% { transform: rotateX(58deg) translateY(-6px); }
}

/* banners/faixas de Layout (opcional) */
.t3d-blocos-loja { margin-top: clamp(50px, 6vw, 90px); }

/* ---------------- Celular e tablet ---------------- */
@media (max-width: 940px) {
  .t3d-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 20px; }
  .t3d-palco { justify-self: center; max-width: 560px; margin-top: 8px; }
}
@media (max-width: 1080px) {
  .t3d-trilho { grid-auto-columns: calc((100% - 2 * 18px) / 3); gap: 18px; }
  .t3d-cta-camadas { opacity: .35; }
}
@media (max-width: 720px) {
  .t3d-hero-titulo { font-size: clamp(38px, 11vw, 54px); }
  .t3d-hero-botoes .t3d-btn { flex: 1 1 auto; }
  .t3d-hud { font-size: 11.5px; padding: 8px 11px; }
  .t3d-hud-temp { right: 0; top: 46%; }
  .t3d-hud-prog { left: 4%; right: 4%; }
  .t3d-bento-4, .t3d-bento-3, .t3d-bento-2 { grid-template-columns: 1fr; grid-auto-rows: minmax(210px, auto); }
  .t3d-bento-4 .t3d-bento-card:nth-child(1),
  .t3d-bento-3 .t3d-bento-card:nth-child(1) { grid-row: span 1; grid-column: auto; min-height: 280px; }
  .t3d-bento-4 .t3d-bento-card:nth-child(2) { grid-column: auto; }
  .t3d-bento-4 .t3d-bento-card:nth-child(1) .t3d-forma,
  .t3d-bento-3 .t3d-bento-card:nth-child(1) .t3d-forma { top: 50%; right: 6%; width: min(46%, 200px); transform: translateY(-58%); }
  .t3d-forma { opacity: .5; right: 2%; }
  .t3d-trilho { grid-auto-columns: 74%; gap: 14px; }
  .t3d-vitrine-controles .t3d-seta { display: none; }
  .t3d-passos { grid-template-columns: 1fr; gap: 26px; padding-left: 4px; }
  .t3d-passos-linha { top: 38px; bottom: 38px; left: 41px; right: auto; width: 2px; height: auto; }
  .t3d-passos-linha i { width: 100%; height: calc(var(--prog, 0) * 100%); }
  .t3d-passo { display: grid; grid-template-columns: 76px 1fr; column-gap: 18px; text-align: left; align-items: center; }
  .t3d-passo-icone { grid-row: span 2; margin: 0; }
  .t3d-passo p { margin: 0; }
  .t3d-cta-camadas { display: none; }
}

/* ---------------- Menos movimento ---------------- */
@media (prefers-reduced-motion: reduce) {
  .t3d-palco-brilho, .t3d-hud, .t3d-marquee-trilho, .t3d-forma svg, .t3d-cta::before, .t3d-cta-camadas i, .t3d-hud-led { animation: none !important; }
  .t3d-reserva-peca { animation: none; clip-path: none; }
  .t3d-reserva-bico { display: none; }
  .t3d-marquee { overflow-x: auto; }
}
