/* =====================================================================
   Conde Tech & Home — main.css
   Preto mate · Amarelo premium #FFB700 · Branco · Grafite
   ===================================================================== */

:root {
  /* ---- Paleta normalizada (premium, técnica, escura mas legível) ---- */
  --bg-main:      #08090b;
  --bg-deep:      #050608;
  --bg-surface:   #111217;
  --bg-surface-2: #171821;
  --bg-elevated:  #1d1f2a;

  --brand-yellow:      #ffb700;
  --brand-yellow-soft: #ffd36a;
  --brand-yellow-dark: #c98f00;
  --tech-cyan: #46d9ff;

  --text-main: #f5f5f7;
  --text-muted:#a1a1aa;
  --text-soft: #d4d4d8;

  --border-soft:   rgba(255,255,255,0.08);
  --border-strong: rgba(255,183,0,0.24);

  --success: #22c55e;
  --danger:  #ef4444;
  --warning: #f59e0b;

  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;

  --shadow-soft:   0 20px 60px rgba(0,0,0,0.35);
  --shadow-yellow: 0 0 40px rgba(255,183,0,0.14);

  /* ---- Aliases de compatibilidade (mapeados à nova paleta) ---- */
  --black:      var(--bg-main);
  --black-2:    var(--bg-surface);
  --graphite:   var(--bg-surface-2);
  --graphite-2: var(--bg-elevated);
  --line:       var(--border-soft);
  --yellow:     var(--brand-yellow);
  --yellow-2:   var(--brand-yellow-soft);
  --white:      var(--text-main);
  --grey:       var(--text-soft);
  --grey-2:     var(--text-muted);

  --glow: 0 0 0 1px rgba(255,183,0,.25), 0 0 28px rgba(255,183,0,.18);
  --shadow: var(--shadow-soft);
  --radius: 16px;
  --container: 1200px;
  --ease: cubic-bezier(.22,.61,.36,1);
  --font: 'Manrope', 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* Ajustes finais v2: mantidos no fim para prevalecer sobre o tema legado. */
.hero { min-height:min(860px,calc(100svh - 68px)); padding:88px 0 72px; isolation:isolate; }
.hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#08090b 0%,rgba(8,9,11,.94) 35%,rgba(8,9,11,.52) 62%,rgba(8,9,11,.22) 100%); }
.hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:180px; z-index:1; background:linear-gradient(transparent,var(--bg-main)); }
.hero__media img { opacity:.9; object-position:center; }
.hero__media::after { background:linear-gradient(0deg,rgba(8,9,11,.52),rgba(8,9,11,.12)); }
.hero__inner { max-width:1180px; }
.hero__inner > * { max-width:690px; }
.hero h1 { font-size:clamp(3rem,6.5vw,6rem); letter-spacing:-.065em; max-width:780px; text-wrap:balance; }
.hero-accent { display:block; color:var(--yellow); text-shadow:0 0 45px rgba(255,183,0,.2); }
.hero__sub { font-size:clamp(1.05rem,1.8vw,1.32rem); color:#d6d8dc; }
.hero__trust div { background:rgba(12,14,18,.66); backdrop-filter:blur(12px); }
.section__head h2 { font-size:clamp(2rem,4.2vw,3.5rem); letter-spacing:-.045em; text-wrap:balance; }
@media (max-width:900px) {
  .hero { min-height:auto; padding:70px 0 55px; }
  .hero::before { background:linear-gradient(90deg,rgba(8,9,11,.97),rgba(8,9,11,.77)); }
  .hero__media img { object-position:65% center; opacity:.52; }
}
@media (max-width:620px) {
  .hero { padding:48px 0 42px; }
  .hero h1 { font-size:clamp(2.65rem,14vw,4.15rem); }
  .hero__actions { display:grid; width:100%; }
  .hero__actions .btn { width:100%; justify-content:center; }
}

/* =====================================================================
   Homepage v3 — direção editorial e estruturalmente distinta
   ===================================================================== */
.v3-hero{position:relative;min-height:820px;display:flex;align-items:center;overflow:hidden;background:#07080a;isolation:isolate}
.v3-hero__photo{position:absolute;inset:0 0 0 43%;z-index:-2}.v3-hero__photo img{width:100%;height:100%;object-fit:cover}
.v3-hero__photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07080a 0%,rgba(7,8,10,.48) 30%,rgba(7,8,10,.08) 100%),linear-gradient(0deg,#07080a 0%,transparent 32%)}
.v3-hero__grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;min-height:720px}
.v3-hero__copy{max-width:720px;padding:70px 0}.v3-live{display:inline-flex;align-items:center;gap:10px;color:#c6ccd4;font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;margin-bottom:28px}
.v3-live span{width:8px;height:8px;border-radius:50%;background:#57e389;box-shadow:0 0 0 6px rgba(87,227,137,.09),0 0 22px #57e389}
.v3-hero h1,.v3-heading h2,.v3-split h2,.v3-human h2,.v3-final h2{font-size:clamp(3rem,6.6vw,6.4rem);line-height:.94;letter-spacing:-.07em;text-wrap:balance}
.v3-hero h1 em,.v3-heading h2 em,.v3-split h2 em,.v3-human h2 em,.v3-final h2 em{color:var(--yellow);font-style:normal}
.v3-hero__copy>p{font-size:1.18rem;color:#b8bec8;max-width:610px;margin:28px 0 32px}
.v3-hero__actions{display:flex;gap:12px;flex-wrap:wrap}.v3-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 26px;border-radius:16px;font-weight:850;transition:.3s var(--ease)}.v3-button .icon{width:19px}.v3-button:hover{transform:translateY(-3px)}
.v3-button--primary{background:var(--yellow);color:#171000;box-shadow:0 18px 50px rgba(255,183,0,.22)}.v3-button--glass{border:1px solid rgba(255,255,255,.16);background:rgba(10,12,16,.55);backdrop-filter:blur(16px)}
.v3-proof{display:flex;gap:20px;flex-wrap:wrap;margin-top:28px;color:#969da8;font-size:.82rem;font-weight:700}.v3-proof span{display:flex;align-items:center;gap:7px}.v3-proof .icon{width:15px;color:var(--yellow)}
.v3-float{position:absolute;right:2%;z-index:2;padding:16px 18px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(13,15,19,.72);backdrop-filter:blur(20px);box-shadow:0 22px 60px rgba(0,0,0,.38)}.v3-float--top{top:25%;display:flex;align-items:center;gap:12px}.v3-float--bottom{bottom:18%;right:9%;display:flex;flex-direction:column}.v3-float__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(70,217,255,.12);color:var(--tech-cyan)}.v3-float small{display:block;color:#989faa}.v3-stars{color:var(--yellow);letter-spacing:.12em;font-size:.74rem}
.v3-orb{position:absolute;border-radius:50%;filter:blur(3px);z-index:-1}.v3-orb--one{width:480px;height:480px;left:-340px;top:10%;border:1px solid rgba(70,217,255,.16)}.v3-orb--two{width:620px;height:620px;right:-400px;bottom:-300px;border:1px solid rgba(255,183,0,.18)}
.v3-marquee{overflow:hidden;border-block:1px solid rgba(255,255,255,.08);background:var(--yellow);color:#171000;transform:rotate(-1.2deg) scale(1.02);position:relative;z-index:2}.v3-marquee div{display:flex;width:max-content;gap:28px;padding:13px 0;font-size:.82rem;font-weight:950;letter-spacing:.12em;animation:v3scroll 28s linear infinite}.v3-marquee i{font-style:normal}@keyframes v3scroll{to{transform:translateX(-50%)}}
.v3-section{padding:130px 0;background:#08090b}.v3-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:60px}.v3-heading>div>span,.v3-kicker{display:block;color:var(--tech-cyan);font-size:.76rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;margin-bottom:18px}.v3-heading h2,.v3-split h2,.v3-human h2,.v3-final h2{font-size:clamp(2.8rem,5vw,5.2rem)}.v3-heading>p{max-width:430px;color:#9ba2ad;font-size:1.05rem}
.v3-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:280px;gap:14px}.v3-tile{position:relative;padding:26px;border-radius:26px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,#151821,#0d0f14);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:.35s var(--ease)}.v3-tile--wide{grid-column:span 2}.v3-tile:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-150px;top:-150px;background:var(--tech-cyan);filter:blur(80px);opacity:.06;transition:.35s}.v3-tile:hover{transform:translateY(-8px);border-color:rgba(70,217,255,.32)}.v3-tile:hover:before{opacity:.14}.v3-tile__index{position:absolute;right:22px;top:18px;font-size:.72rem;color:#626976;font-weight:900}.v3-tile__icon{position:absolute;left:26px;top:26px;width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:rgba(255,183,0,.1);color:var(--yellow)}.v3-tile__icon .icon{width:28px}.v3-tile h3{font-size:1.35rem;max-width:80%}.v3-tile__go{position:absolute;right:23px;bottom:23px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#08090b}.v3-tile__go .icon{width:16px}
.v3-split{padding:130px 0;background:#11131a}.v3-split__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.v3-split__visual{position:relative;min-height:570px;display:grid;place-items:center;border-radius:38px;overflow:hidden;background:radial-gradient(circle at center,rgba(70,217,255,.1),transparent 48%),#090b10;border:1px solid rgba(255,255,255,.08)}.v3-rings{position:relative;width:330px;height:330px;display:grid;place-items:center}.v3-rings i{position:absolute;inset:0;border:1px solid rgba(70,217,255,.2);border-radius:50%}.v3-rings i:nth-child(2){inset:48px;border-color:rgba(255,183,0,.25)}.v3-rings i:nth-child(3){inset:98px}.v3-rings span{width:82px;height:82px;display:grid;place-items:center;border-radius:24px;background:var(--yellow);color:#111}.v3-rings .icon{width:40px}.v3-stat{position:absolute;padding:16px 20px;border-radius:16px;background:rgba(24,27,36,.88);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}.v3-stat b{font-size:1.8rem;color:var(--tech-cyan);display:block}.v3-stat small{color:#9ca3af}.v3-stat--a{left:7%;top:10%}.v3-stat--b{right:6%;bottom:10%}
.v3-process{counter-reset:v3step;margin:40px 0;display:grid;gap:0}.v3-process li{counter-increment:v3step;position:relative;padding:22px 0 22px 58px;border-bottom:1px solid rgba(255,255,255,.08)}.v3-process li:before{content:"0" counter(v3step);position:absolute;left:0;top:22px;color:var(--yellow);font-weight:900;font-size:.76rem}.v3-process b{display:block;font-size:1.08rem}.v3-process span{color:#959ca7;font-size:.92rem}.v3-text-link{display:inline-flex;align-items:center;gap:10px;color:var(--yellow);font-weight:900}.v3-text-link .icon{width:17px}
.v3-work-section{background:#07080a}.v3-work-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:300px 300px;gap:14px}.v3-work{position:relative;border-radius:28px;overflow:hidden;background:#151820}.v3-work--main{grid-row:span 2}.v3-work__media,.v3-work__media img{width:100%;height:100%;object-fit:cover}.v3-work__media>.v3-work__placeholder{height:100%;display:grid;place-items:center;color:var(--yellow)}.v3-work__overlay{position:absolute;inset:auto 0 0;padding:70px 26px 24px;background:linear-gradient(transparent,rgba(0,0,0,.88));pointer-events:none}.v3-work__overlay small{color:var(--yellow);text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;font-weight:900}.v3-work__overlay h3{font-size:1.5rem;margin:5px 0}.v3-work__overlay span{color:#bac0c8;font-size:.85rem}
.v3-human{padding:120px 0;background:var(--yellow);color:#151000}.v3-human__inner{display:grid;grid-template-columns:.45fr 1fr .75fr;gap:55px;align-items:center}.v3-human__badge{width:190px;height:190px;border-radius:50%;border:2px solid #151000;display:grid;place-items:center;position:relative}.v3-human__badge span{font-size:3rem;font-weight:950;letter-spacing:-.08em}.v3-human__badge i{position:absolute;width:18px;height:18px;border-radius:50%;background:var(--tech-cyan);right:12px;top:20px;box-shadow:0 0 0 8px rgba(21,16,0,.1)}.v3-human .v3-kicker{color:#493600}.v3-human h2 em{color:#151000}.v3-human p{margin-top:22px;max-width:620px;font-size:1.1rem}.v3-human__quote{border-left:1px solid rgba(21,16,0,.3);padding-left:35px}.v3-human__quote>span{font-size:4rem;line-height:.5}.v3-human__quote p{font-size:1.05rem;margin:15px 0}.v3-human__quote b,.v3-human__quote small{display:block}.v3-human__quote small{opacity:.65}
.v3-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.v3-review{padding:30px;border-radius:24px;background:#13151c;border:1px solid rgba(255,255,255,.08)}.v3-review>div{color:var(--yellow);letter-spacing:.12em}.v3-review>p{font-size:1.08rem;margin:24px 0;color:#d6d9de}.v3-review footer b,.v3-review footer span{display:block}.v3-review footer span{color:#858c97;font-size:.82rem}
.v3-final{padding:70px 0 120px;background:#08090b}.v3-final__inner{text-align:center;padding:90px 35px;border-radius:38px;background:var(--tech-cyan);color:#071014;overflow:hidden;position:relative}.v3-final__inner>span{font-size:.75rem;font-weight:950;text-transform:uppercase;letter-spacing:.15em}.v3-final h2{margin:20px auto;max-width:940px}.v3-final h2 em{color:#071014}.v3-final p{max-width:600px;margin:0 auto 30px}.v3-final__inner>div{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.v3-button--light{background:#fff;color:#071014}.v3-button--dark{background:#071014;color:#fff}
@media(max-width:1100px){.v3-bento{grid-template-columns:repeat(2,1fr)}.v3-tile{min-width:0}.v3-tile h3{font-size:1.2rem;max-width:78%}}
@media(max-width:900px){.v3-hero{min-height:760px}.v3-hero__photo{inset:0}.v3-hero__photo:after{background:linear-gradient(90deg,rgba(7,8,10,.96),rgba(7,8,10,.45)),linear-gradient(0deg,#07080a,transparent 40%)}.v3-hero__grid{grid-template-columns:1fr}.v3-float{display:none}.v3-split__grid{grid-template-columns:1fr;gap:50px}.v3-human__inner{grid-template-columns:1fr}.v3-human__badge{width:130px;height:130px}.v3-human__quote{border-left:0;border-top:1px solid rgba(21,16,0,.3);padding:30px 0 0}.v3-reviews{grid-template-columns:1fr}}
@media(max-width:620px){.v3-hero{min-height:720px}.v3-hero__grid{min-height:650px}.v3-hero__copy{padding:45px 0}.v3-hero h1{font-size:clamp(3.1rem,16vw,4.4rem)}.v3-hero__actions{display:grid}.v3-button{width:100%}.v3-proof{gap:10px;font-size:.72rem}.v3-section,.v3-split{padding:85px 0}.v3-heading{display:block;margin-bottom:35px}.v3-heading>p{margin-top:20px}.v3-bento{grid-template-columns:1fr;grid-auto-rows:210px}.v3-tile--wide{grid-column:auto}.v3-split__visual{min-height:390px}.v3-rings{width:240px;height:240px}.v3-work-grid{display:grid;grid-template-columns:1fr;grid-template-rows:380px 260px 260px}.v3-work--main{grid-row:auto}.v3-human{padding:80px 0}.v3-human__inner{gap:35px}.v3-final{padding:35px 0 90px}.v3-final__inner{padding:65px 22px}.v3-marquee div{padding:10px 0}}

/* Premium polish */
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;z-index:2;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--yellow),var(--tech-cyan));box-shadow:0 0 14px rgba(70,217,255,.5);will-change:transform}
.site-header{background:rgba(7,8,10,.72);border-bottom-color:rgba(255,255,255,.06)}.site-header.is-scrolled{background:rgba(7,8,10,.9)}
.v3-button{position:relative;overflow:hidden}.v3-button:after{content:"";position:absolute;top:-80%;bottom:-80%;width:34px;left:-60px;transform:rotate(20deg);background:rgba(255,255,255,.38);filter:blur(3px);transition:left .65s var(--ease)}.v3-button:hover:after{left:calc(100% + 70px)}
.v3-tile{transform-style:preserve-3d;will-change:transform}.v3-tile:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(70,217,255,.13),transparent 58%);opacity:0;transition:opacity .25s}.v3-tile:hover:after{opacity:1}.v3-tile>*{position:relative;z-index:1}
.v3-rings i:first-child{animation:ringSpin 18s linear infinite;border-style:dashed}.v3-rings i:nth-child(2){animation:ringSpin 12s linear infinite reverse}.v3-rings span{animation:corePulse 3s ease-in-out infinite}@keyframes ringSpin{to{transform:rotate(360deg)}}@keyframes corePulse{50%{transform:scale(1.06);box-shadow:0 0 50px rgba(255,183,0,.26)}}
.v3-work{border:1px solid rgba(255,255,255,.08)}.v3-work__media img{transition:transform .8s var(--ease),filter .8s}.v3-work:hover .v3-work__media img{transform:scale(1.055);filter:saturate(1.08)}
.v3-final__inner:before,.v3-final__inner:after{content:"";position:absolute;border:1px solid rgba(7,16,20,.14);border-radius:50%;width:430px;height:430px}.v3-final__inner:before{left:-260px;top:-250px}.v3-final__inner:after{right:-250px;bottom:-290px}.v3-final__inner>*{position:relative;z-index:1}
.site-footer{position:relative;background:linear-gradient(180deg,#0d0f14,#07080a);border-top:1px solid rgba(70,217,255,.12)}.site-footer:before{content:"";position:absolute;left:50%;top:0;width:min(70%,900px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--tech-cyan),var(--yellow),transparent)}.site-footer__grid{padding-top:75px;padding-bottom:65px}.site-footer__col h3{color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;margin-bottom:22px}.site-footer__list{display:grid;gap:11px}.site-footer__list a,.site-footer__list span{transition:color .2s,transform .2s}.site-footer__list a:hover{color:var(--tech-cyan);transform:translateX(3px)}.site-footer__bottom{background:rgba(0,0,0,.24);border-top:1px solid rgba(255,255,255,.055)}
@media(max-width:620px){.site-footer__grid{padding-top:55px}.v3-tile{transform:none!important}.v3-final__inner:before,.v3-final__inner:after{width:250px;height:250px}}
@media(prefers-reduced-motion:reduce){.v3-rings i,.v3-rings span{animation:none}.v3-button:after{display:none}}

/* =====================================================================
   Sistema responsivo final — 320px a ultrawide
   ===================================================================== */
:where(h1,h2,h3,p,a,span,strong,small){overflow-wrap:break-word}
.v3-tile h3{max-width:none;padding-right:58px;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
.v3-tile>.v3-tile__go{position:absolute;left:auto;right:23px;top:auto;bottom:23px;z-index:3}
.v3-tile>.v3-tile__icon{position:absolute;left:26px;right:auto;top:26px;bottom:auto;z-index:2}
.v3-tile>.v3-tile__index{position:absolute;left:auto;right:22px;top:18px;bottom:auto;z-index:2}

/* Páginas internas com a mesma linguagem premium */
.page-hero{padding:90px 0 76px;background:radial-gradient(700px 300px at 12% 0%,rgba(70,217,255,.09),transparent 70%),radial-gradient(650px 300px at 88% 10%,rgba(255,183,0,.08),transparent 70%),#090a0d;border-bottom:1px solid rgba(255,255,255,.06)}
.page-hero:after{content:"";position:absolute;left:max(16px,calc((100% - var(--container))/2));bottom:0;width:120px;height:2px;background:linear-gradient(90deg,var(--yellow),var(--tech-cyan));box-shadow:0 0 18px rgba(70,217,255,.35)}
.page-hero .breadcrumb{font-size:.73rem;text-transform:uppercase;letter-spacing:.13em;font-weight:850;color:var(--tech-cyan);margin-bottom:20px}
.page-hero h1{font-size:clamp(2.7rem,6vw,5.2rem);letter-spacing:-.06em;max-width:900px}
.page-hero p{font-size:clamp(1rem,1.8vw,1.18rem);max-width:740px;color:#aeb4be}
.service-list{gap:16px}.service-detail{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);padding:30px;border-radius:26px;background:linear-gradient(145deg,#151821,#0d0f14);border-color:rgba(255,255,255,.075)}
.service-detail:hover{border-color:rgba(70,217,255,.24);box-shadow:0 25px 70px rgba(0,0,0,.24)}
.service-detail__head h2{font-size:clamp(1.2rem,2vw,1.55rem)}.service-detail__included{background:rgba(4,6,10,.42);border-color:rgba(70,217,255,.1)}
.form,.info-box,.contact-line{background:linear-gradient(145deg,rgba(23,25,34,.96),rgba(12,14,19,.98));border-color:rgba(255,255,255,.085);box-shadow:0 24px 70px rgba(0,0,0,.18)}
.form{border-radius:28px;padding:clamp(22px,4vw,38px)}
.field input,.field select,.field textarea{background:#0b0d12;border-color:rgba(255,255,255,.1);min-height:52px;border-radius:13px}.field textarea{min-height:140px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--tech-cyan);box-shadow:0 0 0 3px rgba(70,217,255,.09)}
.dropzone{border-color:rgba(70,217,255,.22);background:rgba(70,217,255,.025);border-radius:18px}.dropzone:hover,.dropzone.is-drag{border-color:var(--tech-cyan);background:rgba(70,217,255,.055)}
.contact-line{border-radius:18px}.contact-line__ic{background:rgba(70,217,255,.08);border-color:rgba(70,217,255,.18);color:var(--tech-cyan)}
.faq{border-radius:18px;background:#101219;border-color:rgba(255,255,255,.075)}
.btn:focus-visible,.v3-button:focus-visible,.v3-tile:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--tech-cyan);outline-offset:3px}

@media(max-width:1250px){
  .v3-bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v3-tile--wide{grid-column:span 1}
  .v3-tile h3{font-size:clamp(1.15rem,2.4vw,1.45rem)}
}
@media(max-width:1080px){
  .desktop-nav,.header-phone{display:none}
  .nav-toggle{display:flex}
  .mobile-menu-overlay{display:block}
  .mobile-menu{display:flex}
  .v3-heading{gap:28px}
}
@media(max-width:900px){
  .v3-bento{grid-auto-rows:230px}
  .service-detail{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .site-footer__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .v3-bento{grid-template-columns:1fr;grid-auto-rows:205px}
  .v3-tile h3{font-size:1.18rem;padding-right:54px}
  .v3-heading{display:block}.v3-heading>p,.v3-heading>.v3-text-link{margin-top:22px}
  .page-hero{padding:64px 0 52px}.page-hero h1{font-size:clamp(2.35rem,12vw,3.5rem)}
  .service-detail{padding:22px}.service-detail__head{align-items:flex-start}.service-detail__cta{width:100%;justify-content:center}
}
@media(max-width:480px){
  .container,.section-inner,.hero-inner{width:min(100% - 28px,var(--container))}
  .v3-hero{min-height:690px}.v3-hero__grid{min-height:620px}.v3-hero h1{font-size:clamp(2.8rem,15vw,4rem)}
  .v3-hero__copy>p{font-size:1rem;margin:22px 0 26px}.v3-proof{display:grid;grid-template-columns:1fr 1fr}
  .v3-tile{padding:22px;border-radius:21px}.v3-tile__icon{left:22px;top:22px;width:52px;height:52px}.v3-tile__go{right:20px;bottom:20px}
  .form{padding:20px;border-radius:22px}.info-box{padding:20px}.field-row{grid-template-columns:1fr}
  .site-footer__grid{grid-template-columns:1fr}.site-footer__bottom .container{display:block}.site-footer__note{margin-top:12px}
}
@media(max-width:350px){
  .container,.section-inner,.hero-inner{width:min(100% - 22px,var(--container))}
  .logo-mark__name{font-size:.9rem}.logo-mark__sym,.logo-mark__svg{width:33px;height:33px}
  .v3-hero h1{font-size:2.65rem}.v3-button{padding-inline:17px;font-size:.9rem}
  .mobile-action-bar{left:6px;right:6px}.mobile-action-bar a{font-size:.75rem}
}

/* =====================================================================
   Experiência visual v2 — tecnológica, humana e orientada à conversão
   ===================================================================== */
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; z-index:-1;
  background:radial-gradient(700px 500px at 8% 25%,rgba(70,217,255,.035),transparent 70%),radial-gradient(700px 500px at 92% 65%,rgba(255,183,0,.04),transparent 70%);
}
.site-header__inner { min-height:58px; }
.site-nav__link { letter-spacing:-.01em; }
.hero { min-height:min(860px,calc(100svh - 68px)); padding:88px 0 72px; isolation:isolate; }
.hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#08090b 0%,rgba(8,9,11,.94) 35%,rgba(8,9,11,.52) 62%,rgba(8,9,11,.22) 100%); }
.hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:180px; z-index:1; background:linear-gradient(transparent,var(--bg-main)); }
.hero__media img { opacity:.9; object-position:center; }
.hero__media::after { background:linear-gradient(0deg,rgba(8,9,11,.52),rgba(8,9,11,.12)); }
.hero__inner { max-width:1180px; }
.hero__inner > * { max-width:690px; }
.hero__eyebrow { backdrop-filter:blur(14px); box-shadow:0 10px 40px rgba(0,0,0,.28); }
.hero h1 { font-size:clamp(3rem,6.5vw,6rem); letter-spacing:-.065em; max-width:780px; text-wrap:balance; }
.hero-accent { display:block; color:var(--yellow); text-shadow:0 0 45px rgba(255,183,0,.2); }
.hero__sub { font-size:clamp(1.05rem,1.8vw,1.32rem); max-width:660px; color:#d6d8dc; }
.hero__trust { max-width:850px; }
.hero__trust div { background:rgba(12,14,18,.66); backdrop-filter:blur(12px); }
.hero__actions .btn { min-height:54px; }

.problem-section { position:relative; padding-top:110px; }
.problem-section::before { content:""; position:absolute; width:430px; height:430px; left:-250px; top:15%; border:1px solid rgba(70,217,255,.1); border-radius:50%; box-shadow:0 0 120px rgba(70,217,255,.08); }
.problem-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.problem-card { position:relative; min-height:240px; padding:28px; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; border:1px solid var(--border-soft); border-radius:24px; background:linear-gradient(145deg,rgba(29,31,42,.82),rgba(13,15,20,.94)); transition:transform .35s var(--ease),border-color .35s,box-shadow .35s; }
.problem-card::before { content:""; position:absolute; inset:0; background:radial-gradient(260px 180px at 15% 0%,rgba(70,217,255,.09),transparent 65%); opacity:0; transition:.35s; }
.problem-card:hover { transform:translateY(-7px); border-color:rgba(70,217,255,.38); box-shadow:0 24px 70px rgba(0,0,0,.36),0 0 35px rgba(70,217,255,.06); }
.problem-card:hover::before { opacity:1; }
.problem-card__num { position:absolute; right:20px; top:16px; color:rgba(255,255,255,.14); font-size:.78rem; font-weight:800; letter-spacing:.12em; }
.problem-card__icon { width:54px; height:54px; display:grid; place-items:center; color:var(--yellow); border-radius:17px; background:rgba(255,183,0,.1); border:1px solid rgba(255,183,0,.2); margin-bottom:26px; }
.problem-card__icon .icon { width:27px; height:27px; }
.problem-card strong { font-size:1.2rem; line-height:1.2; margin-bottom:9px; position:relative; }
.problem-card small { color:var(--text-muted); font-size:.91rem; line-height:1.55; max-width:90%; position:relative; }
.problem-card__arrow { position:absolute; right:22px; bottom:22px; width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.05); color:var(--text-muted); transition:.3s; }
.problem-card:hover .problem-card__arrow { color:#081015; background:var(--tech-cyan); transform:translateX(3px); }
.problem-card__arrow .icon { width:16px; }
.problem-help { display:flex; align-items:center; gap:16px; margin-top:18px; padding:18px 22px; border:1px solid rgba(255,183,0,.18); border-radius:18px; background:rgba(255,183,0,.055); }
.problem-help__pulse { width:11px; height:11px; flex:none; border-radius:50%; background:var(--yellow); box-shadow:0 0 0 7px rgba(255,183,0,.09),0 0 24px rgba(255,183,0,.5); }
.problem-help div { display:flex; flex-direction:column; flex:1; }
.problem-help small { color:var(--text-muted); }

.section__head h2 { font-size:clamp(2rem,4.2vw,3.5rem); letter-spacing:-.045em; text-wrap:balance; }
.section__head p { font-size:1.05rem; }
.eyebrow { letter-spacing:.12em; }
.card,.feature,.work,.testi { transition:transform .3s var(--ease),border-color .3s,box-shadow .3s; }
.card:hover,.feature:hover,.testi:hover { transform:translateY(-5px); border-color:rgba(255,183,0,.26); box-shadow:0 22px 60px rgba(0,0,0,.26); }
.steps { position:relative; counter-reset:step; }
.steps::before { content:""; position:absolute; z-index:0; top:50px; left:16%; right:16%; height:1px; background:linear-gradient(90deg,transparent,var(--yellow),var(--tech-cyan),transparent); opacity:.38; }
.step { position:relative; z-index:1; }
.step__num { font-variant-numeric:tabular-nums; }
.work__img { aspect-ratio:16/10; overflow:hidden; }
.work__img img { width:100%; height:100%; object-fit:cover; transition:transform .55s var(--ease); }
.work:hover .work__img img { transform:scale(1.045); }
.cta { border:1px solid rgba(255,183,0,.2); background:radial-gradient(700px 300px at 50% 0%,rgba(255,183,0,.12),transparent 68%),linear-gradient(145deg,#15171d,#0c0d11); box-shadow:0 32px 90px rgba(0,0,0,.38); }

.mobile-action-bar { display:none; }

@media (max-width:900px) {
  .hero { min-height:auto; padding:70px 0 55px; }
  .hero::before { background:linear-gradient(90deg,rgba(8,9,11,.97),rgba(8,9,11,.77)); }
  .hero__media img { object-position:65% center; opacity:.52; }
  .problem-grid { grid-template-columns:repeat(2,1fr); }
  .steps::before { display:none; }
}
@media (max-width:620px) {
  body { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
  .hero { padding:48px 0 42px; }
  .hero h1 { font-size:clamp(2.65rem,14vw,4.15rem); }
  .hero__actions { display:grid; width:100%; }
  .hero__actions .btn { width:100%; justify-content:center; }
  .hero__trust { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .hero__trust div { border-radius:14px; padding:10px 11px; }
  .hero__trust span { font-size:.78rem; line-height:1.25; }
  .problem-grid { grid-template-columns:1fr; }
  .problem-card { min-height:190px; padding:22px; }
  .problem-card__icon { margin-bottom:18px; }
  .problem-help { align-items:flex-start; flex-wrap:wrap; }
  .problem-help .btn { width:100%; justify-content:center; }
  .whatsapp-fab { display:none!important; }
  .mobile-action-bar { position:fixed; display:grid; grid-template-columns:.82fr 1.18fr; z-index:990; left:10px; right:10px; bottom:calc(8px + env(safe-area-inset-bottom)); padding:6px; border:1px solid rgba(255,255,255,.11); border-radius:19px; background:rgba(12,14,18,.9); backdrop-filter:blur(20px); box-shadow:0 18px 55px rgba(0,0,0,.55); }
  .mobile-action-bar a { min-height:52px; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:14px; font-size:.82rem; font-weight:800; }
  .mobile-action-bar .icon { width:18px; }
  .mobile-action-bar__primary { color:#181000; background:linear-gradient(135deg,var(--yellow),var(--yellow-2)); }
}

/* ---------- reset / regras globais seguras ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
/* IMPORTANTE: overflow-x:hidden só no <html> (mantém-no como scroller e não
   quebra position:sticky). No <body> usa-se clip, que corta o excesso
   horizontal SEM criar um contentor de scroll (que escondia o header). */
html { width: 100%; max-width: 100%; overflow-x: hidden; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  width: 100%; max-width: 100%; overflow-x: clip;
  font-family: var(--font);
  background: var(--bg-main);
  color: var(--text-main);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img, svg, video, canvas, iframe { max-width: 100%; height: auto; }
img { display: block; }
input, select, textarea, button { max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; padding: 0; }
h1,h2,h3,h4 { line-height: 1.15; font-weight: 800; letter-spacing: -.02em; }
button { font-family: inherit; cursor: pointer; }

/* ---------- containers contidos (telemóvel → ultrawide) ---------- */
.container,
.section-inner,
.hero-inner { width: min(100% - 32px, var(--container)); margin-inline: auto; }
.text-measure { max-width: 720px; }

@media (min-width: 1600px) {
  .container, .section-inner { width: min(100% - 48px, 1320px); }
}
@media (min-width: 2200px) {
  .container, .section-inner { width: min(100% - 64px, 1480px); }
}

.skip-link {
  position: absolute; left: -999px; top: 0; z-index: 1000;
  background: var(--yellow); color: #000; padding: 10px 16px; border-radius: 0 0 10px 0; font-weight: 700;
}
.skip-link:focus { left: 0; }

/* circuit background texture */
.bg-circuit {
  position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .5;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255,183,0,.15) 1px, transparent 0),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 26px 26px, 52px 52px, 52px 52px;
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 40%, transparent 100%);
          mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 40%, transparent 100%);
}

/* =====================================================================
   Botões
   ===================================================================== */
.btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 13px 24px; border-radius: 999px; font-weight: 700; font-size: .98rem;
  border: 1px solid transparent; transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s; white-space: nowrap;
}
.btn .icon { width: 18px; height: 18px; }
.btn--primary { background: linear-gradient(135deg, var(--yellow), var(--yellow-2)); color: #1a1300; box-shadow: var(--glow); }
.btn--primary:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(255,183,0,.5), 0 14px 36px rgba(255,183,0,.32); }
.btn--ghost { background: rgba(255,255,255,.04); color: var(--white); border-color: var(--line); }
.btn--ghost:hover { border-color: var(--yellow); color: var(--yellow); transform: translateY(-2px); }
.btn--dark { background: #000; color: var(--white); border-color: var(--line); }
.btn--whatsapp { background: #25d366; color: #071b10; }
.btn--whatsapp:hover { background: #2ee375; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(37,211,102,.28); }
.btn--sm { padding: 9px 16px; font-size: .88rem; }
.btn--lg { padding: 16px 30px; font-size: 1.05rem; }
.btn--block { width: 100%; justify-content: center; }

/* =====================================================================
   Header
   ===================================================================== */
.site-header {
  position: sticky; top: 0; z-index: 100; width: 100%;
  transition: background .3s, box-shadow .3s, padding .3s;
  padding: 12px 0; background: rgba(8,9,11,.85); backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--border-soft);
  padding-top: calc(12px + env(safe-area-inset-top));
}
.site-header.is-scrolled { background: rgba(8,9,11,.94); box-shadow: 0 8px 30px rgba(0,0,0,.4); }
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.site-header__logo { display: inline-flex; align-items: center; }

/* ---- Sistema de logótipos ---- */
.site-logo, .brand-logo { display: inline-flex; align-items: center; gap: 12px; min-width: 0; max-width: 100%; text-decoration: none; }
.site-logo .brand-img, .brand-logo .brand-img { display: block; height: 44px; width: auto; max-width: 220px; object-fit: contain; }
.footer-logo .brand-img { display: block; height: auto; width: auto; max-width: 260px; max-height: 64px; object-fit: contain; }
.brand-img { display: block; width: auto; object-fit: contain; }

/* Wordmark (ícone + texto) — fallback profissional, nunca só uma letra */
.logo-mark { display: inline-flex; align-items: center; gap: 11px; min-width: 0; line-height: 1.05; }
.logo-mark__sym { flex: none; width: 42px; height: 42px; display: grid; place-items: center; }
.logo-mark__svg { width: 42px; height: 42px; display: block; }
.logo-mark__copy { display: flex; flex-direction: column; min-width: 0; }
.logo-mark__name { font-weight: 800; font-size: 1.12rem; letter-spacing: -.02em; color: var(--text-main); white-space: nowrap; }
.logo-mark__hl { color: var(--brand-yellow); }
.logo-mark__slogan { color: var(--text-muted); font-size: 11px; margin-top: 3px; white-space: nowrap; }
.footer-logo .logo-mark__name { font-size: 1.18rem; }
.footer-logo .logo-mark__sym, .footer-logo .logo-mark__svg { width: 46px; height: 46px; }
@media (max-width: 768px) {
  .site-logo .brand-img { height: 38px; max-width: 180px; }
  .logo-mark__name { font-size: 1rem; }
  .logo-mark__sym, .logo-mark__svg { width: 36px; height: 36px; }
}
@media (max-width: 480px) { .logo-mark__slogan { display: none; } }

.site-nav { display: flex; align-items: center; gap: 4px; }
.site-nav__link { padding: 9px 14px; border-radius: 999px; font-weight: 600; font-size: .96rem; color: var(--grey); transition: color .2s, background .2s; }
.site-nav__link:hover { color: var(--white); }
.site-nav__link.is-active { color: var(--white); background: rgba(255,255,255,.06); }
.site-nav__link--cta { color: var(--yellow); border: 1px solid rgba(255,183,0,.4); margin-left: 6px; }
.site-nav__link--cta:hover { background: var(--yellow); color: #000; }

.site-header__actions { display: flex; align-items: center; gap: 10px; }
.header-phone { gap: 7px; }

.nav-toggle { display: none; flex-direction: column; gap: 5px; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.03); align-items: center; justify-content: center; }
.nav-toggle span { width: 20px; height: 2px; background: var(--white); border-radius: 2px; transition: .3s; }
.nav-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2) { opacity: 0; }
.nav-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* =====================================================================
   Menu mobile (offcanvas) — fora do fluxo do conteúdo
   ===================================================================== */
.mobile-menu-overlay { display: none; }
.mobile-menu { display: none; }

@media (max-width: 1080px) {
  .desktop-nav { display: none; }
  .header-phone { display: none; }
  .nav-toggle { display: flex; }

  .mobile-menu-overlay {
    display: block; position: fixed; inset: 0; z-index: 998;
    background: rgba(0,0,0,.72); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .28s ease, visibility .28s ease;
  }
  .mobile-menu-overlay.is-open { opacity: 1; visibility: visible; pointer-events: auto; }

  .mobile-menu {
    display: flex; flex-direction: column; gap: 6px;
    position: fixed; top: 0; right: 0; z-index: 999;
    width: min(360px, 88vw); height: 100dvh;
    background: var(--bg-surface); border-left: 1px solid var(--border-soft);
    box-shadow: -30px 0 80px rgba(0,0,0,.55);
    transform: translateX(110%); transition: transform .28s ease, visibility .28s ease;
    padding: calc(16px + env(safe-area-inset-top)) 20px calc(22px + env(safe-area-inset-bottom));
    overflow-y: auto; overscroll-behavior: contain;
    visibility: hidden; pointer-events: none;
  }
  .mobile-menu.is-open { transform: translateX(0); visibility: visible; pointer-events: auto; }

  .mobile-menu__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--border-soft); }
  .mobile-menu__head .brand-logo .logo-mark__text { font-size: 1rem; }
  .mobile-menu__close { background: rgba(255,255,255,.05); border: 1px solid var(--border-soft); color: var(--text-main); width: 42px; height: 42px; border-radius: 12px; font-size: 1.7rem; line-height: 1; display: grid; place-items: center; flex: none; }
  .mobile-menu__close:hover { color: var(--yellow); border-color: var(--yellow); }

  .mobile-menu__links { display: flex; flex-direction: column; gap: 2px; }
  .mobile-menu__link { padding: 15px 14px; border-radius: 14px; font-weight: 700; font-size: 1.08rem; color: var(--text-soft); }
  .mobile-menu__link:hover, .mobile-menu__link:active { background: rgba(255,255,255,.05); color: var(--text-main); }
  .mobile-menu__link.is-active { background: rgba(255,183,0,.12); color: var(--yellow); }

  .mobile-menu__contact { display: grid; gap: 10px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--border-soft); }

  body.menu-open { overflow: hidden; touch-action: none; }
}

/* =====================================================================
   Hero
   ===================================================================== */
.hero {
  position: relative; min-height: calc(100svh - 68px); display: flex; align-items: center;
  padding: 64px 0 90px; overflow: hidden;
  background:
    radial-gradient(1100px 600px at 75% -5%, rgba(255,183,0,.18), transparent 60%),
    radial-gradient(800px 500px at 10% 110%, rgba(255,183,0,.07), transparent 60%),
    linear-gradient(180deg, var(--black), var(--black-2));
}
.hero__media { position: absolute; inset: 0; z-index: 0; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; opacity: .28; }
.hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,13,13,.55), rgba(13,13,13,.92)); }
.hero__inner { position: relative; z-index: 2; max-width: 820px; }
.hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px; padding: 7px 15px; border-radius: 999px;
  background: rgba(255,183,0,.1); border: 1px solid rgba(255,183,0,.3); color: var(--yellow);
  font-weight: 700; font-size: .82rem; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 22px;
}
.hero__eyebrow .icon { width: 16px; height: 16px; }
.hero h1 { font-size: clamp(2.3rem, 6vw, 4.2rem); margin-bottom: 20px; }
.hero h1 .hl { color: var(--yellow); position: relative; }
.hero__sub { font-size: clamp(1.05rem, 2vw, 1.28rem); color: var(--grey); max-width: 640px; margin-bottom: 24px; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 16px; }
.hero__hint { display: inline-flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: .92rem; margin-bottom: 34px; }
.hero__hint .icon { color: var(--brand-yellow); flex: none; }
.hero__trust { display: flex; flex-wrap: wrap; gap: 12px; }
.hero__trust div { display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px; border: 1px solid var(--border-soft); border-radius: 999px; background: rgba(255,255,255,.02); }
.hero__trust .icon { width: 18px; height: 18px; color: var(--brand-yellow); flex: none; }
.hero__trust span { font-size: .9rem; color: var(--text-soft); font-weight: 600; }

/* =====================================================================
   Secções genéricas
   ===================================================================== */
.section { position: relative; padding: 90px 0; }
.section--alt { background: var(--black-2); }
.section--tint { background: linear-gradient(180deg, var(--black-2), var(--black)); }
.section__head { max-width: 720px; margin: 0 auto 54px; text-align: center; }
.section__head--left { margin-inline: 0; text-align: left; }
.eyebrow { color: var(--yellow); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .82rem; }
.section h2 { font-size: clamp(1.9rem, 4vw, 2.8rem); margin: 12px 0 14px; }
.section__head p { color: var(--grey); font-size: 1.06rem; }

/* =====================================================================
   Cards de serviços
   ===================================================================== */
.grid { display: grid; gap: 22px; }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }

.card {
  position: relative; background: linear-gradient(180deg, var(--graphite), var(--black-2));
  border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px;
  transition: transform .35s var(--ease), border-color .35s, box-shadow .35s; overflow: hidden;
}
.card::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(135deg, rgba(255,183,0,.5), transparent 40%); opacity: 0;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; transition: opacity .35s;
  pointer-events: none; z-index: 0; /* decorativo: NUNCA intercepta cliques */
}
.card:hover { transform: translateY(-6px); border-color: rgba(255,183,0,.4); box-shadow: var(--shadow); }
.card:hover::before { opacity: 1; }
/* Conteúdo e botões sempre acima de qualquer camada decorativa */
.card > * { position: relative; z-index: 1; }
.card__foot, .card__cta, .card__more, .card__icon { position: relative; z-index: 2; }
.service-card, .service-detail { position: relative; }
.service-card .btn, .service-detail .btn, .card .btn, .card__more { position: relative; z-index: 5; pointer-events: auto; }
.card::after, .service-card::before, .service-card::after, .service-detail::before, .service-detail::after { pointer-events: none; }

.card__icon {
  width: 58px; height: 58px; border-radius: 15px; display: grid; place-items: center; margin-bottom: 18px;
  background: radial-gradient(circle at 30% 30%, rgba(255,183,0,.22), rgba(255,183,0,.05));
  border: 1px solid rgba(255,183,0,.3); color: var(--yellow);
}
.card__icon .icon { width: 28px; height: 28px; }
.card h3 { font-size: 1.22rem; margin-bottom: 9px; }
.card__text { color: var(--grey); font-size: .97rem; }
.card__foot { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; }
.card__cta { margin-top: 16px; }

/* ---- Detalhe de serviço (página /servicos) ---- */
.service-list { display: grid; gap: 22px; }
.service-detail {
  scroll-margin-top: 96px;
  display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 28px; align-items: stretch;
  padding: 28px; border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025));
  border: 1px solid var(--border-soft); box-shadow: var(--shadow-soft);
}
.service-detail__meta { display: grid; gap: 18px; align-content: start; }
.service-detail__head { display: flex; align-items: center; gap: 16px; }
.service-detail__head h2 { font-size: 1.3rem; }
.service-detail__head .card__price { display: inline-block; margin-top: 4px; }
.service-detail__block p { color: var(--text-soft); line-height: 1.6; margin-top: 8px; }
.service-detail__tag { display: inline-block; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--text-muted); background: rgba(255,255,255,.05); border: 1px solid var(--border-soft); padding: 3px 11px; border-radius: 999px; }
.service-detail__tag--ok { color: var(--brand-yellow); border-color: var(--border-strong); }
.service-detail__warn { display: flex; align-items: flex-start; gap: 8px; font-size: .88rem; color: var(--text-muted); background: rgba(245,158,11,.08); border: 1px solid rgba(245,158,11,.28); border-radius: 12px; padding: 12px 14px; }
.service-detail__warn .icon { color: var(--warning); flex: none; margin-top: 1px; }
.service-detail__cta { align-self: start; }
.service-detail__included { background: rgba(0,0,0,.22); border: 1px solid var(--border-soft); border-radius: var(--radius-lg); padding: 22px; }
.service-detail__included h3 { font-size: 1rem; margin-bottom: 14px; }
.service-detail__included ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.service-detail__included li { color: var(--text-soft); font-size: .94rem; line-height: 1.5; }
.service-detail__included li::before { content: "✓"; color: var(--brand-yellow); font-weight: 900; margin-right: 9px; }
@media (max-width: 860px) {
  .service-detail { grid-template-columns: 1fr; padding: 22px; }
}

/* ---- Caixa informativa (ex.: envie fotografias) ---- */
.info-box { background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025)); border: 1px solid var(--border-soft); border-radius: var(--radius-lg); padding: 24px; margin-bottom: 24px; }
.info-box h2 { display: flex; align-items: center; gap: 10px; font-size: 1.18rem; margin-bottom: 10px; }
.info-box h2 .icon { color: var(--brand-yellow); flex: none; }
.info-box p { color: var(--text-soft); }
.info-box__list { display: grid; gap: 8px; margin-top: 14px; }
.info-box__list li { display: flex; align-items: center; gap: 9px; color: var(--text-soft); font-size: .95rem; }
.info-box__list .icon { color: var(--brand-yellow); flex: none; }
.card__price { color: var(--yellow); font-weight: 700; }
.card__price small { color: var(--grey-2); font-weight: 500; font-size: .8rem; }
.card__more { display: inline-flex; align-items: center; gap: 6px; color: var(--white); font-weight: 600; font-size: .9rem; }
.card__more .icon { width: 16px; height: 16px; transition: transform .25s; }
.card:hover .card__more .icon { transform: translateX(4px); }

/* =====================================================================
   Porquê escolher / features
   ===================================================================== */
.feature { display: flex; gap: 16px; padding: 22px; background: rgba(255,255,255,.02); border: 1px solid var(--line); border-radius: var(--radius); }
.feature__ic { flex: none; width: 48px; height: 48px; border-radius: 13px; display: grid; place-items: center; background: rgba(255,183,0,.1); border: 1px solid rgba(255,183,0,.25); color: var(--yellow); }
.feature__ic .icon { width: 24px; height: 24px; }
.feature h3 { font-size: 1.08rem; margin-bottom: 6px; }
.feature p { color: var(--grey); font-size: .94rem; }

/* =====================================================================
   Processo
   ===================================================================== */
.steps { counter-reset: step; }
.step { position: relative; padding: 30px 26px; }
.step__num { font-size: 3rem; font-weight: 900; color: rgba(255,183,0,.22); line-height: 1; margin-bottom: 8px; }
.step h3 { font-size: 1.2rem; margin-bottom: 8px; }
.step p { color: var(--grey); }

/* =====================================================================
   Trabalhos / galeria
   ===================================================================== */
.work { position: relative; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); background: var(--graphite); }
.work__img { position: relative; aspect-ratio: 4/3; overflow: hidden; background: linear-gradient(135deg, var(--graphite-2), var(--black)); }
.work__badge { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 5px 12px; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; background: rgba(8,9,11,.78); color: var(--brand-yellow); border: 1px solid var(--border-strong); backdrop-filter: blur(6px); }
.work__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.work:hover .work__img img { transform: scale(1.06); }
.work__ph { width: 100%; height: 100%; display: grid; place-items: center; color: rgba(255,183,0,.4); }
.work__ph .icon { width: 56px; height: 56px; }
.work__body { padding: 20px 22px; }
.work__cat { display: inline-block; font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; color: var(--yellow); font-weight: 700; margin-bottom: 8px; }
.work__body h3 { font-size: 1.12rem; margin-bottom: 7px; }
.work__body p { color: var(--grey); font-size: .93rem; }
.work__loc { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; color: var(--grey-2); font-size: .85rem; }
.work__loc .icon { width: 15px; height: 15px; }
.work__gallery { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.work__gallery img { width: 60px; height: 60px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }
button.work__img{display:block;width:100%;border:0;padding:0;color:inherit;text-align:left;font:inherit;cursor:zoom-in}
.work__img>picture{display:block;width:100%;height:100%}
.work__gallery-count{position:absolute;right:12px;bottom:12px;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:50px;height:42px;padding:0 11px;border-radius:14px;background:rgba(8,10,14,.8);border:1px solid rgba(255,255,255,.16);color:#fff;line-height:1;backdrop-filter:blur(12px);transition:.25s ease}
.work__gallery-count .icon{width:17px;height:17px}.work__gallery-count b{font-size:.75rem}.work__img:hover .work__gallery-count,.work__img:focus-visible .work__gallery-count{background:var(--yellow);border-color:var(--yellow);color:#171000;transform:translateY(-2px)}
.work__thumb{display:inline-flex;border:0;padding:0;border-radius:9px;background:transparent;cursor:zoom-in;transition:transform .2s ease,opacity .2s ease}.work__thumb:hover{transform:translateY(-2px);opacity:.82}.work__thumb:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}

/* =====================================================================
   Área de atuação
   ===================================================================== */
.areas { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.area-chip {
  display: inline-flex; align-items: center; gap: 9px; padding: 13px 20px; border-radius: 999px;
  background: rgba(255,255,255,.03); border: 1px solid var(--line); font-weight: 600; transition: .25s;
}
.area-chip .icon { width: 18px; height: 18px; color: var(--yellow); }
.area-chip:hover { border-color: var(--yellow); transform: translateY(-2px); }

/* =====================================================================
   Preços
   ===================================================================== */
.price-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.price-row:last-child { border-bottom: 0; }
.price-row__name { font-weight: 600; }
.price-row__val { color: var(--yellow); font-weight: 800; font-size: 1.1rem; white-space: nowrap; }
.price-row__val small { color: var(--grey-2); font-weight: 500; font-size: .78rem; }
.price-note { text-align: center; color: var(--grey-2); font-size: .9rem; margin-top: 18px; }

/* =====================================================================
   Testemunhos
   ===================================================================== */
.testi { background: linear-gradient(180deg, var(--graphite), var(--black-2)); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 26px; }
.testi__stars { display: flex; gap: 3px; color: var(--yellow); margin-bottom: 14px; }
.testi__stars .icon { width: 18px; height: 18px; }
.testi__text { color: #e9e9ec; font-size: 1.02rem; margin-bottom: 18px; }
.testi__who { display: flex; align-items: center; gap: 12px; }
.testi__avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 1px solid var(--line); }
.testi__avatar--ph { display: grid; place-items: center; background: rgba(255,183,0,.12); color: var(--yellow); font-weight: 800; }
.testi__name { font-weight: 700; }
.testi__meta { color: var(--grey-2); font-size: .86rem; }
.testi-soon { text-align: center; padding: 40px 24px; border: 1px dashed var(--line); border-radius: var(--radius-lg); background: rgba(255,255,255,.02); max-width: 560px; margin: 0 auto; }
.testi-soon .icon { width: 40px; height: 40px; color: var(--yellow); margin: 0 auto 12px; }
.testi-soon p { color: var(--grey); font-size: 1.05rem; }

/* estrelas interativas (formulário de avaliação) */
.star-input { display: inline-flex; flex-direction: row-reverse; gap: 5px; }
.star-input input { position: absolute; opacity: 0; width: 0; height: 0; }
.star-input label { color: var(--line); cursor: pointer; line-height: 0; transition: color .15s, transform .15s; }
.star-input label .icon { width: 38px; height: 38px; }
.star-input input:checked ~ label,
.star-input label:hover,
.star-input label:hover ~ label { color: var(--yellow); }
.star-input label:hover { transform: scale(1.12); }
.star-input input:focus-visible + label { outline: 2px solid var(--yellow); outline-offset: 3px; border-radius: 6px; }

/* =====================================================================
   FAQ
   ===================================================================== */
.faq { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: rgba(255,255,255,.02); margin-bottom: 12px; }
.faq__q { width: 100%; text-align: left; background: none; border: 0; color: var(--white); padding: 20px 22px; font-size: 1.05rem; font-weight: 700; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.faq__q::after { content: "+"; color: var(--yellow); font-size: 1.5rem; font-weight: 400; transition: transform .3s; flex: none; }
.faq.is-open .faq__q::after { transform: rotate(45deg); }
.faq__a { max-height: 0; overflow: hidden; transition: max-height .35s var(--ease); }
.faq__a p { padding: 0 22px 20px; color: var(--grey); }

/* =====================================================================
   CTA / contacto
   ===================================================================== */
.cta {
  position: relative; border-radius: var(--radius-lg); padding: 54px 40px; overflow: hidden;
  background: radial-gradient(700px 400px at 80% -20%, rgba(255,183,0,.22), transparent 60%), linear-gradient(135deg, var(--graphite), var(--black));
  border: 1px solid rgba(255,183,0,.25); text-align: center;
}
.cta h2 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: 14px; }
.cta p { color: var(--grey); max-width: 560px; margin: 0 auto 26px; }
.cta__actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

/* contacto layout */
.contact-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 32px; align-items: start; }
.contact-info { display: grid; gap: 16px; }
.contact-line { display: flex; gap: 14px; align-items: center; padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.02); }
.contact-line__ic { flex: none; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,183,0,.1); border: 1px solid rgba(255,183,0,.25); color: var(--yellow); }
.contact-line span { color: var(--grey-2); font-size: .82rem; display: block; }
.contact-line b { font-size: 1.02rem; }

/* =====================================================================
   Formulários
   ===================================================================== */
.form { background: linear-gradient(180deg, var(--graphite), var(--black-2)); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 30px; }
.field { margin-bottom: 18px; }
.field label { display: block; font-weight: 600; margin-bottom: 7px; font-size: .94rem; }
.field .req { color: var(--yellow); }
.field input, .field select, .field textarea {
  width: 100%; padding: 13px 15px; background: var(--black); border: 1px solid var(--line); border-radius: 12px;
  color: var(--white); font-family: inherit; font-size: .98rem; transition: border-color .2s, box-shadow .2s;
}
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--yellow); box-shadow: 0 0 0 3px rgba(255,183,0,.15); }
.field textarea { resize: vertical; min-height: 130px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hp-field { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }
.consent { display: flex; gap: 11px; align-items: flex-start; font-size: .9rem; color: var(--grey); }
.consent input { width: auto; margin-top: 3px; flex: none; }

/* dropzone uploads */
.dropzone { border: 2px dashed var(--line); border-radius: var(--radius); padding: 28px; text-align: center; transition: border-color .25s, background .25s; cursor: pointer; }
.dropzone:hover, .dropzone.is-drag { border-color: var(--yellow); background: rgba(255,183,0,.05); }
.dropzone__ic { width: 46px; height: 46px; margin: 0 auto 10px; color: var(--yellow); }
.dropzone strong { color: var(--white); }
.dropzone small { display: block; color: var(--grey-2); margin-top: 6px; }
.previews { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 10px; margin-top: 14px; }
.preview { position: relative; aspect-ratio: 1; border-radius: 10px; overflow: hidden; border: 1px solid var(--line); background:linear-gradient(145deg,#171a22,#0b0d12); }
.preview::before { content:""; position:absolute; left:50%; top:50%; z-index:0; width:20px; height:20px; margin:-10px; border:2px solid rgba(255,255,255,.16); border-top-color:var(--yellow); border-radius:50%; animation:preview-spin .75s linear infinite; }
.preview.is-ready::before { display:none; }
.preview.is-error::before { content:"Imagem selecionada"; width:auto; height:auto; margin:0; transform:translate(-50%,-50%); border:0; color:var(--grey-2); font-size:.68rem; white-space:nowrap; animation:none; }
.preview img { position:relative; z-index:1; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .18s ease; }
.preview.is-ready img { opacity:1; }
@keyframes preview-spin { to { transform:rotate(360deg); } }
.preview__rm { position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; border-radius: 50%; background: rgba(0,0,0,.7); color: #fff; border: 0; font-size: 14px; line-height: 1; display: grid; place-items: center; }
.preview__rm:hover { background: #e23; }

/* alerts */
.alert { padding: 15px 18px; border-radius: 12px; margin-bottom: 20px; font-weight: 600; }
.alert--ok { background: rgba(40,180,99,.12); border: 1px solid rgba(40,180,99,.4); color: #7be0a3; }
.alert--err { background: rgba(226,51,51,.12); border: 1px solid rgba(226,51,51,.4); color: #ff9d9d; }
.alert ul { margin: 8px 0 0; padding-left: 18px; list-style: disc; font-weight: 500; }

.success-box { text-align: center; padding: 40px 24px; }
.success-box .icon { width: 64px; height: 64px; color: var(--yellow); margin: 0 auto 18px; }

/* =====================================================================
   Page hero (páginas internas)
   ===================================================================== */
.page-hero { position: relative; padding: 64px 0 56px; overflow: hidden;
  background: radial-gradient(900px 400px at 80% -20%, rgba(255,183,0,.16), transparent 60%), linear-gradient(180deg, var(--black), var(--black-2)); }
.page-hero h1 { font-size: clamp(2rem, 5vw, 3.2rem); margin-bottom: 12px; }
.page-hero p { color: var(--grey); max-width: 620px; font-size: 1.08rem; }
.breadcrumb { color: var(--grey-2); font-size: .88rem; margin-bottom: 16px; }
.breadcrumb a:hover { color: var(--yellow); }

/* =====================================================================
   WhatsApp FAB
   ===================================================================== */
.whatsapp-fab {
  position: fixed; right: 22px; bottom: calc(22px + env(safe-area-inset-bottom)); z-index: 90;
  display: inline-flex; align-items: center; gap: 9px;
  padding: 13px 18px; border-radius: 999px; background: #25D366; color: #06270f; font-weight: 800;
  box-shadow: 0 12px 30px rgba(37,211,102,.4); transition: transform .25s var(--ease); animation: fab-pulse 2.8s infinite;
}
.whatsapp-fab .icon { width: 26px; height: 26px; }
.whatsapp-fab:hover { transform: translateY(-3px) scale(1.03); }
@keyframes fab-pulse { 0%,100% { box-shadow: 0 12px 30px rgba(37,211,102,.4); } 50% { box-shadow: 0 12px 40px rgba(37,211,102,.65); } }
/* Não tapar conteúdo: esconder com o menu aberto e nas páginas com formulário */
body.menu-open .whatsapp-fab { display: none; }
@media (max-width: 480px) {
  .whatsapp-fab { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); padding: 0; width: 54px; height: 54px; justify-content: center; }
  body[data-page="pedido-orcamento"] .whatsapp-fab,
  body[data-page="deixar-testemunho"] .whatsapp-fab { display: none; }
}

/* =====================================================================
   Footer
   ===================================================================== */
.site-footer { background: var(--black-2); border-top: 1px solid var(--line); padding-top: 60px; margin-top: 20px; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 34px; padding-bottom: 40px; }
.site-footer__slogan { color: var(--yellow); font-weight: 600; margin: 14px 0 6px; }
.site-footer__owner { color: var(--grey-2); font-size: .9rem; }
.site-footer__col h3 { font-size: 1rem; margin-bottom: 16px; color: var(--white); }
.site-footer__list { display: grid; gap: 11px; }
.site-footer__list a, .site-footer__list span { display: inline-flex; align-items: center; gap: 9px; color: var(--grey); font-size: .92rem; transition: color .2s; }
.site-footer__list a:hover { color: var(--yellow); }
.site-footer__list .icon { color: var(--yellow); flex: none; }
.site-footer__area { color: var(--grey); font-size: .92rem; margin-bottom: 16px; }
.site-footer__social { display: flex; gap: 14px; margin-top: 16px; }
.site-footer__social a { color: var(--grey); font-weight: 600; font-size: .9rem; }
.site-footer__social a:hover { color: var(--yellow); }
.site-footer__bottom { border-top: 1px solid var(--line); padding: 22px 0; }
.site-footer__bottom .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }
.site-footer__bottom p { color: var(--grey-2); font-size: .82rem; }
.site-footer__note { max-width: 560px; }

/* =====================================================================
   Animações de entrada
   ===================================================================== */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }
.icon { width: 24px; height: 24px; }
.icon--sm { width: 16px; height: 16px; }

/* =====================================================================
   Responsivo
   ===================================================================== */
@media (max-width: 980px) {
  .grid--3, .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .grid--3, .grid--4, .grid--2 { grid-template-columns: 1fr; }
  .field-row { grid-template-columns: 1fr; }
  .section { padding: 56px 0; }
  .hero { padding-top: 40px; }
  .cta { padding: 40px 22px; }
  .whatsapp-fab__label { display: none; }
  .site-footer__grid { grid-template-columns: 1fr; }
}

/* Ecrãs muito pequenos (320–430): garantir header sem overflow */
@media (max-width: 430px) {
  .header-phone { display: none; }
  .hero h1 { font-size: clamp(1.85rem, 8vw, 2.4rem); }
  .btn--lg { padding: 14px 20px; font-size: .98rem; }
  .hero__actions .btn { width: 100%; justify-content: center; }
}

/* =====================================================================
   Movimento reduzido
   ===================================================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Camada final da experiência v2 */
.hero { min-height:min(860px,calc(100svh - 68px)); padding:88px 0 72px; isolation:isolate; }
.hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,#08090b 0%,rgba(8,9,11,.94) 35%,rgba(8,9,11,.52) 62%,rgba(8,9,11,.22) 100%); }
.hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:180px; z-index:1; background:linear-gradient(transparent,var(--bg-main)); }
.hero__media img { opacity:.9; object-position:center; }
.hero__media::after { background:linear-gradient(0deg,rgba(8,9,11,.52),rgba(8,9,11,.12)); }
.hero__inner { max-width:1180px; }
.hero__inner > * { max-width:690px; }
.hero h1 { font-size:clamp(3rem,6.5vw,6rem); letter-spacing:-.065em; max-width:780px; text-wrap:balance; }
.hero-accent { display:block; color:var(--yellow); text-shadow:0 0 45px rgba(255,183,0,.2); }
.hero__sub { font-size:clamp(1.05rem,1.8vw,1.32rem); color:#d6d8dc; }
.hero__trust div { background:rgba(12,14,18,.66); backdrop-filter:blur(12px); }
.section__head h2 { font-size:clamp(2rem,4.2vw,3.5rem); letter-spacing:-.045em; text-wrap:balance; }
@media (max-width:900px) {
  .hero { min-height:auto; padding:70px 0 55px; }
  .hero::before { background:linear-gradient(90deg,rgba(8,9,11,.97),rgba(8,9,11,.77)); }
  .hero__media img { object-position:65% center; opacity:.52; }
}
@media (max-width:620px) {
  .hero { padding:48px 0 42px; }
  .hero h1 { font-size:clamp(2.65rem,14vw,4.15rem); }
  .hero__actions { display:grid; width:100%; }
  .hero__actions .btn { width:100%; justify-content:center; }
}

/* =====================================================================
   FINAL OVERRIDES — fonte única de verdade para o redesign v3
   ===================================================================== */
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;z-index:2;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--yellow),var(--tech-cyan));box-shadow:0 0 14px rgba(70,217,255,.5)}
.site-header{background:rgba(7,8,10,.78);border-bottom-color:rgba(255,255,255,.06)}
.v3-tile h3{max-width:none;padding-right:62px;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
.v3-tile>.v3-tile__go{position:absolute;left:auto;right:23px;top:auto;bottom:23px;z-index:3}
.v3-tile>.v3-tile__icon{position:absolute;left:26px;right:auto;top:26px;bottom:auto;z-index:2}
.v3-tile>.v3-tile__index{position:absolute;left:auto;right:22px;top:18px;bottom:auto;z-index:2}
.v3-tile:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(70,217,255,.13),transparent 58%);opacity:0;transition:opacity .25s}.v3-tile:hover:after{opacity:1}
.page-hero{padding:90px 0 76px;background:radial-gradient(700px 300px at 12% 0%,rgba(70,217,255,.09),transparent 70%),radial-gradient(650px 300px at 88% 10%,rgba(255,183,0,.08),transparent 70%),#090a0d;border-bottom:1px solid rgba(255,255,255,.06)}
.page-hero:after{content:"";position:absolute;left:max(16px,calc((100% - var(--container))/2));bottom:0;width:120px;height:2px;background:linear-gradient(90deg,var(--yellow),var(--tech-cyan));box-shadow:0 0 18px rgba(70,217,255,.35)}
.page-hero .breadcrumb{font-size:.73rem;text-transform:uppercase;letter-spacing:.13em;font-weight:850;color:var(--tech-cyan);margin-bottom:20px}.page-hero h1{font-size:clamp(2.7rem,6vw,5.2rem);letter-spacing:-.06em;max-width:900px}.page-hero p{font-size:clamp(1rem,1.8vw,1.18rem);max-width:740px;color:#aeb4be}
.service-list{gap:16px}.service-detail{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);padding:30px;border-radius:26px;background:linear-gradient(145deg,#151821,#0d0f14);border-color:rgba(255,255,255,.075)}.service-detail__included{background:rgba(4,6,10,.42);border-color:rgba(70,217,255,.1)}
.form,.info-box,.contact-line{background:linear-gradient(145deg,rgba(23,25,34,.96),rgba(12,14,19,.98));border-color:rgba(255,255,255,.085);box-shadow:0 24px 70px rgba(0,0,0,.18)}.form{border-radius:28px;padding:clamp(22px,4vw,38px)}
.field input,.field select,.field textarea{background:#0b0d12;border-color:rgba(255,255,255,.1);min-height:52px;border-radius:13px}.field textarea{min-height:140px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--tech-cyan);box-shadow:0 0 0 3px rgba(70,217,255,.09)}
.dropzone{border-color:rgba(70,217,255,.22);background:rgba(70,217,255,.025);border-radius:18px}.contact-line{border-radius:18px}.contact-line__ic{background:rgba(70,217,255,.08);border-color:rgba(70,217,255,.18);color:var(--tech-cyan)}
.site-footer{position:relative;background:linear-gradient(180deg,#0d0f14,#07080a);border-top:1px solid rgba(70,217,255,.12)}.site-footer:before{content:"";position:absolute;left:50%;top:0;width:min(70%,900px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--tech-cyan),var(--yellow),transparent)}.site-footer__grid{padding-top:75px;padding-bottom:65px}.site-footer__col h3{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em}
.btn:focus-visible,.v3-button:focus-visible,.v3-tile:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--tech-cyan);outline-offset:3px}
@media(max-width:1250px){.v3-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-tile--wide{grid-column:span 1}.v3-tile h3{font-size:clamp(1.15rem,2.4vw,1.45rem)}}
@media(max-width:1080px){.desktop-nav,.header-phone{display:none}.nav-toggle{display:flex}.service-detail{grid-template-columns:1fr}}
@media(max-width:900px){.v3-bento{grid-auto-rows:230px}.contact-grid{grid-template-columns:1fr}.site-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.v3-bento{grid-template-columns:1fr;grid-auto-rows:205px}.v3-tile h3{font-size:1.18rem;padding-right:58px}.v3-heading{display:block}.page-hero{padding:64px 0 52px}.page-hero h1{font-size:clamp(2.35rem,12vw,3.5rem)}.service-detail{padding:22px}.service-detail__cta{width:100%;max-width:100%;min-width:0;justify-content:center;text-align:center;white-space:normal;line-height:1.3}.contact-grid{grid-template-columns:minmax(0,1fr)}.contact-grid,.contact-info,.contact-line,.contact-line>div{min-width:0;max-width:100%}.contact-info{width:100%}.contact-line b,.contact-line span{overflow-wrap:anywhere;word-break:break-word}}
@media(max-width:480px){.container,.section-inner,.hero-inner{width:min(100% - 28px,var(--container))}.v3-hero{min-height:690px}.v3-hero__grid{min-height:620px}.v3-hero h1{font-size:clamp(2.8rem,15vw,4rem)}.v3-proof{display:grid;grid-template-columns:1fr 1fr}.form{padding:20px;border-radius:22px}.site-footer__grid{grid-template-columns:1fr}.site-footer__bottom .container{display:block}}
@media(max-width:350px){.container,.section-inner,.hero-inner{width:min(100% - 22px,var(--container))}.logo-mark__name{font-size:.9rem}.logo-mark__sym,.logo-mark__svg{width:33px;height:33px}.v3-hero h1{font-size:2.65rem}.mobile-action-bar{left:6px;right:6px}}

/* =====================================================================
   Motion edition — menos neon permanente, mais movimento com propósito
   ===================================================================== */
:root{
  --shadow-soft:0 18px 45px rgba(0,0,0,.28);
  --shadow-yellow:0 10px 28px rgba(0,0,0,.18);
  --glow:0 8px 24px rgba(0,0,0,.22);
}

/* Retirar halos e brilhos decorativos excessivos */
body::before{opacity:.28}
.scroll-progress{box-shadow:none}
.site-header,.site-header.is-scrolled{box-shadow:none}
.btn--primary,.v3-button--primary{box-shadow:0 10px 26px rgba(0,0,0,.25)}
.btn--primary:hover,.v3-button--primary:hover{box-shadow:0 14px 32px rgba(0,0,0,.3)}
.v3-hero h1 em,.v3-hero h1 .hero-accent{ text-shadow:none }
.v3-live span{box-shadow:none;animation:statusPulse 2.2s ease-in-out infinite}
.v3-orb{opacity:.45;filter:none}
.v3-tile:hover{box-shadow:0 20px 42px rgba(0,0,0,.26)}
.v3-tile:before{opacity:.025;filter:blur(95px)}
.v3-tile:hover:before{opacity:.055}
.v3-tile:after{background:radial-gradient(230px circle at var(--mx,50%) var(--my,50%),rgba(70,217,255,.07),transparent 62%)}
.v3-final__inner,.cta,.form,.info-box,.contact-line{box-shadow:0 18px 45px rgba(0,0,0,.2)}
.whatsapp-fab{box-shadow:0 10px 26px rgba(0,0,0,.28)}

/* Hero: entrada cinematográfica e parallax discreto */
.v3-hero__photo{transform:translate3d(0,var(--hero-shift,0),0);will-change:transform}
.v3-hero__photo img{animation:heroDrift 14s ease-in-out infinite alternate;transform-origin:65% 50%}
.v3-hero__copy>*{opacity:0;transform:translateY(22px);animation:heroEnter .72s cubic-bezier(.2,.7,.2,1) forwards}
.v3-hero__copy>*:nth-child(1){animation-delay:.08s}.v3-hero__copy>*:nth-child(2){animation-delay:.18s}.v3-hero__copy>*:nth-child(3){animation-delay:.3s}.v3-hero__copy>*:nth-child(4){animation-delay:.42s}.v3-hero__copy>*:nth-child(5){animation-delay:.54s}
.v3-float--top{animation:floatCard 5.5s ease-in-out infinite}.v3-float--bottom{animation:floatCard 6.2s ease-in-out .8s infinite}

/* Entradas por secção ativadas pelo IntersectionObserver */
.v3-heading,.v3-split__copy,.v3-human__inner,.v3-final__inner{opacity:0;transform:translateY(34px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1)}
.v3-heading.is-inview,.v3-split__copy.is-inview,.v3-human__inner.is-inview,.v3-final__inner.is-inview{opacity:1;transform:none}
.v3-heading:after{content:"";display:block;position:absolute;left:0;bottom:-18px;width:84px;height:2px;background:linear-gradient(90deg,var(--yellow),var(--tech-cyan));transform:scaleX(0);transform-origin:left;transition:transform .8s .25s cubic-bezier(.2,.7,.2,1)}
.v3-heading{position:relative}
.v3-heading.is-inview:after{transform:scaleX(1)}

/* Stagger e microinterações */
.v3-tile__icon,.v3-work__media img,.feature__ic,.card__icon{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.v3-tile:hover .v3-tile__icon{transform:translateY(-4px) rotate(-3deg)}
.v3-tile__go{transition:transform .3s ease,background .3s ease}.v3-tile:hover .v3-tile__go{transform:translateX(4px)}
.v3-process li{opacity:0;transform:translateX(18px);transition:opacity .55s ease,transform .55s ease}
.v3-split__copy.is-inview .v3-process li{opacity:1;transform:none}
.v3-split__copy.is-inview .v3-process li:nth-child(1){transition-delay:.18s}.v3-split__copy.is-inview .v3-process li:nth-child(2){transition-delay:.3s}.v3-split__copy.is-inview .v3-process li:nth-child(3){transition-delay:.42s}
.v3-work__overlay{transition:padding-bottom .4s ease}.v3-work:hover .v3-work__overlay{padding-bottom:30px}
.contact-line:hover .contact-line__ic,.feature:hover .feature__ic,.card:hover .card__icon{transform:translateY(-3px)}

@keyframes heroEnter{to{opacity:1;transform:none}}
@keyframes heroDrift{from{transform:scale(1.01)}to{transform:scale(1.045)}}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes statusPulse{0%,100%{opacity:.45;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}

@media(max-width:700px){
  .v3-float{animation:none}
  .v3-hero__photo img{animation-duration:18s}
  .v3-heading:after{bottom:-12px}
}
@media(prefers-reduced-motion:reduce){
  .v3-hero__photo,.v3-hero__photo img,.v3-hero__copy>*,.v3-float,.v3-live span{animation:none!important;transform:none!important}
  .v3-hero__copy>*,.v3-heading,.v3-split__copy,.v3-human__inner,.v3-final__inner,.v3-process li{opacity:1!important;transform:none!important;transition:none!important}
  .v3-heading:after{transform:scaleX(1);transition:none}
}

/* =====================================================================
   Conteúdo administrável, símbolos tipográficos e galeria premium
   ===================================================================== */
.v3-tile>.v3-tile__code{
  position:absolute;left:26px;top:27px;z-index:2;display:inline-flex;align-items:center;
  min-height:42px;padding:0 14px;border:1px solid rgba(255,183,0,.32);border-radius:999px;
  color:var(--yellow);background:rgba(255,183,0,.055);font-family:var(--font-display);
  font-size:.7rem;font-weight:700;letter-spacing:.16em;
}
.v3-tile:hover .v3-tile__code{color:#111;background:var(--yellow);border-color:var(--yellow)}
.contact-line__ic--code{
  width:48px;height:34px;border:0;border-right:1px solid rgba(70,217,255,.24);border-radius:0;
  background:transparent;color:var(--tech-cyan);font-family:var(--font-display);font-size:.68rem;
  font-weight:700;letter-spacing:.12em;justify-content:flex-start;
}

.v3-work__media{position:absolute;inset:0;display:block;border:0;padding:0;color:inherit;text-align:left;cursor:zoom-in;font:inherit;background:#11141a;overflow:hidden}
.v3-work__media>picture{display:block;width:100%;height:100%}
.v3-work-grid--1{grid-template-columns:1fr;grid-template-rows:520px}.v3-work-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:480px}
.v3-work__zoom{position:absolute;right:18px;top:18px;z-index:3;width:auto!important;height:46px!important;min-width:54px;padding:0 12px;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;border-radius:15px;background:rgba(9,11,15,.78);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:.76rem;font-weight:800;line-height:1;opacity:.88;transform:none;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;backdrop-filter:blur(14px)}
.v3-work__zoom .icon{width:18px;height:18px}.v3-work__zoom b{font:inherit}.v3-work:hover .v3-work__zoom,.v3-work__media:focus-visible .v3-work__zoom{background:var(--yellow);border-color:var(--yellow);color:#171000;transform:translateY(-2px)}
.v3-work__ba-badge{position:absolute;left:18px;top:18px;z-index:3;width:auto!important;height:auto!important;display:inline-flex!important;align-items:center;padding:7px 11px;border-radius:999px;background:var(--yellow);color:#171000;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* Sobre nós: fotografia editorial e marca discreta, sem sobreposição circular. */
.v3-human{position:relative;padding:120px 0;background:linear-gradient(145deg,#11131a 0%,#08090c 70%);color:#f4f5f7;overflow:hidden}
.v3-human:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent 75%);pointer-events:none}
.v3-human__inner{position:relative;grid-template-columns:minmax(270px,.82fr) minmax(360px,1.18fr) minmax(240px,.72fr);gap:clamp(30px,4.2vw,62px);align-items:start}
.v3-human__media{position:relative;width:100%;max-width:350px;aspect-ratio:3/4;min-height:0;margin:0}
.v3-human__media:before{content:"";position:absolute;inset:12px -12px -12px 12px;border:1px solid rgba(255,183,0,.28);border-radius:30px}
.v3-human__photo{position:absolute;inset:0;z-index:1;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#11141a}
.v3-human__photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(5,6,8,.5));pointer-events:none}
.v3-human__photo picture,.v3-human__photo img{display:block;width:100%;height:100%}.v3-human__photo img{object-fit:cover;object-position:center;filter:saturate(.88) contrast(1.04)}
.v3-human__brand{position:absolute;right:-14px;bottom:22px;z-index:2;width:120px;height:82px;padding:12px;border-radius:16px;background:rgba(7,8,11,.94);border:1px solid rgba(255,255,255,.14);box-shadow:0 16px 34px rgba(0,0,0,.3);backdrop-filter:blur(14px)}
.v3-human__brand picture,.v3-human__brand img{display:block;width:100%;height:100%;object-fit:contain}
.v3-human .v3-kicker{color:var(--yellow)}.v3-human__inner>div:nth-child(2) p{margin-top:14px;font-size:1rem;line-height:1.68;color:#b8bec7}.v3-human__quote{align-self:center;border-left-color:rgba(255,183,0,.34)}.v3-human__quote>span{color:var(--yellow)}.v3-human__quote p{color:#e2e4e8}.v3-human__quote small{color:#9ca3ad;opacity:1}

.v3-final__inner--dark{background:linear-gradient(145deg,#161922,#0b0d12);color:#f5f5f7;border:1px solid rgba(255,255,255,.1)}
.v3-final__inner--dark h2 em{color:var(--yellow)}.v3-final__inner--dark p{color:#aeb4be}
.v3-final__inner--dark:before,.v3-final__inner--dark:after{border-color:rgba(255,183,0,.16)}
.v3-final__inner--yellow{background:var(--yellow);color:#171000}.v3-final__inner--yellow h2 em{color:#171000}
.v3-final__inner--cyan{background:var(--tech-cyan);color:#071014}.v3-final__inner--cyan h2 em{color:#071014}

body.gallery-open{overflow:hidden}
.site-gallery{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:clamp(12px,3vw,38px);background:rgba(3,4,6,.86);backdrop-filter:blur(18px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}
.site-gallery.is-open{opacity:1;visibility:visible;pointer-events:auto}
.site-gallery__panel{width:min(980px,100%);height:min(860px,100%);display:grid;grid-template-rows:64px minmax(0,1fr) 96px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:26px;background:#0b0d12;box-shadow:0 34px 100px rgba(0,0,0,.62);transform:scale(.97) translateY(8px);transition:transform .32s var(--ease)}
.site-gallery.is-open .site-gallery__panel{transform:none}
.site-gallery__top{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;align-items:center;gap:18px;padding:10px 12px 10px 22px;border-bottom:1px solid rgba(255,255,255,.08);background:#101219}
.site-gallery__top strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:.95rem}.site-gallery__top span{color:#9097a2;font-size:.8rem}.site-gallery__top button{width:42px;height:42px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:#171a22;color:#fff;font-size:1.55rem;line-height:1;transition:.2s ease}.site-gallery__top button:hover{background:var(--yellow);border-color:var(--yellow);color:#171000}
.site-gallery__stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:#07080b}
.site-gallery figure{position:absolute;inset:0;min-width:0;min-height:0;margin:0;overflow:hidden;background:#07080b;isolation:isolate}
.site-gallery figure:before{content:"";position:absolute;inset:-34px;z-index:-1;background-image:linear-gradient(rgba(5,6,8,.46),rgba(5,6,8,.62)),var(--gallery-backdrop);background-position:center;background-size:cover;filter:blur(25px) saturate(.72);opacity:.72;transform:scale(1.08)}
.site-gallery figure>img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain;object-position:center;border:0;border-radius:0;box-shadow:none;transition:opacity .18s ease}
.site-gallery figure>img.is-letterboxed{position:absolute;left:50%;width:auto;max-width:none;object-fit:fill;transform:translateX(-50%)}
.site-gallery figcaption{position:absolute;left:20px;bottom:18px;z-index:2;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;padding:8px 12px;border-radius:11px;background:rgba(5,6,8,.74);border:1px solid rgba(255,255,255,.1);color:#d8dbe0;font-size:.72rem;white-space:nowrap;backdrop-filter:blur(10px)}
.site-gallery__nav{position:absolute;top:50%;z-index:4;width:48px;height:58px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(12,14,19,.78);color:#fff;font-size:2rem;line-height:1;backdrop-filter:blur(12px);transition:.2s ease}.site-gallery__nav:hover{background:var(--yellow);border-color:var(--yellow);color:#171000}.site-gallery__nav--prev{left:18px}.site-gallery__nav--next{right:18px}
.site-gallery__thumbs{display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 18px;overflow-x:auto;border-top:1px solid rgba(255,255,255,.08);background:#101219}
.site-gallery__thumbs button{flex:0 0 74px;height:68px;padding:3px;border:1px solid transparent;border-radius:11px;background:#171a22;opacity:.48;transition:.2s ease}.site-gallery__thumbs button:hover{opacity:.8}.site-gallery__thumbs button.is-active{opacity:1;border-color:var(--yellow);box-shadow:0 0 0 1px rgba(255,183,0,.18)}.site-gallery__thumbs img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px}

/* Antes/Depois com acabamento mais editorial */
.ba-slider{border-radius:18px;border-color:rgba(255,255,255,.12);margin-top:20px;background:#08090b}
.ba-slider__divider{width:3px;background:var(--yellow);box-shadow:none}
.ba-slider__handle{width:46px;height:46px;background:#0c0e13;color:var(--yellow);border:2px solid var(--yellow);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.ba-slider__label{top:14px;padding:6px 11px;background:rgba(6,7,9,.82);border:1px solid rgba(255,255,255,.12);color:#fff}

@media(max-width:1000px){.v3-work-grid--2{grid-template-columns:1fr;grid-template-rows:360px 360px}.v3-human__inner{grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr)}.v3-human__quote{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,183,0,.24);padding:28px 0 0}.site-gallery__panel{height:min(820px,100%)}}
@media(max-width:700px){.v3-human{padding:82px 0}.v3-human__inner{grid-template-columns:1fr;gap:34px}.v3-human__media{max-width:none;aspect-ratio:4/3}.v3-human__photo img{object-position:center 32%}.v3-human__brand{right:14px;bottom:14px;width:96px;height:66px}.v3-human__quote{grid-column:auto}.site-gallery{padding:0;backdrop-filter:none}.site-gallery__panel{width:100%;height:100%;border:0;border-radius:0;grid-template-rows:58px minmax(0,1fr) 82px}.site-gallery__top{padding:8px 9px 8px 14px;grid-template-columns:minmax(0,1fr) auto 42px;gap:9px}.site-gallery__top strong{font-size:.82rem}.site-gallery__nav{width:42px;height:52px;border-radius:13px}.site-gallery__nav--prev{left:8px}.site-gallery__nav--next{right:8px}.site-gallery figcaption{display:none}.site-gallery__thumbs{justify-content:flex-start;padding:8px 10px}.site-gallery__thumbs button{flex-basis:65px;height:62px}.v3-work__zoom{right:13px;top:13px;height:42px!important;min-width:50px;padding:0 10px}.contact-line__ic--code{width:42px}}
