
:root{
  --navy:#071522;
  --navy-2:#0d2234;
  --cyan:#19c8ea;
  --cyan-2:#64e4f6;
  --white:#ffffff;
  --soft:#f3f8fb;
  --text:#102334;
  --muted:#6d7f8e;
  --line:#dce7ee;
  --green:#25d366;
  --shadow:0 28px 70px rgba(4,24,38,.14);
  --radius:26px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{display:block;width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}

.header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(7,21,34,.78);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800}
.brand-box{
  font-size:12px;line-height:1.05;text-transform:lowercase;
  display:grid;place-items:center;width:50px;height:44px;
  border:1px solid rgba(255,255,255,.4);border-radius:12px;
}
.brand-box strong{font-size:18px;color:var(--cyan)}
.brand-name{font-size:28px;font-style:italic;letter-spacing:-1.5px}
.brand-name span{color:var(--cyan)}
.nav{display:flex;align-items:center;gap:28px;color:#dbe9f1;font-size:14px;font-weight:700}
.nav a{transition:.2s}
.nav a:hover{color:#fff}
.nav-cta{padding:11px 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:white;margin:5px 0}

.hero{
  min-height:820px;
  display:flex;align-items:center;
  background:var(--navy);
  color:white;
  position:relative;overflow:hidden;
  padding:145px 0 90px;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 82% 20%,rgba(25,200,234,.20),transparent 32%),
    radial-gradient(circle at 20% 90%,rgba(34,111,150,.18),transparent 35%),
    linear-gradient(115deg,#071522 0%,#0b2132 58%,#071522 100%);
}
.hero-bg:after{
  content:"";position:absolute;inset:0;opacity:.12;
  background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to right,transparent,black 30%,black);
}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.eyebrow,.section-kicker{
  text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:#188cab;
}
.eyebrow{color:#a8eefa;display:flex;align-items:center;gap:10px}
.eyebrow span{width:32px;height:2px;background:var(--cyan)}
.hero h1{
  font-size:clamp(50px,6.1vw,82px);line-height:.98;letter-spacing:-4px;
  margin:20px 0 26px;max-width:720px;
}
.hero h1 em{font-style:normal;color:var(--cyan)}
.hero-copy>p{font-size:19px;color:#bed0dc;max-width:650px;margin:0 0 32px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:54px;padding:0 24px;border-radius:14px;
  font-weight:850;font-size:14px;transition:.25s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--cyan);color:#052131;box-shadow:0 12px 28px rgba(25,200,234,.18)}
.btn-ghost{color:white;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.05)}
.btn-dark{background:var(--navy);color:white}
.btn-white{background:white;color:var(--navy)}
.btn-whatsapp{background:var(--green);color:#052413}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
.trust-row strong,.trust-row span{display:block}
.trust-row strong{font-size:14px;color:#fff}
.trust-row span{font-size:12px;color:#8098a8;margin-top:4px}
.media-card{position:relative;border-radius:34px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12)}
.media-card img{height:580px;object-fit:cover}
.media-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,16,25,.35),transparent 45%)}
.media-badge{
  position:absolute;z-index:2;bottom:22px;left:22px;
  padding:11px 15px;border-radius:999px;background:rgba(5,20,30,.82);
  backdrop-filter:blur(12px);font-weight:800;font-size:12px;
  display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.12)
}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 7px rgba(25,200,234,.12)}

.strip{background:var(--cyan);color:#062332}
.strip-grid{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.strip-grid i{width:5px;height:5px;background:#062332;border-radius:50%}

.section{padding:108px 0}
.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:48px}
.section-kicker{display:block;margin-bottom:14px}
.section-head h2,.about-copy h2,.review-score h2,.video-copy h2,.location-card h2,.cta-inner h2{
  font-size:clamp(34px,4.2vw,56px);line-height:1.06;letter-spacing:-2.4px;margin:0;
}
.section-head p,.about-copy p,.review-score p,.video-copy p{color:var(--muted);margin:0;font-size:16px}

.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{
  border:1px solid var(--line);border-radius:22px;padding:30px;
  background:linear-gradient(180deg,#fff,#fbfdfe);transition:.3s;
}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#c6dce7}
.icon{font-size:12px;font-weight:950;letter-spacing:.12em;color:var(--cyan);margin-bottom:44px}
.service-card h3{font-size:21px;letter-spacing:-.5px;margin:0 0 10px}
.service-card p{margin:0;color:var(--muted);font-size:14px}
.service-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.service-list span{background:var(--soft);border:1px solid #e2edf2;padding:10px 14px;border-radius:999px;font-size:12px;font-weight:800;color:#446070}

.dark-section{background:var(--navy);color:white}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-photo{position:relative}
.about-photo img{height:650px;object-fit:cover;border-radius:30px}
.photo-label{position:absolute;left:22px;bottom:22px;background:white;color:var(--navy);padding:10px 14px;border-radius:999px;font-size:12px;font-weight:900}
.section-kicker.light{color:#88dfef}
.about-copy p{color:#9fb3c1;margin:22px 0}
.about-points{display:grid;gap:13px;margin:30px 0}
.about-points div{display:flex;gap:12px;align-items:flex-start;color:#e8f3f8;font-size:14px}
.about-points b{color:var(--cyan)}
.text-link{display:inline-block;color:var(--cyan);font-weight:900;margin-top:10px}

.reviews-section{background:var(--soft)}
.review-panel{
  background:white;border:1px solid var(--line);border-radius:32px;padding:55px;
  display:flex;align-items:center;justify-content:space-between;gap:60px;box-shadow:var(--shadow)
}
.review-score{max-width:720px}
.stars{color:#f8b922;font-size:24px;letter-spacing:4px;margin:10px 0 18px}
.review-score p{margin-top:18px;max-width:650px}

.gallery{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:260px 260px;gap:16px}
.gallery figure{margin:0;border-radius:22px;overflow:hidden}
.gallery img{height:100%;object-fit:cover;transition:.5s}
.gallery figure:hover img{transform:scale(1.035)}
.gallery-main{grid-row:1 / span 2}
.gallery figure:last-child{grid-column:2 / span 2}
.gallery figure:last-child img{object-position:center 58%}

.video-section{background:#f9fcfd}
.video-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.video-copy p{margin:20px 0 28px}
.video-card{border-radius:30px;overflow:hidden;background:var(--navy);box-shadow:var(--shadow)}
.video-card video{display:block;width:100%;max-height:650px;background:#06131e}

.location-section{padding-bottom:0;background:white}
.location-grid{display:grid;grid-template-columns:.86fr 1.14fr;min-height:600px}
.location-card{
  background:linear-gradient(145deg,#0a1c2a,#10324a);
  color:white;padding:62px;border-radius:30px 0 0 30px;
  display:flex;flex-direction:column;justify-content:center;
}
.location-card .address{color:#bad0dd;font-size:18px;margin:24px 0 34px}
.hours{display:flex;justify-content:space-between;gap:28px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.hours span{font-size:12px;color:#88a2b2;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.hours strong{text-align:right;font-size:14px}
.location-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}
.phone{font-weight:900;color:var(--cyan)}
.location-photo{overflow:hidden;border-radius:0 30px 30px 0}
.location-photo img{height:100%;object-fit:cover}

.cta-section{padding:90px 0;background:var(--navy);color:white;margin-top:108px}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:50px}
.cta-inner h2{max-width:760px}

.footer{background:#04101a;color:#8ca2b0;padding:65px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .8fr;gap:50px}
.footer-grid h4{color:white;margin:0 0 16px}
.footer-grid a,.footer-grid span{display:block;margin:7px 0}
.footer-grid p{max-width:430px;font-size:14px}
.footer-brand{margin-bottom:18px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px}

.floating-whatsapp{
  position:fixed;z-index:900;right:24px;bottom:24px;
  width:58px;height:58px;border-radius:18px;background:var(--green);
  display:grid;place-items:center;color:#082a17;font-weight:1000;
  box-shadow:0 16px 35px rgba(37,211,102,.32);
  transition:.25s
}
.floating-whatsapp:hover{transform:translateY(-3px) scale(1.03)}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .menu-toggle{display:block}
  .nav{
    position:absolute;top:82px;left:20px;right:20px;
    background:#0a1d2b;border:1px solid rgba(255,255,255,.1);
    border-radius:18px;padding:20px;display:none;flex-direction:column;align-items:stretch;gap:8px
  }
  .nav.open{display:flex}
  .nav a{padding:10px}
  .hero-grid,.about-grid,.video-grid,.section-head{grid-template-columns:1fr}
  .hero{padding-top:125px}
  .hero-grid{gap:45px}
  .hero h1{letter-spacing:-2.6px}
  .media-card img{height:480px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .section-head{gap:20px}
  .about-photo img{height:520px}
  .review-panel{align-items:flex-start;flex-direction:column}
  .location-grid{grid-template-columns:1fr}
  .location-card{border-radius:30px 30px 0 0}
  .location-photo{border-radius:0 0 30px 30px;height:430px}
  .cta-inner{align-items:flex-start;flex-direction:column}
}

@media(max-width:680px){
  .container{width:min(100% - 28px,1180px)}
  .nav-wrap{height:72px}
  .nav{top:72px}
  .brand-name{font-size:23px}
  .brand-box{width:44px;height:40px}
  .hero{min-height:auto;padding:115px 0 70px}
  .hero h1{font-size:48px}
  .hero-copy>p{font-size:16px}
  .hero-actions .btn{width:100%}
  .trust-row{grid-template-columns:1fr;gap:14px}
  .media-card img{height:360px}
  .strip-grid{overflow:auto;justify-content:flex-start;min-height:64px}
  .strip-grid span{white-space:nowrap}
  .section{padding:78px 0}
  .section-head h2,.about-copy h2,.review-score h2,.video-copy h2,.location-card h2,.cta-inner h2{font-size:38px;letter-spacing:-1.6px}
  .services-grid{grid-template-columns:1fr}
  .service-card{padding:24px}
  .icon{margin-bottom:28px}
  .about-grid{gap:42px}
  .about-photo img{height:430px}
  .review-panel{padding:30px}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:280px 180px 180px}
  .gallery-main{grid-column:1 / span 2;grid-row:auto}
  .gallery figure:last-child{grid-column:1 / span 2}
  .video-grid{gap:36px}
  .location-card{padding:36px 28px}
  .hours{flex-direction:column}
  .hours strong{text-align:left}
  .cta-section{margin-top:78px;padding:70px 0}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .floating-whatsapp{right:16px;bottom:16px}
}


/* Impressão 3D */
.print3d-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 12%,rgba(25,200,234,.17),transparent 29%),
    linear-gradient(135deg,#061521 0%,#0c2639 55%,#061521 100%);
  color:white;
}
.print3d-section:before{
  content:"3D";
  position:absolute;
  right:-40px;
  top:-145px;
  font-size:390px;
  line-height:1;
  font-weight:1000;
  letter-spacing:-35px;
  color:rgba(255,255,255,.025);
  pointer-events:none;
}
.print3d-hero{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:72px;
  align-items:center;
}
.print3d-photo{
  position:relative;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 34px 75px rgba(0,0,0,.28);
}
.print3d-photo img{
  height:650px;
  object-fit:cover;
  object-position:center top;
}
.print3d-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(5,19,29,.45),transparent 38%);
}
.print3d-chip{
  position:absolute;
  z-index:2;
  left:22px;
  bottom:22px;
  background:rgba(4,18,28,.83);
  border:1px solid rgba(255,255,255,.15);
  backdrop-filter:blur(12px);
  padding:11px 16px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.print3d-copy h2{
  font-size:clamp(38px,4.7vw,64px);
  line-height:1.02;
  letter-spacing:-3px;
  margin:0 0 24px;
}
.print3d-copy p{
  color:#a9bfcc;
  font-size:17px;
  max-width:650px;
  margin:0 0 26px;
}
.print3d-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:32px;
}
.print3d-tags span{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#d8edf5;
  border-radius:999px;
  padding:9px 13px;
  font-size:12px;
  font-weight:800;
}
.print3d-videos{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:42px;
}
.print3d-video-card{
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  overflow:hidden;
}
.print3d-video-head{
  display:flex;
  gap:14px;
  align-items:center;
  padding:20px 22px;
}
.print3d-video-head>span{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--cyan);
  color:#052131;
  font-size:11px;
  font-weight:1000;
}
.print3d-video-head strong,
.print3d-video-head small{
  display:block;
}
.print3d-video-head strong{
  color:#fff;
  font-size:15px;
}
.print3d-video-head small{
  color:#819bab;
  margin-top:2px;
}
.print3d-video-card video{
  display:block;
  width:100%;
  height:390px;
  object-fit:contain;
  background:#020a10;
}

.print3d-portfolio{
  margin-top:56px;
}
.portfolio-head{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:40px;
  align-items:end;
  margin-bottom:26px;
}
.portfolio-head h3{
  margin:0;
  font-size:clamp(28px,3vw,42px);
  line-height:1.08;
  letter-spacing:-1.4px;
}
.portfolio-head p{
  margin:0;
  color:#9db6c5;
}
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.portfolio-card{
  margin:0;
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 42px rgba(0,0,0,.15);
}
.portfolio-card img{
  height:320px;
  object-fit:cover;
}
.portfolio-card figcaption{
  padding:16px 16px 18px;
}
.portfolio-card strong,
.portfolio-card span{
  display:block;
}
.portfolio-card strong{
  color:#fff;
  font-size:15px;
}
.portfolio-card span{
  color:#8eabba;
  font-size:13px;
  margin-top:4px;
}

@media(max-width:980px){
  .print3d-hero{grid-template-columns:1fr;gap:45px}
  .print3d-photo img{height:560px}
  .portfolio-head{grid-template-columns:1fr;gap:16px}
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:680px){
  .print3d-copy h2{font-size:39px;letter-spacing:-1.8px}
  .print3d-photo img{height:500px}
  .print3d-videos{grid-template-columns:1fr}
  .print3d-video-card video{height:auto;max-height:560px}
  .portfolio-grid{grid-template-columns:1fr}
  .portfolio-card img{height:280px}
}


/* V4 — bloco comercial exclusivo de impressão 3D */
.print3d-price-note{
  margin-top:18px!important;
  padding:18px 20px;
  border:1px solid rgba(25,200,234,.28);
  background:rgba(25,200,234,.08);
  border-radius:18px;
  color:#d8edf5!important;
}
.print3d-price-note strong{color:var(--cyan)}
.print3d-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.print3d-small{font-size:12px;color:#829eae;font-weight:700}
.print3d-how{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:46px;
}
.print3d-how article{
  padding:26px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.05);
}
.print3d-how article>span{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:var(--cyan);
  color:#052131;
  font-size:11px;
  font-weight:1000;
  margin-bottom:20px;
}
.print3d-how h3{margin:0 0 8px;font-size:19px;color:#fff}
.print3d-how p{margin:0;color:#8da8b8;font-size:14px}
.portfolio-disclaimer{
  margin-top:18px;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  color:#7f9bab;
  font-size:12px;
}
.print3d-final-cta{
  margin-top:34px;
  padding:30px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg,rgba(255,255,255,.07),rgba(25,200,234,.08));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.print3d-final-cta h3{
  margin:0 0 8px;
  font-size:clamp(26px,3vw,38px);
  line-height:1.05;
  letter-spacing:-1.4px;
}
.print3d-final-cta p{margin:0;color:#8ca8b8}

@media(max-width:980px){
  .print3d-how{grid-template-columns:1fr}
  .print3d-final-cta{align-items:flex-start;flex-direction:column}
}
@media(max-width:680px){
  .print3d-actions .btn{width:100%}
  .print3d-final-cta .btn{width:100%}
}

/* =========================================================
   V5 — EXPERIÊNCIA VISUAL / MOVIMENTO / CONVERSÃO WHATSAPP
   ========================================================= */

body{
  position:relative;
  overflow-x:hidden;
  background:#eef8fc;
}
main,footer{position:relative;z-index:2}

/* Fundo vivo em todo o site */
.site-ambient{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:
    linear-gradient(120deg,rgba(240,250,255,.92),rgba(224,244,250,.76) 45%,rgba(246,250,255,.94));
}
.ambient-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(18px);
  opacity:.34;
  will-change:transform;
}
.orb-one{
  width:440px;height:440px;
  left:-140px;top:12%;
  background:radial-gradient(circle,#19c8ea 0%,rgba(25,200,234,.18) 45%,transparent 72%);
  animation:ambientFloatOne 16s ease-in-out infinite alternate;
}
.orb-two{
  width:560px;height:560px;
  right:-220px;top:38%;
  background:radial-gradient(circle,#315bd6 0%,rgba(49,91,214,.13) 45%,transparent 72%);
  animation:ambientFloatTwo 20s ease-in-out infinite alternate;
}
.orb-three{
  width:380px;height:380px;
  left:38%;bottom:-170px;
  background:radial-gradient(circle,#64e4f6 0%,rgba(100,228,246,.15) 45%,transparent 72%);
  animation:ambientFloatThree 18s ease-in-out infinite alternate;
}
.ambient-grid{
  position:absolute;inset:-80px;
  opacity:.22;
  background-image:
    linear-gradient(rgba(7,21,34,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,21,34,.075) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:linear-gradient(to bottom,transparent 0%,black 18%,black 82%,transparent 100%);
  animation:gridDrift 22s linear infinite;
}
@keyframes ambientFloatOne{to{transform:translate(180px,110px) scale(1.15)}}
@keyframes ambientFloatTwo{to{transform:translate(-190px,-90px) scale(.9)}}
@keyframes ambientFloatThree{to{transform:translate(130px,-150px) scale(1.12)}}
@keyframes gridDrift{to{transform:translate3d(58px,58px,0)}}

/* Áreas claras deixam de parecer uma folha branca */
#servicos,
.reviews-section,
.video-section,
.location-section{
  position:relative;
  isolation:isolate;
  background:rgba(248,253,255,.72) !important;
  backdrop-filter:blur(6px);
}
#servicos:before,
.video-section:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 24%,rgba(25,200,234,.10),transparent 26%),
    radial-gradient(circle at 88% 72%,rgba(17,68,110,.08),transparent 28%);
}
#servicos:after{
  content:"";
  position:absolute;
  width:520px;height:520px;
  right:-250px;top:120px;
  border:1px solid rgba(25,200,234,.18);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(25,200,234,.035),0 0 0 110px rgba(25,200,234,.02);
  z-index:-1;
  animation:ringBreath 6s ease-in-out infinite;
}
@keyframes ringBreath{50%{transform:scale(1.08);opacity:.55}}

/* Títulos com mais impacto, sem piscar agressivamente */
.section-head h2,
.about-copy h2,
.review-score h2,
.video-copy h2,
.location-card h2,
.cta-inner h2,
.print3d-copy h2,
.portfolio-head h3{
  position:relative;
}
.section-head h2:after,
.video-copy h2:after,
.review-score h2:after{
  content:"";
  display:block;
  width:86px;height:5px;
  margin-top:18px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--cyan),#3377ff,var(--cyan));
  background-size:200% 100%;
  box-shadow:0 0 20px rgba(25,200,234,.33);
  animation:shineLine 2.8s linear infinite;
}
@keyframes shineLine{to{background-position:200% 0}}

.title-accent{
  color:#087c9a;
  background:linear-gradient(90deg,#087c9a,#11bddf,#2d63d7,#087c9a);
  background-size:260% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:textShimmer 4s linear infinite;
}
.title-accent-light,
.neon-word{
  color:var(--cyan);
  background:linear-gradient(90deg,#40dff3,#fff,#19c8ea,#6b8cff,#40dff3);
  background-size:280% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 13px rgba(25,200,234,.27));
  animation:textShimmer 3.2s linear infinite,titleGlow 2.3s ease-in-out infinite alternate;
}
@keyframes textShimmer{to{background-position:280% 0}}
@keyframes titleGlow{to{filter:drop-shadow(0 0 22px rgba(25,200,234,.62))}}

/* Hero mais cinematográfico */
.hero{
  background:#06131f;
}
.hero-bg{
  background:
    radial-gradient(circle at 78% 24%,rgba(25,200,234,.27),transparent 31%),
    radial-gradient(circle at 22% 86%,rgba(53,94,217,.23),transparent 34%),
    linear-gradient(118deg,#04101a 0%,#0a2234 48%,#071725 100%);
  animation:heroBreath 8s ease-in-out infinite alternate;
}
@keyframes heroBreath{to{filter:saturate(1.22) brightness(1.08)}}
.hero-bg:before{
  content:"";
  position:absolute;
  width:760px;height:760px;
  right:-180px;top:-250px;
  border-radius:50%;
  border:1px solid rgba(80,224,247,.14);
  box-shadow:0 0 0 85px rgba(80,224,247,.025),0 0 0 170px rgba(80,224,247,.018);
  animation:techOrbit 14s linear infinite;
}
@keyframes techOrbit{to{transform:rotate(360deg)}}
.hero-copy{position:relative;z-index:5}
.hero h1{max-width:760px;text-shadow:0 12px 40px rgba(0,0,0,.28)}
.neon-word{display:inline-block}

/* Botão principal do WhatsApp: bem maior e impossível de passar despercebido */
.btn-whatsapp-hero{
  position:relative;
  min-height:72px;
  padding:0 30px 0 18px;
  gap:14px;
  border-radius:20px;
  background:linear-gradient(135deg,#19d66b,#35ed7e);
  color:#032613;
  font-size:15px;
  font-weight:1000;
  letter-spacing:.015em;
  box-shadow:0 18px 42px rgba(37,211,102,.30),0 0 0 1px rgba(255,255,255,.22) inset;
  overflow:visible;
  isolation:isolate;
}
.btn-whatsapp-hero:before,
.btn-whatsapp-large:before{
  content:"";
  position:absolute;
  inset:-7px;
  border:2px solid rgba(45,239,126,.42);
  border-radius:inherit;
  z-index:-1;
  animation:waRing 1.9s ease-out infinite;
}
.btn-whatsapp-hero:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.55) 45%,transparent 65%);
  transform:translateX(-130%);
  animation:buttonSweep 3.1s ease-in-out infinite;
}
.btn-whatsapp-hero small{
  display:block;
  font-size:10px;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:.13em;
  opacity:.68;
  margin-bottom:3px;
}
.wa-icon,
.floating-wa-icon{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  font-weight:1000;
}
.wa-icon{
  width:42px;height:42px;
  background:#fff;
  color:#14a952;
  box-shadow:0 7px 17px rgba(0,0,0,.13);
}
@keyframes waRing{0%{transform:scale(.95);opacity:.72}75%,100%{transform:scale(1.16);opacity:0}}
@keyframes buttonSweep{0%,38%{transform:translateX(-130%)}65%,100%{transform:translateX(130%)}}

/* Celular flutuante + cartão técnico */
.hero-visual-stage{
  position:relative;
  min-height:610px;
  perspective:1200px;
}
.tech-halo{
  position:absolute;
  width:450px;height:450px;
  right:2%;top:10%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,200,234,.25),rgba(25,200,234,.06) 44%,transparent 68%);
  filter:blur(2px);
  animation:haloPulse 4s ease-in-out infinite;
}
@keyframes haloPulse{50%{transform:scale(1.12);opacity:.72}}
.hero-lab-card{
  position:absolute;
  width:74%;
  left:0;bottom:0;
  transform:rotateY(7deg) rotateZ(-2deg);
  opacity:.90;
}
.hero-lab-card img{height:410px}
.floating-phone{
  position:absolute;
  z-index:7;
  right:2%;top:3%;
  width:270px;
  height:545px;
  padding:12px;
  border-radius:48px;
  background:linear-gradient(145deg,#152b3d,#02080e 66%);
  border:1px solid rgba(255,255,255,.25);
  box-shadow:0 38px 70px rgba(0,0,0,.48),0 0 45px rgba(25,200,234,.17),inset 0 0 0 2px rgba(255,255,255,.05);
  transform:rotate(5deg);
  animation:phoneFloat 4.6s ease-in-out infinite;
}
.phone-speaker{
  position:absolute;z-index:9;
  width:82px;height:22px;
  top:18px;left:50%;transform:translateX(-50%);
  border-radius:99px;
  background:#03080c;
}
.phone-screen{
  position:relative;
  height:100%;
  border-radius:38px;
  overflow:hidden;
  background:#071522;
}
.phone-screen img{width:100%;height:100%;object-fit:cover}
.phone-glass{
  position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(255,255,255,.20),transparent 21%,transparent 67%,rgba(255,255,255,.08));
  pointer-events:none;
}
@keyframes phoneFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(5deg)}
  50%{transform:translate3d(-8px,-22px,0) rotate(2deg)}
}
.hero-mini-cta{
  position:absolute;
  z-index:8;
  right:-20px;bottom:70px;
  display:flex;align-items:center;gap:8px;
  padding:12px 16px;
  background:rgba(7,21,34,.82);
  color:white;
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(14px);
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 14px 30px rgba(0,0,0,.24);
  animation:miniCtaFloat 3.5s ease-in-out infinite;
}
.hero-mini-cta span{color:#27df70;text-shadow:0 0 13px #27df70}
@keyframes miniCtaFloat{50%{transform:translateY(-10px)}}

/* Cards mais vivos */
.service-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(239,249,253,.80));
  backdrop-filter:blur(10px);
  box-shadow:0 10px 28px rgba(13,55,78,.055);
}
.service-card:before{
  content:"";
  position:absolute;
  width:130px;height:130px;
  right:-70px;top:-75px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,200,234,.18),transparent 69%);
  transition:.35s ease;
}
.service-card:hover:before{transform:scale(2.2)}
.service-card:hover{box-shadow:0 24px 60px rgba(5,63,92,.16),0 0 0 1px rgba(25,200,234,.17) inset}

/* CTA final ainda maior */
.cta-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 50%,rgba(25,200,234,.25),transparent 26%),
    linear-gradient(120deg,#04101a,#0b2b42 62%,#06141f);
}
.cta-section:before{
  content:"";
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:52px 52px;
  animation:gridDrift 18s linear infinite;
}
.cta-inner{position:relative;z-index:2}
.btn-whatsapp-large{
  position:relative;
  min-height:70px;
  min-width:300px;
  gap:11px;
  font-size:15px;
  border-radius:18px;
  box-shadow:0 18px 45px rgba(37,211,102,.32);
}

/* WhatsApp fixo com legenda */
.floating-whatsapp{
  position:fixed;
  z-index:950;
  right:24px;
  bottom:24px;
  width:auto;
  height:64px;
  padding:0 19px 0 8px;
  border-radius:999px;
  background:linear-gradient(135deg,#19d66b,#32ea7a);
  display:flex;
  align-items:center;
  gap:10px;
  color:#052713;
  box-shadow:0 18px 42px rgba(37,211,102,.33),0 0 0 1px rgba(255,255,255,.35) inset;
  animation:floatingWaPulse 2.8s ease-in-out infinite;
}
.floating-wa-icon{
  width:48px;height:48px;
  background:white;color:#16a653;
}
.floating-wa-label{font-size:13px;font-weight:1000;white-space:nowrap}
@keyframes floatingWaPulse{50%{box-shadow:0 22px 48px rgba(37,211,102,.48),0 0 0 7px rgba(37,211,102,.08)}}

/* Bolha interativa que acompanha o mouse */
.cursor-glow{
  position:fixed;
  z-index:60;
  left:0;top:0;
  width:54px;height:54px;
  border:1.5px solid rgba(25,200,234,.58);
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%);
  box-shadow:0 0 0 9px rgba(25,200,234,.055),0 0 34px rgba(25,200,234,.28);
  background:radial-gradient(circle,rgba(255,255,255,.18),rgba(25,200,234,.08) 42%,transparent 70%);
  opacity:0;
  transition:width .18s ease,height .18s ease,border-color .18s ease,opacity .18s ease,background .18s ease;
  backdrop-filter:blur(1.5px);
}
.cursor-glow.visible{opacity:1}
.cursor-glow.is-hovering{
  width:82px;height:82px;
  border-color:rgba(37,211,102,.72);
  background:radial-gradient(circle,rgba(37,211,102,.18),rgba(25,200,234,.06) 45%,transparent 72%);
  box-shadow:0 0 0 12px rgba(37,211,102,.055),0 0 42px rgba(37,211,102,.25);
}

/* Acessibilidade e responsividade */
@media(max-width:980px){
  .hero-visual-stage{min-height:560px;max-width:650px;margin:auto;width:100%}
  .hero-lab-card{width:72%;left:2%}
  .floating-phone{right:5%;width:245px;height:495px}
  .hero-mini-cta{right:2%;bottom:25px}
}
@media(max-width:680px){
  .cursor-glow{display:none}
  .hero-visual-stage{min-height:500px}
  .hero-lab-card{width:86%;opacity:.72}
  .hero-lab-card img{height:330px}
  .floating-phone{width:205px;height:415px;right:2%;top:8px;border-radius:38px;padding:9px}
  .phone-screen{border-radius:31px}
  .phone-speaker{width:66px;height:18px;top:14px}
  .hero-mini-cta{left:8px;right:auto;bottom:18px;font-size:9px}
  .btn-whatsapp-hero{width:100%;min-height:76px;font-size:13px;padding-right:18px}
  .btn-whatsapp-large{min-width:0;width:100%}
  .floating-whatsapp{height:58px;padding-right:10px;right:12px;bottom:12px}
  .floating-wa-icon{width:44px;height:44px}
  .floating-wa-label{display:none}
  #servicos:after{display:none}
}
@media(hover:none),(pointer:coarse){.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important}
  .cursor-glow{display:none}
}

/* V7 — interação inspirada na referência, mantendo identidade CellCerto */
.hero{
  border-bottom-right-radius:96px;
  overflow:hidden;
}
.hero-visual-stage{
  isolation:isolate;
}
.hero-lab-card{
  --lab-x:0px;
  --lab-y:0px;
  --lab-ry:7deg;
  transform:translate3d(var(--lab-x),var(--lab-y),0) rotateY(var(--lab-ry)) rotateZ(-2deg);
  transition:transform .18s ease-out;
}
.tech-halo{
  --halo-x:0px;
  --halo-y:0px;
  transform:translate3d(var(--halo-x),var(--halo-y),0);
  transition:transform .22s ease-out;
}
.floating-phone{
  --phone-x:0px;
  --phone-y:0px;
  --phone-rx:0deg;
  --phone-ry:0deg;
  transform-style:preserve-3d;
  will-change:transform;
  animation:phoneFloatParallax 4.6s ease-in-out infinite;
}
@keyframes phoneFloatParallax{
  0%,100%{
    transform:translate3d(var(--phone-x),var(--phone-y),0) rotateX(var(--phone-rx)) rotateY(var(--phone-ry)) rotateZ(5deg);
  }
  50%{
    transform:translate3d(calc(var(--phone-x) - 8px),calc(var(--phone-y) - 22px),0) rotateX(var(--phone-rx)) rotateY(var(--phone-ry)) rotateZ(2deg);
  }
}

/* cartão de atendimento semelhante em função, mas com a identidade da CellCerto */
.hero-chat-card{
  position:absolute;
  z-index:10;
  left:-18px;
  bottom:26px;
  width:250px;
  border-radius:18px;
  overflow:hidden;
  background:rgba(245,255,249,.97);
  color:#0a2c1a;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 22px 50px rgba(0,0,0,.28),0 0 28px rgba(37,211,102,.13);
  backdrop-filter:blur(14px);
  animation:chatFloat 4.2s ease-in-out infinite;
}
.hero-chat-top{
  display:flex;
  gap:11px;
  align-items:center;
  padding:13px 14px;
  background:linear-gradient(135deg,#087a51,#0f9d67);
  color:white;
}
.hero-chat-avatar{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  background:white;
  box-shadow:0 6px 14px rgba(0,0,0,.15);
}
.hero-chat-avatar img{width:25px;height:25px}
.hero-chat-top strong,.hero-chat-top small{display:block;line-height:1.15}
.hero-chat-top strong{font-size:12px}
.hero-chat-top small{font-size:9px;margin-top:4px;color:#d7ffe7}
.hero-chat-top small i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#50f18b;margin-right:5px;box-shadow:0 0 10px #50f18b}
.hero-chat-body{padding:13px 14px 14px}
.hero-chat-body span{display:block;font-size:11px;color:#31523f;background:#dff9e8;border-radius:11px;padding:9px 10px;margin-bottom:10px}
.hero-chat-body b{display:block;font-size:11px;color:#087a51}
@keyframes chatFloat{50%{transform:translateY(-9px) rotate(-1deg)}}

/* mantém a pílula menor como reforço, deslocada para não competir com o cartão */
.hero-mini-cta{right:-18px;bottom:48px}

/* cursor com duas camadas para ficar mais parecido com a bolha vista no vídeo */
.cursor-trail{
  position:fixed;
  z-index:59;
  left:0;top:0;
  width:26px;height:26px;
  border-radius:50%;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(25,200,234,.28),rgba(25,200,234,.05) 58%,transparent 72%);
  filter:blur(1px);
  transition:opacity .2s ease;
}
.cursor-trail.visible{opacity:.9}
.cursor-glow{
  box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 0 24px rgba(25,200,234,.13);
}
.cursor-glow:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:5px;height:5px;
  border-radius:50%;
  background:#19c8ea;
  box-shadow:0 0 13px #19c8ea;
  transform:translate(-50%,-50%);
}

/* transições de seção mais marcantes, como na referência */
#servicos{
  border-top-left-radius:0;
  border-bottom-right-radius:72px;
  overflow:hidden;
}
.reviews-section{
  border-top-left-radius:82px;
  border-bottom-right-radius:82px;
  overflow:hidden;
}
.dark-section{
  border-top-right-radius:72px;
  border-bottom-left-radius:72px;
  overflow:hidden;
}

/* brilho discreto sob cards: mesmo papel do neon vermelho da referência, mas em ciano */
.service-card:after{
  content:"";
  position:absolute;
  left:18%;right:18%;bottom:-2px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,#19c8ea,#5c7cff,transparent);
  box-shadow:0 0 18px rgba(25,200,234,.48);
  opacity:.62;
  transition:.3s ease;
}
.service-card:hover:after{left:8%;right:8%;opacity:1}

@media(max-width:980px){
  .hero{border-bottom-right-radius:58px}
  .hero-chat-card{left:8px;bottom:15px;width:225px}
  .hero-mini-cta{right:4px;bottom:42px}
  .reviews-section{border-radius:54px 0 54px 0}
  .dark-section{border-radius:0}
}
@media(max-width:680px){
  .hero{border-bottom-right-radius:38px}
  .hero-chat-card{position:relative;left:auto;bottom:auto;width:100%;margin-top:18px;animation:none}
  .hero-mini-cta{display:none}
  .cursor-trail{display:none}
  #servicos,.reviews-section,.dark-section{border-radius:0}
}
@media(hover:none),(pointer:coarse){.cursor-trail{display:none}}


/* =========================================================
   V8 — ajustes pedidos: rastro mais forte, celular mais legível,
   destaque para serviços e fundo com bolhas animadas
   ========================================================= */

.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(25,200,234,.16),rgba(255,255,255,.92));
  border:1px solid rgba(25,200,234,.26);
  box-shadow:0 10px 24px rgba(25,200,234,.10), inset 0 0 0 1px rgba(255,255,255,.28);
  position:relative;
  overflow:hidden;
}
.section-kicker:before{
  content:"";
  width:10px;height:10px;border-radius:50%;
  background:linear-gradient(135deg,#19c8ea,#25d366);
  box-shadow:0 0 0 6px rgba(25,200,234,.12);
}
.section-kicker:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 18%,rgba(255,255,255,.55) 45%,transparent 68%);
  transform:translateX(-125%);
  animation:kickerSweep 4.8s ease-in-out infinite;
}
@keyframes kickerSweep{0%,30%{transform:translateX(-125%)}55%,100%{transform:translateX(130%)}}
.section-kicker.light{
  background:linear-gradient(135deg,rgba(25,200,234,.18),rgba(9,38,58,.75));
  color:#dffcff;
  border-color:rgba(128,223,239,.22);
}
.ambient-bubbles{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.ambient-bubble{
  position:absolute;
  left:var(--left,50%);
  bottom:-120px;
  width:var(--size,48px);
  height:var(--size,48px);
  border-radius:50%;
  border:1px solid rgba(255,255,255,.45);
  background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.55),rgba(100,228,246,.22) 38%,rgba(25,200,234,.07) 66%,transparent 72%);
  box-shadow:inset -8px -12px 20px rgba(255,255,255,.16),0 0 26px rgba(25,200,234,.16);
  animation:var(--motion, bubbleRise) var(--duration,16s) linear infinite;
  animation-delay:var(--delay,0s);
  opacity:.75;
}
.ambient-bubble:before{
  content:"";
  position:absolute;
  inset:12%;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
}
.ambient-bubble:after{
  content:"";
  position:absolute;
  width:28%;height:28%;
  top:17%;left:18%;
  border-radius:50%;
  background:rgba(255,255,255,.34);
  filter:blur(1px);
}
.ambient-bubble.is-pop{animation-name:bubbleRisePop}
.ambient-bubble.is-fall{top:-120px;bottom:auto;animation-name:bubbleFallPop}
@keyframes bubbleRise{
  0%{transform:translate3d(0,0,0) scale(.82);opacity:0}
  12%{opacity:.72}
  76%{transform:translate3d(var(--drift,0px),var(--travel,-940px),0) scale(1.05);opacity:.72}
  100%{transform:translate3d(var(--drift,0px),var(--travel,-940px),0) scale(.18);opacity:0}
}
@keyframes bubbleRisePop{
  0%{transform:translate3d(0,0,0) scale(.78);opacity:0}
  16%{opacity:.78}
  74%{transform:translate3d(var(--drift,0px),var(--travel,-860px),0) scale(1.06);opacity:.84}
  84%{transform:translate3d(var(--drift,0px),var(--travel,-860px),0) scale(1.3);opacity:.88}
  100%{transform:translate3d(var(--drift,0px),var(--travel,-860px),0) scale(.1);opacity:0}
}
@keyframes bubbleFallPop{
  0%{transform:translate3d(0,0,0) scale(.82);opacity:0}
  14%{opacity:.68}
  72%{transform:translate3d(var(--drift,0px),var(--travel,860px),0) scale(1.02);opacity:.76}
  84%{transform:translate3d(var(--drift,0px),var(--travel,860px),0) scale(1.26);opacity:.82}
  100%{transform:translate3d(var(--drift,0px),var(--travel,860px),0) scale(.12);opacity:0}
}
.phone-screen{
  display:flex;
  align-items:stretch;
  justify-content:center;
}
.phone-screen-bg{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(.42) saturate(1.1) blur(.4px);
  transform:scale(1.05);
}
.phone-content{
  position:absolute;
  inset:34px 14px 18px;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px;
  border-radius:30px;
  background:linear-gradient(180deg,rgba(6,18,28,.38),rgba(7,17,26,.18) 34%,rgba(6,18,28,.44));
  backdrop-filter:blur(4px);
}
.phone-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  color:#e5fbff;
  font-size:11px;
  font-weight:800;
}
.phone-online{display:inline-flex;align-items:center;gap:7px;color:#c5ffe0}
.phone-online i{
  width:9px;height:9px;border-radius:50%;background:#39e27c;display:inline-block;
  box-shadow:0 0 0 6px rgba(57,226,124,.15),0 0 16px rgba(57,226,124,.35);
  animation:statusBlink 1.8s ease-in-out infinite;
}
@keyframes statusBlink{50%{transform:scale(1.18);box-shadow:0 0 0 8px rgba(57,226,124,.10),0 0 18px rgba(57,226,124,.45)}}
.phone-copy-card{
  padding:16px;
  border-radius:22px;
  background:linear-gradient(155deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.16);
  color:#fff;
  box-shadow:0 14px 24px rgba(0,0,0,.18);
}
.phone-copy-card small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8eefff;margin-bottom:7px;font-weight:900}
.phone-copy-card h3{margin:0 0 7px;font-size:22px;line-height:1.02;letter-spacing:-1px}
.phone-copy-card p{margin:0;color:#cde4ee;font-size:12px;line-height:1.45}
.phone-repair-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.phone-repair-list span{
  min-height:48px;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  padding:10px 8px;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-size:11px;
  font-weight:850;
  line-height:1.2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.phone-cta-strip{
  margin-top:auto;
  padding:14px 16px;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(37,211,102,.95),rgba(25,200,234,.92));
  color:#032617;
  box-shadow:0 12px 26px rgba(25,200,234,.18),0 16px 30px rgba(37,211,102,.18);
}
.phone-cta-strip b{display:block;font-size:14px;line-height:1.1}
.phone-cta-strip small{display:block;font-size:11px;opacity:.82;margin-top:4px;font-weight:800}
.repair-highlight{
  margin-top:30px;
  padding:30px;
  border-radius:30px;
  background:linear-gradient(140deg,rgba(7,21,34,.98),rgba(16,50,74,.94));
  color:#fff;
  box-shadow:0 26px 60px rgba(7,21,34,.18);
  position:relative;
  overflow:hidden;
}
.repair-highlight:before{
  content:"";
  position:absolute;
  width:320px;height:320px;
  right:-120px;top:-80px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,200,234,.34),rgba(25,200,234,.06) 42%,transparent 68%);
}
.repair-highlight-head{position:relative;z-index:1;margin-bottom:22px}
.repair-highlight-badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 16px;border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.15);
  font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#95f2ff
}
.repair-highlight-badge:before{
  content:"";width:11px;height:11px;border-radius:50%;background:#25d366;box-shadow:0 0 0 6px rgba(37,211,102,.16)
}
.repair-highlight h3{margin:18px 0 10px;font-size:clamp(26px,3vw,40px);line-height:1.04;letter-spacing:-1.2px}
.repair-highlight p{margin:0;color:#bad4df;max-width:760px}
.repair-pills{gap:12px;position:relative;z-index:1}
.repair-pills span{
  display:inline-flex;align-items:center;gap:10px;
  min-height:52px;
  padding:12px 16px;
  background:rgba(255,255,255,.1);
  color:#f6feff;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 24px rgba(0,0,0,.12);
  font-size:13px;
}
.repair-pills span b{
  display:inline-grid;place-items:center;
  width:30px;height:30px;border-radius:50%;
  background:rgba(255,255,255,.16);
}
.hours-stack strong small{display:block;margin-top:8px;font-size:13px;color:#8eefff;font-weight:900}
.cursor-trail{
  width:44px;height:44px;
  background:radial-gradient(circle,rgba(25,200,234,.36),rgba(25,200,234,.12) 48%,transparent 74%);
  filter:blur(.5px);
}
.cursor-trail.visible{opacity:1}
.cursor-glow{
  width:68px;height:68px;
  border-width:2px;
  border-color:rgba(25,200,234,.72);
  background:radial-gradient(circle,rgba(255,255,255,.20),rgba(25,200,234,.14) 44%,transparent 72%);
  box-shadow:0 0 0 14px rgba(25,200,234,.08),0 0 46px rgba(25,200,234,.26),0 0 0 1px rgba(255,255,255,.16) inset;
}
.cursor-glow.is-hovering{
  width:98px;height:98px;
  box-shadow:0 0 0 18px rgba(37,211,102,.08),0 0 58px rgba(37,211,102,.26),0 0 0 1px rgba(255,255,255,.14) inset;
}
.cursor-particle-layer{position:fixed;inset:0;pointer-events:none;z-index:58}
.cursor-spark{
  position:fixed;
  left:0;top:0;
  width:18px;height:18px;
  border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,255,255,.62),rgba(25,200,234,.28) 44%,transparent 74%);
  box-shadow:0 0 26px rgba(25,200,234,.35);
  animation:cursorSpark .75s ease-out forwards;
}
.cursor-spark.alt{
  background:radial-gradient(circle,rgba(255,255,255,.45),rgba(37,211,102,.24) 46%,transparent 74%);
  box-shadow:0 0 24px rgba(37,211,102,.28);
}
@keyframes cursorSpark{
  0%{opacity:.95;transform:translate(-50%,-50%) scale(.65)}
  45%{opacity:.8}
  100%{opacity:0;transform:translate(calc(-50% + var(--spark-x,0px)),calc(-50% + var(--spark-y,-20px))) scale(1.8)}
}
.hero-visual-stage:hover .floating-phone{filter:drop-shadow(0 0 26px rgba(25,200,234,.22))}
@media(max-width:980px){
  .phone-content{inset:30px 12px 14px;padding:12px}
  .phone-copy-card h3{font-size:20px}
  .repair-highlight{padding:24px}
}
@media(max-width:680px){
  .section-kicker{padding:9px 14px;font-size:11px;letter-spacing:.12em}
  .phone-content{inset:24px 9px 12px;gap:10px;padding:10px;border-radius:24px}
  .phone-topbar{font-size:9px}
  .phone-copy-card{padding:12px;border-radius:18px}
  .phone-copy-card h3{font-size:16px}
  .phone-copy-card p{font-size:10px}
  .phone-repair-list{gap:7px}
  .phone-repair-list span{min-height:38px;font-size:9px;padding:8px 6px;border-radius:12px}
  .phone-cta-strip{padding:11px 12px;border-radius:16px}
  .phone-cta-strip b{font-size:11px}
  .phone-cta-strip small{font-size:9px}
  .repair-highlight h3{font-size:28px}
  .repair-pills span{width:100%;justify-content:flex-start}
  .ambient-bubble{opacity:.45}
}
@media(hover:none),(pointer:coarse){
  .cursor-particle-layer{display:none}
}


/* =========================================================
   V9 — avaliações do Google em carrossel chamativo
   ========================================================= */
.review-panel-advanced{
  align-items:stretch;
  gap:34px;
}
.review-google-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.review-google-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:34px;padding:0 14px;border-radius:999px;
  background:linear-gradient(135deg,#fff,#eef7fb);
  border:1px solid #d9e8f1;
  color:#315064;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;
}
.review-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px}
.review-cta-primary{
  position:relative;
  min-height:58px;
  padding:0 24px;
  border-radius:16px;
  box-shadow:0 16px 36px rgba(7,21,34,.16);
}
.review-mini-note{font-size:13px;color:#5d7484;font-weight:700}
.reviews-showcase{display:grid;gap:18px;min-width:0;flex:1}
.reviews-carousel{
  position:relative;
  min-height:350px;
  padding:24px;
  border-radius:28px;
  background:linear-gradient(145deg,#071522,#10324a 64%,#0c2538);
  color:#fff;
  overflow:hidden;
  box-shadow:0 28px 60px rgba(7,21,34,.25);
}
.reviews-carousel:before{
  content:"";position:absolute;
  width:280px;height:280px;right:-120px;top:-70px;border-radius:50%;
  background:radial-gradient(circle,rgba(25,200,234,.28),rgba(25,200,234,.04) 46%,transparent 70%);
}
.reviews-carousel-head{position:relative;z-index:1;display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}
.reviews-carousel-head strong{font-size:18px;letter-spacing:-.4px}
.reviews-carousel-head span{font-size:12px;font-weight:800;color:#8eefff;text-transform:uppercase;letter-spacing:.11em}
.reviews-carousel-viewport{position:relative;min-height:220px}
.review-slide{
  position:absolute;inset:0;
  opacity:0;transform:translateY(16px) scale(.98);
  transition:opacity .55s ease,transform .55s ease;
  padding:22px;border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.review-slide.active{opacity:1;transform:none}
.review-person{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.review-avatar{
  width:52px;height:52px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#19c8ea,#25d366);
  color:#062131;font-weight:1000;font-size:19px;
  box-shadow:0 12px 22px rgba(25,200,234,.18);
}
.review-person strong,.review-person small{display:block;line-height:1.2}
.review-person strong{font-size:16px}
.review-person small{font-size:12px;color:#c7d9e4;margin-top:4px}
.review-stars{color:#ffd35b;letter-spacing:3px;font-size:20px;margin-bottom:12px}
.review-slide p{margin:0;color:#e7f4fa;font-size:15px;line-height:1.7}
.review-dots{display:flex;align-items:center;gap:8px;margin-top:18px;position:relative;z-index:1}
.review-dot{
  width:12px;height:12px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.28);transition:.25s ease;
}
.review-dot.active{transform:scale(1.14);background:#25d366;box-shadow:0 0 0 7px rgba(37,211,102,.12)}
.reviews-link-card{
  display:flex;align-items:center;gap:14px;
  padding:16px 18px;border-radius:20px;
  background:linear-gradient(135deg,#19d66b,#35ed7e);
  color:#032613;
  box-shadow:0 18px 40px rgba(37,211,102,.22);
}
.reviews-link-card span{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:white;color:#18a454;font-size:22px;font-weight:1000;flex:0 0 auto;
}
.reviews-link-card strong,.reviews-link-card small{display:block;line-height:1.2}
.reviews-link-card strong{font-size:16px}
.reviews-link-card small{font-size:12px;opacity:.8;margin-top:4px}
@media(max-width:980px){
  .review-panel-advanced{flex-direction:column}
  .reviews-carousel{min-height:330px}
}
@media(max-width:680px){
  .review-actions{align-items:flex-start;flex-direction:column}
  .reviews-carousel{padding:18px;min-height:360px}
  .review-slide{padding:18px}
  .review-slide p{font-size:14px}
}


/* V9.1 — reforço visual das avaliações reais */
.review-panel-advanced{position:relative;overflow:hidden}
.review-panel-advanced:before{
  content:"6 AVALIAÇÕES REAIS";position:absolute;right:28px;top:26px;
  padding:8px 12px;border-radius:999px;background:#071522;color:#8eefff;
  font-size:10px;font-weight:1000;letter-spacing:.12em;z-index:2
}
.review-slide p{font-size:16px;line-height:1.75}
.review-person strong{font-size:17px}
.review-stars{font-size:22px}
.reviews-link-card{animation:reviewCtaPulse 2.6s ease-in-out infinite}
@keyframes reviewCtaPulse{50%{transform:translateY(-3px);box-shadow:0 22px 46px rgba(37,211,102,.34)}}
@media(max-width:680px){.review-panel-advanced:before{position:static;display:inline-flex;margin:0 0 16px}}


/* V11 — autoplay infinito das avaliações */
.review-autoplay-bar{
  position:relative;
  width:100%;
  height:6px;
  margin-top:18px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.12);
}
.review-autoplay-fill{
  display:block;
  width:0%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#25d366,#19c8ea,#8eefff);
  box-shadow:0 0 18px rgba(37,211,102,.28);
}
.review-autoplay-fill.is-animating{
  animation:reviewProgress 4.6s linear infinite;
}
@keyframes reviewProgress{
  0%{width:0%}
  100%{width:100%}
}
.review-slide{pointer-events:none}
.review-google-badge{box-shadow:0 10px 20px rgba(7,21,34,.08)}


/* =========================================================
   V12 — avaliações em esteira horizontal contínua
   ========================================================= */
.reviews-marquee-section{
  overflow:hidden;
  padding:82px 0 76px;
  background:
    radial-gradient(circle at 12% 18%,rgba(25,200,234,.10),transparent 26%),
    linear-gradient(180deg,rgba(244,251,254,.92),rgba(237,248,252,.86)) !important;
}
.reviews-marquee-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:42px;
  margin-bottom:34px;
}
.reviews-marquee-head>div{max-width:760px}
.reviews-marquee-head h2{
  margin:8px 0 12px;
  font-size:clamp(36px,4vw,54px);
  line-height:1.04;
  letter-spacing:-2.2px;
}
.reviews-marquee-head p{margin:0;color:var(--muted);font-size:16px}
.reviews-marquee-shell{
  width:100%;
  overflow:hidden;
  padding:10px 0 20px;
  position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
}
.reviews-marquee-track{
  width:max-content;
  display:flex;
  gap:18px;
  will-change:transform;
  animation:reviewsMoveLeft 58s linear infinite;
}
.reviews-marquee-group{
  display:flex;
  gap:18px;
  flex-shrink:0;
}
.review-marquee-card{
  width:340px;
  height:270px;
  flex:0 0 340px;
  padding:22px;
  border-radius:24px;
  background:linear-gradient(145deg,#071522,#10324a 72%,#0a2637);
  color:#fff;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 42px rgba(7,21,34,.18);
  position:relative;
  overflow:hidden;
}
.review-marquee-card:before{
  content:"";
  position:absolute;
  width:150px;height:150px;
  right:-65px;top:-65px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(25,200,234,.24),transparent 68%);
}
.review-marquee-card .review-person{position:relative;z-index:1;margin-bottom:10px}
.review-marquee-card .review-avatar{width:44px;height:44px;font-size:16px}
.review-marquee-card .review-person strong{font-size:14px;max-width:230px}
.review-marquee-card .review-person small{font-size:11px}
.review-marquee-card .review-stars{position:relative;z-index:1;font-size:17px;margin:0 0 10px;letter-spacing:2px}
.review-marquee-card p{
  position:relative;z-index:1;
  margin:0;
  color:#e8f4f8;
  font-size:13px;
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp:7;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
@keyframes reviewsMoveLeft{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - 9px),0,0)}
}
.reviews-bottom-cta{
  margin-top:16px;
  min-height:64px;
  padding:14px 18px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(239,250,253,.92));
  border:1px solid rgba(25,200,234,.18);
  box-shadow:0 14px 34px rgba(7,21,34,.07);
}
.reviews-bottom-cta>span{color:#f8b922;letter-spacing:3px;font-size:18px}
.reviews-bottom-cta p{margin:0;font-weight:800;color:#274358}
.reviews-bottom-cta a{font-weight:950;color:#087c9a}
@media(max-width:980px){
  .reviews-marquee-head{align-items:flex-start;flex-direction:column}
  .reviews-marquee-head .review-cta-primary{min-height:54px}
  .reviews-marquee-track{animation-duration:52s}
}
@media(max-width:680px){
  .reviews-marquee-section{padding:68px 0 62px}
  .reviews-marquee-head{margin-bottom:24px;gap:22px}
  .reviews-marquee-head h2{font-size:38px;letter-spacing:-1.7px}
  .reviews-marquee-head .review-cta-primary{width:100%}
  .reviews-marquee-shell{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);
  }
  .reviews-marquee-track{animation-duration:48s}
  .review-marquee-card{width:290px;flex-basis:290px;height:260px;padding:18px;border-radius:20px}
  .review-marquee-card .review-person strong{max-width:190px;font-size:13px}
  .review-marquee-card p{font-size:12.5px;-webkit-line-clamp:8}
  .reviews-bottom-cta{align-items:flex-start;flex-direction:column;gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .reviews-marquee-track{animation-duration:90s !important}
}


/* =========================================================
   V13 — acabamento final: cursor elegante + responsividade + Instagram
   ========================================================= */

/* Cursor desktop: menor, mais nítido e com brilho leve */
.cursor-glow{
  width:42px !important;
  height:42px !important;
  border:1px solid rgba(145,241,255,.78) !important;
  background:radial-gradient(circle,rgba(255,255,255,.12) 0 18%,rgba(25,200,234,.07) 32%,transparent 68%) !important;
  box-shadow:
    0 0 0 5px rgba(25,200,234,.035),
    0 0 22px rgba(25,200,234,.22),
    inset 0 0 0 1px rgba(255,255,255,.08) !important;
  backdrop-filter:none !important;
  transition:width .18s ease,height .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .15s ease,background .18s ease !important;
}
.cursor-glow:before{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:7px;height:7px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:#dffcff;
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 0 9px #19c8ea,0 0 18px rgba(25,200,234,.58);
}
.cursor-glow:after{
  content:"" !important;
  position:absolute;
  inset:6px;
  width:auto !important;height:auto !important;
  left:6px !important;top:6px !important;
  transform:none !important;
  border-radius:50%;
  background:transparent !important;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:none !important;
}
.cursor-glow.is-hovering{
  width:58px !important;
  height:58px !important;
  border-color:rgba(74,235,139,.84) !important;
  background:radial-gradient(circle,rgba(255,255,255,.11) 0 16%,rgba(37,211,102,.08) 35%,transparent 70%) !important;
  box-shadow:0 0 0 7px rgba(37,211,102,.045),0 0 28px rgba(37,211,102,.24) !important;
}
.cursor-trail{
  width:18px !important;
  height:18px !important;
  border:1px solid rgba(25,200,234,.18);
  background:radial-gradient(circle,rgba(142,239,255,.24),rgba(25,200,234,.06) 48%,transparent 72%) !important;
  filter:blur(.2px) !important;
  box-shadow:0 0 15px rgba(25,200,234,.12);
}
.cursor-trail.visible{opacity:.72 !important}
.cursor-spark{
  opacity:.72;
  background:radial-gradient(circle,rgba(225,252,255,.60),rgba(25,200,234,.18) 42%,transparent 74%) !important;
  box-shadow:0 0 12px rgba(25,200,234,.22) !important;
  animation-duration:.55s !important;
}
.cursor-spark.alt{
  background:radial-gradient(circle,rgba(231,255,239,.52),rgba(37,211,102,.15) 44%,transparent 74%) !important;
  box-shadow:0 0 12px rgba(37,211,102,.18) !important;
}

/* Direcionais para Instagram */
.instagram-footer-cta{
  width:max-content;
  max-width:100%;
  display:inline-flex !important;
  align-items:center;
  gap:9px;
  margin:4px 0 10px !important;
  padding:10px 13px;
  border-radius:13px;
  color:#fff !important;
  background:linear-gradient(135deg,#6d36d9,#d72f78 62%,#f08a35);
  box-shadow:0 10px 24px rgba(191,48,123,.18);
  font-weight:850;
  transition:.22s ease;
}
.instagram-footer-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(191,48,123,.28)}
.instagram-footer-cta svg,.floating-ig-icon svg{
  width:22px;height:22px;
  fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  flex:0 0 auto;
}
.floating-instagram{
  position:fixed;
  z-index:949;
  right:24px;
  bottom:98px;
  min-height:54px;
  padding:0 16px 0 7px;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#fff;
  background:linear-gradient(135deg,#6d36d9,#c42b83 56%,#f17b35);
  box-shadow:0 16px 38px rgba(175,43,128,.27),0 0 0 1px rgba(255,255,255,.14) inset;
  transition:.25s ease;
}
.floating-instagram:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 20px 44px rgba(175,43,128,.36)}
.floating-ig-icon{
  width:42px;height:42px;
  border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.96);
  color:#b52c83;
  flex:0 0 auto;
}
.floating-ig-label{font-size:12px;font-weight:950;white-space:nowrap}

/* Regras gerais de adaptação sem mudar a identidade visual */
html{-webkit-text-size-adjust:100%}
body{min-width:0}
img,video{max-width:100%}
.btn,a,button{-webkit-tap-highlight-color:transparent}
.btn{max-width:100%;text-align:center}
.service-card,.portfolio-card,.review-marquee-card,.print3d-video-card{min-width:0}
.hero-copy,.about-copy,.print3d-copy,.video-copy{min-width:0}

/* Notebook / tablet horizontal */
@media(max-width:1120px){
  .nav{gap:18px;font-size:13px}
  .hero-grid{gap:46px}
  .hero h1{font-size:clamp(48px,6vw,70px)}
  .trust-row{gap:15px}
  .footer-grid{gap:34px}
}

/* Tablet e mobile grande */
@media(max-width:980px){
  .container{width:min(100% - 34px,1180px)}
  .nav{max-height:calc(100vh - 102px);overflow:auto;box-shadow:0 22px 50px rgba(0,0,0,.28)}
  .nav a{min-height:44px;display:flex;align-items:center}
  .hero-grid{gap:38px}
  .hero-copy{max-width:760px}
  .hero-visual-stage{max-width:690px;width:100%}
  .services-grid{gap:15px}
  .print3d-hero{gap:36px}
  .print3d-photo img{height:min(560px,68vw)}
  .gallery{gap:12px}
  .location-grid{min-height:0}
  .location-card{padding:48px 44px}
  .cta-inner{gap:30px}
}

/* Telefones */
@media(max-width:680px){
  .container{width:min(100% - 24px,1180px)}
  .header{backdrop-filter:blur(14px)}
  .nav{left:12px;right:12px;padding:14px;border-radius:16px}
  .nav a{padding:10px 12px;border-radius:10px}
  .nav a:hover{background:rgba(255,255,255,.06)}
  .nav-cta{justify-content:center;background:rgba(37,211,102,.12);border-color:rgba(37,211,102,.26)}
  .hero{padding:104px 0 58px}
  .hero h1{font-size:clamp(40px,12vw,50px);line-height:1;letter-spacing:-2.2px}
  .hero-copy>p{font-size:15.5px;line-height:1.65}
  .hero-actions{gap:10px}
  .hero-actions .btn{min-height:56px}
  .btn-whatsapp-hero{min-height:70px !important;border-radius:17px}
  .trust-row{margin-top:38px;padding-top:22px}
  .hero-visual-stage{min-height:520px;max-width:430px}
  .hero-lab-card{width:88%;left:0}
  .hero-lab-card img{height:315px}
  .floating-phone{width:min(205px,51vw);height:410px;right:0}
  .hero-chat-card{margin-top:15px}
  .strip-grid{gap:14px;padding-right:10px;scrollbar-width:none}
  .strip-grid::-webkit-scrollbar{display:none}
  .section{padding:72px 0}
  .section-head{margin-bottom:34px}
  .section-head h2,.about-copy h2,.review-score h2,.video-copy h2,.location-card h2,.cta-inner h2{font-size:clamp(34px,10vw,40px);line-height:1.08}
  .service-card{padding:22px;border-radius:19px}
  .repair-highlight{padding:21px;border-radius:23px}
  .repair-highlight h3{font-size:27px}
  .print3d-section{padding-top:72px}
  .print3d-photo{border-radius:23px}
  .print3d-photo img{height:min(470px,116vw)}
  .print3d-chip{left:14px;right:14px;bottom:14px;text-align:center}
  .print3d-copy h2{font-size:clamp(36px,10.5vw,42px);line-height:1.04}
  .print3d-copy p{font-size:15px}
  .print3d-tags{gap:8px}
  .print3d-how article{padding:22px}
  .print3d-final-cta{padding:23px}
  .about-photo img{height:min(430px,112vw)}
  .gallery{grid-template-rows:250px 160px 160px}
  .video-card{border-radius:22px}
  .location-card{padding:34px 25px}
  .location-card .address{font-size:16px;margin:20px 0 28px}
  .location-actions{gap:14px}
  .location-actions .btn{width:100%}
  .cta-section{margin-top:70px;padding:64px 0}
  .footer{padding:52px 0 22px}
  .footer-grid{gap:32px}
  .reviews-marquee-head h2{font-size:clamp(34px,10vw,39px)}
  .review-marquee-card{width:274px;flex-basis:274px;height:252px;padding:17px}
  .reviews-marquee-track,.reviews-marquee-group{gap:13px}
  .floating-whatsapp{right:10px;bottom:10px;height:54px;padding:0 8px}
  .floating-wa-icon{width:42px;height:42px}
  .floating-instagram{right:10px;bottom:72px;width:54px;height:54px;min-height:54px;padding:0;justify-content:center}
  .floating-ig-icon{width:42px;height:42px}
  .floating-ig-label{display:none}
  .instagram-footer-cta{width:100%;justify-content:center;min-height:46px}
}

/* Telefones menores */
@media(max-width:430px){
  .container{width:min(100% - 20px,1180px)}
  .brand-name{font-size:21px}
  .hero{padding-top:98px}
  .hero h1{font-size:39px}
  .eyebrow{font-size:10px;letter-spacing:.1em}
  .hero-visual-stage{min-height:485px}
  .floating-phone{width:184px;height:372px}
  .phone-content{inset:23px 8px 10px;padding:8px;gap:8px}
  .phone-copy-card h3{font-size:15px}
  .phone-repair-list span{font-size:8.5px;padding:6px 4px}
  .hero-lab-card img{height:285px}
  .section{padding:64px 0}
  .section-kicker{max-width:100%;white-space:normal}
  .service-card h3{font-size:19px}
  .print3d-photo img{height:430px}
  .portfolio-card img{height:250px}
  .review-marquee-card{width:258px;flex-basis:258px;height:250px}
  .review-marquee-card p{font-size:12px}
  .reviews-bottom-cta{padding:14px 15px}
  .footer-bottom{margin-top:34px}
}

/* Cursor e partículas somente onde existe mouse real */
@media(hover:none),(pointer:coarse){
  .cursor-glow,.cursor-trail,.cursor-particle-layer{display:none !important}
}

/* =========================================================
   V15 — mobile compacto com fotos: visual sem excesso de informação
   Desktop permanece completo.
   ========================================================= */
.mobile-only{display:none !important}

@media(max-width:680px){
  /* Mostrar apenas conteúdo criado para a experiência compacta */
  .mobile-only{display:block !important}

  /* Header: navegação curta */
  .nav a[href="#sobre"],
  .nav a[href="#avaliacoes"],
  .nav a[href="#galeria"]{display:none !important}
  .nav{gap:4px}

  /* Hero: decisão rápida, sem cenário pesado */
  .hero{padding:92px 0 34px}
  .hero-grid{display:block}
  .hero-media{display:none !important}
  .eyebrow{margin-bottom:14px}
  .hero h1{font-size:clamp(36px,11vw,44px);line-height:1.02;margin-bottom:14px}
  .hero-copy>p{font-size:14.5px;line-height:1.55;margin-bottom:20px}
  .hero-actions{display:block}
  .hero-actions .btn-ghost{display:none !important}
  .btn-whatsapp-hero{width:100%;min-height:62px !important;padding:12px 14px}
  .btn-whatsapp-hero span:last-child{font-size:13px}
  .btn-whatsapp-hero small{font-size:9px}
  .trust-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;padding-top:16px}
  .trust-row>div:nth-child(2){display:none}
  .trust-row strong{font-size:12px}
  .trust-row span{font-size:10.5px;line-height:1.35}
  .strip{display:none !important}

  /* Serviços: 3 cartões principais + uma linha resumida */
  #servicos{padding:48px 0 42px}
  #servicos .section-head{margin-bottom:20px}
  #servicos .section-head>p{display:none}
  #servicos .section-head h2{font-size:31px;line-height:1.06}
  #servicos .services-grid{display:grid;grid-template-columns:1fr;gap:10px}
  #servicos .service-card{padding:16px 17px;border-radius:16px}
  #servicos .service-card:nth-child(n+4){display:none !important}
  #servicos .service-card .icon{margin-bottom:9px}
  #servicos .service-card h3{font-size:17px;margin-bottom:5px}
  #servicos .service-card p{font-size:12.5px;line-height:1.45}
  .repair-highlight{display:none !important}
  .mobile-services-summary{margin-top:12px;padding:13px 15px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035)}
  .mobile-services-summary strong{display:block;font-size:12px;margin-bottom:5px;color:#eafcff}
  .mobile-services-summary span{display:block;font-size:11px;line-height:1.45;color:#9fb4bf}

  /* Fotos rápidas: mantém o mobile visual sem virar uma galeria pesada */
  .mobile-photo-showcase{padding:8px 0 42px;background:linear-gradient(180deg,rgba(2,18,27,0),rgba(10,31,41,.34))}
  .mobile-photo-head{margin-bottom:15px}
  .mobile-photo-head h2{font-size:27px;line-height:1.08;margin:7px 0 0;max-width:330px}
  .mobile-photo-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 4px 10px 0;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .mobile-photo-track::-webkit-scrollbar{display:none}
  .mobile-photo-card{position:relative;flex:0 0 54%;height:190px;border-radius:18px;overflow:hidden;scroll-snap-align:start;border:1px solid rgba(255,255,255,.10);background:#071823;box-shadow:0 14px 30px rgba(0,0,0,.18)}
  .mobile-photo-card-wide{flex-basis:74%}
  .mobile-photo-card img{width:100%;height:100%;object-fit:cover;display:block}
  .mobile-photo-card:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,rgba(1,8,12,.88));pointer-events:none}
  .mobile-photo-card figcaption{position:absolute;left:13px;bottom:11px;z-index:1;font-size:11px;font-weight:800;letter-spacing:.02em;color:#fff}
  .mobile-photo-hint{font-size:10px;color:#7894a0;margin:1px 0 0}

  /* Impressão 3D: apenas proposta + CTA */
  #impressao3d{padding:44px 0 !important}
  #impressao3d .print3d-hero{display:block}
  #impressao3d .print3d-photo{display:block !important;height:210px;margin-bottom:20px;border-radius:18px;overflow:hidden}
  #impressao3d .print3d-photo img{width:100%;height:100%;object-fit:cover}
  #impressao3d .print3d-chip{font-size:9.5px;left:10px;right:auto;bottom:10px;max-width:calc(100% - 20px)}
  #impressao3d .print3d-copy>p:not(.mobile-3d-summary),
  #impressao3d .print3d-tags,
  #impressao3d .print3d-how,
  #impressao3d .print3d-portfolio,
  #impressao3d .print3d-videos,
  #impressao3d .print3d-final-cta{display:none !important}
  #impressao3d .print3d-copy h2{font-size:31px;line-height:1.06;margin:10px 0 10px}
  .mobile-3d-summary{font-size:13px !important;line-height:1.5 !important;margin:0 0 18px !important;color:#c8dce4 !important}
  #impressao3d .print3d-actions{display:block}
  #impressao3d .print3d-actions .btn{width:100%;min-height:50px}
  #impressao3d .print3d-small{display:none}

  /* Seções institucionais e mídia ficam no desktop */
  #sobre,#galeria,.video-section{display:none !important}

  /* Avaliações: duas provas sociais estáticas e compactas */
  #avaliacoes{padding:46px 0 42px}
  .reviews-marquee-head{margin-bottom:16px}
  .reviews-marquee-head>div>p{display:none}
  .reviews-marquee-head h2{font-size:30px !important;line-height:1.05;margin-top:7px}
  .reviews-marquee-head .review-cta-primary{display:none !important}
  .reviews-marquee-shell{-webkit-mask-image:none !important;mask-image:none !important;overflow:visible}
  .reviews-marquee-track{display:block !important;animation:none !important;transform:none !important;width:auto !important}
  .reviews-marquee-group{display:grid !important;grid-template-columns:1fr;gap:10px !important;width:auto !important}
  .reviews-marquee-group[aria-hidden="true"]{display:none !important}
  .review-marquee-card{display:none !important;width:100% !important;height:auto !important;min-height:0 !important;padding:15px !important;border-radius:16px !important}
  .reviews-marquee-group:first-child .review-marquee-card:nth-child(-n+2){display:block !important}
  .review-marquee-card p{font-size:11.5px !important;line-height:1.45 !important;-webkit-line-clamp:4 !important;margin-top:8px}
  .review-marquee-card .review-person strong{font-size:12px}
  .review-marquee-card .review-person small{font-size:9.5px}
  .reviews-bottom-cta{margin-top:12px;padding:12px 14px;gap:3px}
  .reviews-bottom-cta p{display:none}
  .reviews-bottom-cta a{font-size:11px}

  /* Localização: só informação útil, sem foto */
  #localizacao{padding:44px 0}
  #localizacao .location-grid{display:block}
  #localizacao .location-photo{display:none !important}
  #localizacao .location-card{padding:24px 20px;border-radius:20px}
  #localizacao .location-card h2{font-size:29px}
  #localizacao .address{font-size:13.5px !important;line-height:1.55;margin:14px 0 18px !important}
  #localizacao .hours{margin:0 0 18px}
  #localizacao .hours span{font-size:10px}
  #localizacao .hours strong{font-size:13px;line-height:1.45}
  #localizacao .location-actions{gap:8px}
  #localizacao .location-actions .btn{min-height:46px}
  #localizacao .phone{font-size:13px}

  /* CTA final curta */
  .cta-section{margin-top:0;padding:42px 0}
  .cta-inner{display:block}
  .cta-inner .section-kicker{display:none}
  .cta-inner h2{font-size:29px !important;line-height:1.06;margin-bottom:18px}
  .btn-whatsapp-large{width:100%;min-height:54px}

  /* Rodapé: apenas identidade + Instagram */
  .footer{padding:34px 0 86px}
  .footer-grid{display:block}
  .footer-grid>div:first-child p{font-size:11.5px;line-height:1.5;max-width:300px;margin-top:10px}
  .footer-grid>div:nth-child(2){display:none !important}
  .footer-grid>div:nth-child(3){margin-top:18px}
  .footer-grid>div:nth-child(3)>h4,
  .footer-grid>div:nth-child(3)>span{display:none !important}
  .instagram-footer-cta{width:auto;min-height:42px;padding:8px 12px}
  .footer-bottom{margin-top:22px;padding-top:16px;display:block}
  .footer-bottom span{display:block;font-size:9.5px;line-height:1.5}
  .footer-bottom span+span{margin-top:3px;color:#708692}

  /* Botões flutuantes discretos */
  .floating-whatsapp{right:9px;bottom:9px}
  .floating-instagram{right:9px;bottom:69px}
}

@media(max-width:430px){
  .brand-name{font-size:20px}
  .hero h1{font-size:36px}
  #servicos .section-head h2,#impressao3d .print3d-copy h2,.reviews-marquee-head h2,#localizacao .location-card h2,.cta-inner h2{font-size:28px !important}
}


/* =========================================================
   V16 — mobile leve, mantendo a linguagem visual do desktop
   - mesma hierarquia: hero > serviços > 3D > avaliações > localização > CTA
   - fotos integradas às mesmas seções do desktop
   - menos mídia e animação para reduzir travamentos
   ========================================================= */
@media(max-width:680px){
  /* Menos trabalho de GPU no celular; preserva o fundo e as cores do desktop. */
  .ambient-bubbles,.ambient-grid{display:none !important}
  .ambient-orb{animation:none !important;opacity:.11 !important;filter:blur(62px) !important}
  .reveal{opacity:1 !important;transform:none !important;transition:none !important}

  /* Menu mantém as áreas realmente úteis do site principal. */
  .nav a[href="#avaliacoes"]{display:flex !important}
  .nav a[href="#sobre"],.nav a[href="#galeria"]{display:none !important}

  /* Hero mantém o conceito visual do desktop com uma foto real, sem cenário 3D/telefone animado. */
  .mobile-hero-visual{position:relative;margin:18px 0 0;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.10);background:#071823;box-shadow:0 16px 34px rgba(0,0,0,.22)}
  .mobile-hero-visual img{display:block;width:100%;height:170px;object-fit:cover}
  .mobile-hero-visual:after{content:"";position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(transparent,rgba(1,9,14,.88));pointer-events:none}
  .mobile-hero-visual figcaption{position:absolute;z-index:1;left:13px;bottom:11px;display:flex;align-items:center;gap:7px;color:#fff;font-size:10.5px;font-weight:850;letter-spacing:.02em}
  .mobile-hero-visual .pulse{width:7px;height:7px;border-radius:50%;background:#23e8a7;box-shadow:0 0 0 5px rgba(35,232,167,.12)}
  .trust-row{margin-top:15px}

  /* V15 tinha uma galeria mobile separada. V16 volta a seguir a estrutura do desktop. */
  .mobile-photo-showcase{display:none !important}

  /* Serviços continuam com os cartões originais do desktop, só reduzidos. */
  #servicos .service-card{background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border-color:rgba(115,220,255,.11)}

  /* Impressão 3D mantém a foto/copy do desktop, usando arquivo mobile comprimido. */
  #impressao3d .print3d-photo{height:190px;margin-bottom:18px}
  #impressao3d .print3d-photo picture,#impressao3d .print3d-photo picture img{display:block;width:100%;height:100%}
  #impressao3d .print3d-photo picture img{object-fit:cover}

  /* Localização também conserva a foto do bloco original, em tamanho pequeno. */
  #localizacao .location-grid{display:grid;grid-template-columns:1fr;gap:10px}
  #localizacao .location-photo{display:block !important;height:145px;border-radius:18px;overflow:hidden;order:2}
  #localizacao .location-photo picture,#localizacao .location-photo picture img{display:block;width:100%;height:100%}
  #localizacao .location-photo picture img{object-fit:cover;object-position:center 58%}
  #localizacao .location-card{order:1}

  /* Botões flutuantes menores para não cobrir conteúdo. */
  .floating-whatsapp,.floating-instagram{transform:scale(.88);transform-origin:bottom right}
}

@media(max-width:430px){
  .mobile-hero-visual img{height:155px}
  #impressao3d .print3d-photo{height:175px}
  #localizacao .location-photo{height:132px}
}


/* =========================================================
   V17 — um único vídeo de impressão 3D no mobile
   Mantém preload=none no HTML para não pesar o carregamento.
   ========================================================= */
@media(max-width:680px){
  #impressao3d .print3d-videos{
    display:block !important;
    margin-top:22px !important;
  }
  #impressao3d .print3d-video-card{
    display:none !important;
  }
  #impressao3d .print3d-video-card:first-child{
    display:block !important;
    border-radius:18px !important;
    background:rgba(255,255,255,.055) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    overflow:hidden !important;
  }
  #impressao3d .print3d-video-head{
    display:flex !important;
    padding:14px 15px !important;
    gap:11px !important;
  }
  #impressao3d .print3d-video-head>span{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
    border-radius:10px !important;
  }
  #impressao3d .print3d-video-head strong{
    font-size:13.5px !important;
  }
  #impressao3d .print3d-video-head small{
    font-size:10.5px !important;
    line-height:1.35 !important;
  }
  #impressao3d .print3d-video-card video{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:430px !important;
    object-fit:contain !important;
    background:#020a10 !important;
  }
}


/* =========================================================
   V18 — galeria de trabalhos reais
   ========================================================= */
@media(min-width:681px){
  .work-gallery{grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:245px 245px}
  .work-gallery figure{min-height:0}
  .work-gallery figure:nth-child(5){grid-column:auto}
  .work-gallery figure:nth-child(6){grid-column:2 / span 2}
  .work-gallery img{width:100%;height:100%;object-fit:cover}
}
@media(max-width:680px){
  .mobile-photo-showcase{display:block !important;padding:8px 0 42px;background:linear-gradient(180deg,rgba(2,18,27,0),rgba(10,31,41,.34))}
  .mobile-photo-card{display:block}
}
