*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:#03070d}body{--bg:#03070d;--surface:#080e17;--surface-2:#0b1320;--line:rgba(132,175,225,.15);--text:#f6f8fb;--muted:#9ba8b8;--accent:#1688ff;--accent-2:#00c8ff;--shell:min(1180px,calc(100vw - 48px));font-family:"Manrope",sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,textarea,select{font:inherit}.page-noise{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.site-shell{width:var(--shell);margin:0 auto;position:relative;z-index:2}.site-section{position:relative;isolation:isolate;overflow:hidden}.site-section.has-custom-section-bg{background-size:cover!important;background-repeat:no-repeat!important}
@media(min-width:621px){.site-section.has-custom-section-bg.custom-bg-desktop-enabled{background:var(--custom-section-bg-desktop)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}}
@media(max-width:620px){.site-section.has-custom-section-bg.custom-bg-mobile-enabled{background:var(--custom-section-bg-mobile)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}}
.site-section.has-layered-image-bg{background:none!important;overflow:hidden}
.section-image-background{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#02070d}
.section-image-background>span{position:absolute;inset:0;background-repeat:no-repeat;transform-origin:center center;will-change:transform}
.section-image-background:after{content:"";position:absolute;inset:0;background:rgba(1,6,11,var(--section-bg-overlay,.32));pointer-events:none}
@media(min-width:621px){
.section-image-background>span{
background-image:var(--section-bg-image-desktop);
background-size:var(--section-bg-fit-desktop,cover);
background-position:var(--section-bg-pos-desktop,50% 50%);
transform:translate(var(--section-bg-shift-x-desktop,0%),var(--section-bg-shift-y-desktop,0%)) scale(var(--section-bg-zoom-desktop,1))
}}
@media(max-width:620px){
.section-image-background>span{
background-image:var(--section-bg-image-mobile);
background-size:var(--section-bg-fit-mobile,cover);
background-position:var(--section-bg-pos-mobile,50% 50%);
transform:translate(var(--section-bg-shift-x-mobile,0%),var(--section-bg-shift-y-mobile,0%)) scale(var(--section-bg-zoom-mobile,1))
}}.site-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 30%,rgba(22,136,255,.05),transparent 42%)}.site-header{position:fixed;z-index:1000;left:50%;top:18px;transform:translateX(-50%);width:min(var(--header-simple-width-desktop,90vw),calc(100vw - 18px));height:var(--header-simple-height-desktop,54px);display:flex;align-items:center;justify-content:space-between;padding:0 16px 0 18px;border:1px solid rgba(255,255,255,.09);border-radius:15px;box-shadow:0 15px 45px rgba(0,0,0,.22);transition:width .2s ease,height .2s ease,background .2s ease,-webkit-backdrop-filter .2s ease,backdrop-filter .2s ease}.site-header.header-simple-solid{background:rgba(var(--header-bg-rgb),.97);-webkit-backdrop-filter:none;backdrop-filter:none}.site-header.header-simple-glass{background:rgba(var(--header-bg-rgb),.62);-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none}.brand-logo-slot{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#0f43bb);font-family:"Space Grotesk";font-weight:700;box-shadow:0 0 24px rgba(22,136,255,.35);overflow:hidden}.brand-logo-slot img{width:100%;height:100%;display:block;object-fit:contain}.brand-logo-letter{display:grid;place-items:center;width:100%;height:100%}.brand b{font-family:"Space Grotesk";font-size:12px;letter-spacing:.22em}.desktop-nav{position:absolute;left:var(--header-nav-x,50%);top:50%;transform:translate(-50%,-50%);display:flex;gap:28px;white-space:nowrap;transition:left .22s ease}.desktop-nav a{font-size:12px;text-decoration:none;color:#aab6c5;transition:.25s}.desktop-nav a:hover{color:#fff}.header-cta{display:flex;align-items:center;gap:8px;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.08em;padding:10px 12px;border:1px solid rgba(22,136,255,.35);border-radius:10px;background:rgba(22,136,255,.08)}.header-cta i{font-style:normal;color:var(--accent)}.scroll-progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:2000;background:rgba(255,255,255,.02)}.scroll-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));box-shadow:0 0 12px var(--accent)}

.eyebrow{display:inline-flex;align-items:center;gap:9px;color:#74b6ff;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.eyebrow:before{content:"";width:20px;height:1px;background:var(--accent);box-shadow:0 0 10px var(--accent)}h1,h2,h3{font-family:"Space Grotesk",sans-serif;letter-spacing:-.035em}.primary-btn,.light-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.045em;border-radius:11px;transition:transform .28s ease,box-shadow .28s ease,filter .28s ease}.primary-btn{position:relative}.primary-btn>span{display:block;width:100%;text-align:center;padding:0 18px}.primary-btn>i{position:absolute;right:14px;top:50%;transform:translateY(-50%)}.primary-btn{min-height:52px;padding:0 22px;color:#fff;background:linear-gradient(135deg,#1688ff,#104bcf);box-shadow:0 13px 30px rgba(9,83,208,.25),inset 0 1px rgba(255,255,255,.26)}.primary-btn i{font-style:normal;font-size:18px}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 17px 38px rgba(22,136,255,.35),0 0 30px rgba(22,136,255,.16)}.light-btn{min-height:50px;padding:0 24px;background:rgba(255,255,255,.84);color:#06101c;box-shadow:0 14px 35px rgba(1,35,65,.16)}

.hero-section{min-height:100svh;padding:120px 0 72px;background:linear-gradient(90deg,#02070c 0%,#06111d 48%,#02060a 100%)}.hero-section:after{content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(transparent,#03070d);z-index:1}.hero-grid{min-height:calc(100svh - 190px);display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:46px}.hero-copy{position:relative;z-index:5}.hero-copy h1{max-width:580px;margin-top:17px;font-size:clamp(3.1rem,5.4vw,6rem);line-height:.93;text-wrap:balance}.hero-copy h1::selection{background:var(--accent);color:#fff}.hero-subtitle{max-width:540px;margin-top:22px;color:#aab6c5;font-size:clamp(.98rem,1.3vw,1.13rem);line-height:1.75}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px}.hero-proof{max-width:240px;font-size:11px;line-height:1.55;color:#708092}.hero-stage{position:relative;height:min(650px,68vw);max-height:680px;perspective:1200px}.hero-frame-glow{position:absolute;inset:15% 12%;background:#087dff;filter:blur(100px);opacity:.22}.hero-frame{position:absolute;inset:0 0 0 3%;overflow:hidden;border-left:1px solid rgba(82,170,255,.45);border-right:1px solid rgba(82,170,255,.35);background:linear-gradient(135deg,#0b1722,#07101a 45%,#02070b);transform:perspective(1200px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(var(--tx,0px),var(--ty,0px),0);transition:transform .16s ease-out;box-shadow:0 35px 100px rgba(0,0,0,.35)}.section-media-image{position:relative;z-index:3;width:100%;height:100%;object-fit:cover;display:block}.hero-frame>.section-media-image{object-position:center top;filter:saturate(.84) contrast(1.05)}.hero-frame:after{content:"";position:absolute;inset:0;z-index:4;background:linear-gradient(90deg,rgba(2,7,13,.82) 0%,transparent 23%,transparent 73%,rgba(2,7,13,.75) 100%),linear-gradient(0deg,rgba(2,7,13,.75),transparent 42%);pointer-events:none}.hero-blue-panel{position:absolute;z-index:1;left:35%;top:0;width:30%;height:100%;background:linear-gradient(180deg,#0d76ff,#044bc2 78%,#022353);box-shadow:0 0 42px rgba(4,105,255,.23)}.hero-side-panel{position:absolute;z-index:1;top:0;height:100%;width:21%;border-left:1px solid rgba(255,255,255,.18);border-right:1px solid rgba(255,255,255,.18)}.panel-one{left:15%;background:linear-gradient(180deg,#b1c9dc22,#03233c88)}.panel-two{right:13%;background:linear-gradient(180deg,#d4e5ef19,#09131d99)}.hero-monogram{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);font-family:"Space Grotesk";font-size:clamp(9rem,20vw,18rem);font-weight:700;color:rgba(255,255,255,.1);text-shadow:0 0 60px rgba(22,136,255,.25)}.hero-abstract{position:absolute;z-index:2;inset:10% 25% 0;background:radial-gradient(circle at 50% 23%,#9dc7ed 0 6%,#142a3a 7% 18%,transparent 19%),linear-gradient(165deg,transparent 0 22%,#121d28 23% 34%,#2c4154 35% 46%,#101b26 47% 100%);clip-path:polygon(22% 0,78% 0,91% 24%,100% 100%,0 100%,9% 24%);opacity:.92}.floating-alert{position:absolute;z-index:6;min-width:165px;padding:9px 12px;border:1px solid rgba(130,190,255,.17);background:rgba(7,16,26,.72);backdrop-filter:blur(13px);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.32);transform:translate3d(var(--ax,0),var(--ay,0),0)}.floating-alert b,.floating-alert span{display:block}.floating-alert b{font-size:10px;color:#dfefff}.floating-alert span{font-size:8px;color:#6c8299;margin-top:2px}.alert-one{right:2%;top:37%}.alert-two{left:2%;bottom:18%}.section-orb{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.orb-a{width:420px;height:420px;right:-250px;top:12%;background:radial-gradient(circle,rgba(22,136,255,.17),transparent 70%)}.orb-b{width:300px;height:300px;left:-210px;bottom:0;background:radial-gradient(circle,rgba(0,200,255,.08),transparent 70%)}.scroll-cue{position:absolute;z-index:10;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;color:#4e6073}.scroll-cue span{width:30px;height:1px;background:#4e6073}.scroll-cue small{font-size:8px;letter-spacing:.22em}

.strategy-section{padding:140px 0;background:#020508}.strategy-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.strategy-visual{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}.strategy-image-stage{position:relative;width:100%;height:520px;display:flex;align-items:center;justify-content:center;overflow:visible;background:transparent}.strategy-image-stage>.section-media-image{position:relative;width:100%;height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 28px 42px rgba(0,0,0,.34))}
.strategy-money-layer{position:absolute;inset:-8% -10%;z-index:8;overflow:visible;pointer-events:none}
.money-note{position:absolute;left:50%;top:50%;width:58px;height:30px;border-radius:5px;border:1px solid rgba(121,220,177,.34);background:linear-gradient(135deg,rgba(22,102,69,.92),rgba(48,154,103,.88));box-shadow:0 8px 24px rgba(0,0,0,.25),inset 0 0 0 2px rgba(255,255,255,.04);opacity:0;transform:translate(-50%,-50%) rotate(var(--start-r,0deg)) scale(.7)}
.money-note:before,.money-note:after{content:"";position:absolute;inset:4px;border:1px solid rgba(210,255,229,.20);border-radius:3px}.money-note:after{inset:8px 18px;border-radius:50%;background:rgba(222,255,235,.06)}
.money-note b{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);font:800 13px/1 "Space Grotesk",sans-serif;color:rgba(225,255,237,.80)}
.money-note span{position:absolute;right:6px;top:6px;width:4px;height:4px;border-radius:50%;background:rgba(231,255,239,.50);box-shadow:-38px 13px 0 rgba(231,255,239,.38)}
.money-1{--sx:-90px;--sy:-40px;--mx:-160px;--my:-150px;--ex:-230px;--ey:260px;--start-r:-18deg;--end-r:240deg;animation-delay:0s}
.money-2{--sx:-35px;--sy:-30px;--mx:-80px;--my:-190px;--ex:-110px;--ey:300px;--start-r:12deg;--end-r:-280deg;animation-delay:.18s}
.money-3{--sx:25px;--sy:-25px;--mx:60px;--my:-205px;--ex:100px;--ey:285px;--start-r:-10deg;--end-r:310deg;animation-delay:.36s}
.money-4{--sx:80px;--sy:-20px;--mx:150px;--my:-155px;--ex:225px;--ey:245px;--start-r:18deg;--end-r:-245deg;animation-delay:.54s}
.money-5{--sx:-120px;--sy:20px;--mx:-205px;--my:-95px;--ex:-270px;--ey:220px;--start-r:8deg;--end-r:300deg;animation-delay:.72s}
.money-6{--sx:115px;--sy:20px;--mx:210px;--my:-80px;--ex:275px;--ey:235px;--start-r:-14deg;--end-r:-320deg;animation-delay:.90s}
.money-7{--sx:-55px;--sy:35px;--mx:-110px;--my:-125px;--ex:-155px;--ey:330px;--start-r:20deg;--end-r:265deg;animation-delay:1.08s}
.money-8{--sx:55px;--sy:35px;--mx:105px;--my:-135px;--ex:165px;--ey:320px;--start-r:-22deg;--end-r:-285deg;animation-delay:1.26s}
@media (hover:hover) and (pointer:fine){
.strategy-visual:hover .money-note{animation-name:moneyThrowAndFall;animation-duration:2.7s;animation-timing-function:cubic-bezier(.18,.72,.18,1);animation-iteration-count:infinite}
}
@keyframes moneyThrowAndFall{
0%{opacity:0;transform:translate(calc(-50% + var(--sx)),calc(-50% + var(--sy))) rotate(var(--start-r)) scale(.65)}
12%{opacity:.95}
38%{opacity:1;transform:translate(calc(-50% + var(--mx)),calc(-50% + var(--my))) rotate(85deg) scale(1)}
72%{opacity:.92}
100%{opacity:0;transform:translate(calc(-50% + var(--ex)),calc(-50% + var(--ey))) rotate(var(--end-r)) scale(.86)}
}
.strategy-image-empty{width:78%;height:330px;border:1px dashed rgba(79,171,255,.22);border-radius:16px;display:grid;place-items:center;background:rgba(7,19,31,.18)}.strategy-image-empty:after{content:'IMAGEM';color:#506a81;font-size:11px;font-weight:800;letter-spacing:.16em}.laptop-wrap{position:relative;width:min(470px,90%);transform:rotate(-7deg);filter:drop-shadow(0 40px 48px rgba(0,0,0,.55));z-index:3}.laptop-screen{position:relative;height:300px;border:9px solid #101722;border-radius:18px 18px 8px 8px;overflow:hidden;background:linear-gradient(135deg,#041526,#0c58aa 50%,#001426);transform:perspective(900px) rotateX(-2deg)}.laptop-screen>.section-media-image{position:absolute;inset:0;object-fit:cover}.laptop-screen-fallback{position:absolute;inset:0;background:radial-gradient(circle at 82% 25%,rgba(44,177,255,.56),transparent 25%),linear-gradient(135deg,#07111c,#084a8f 55%,#050b13)}.laptop-screen-fallback:before{content:"";position:absolute;right:10%;top:10%;width:100px;height:220px;background:linear-gradient(#00aaff33,#0b7aff05);transform:skewX(-18deg);box-shadow:-55px 50px 0 #0c82ff17}.laptop-screen-copy{position:absolute;z-index:4;left:28px;top:32px}.laptop-screen-copy span{font-size:9px;letter-spacing:.2em;color:#75bfff}.laptop-screen-copy strong{display:block;margin-top:9px;font-family:"Space Grotesk";font-size:28px;line-height:1;color:#fff}.laptop-base{width:112%;height:18px;margin-left:-6%;background:linear-gradient(180deg,#bac4ce,#76828e 55%,#222a31);clip-path:polygon(4% 0,96% 0,100% 60%,75% 100%,25% 100%,0 60%);box-shadow:0 16px 25px rgba(0,0,0,.5)}.sale-stack{position:absolute;left:0;top:28%;z-index:1;display:flex;flex-direction:column;gap:18px}.sale-note{width:205px;padding:11px 13px 11px 44px;border:1px solid #223043;background:linear-gradient(90deg,#121b25,#071019);border-radius:8px;opacity:.55;box-shadow:0 12px 24px rgba(0,0,0,.28)}.sale-note span{position:absolute;margin-left:-31px;width:18px;height:18px;border:1px solid #657a91;transform:rotate(45deg)}.sale-note b,.sale-note small{display:block}.sale-note b{font-size:11px}.sale-note small{font-size:9px;color:#74869a;margin-top:2px}.n2{margin-left:-24px;opacity:.72}.n3{margin-left:15px;opacity:1;border-color:#304d6a}.strategy-panel{position:relative;padding:38px;border:1px solid rgba(59,147,238,.42);background:linear-gradient(145deg,rgba(11,21,32,.72),rgba(4,8,13,.82));box-shadow:inset 0 0 50px rgba(22,136,255,.025)}
.strategy-panel:before,.strategy-panel:after{content:"";position:absolute;width:48px;height:1px;background:var(--accent)}
.strategy-panel:before{left:-1px;top:-1px}
.strategy-panel:after{right:-1px;bottom:-1px}

/* MOVING BORDER — SEÇÃO 2
   Inspirado no comportamento de um feixe luminoso que percorre o contorno.
   O movimento é calculado em JavaScript para funcionar também em navegadores mobile. */
.strategy-panel.strategy-moving-border-panel{
  position:relative;
  isolation:isolate;
  overflow:visible;
  border:1px solid color-mix(in srgb,var(--moving-border-color,#1688ff) 28%,transparent);
  box-shadow:
    inset 0 0 46px rgba(22,136,255,.025),
    0 0 calc(var(--moving-border-glow,12px) * .35) color-mix(in srgb,var(--moving-border-color,#1688ff) 22%,transparent);
}
.strategy-panel.strategy-moving-border-panel:before,
.strategy-panel.strategy-moving-border-panel:after{content:none!important}
.strategy-panel.strategy-moving-border-panel>*:not(.strategy-moving-border-track){position:relative;z-index:2}
.strategy-moving-border-track{
  position:absolute;
  inset:-1px;
  z-index:7;
  pointer-events:none;
  overflow:visible;
  border-radius:inherit;
}
.strategy-moving-border-beam{
  position:absolute;
  left:0;
  top:0;
  width:var(--moving-border-beam-size,96px);
  height:3px;
  border-radius:999px;
  opacity:var(--moving-border-alpha,.72);
  transform:translate3d(-50%,-50%,0);
  transform-origin:50% 50%;
  will-change:left,top,transform;
  background:linear-gradient(
    90deg,
    transparent 0%,
    color-mix(in srgb,var(--moving-border-color,#1688ff) 32%,transparent) 17%,
    var(--moving-border-color,#1688ff) 45%,
    color-mix(in srgb,var(--moving-border-color,#1688ff) 40%,white) 62%,
    transparent 100%
  );
  box-shadow:
    0 0 calc(var(--moving-border-glow,12px) * .55) var(--moving-border-color,#1688ff),
    0 0 var(--moving-border-glow,12px) color-mix(in srgb,var(--moving-border-color,#1688ff) 72%,transparent);
}
.strategy-moving-border-beam:after{
  content:"";
  position:absolute;
  inset:-5px -12px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--moving-border-color,#1688ff),transparent);
  filter:blur(var(--moving-border-glow,12px));
  opacity:calc(var(--moving-border-alpha,.72) * .78);
}
.strategy-panel h2{margin-top:12px;font-size:clamp(2rem,3vw,3rem);line-height:1.02}.strategy-list{margin-top:34px;display:grid;gap:27px}.strategy-list article{display:grid;grid-template-columns:26px 1fr;gap:14px}.line-icon{width:18px;height:18px;border:2px solid var(--accent);border-radius:5px;transform:rotate(45deg);margin-top:3px;box-shadow:0 0 14px rgba(22,136,255,.18)}.strategy-list h3{font-size:16px;color:#4ca5ff;letter-spacing:-.015em}.strategy-list p{margin-top:6px;font-size:12px;line-height:1.65;color:#bdc7d3}

.about-section{padding:135px 0 125px;background:linear-gradient(180deg,#020508,#05090f)}.section-heading.centered{text-align:center;max-width:800px;margin:0 auto}.section-heading h2{margin-top:12px;font-size:clamp(2.4rem,4.2vw,4.8rem);line-height:.98;text-wrap:balance}.section-heading p{max-width:620px;margin:15px auto 0;color:#8796a8;font-size:14px;line-height:1.7}.about-card{margin-top:50px;display:grid;grid-template-columns:.9fr 1.1fr;gap:0;min-height:510px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#080d15;overflow:hidden;box-shadow:0 35px 80px rgba(0,0,0,.22)}.about-card-mobile-scale-shell,.about-card-mobile-scale-wrap{display:contents}.about-photo{position:relative;min-height:510px;background:linear-gradient(145deg,#151c25,#0d1118);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.about-photo>.section-media-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;z-index:2}.about-image-empty{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#151c25,#0d1118);border-right:1px solid rgba(255,255,255,.04)}.about-image-empty:after{content:'SUA IMAGEM';color:#52687b;font-size:11px;font-weight:800;letter-spacing:.16em}.portrait-fallback{position:absolute;inset:8% 10% 0;border-radius:14px 14px 0 0;background:radial-gradient(circle at 50% 22%,#d0d7df 0 8%,#1a2531 9% 19%,transparent 20%),linear-gradient(160deg,transparent 0 24%,#18212b 25% 38%,#0f151c 39% 100%);clip-path:polygon(16% 0,84% 0,95% 22%,100% 100%,0 100%,5% 22%);filter:saturate(.65)}.photo-edge{position:absolute;inset:0;background:linear-gradient(90deg,transparent 75%,#080d15),linear-gradient(0deg,rgba(8,13,21,.7),transparent 33%);pointer-events:none}.about-copy{padding:50px 48px;display:flex;flex-direction:column;justify-content:center}.about-name{color:#35a0ff;font-size:12px;font-weight:800}.about-copy h3{margin-top:12px;font-size:clamp(1.65rem,2.4vw,2.5rem);line-height:1.07}.about-copy>p{margin-top:18px;font-size:12px;line-height:1.8;color:#9eabb9}.about-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;padding-top:23px;border-top:1px solid rgba(255,255,255,.07)}.about-metrics div{display:flex;flex-direction:column;gap:3px}.about-metrics strong{font-family:"Space Grotesk";font-size:23px;color:#fff}.about-metrics span{font-size:9px;color:#617387;text-transform:uppercase;letter-spacing:.08em}
.center-action{display:flex;justify-content:center;margin-top:30px}

.blue-band-section{padding:0;background:#03070d}.blue-band-section:before{display:none}.blue-band-section:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 50%,rgba(255,255,255,.22),transparent 30%);mix-blend-mode:soft-light}.blue-band-grid{min-height:330px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center}.blue-band-section{background:linear-gradient(110deg,#0878e4,#0aa6ef 60%,#18bce8);border-top:1px solid rgba(255,255,255,.8);border-bottom:1px solid rgba(255,255,255,.34);box-shadow:0 0 60px rgba(0,147,255,.15)}.band-object{height:330px;display:flex;align-items:center;justify-content:center;position:relative}.band-object>.section-media-image{max-width:420px;width:80%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(0,20,45,.35))}.pawn-object{position:relative;width:180px;height:250px;filter:drop-shadow(0 28px 24px rgba(0,26,55,.38));transform:rotate(-8deg)}.pawn-object i{position:absolute;left:50%;top:0;width:78px;height:78px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle at 34% 28%,#168fe9,#06477c 65%,#032d52);box-shadow:inset -11px -10px 20px rgba(0,0,0,.3),0 0 22px rgba(170,230,255,.26)}.pawn-object b{position:absolute;left:50%;top:62px;transform:translateX(-50%);width:68px;height:118px;background:linear-gradient(90deg,#07355d,#0b6fab 48%,#04315a);clip-path:polygon(22% 0,78% 0,65% 45%,82% 100%,18% 100%,35% 45%)}.pawn-object span{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);width:150px;height:50px;border-radius:50% 50% 20% 20%;background:linear-gradient(180deg,#0b6ba1,#043354);box-shadow:0 18px 24px rgba(0,27,52,.3)}.band-copy{max-width:620px;color:#04111e}.band-copy h2{font-size:clamp(2.5rem,4.6vw,5rem);text-transform:uppercase;line-height:.9;letter-spacing:-.05em}.band-copy p{margin-top:17px;max-width:600px;font-size:14px;line-height:1.55;font-weight:600;color:#072540}.band-copy .light-btn{margin-top:23px}

.services-section{padding:140px 0 145px;background:#020406}.service-rail{margin-top:55px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.service-card{position:relative;min-height:430px;border-right:1px solid rgba(255,255,255,.08);background:#05080d;overflow:hidden;transition:transform .35s ease,background .35s ease}.service-card:first-child{border-left:1px solid rgba(255,255,255,.08)}.service-card:hover{transform:translateY(-8px);background:#080e17;z-index:2}.service-art{position:absolute;inset:0 0 38%;overflow:hidden;background:linear-gradient(145deg,#0a111b,#020407)}.service-art:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#05080d,transparent 65%)}.service-art span{position:absolute;z-index:2;right:15px;top:12px;font-family:"Space Grotesk";font-size:10px;color:#4e6680}.art-1:before,.art-2:before,.art-3:before,.art-4:before,.art-5:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.art-1:before{width:120px;height:120px;border-radius:30px;border:1px solid #ff5b2d33;box-shadow:0 0 60px #ff4d001a;background:radial-gradient(circle,#ff521f25,transparent 65%)}.art-2:before{width:78px;height:150px;border-radius:50% 50% 10px 10px;border:1px solid #ffb1334a;transform:translate(-50%,-50%) rotate(18deg);box-shadow:0 0 50px #ff9d0018}.art-3:before{width:160px;height:160px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#0f90ff,#073e6d 44%,#02080e 62%);box-shadow:0 0 60px #0077ff2b}.art-4:before{width:180px;height:118px;border:1px solid #138aff3d;background:linear-gradient(135deg,#071729,#0e5a9c55);transform:translate(-50%,-50%) perspective(500px) rotateY(-16deg);box-shadow:0 25px 45px #000}.art-5:before{width:150px;height:95px;border-radius:12px;background:repeating-linear-gradient(90deg,#102031 0 12px,#07111b 12px 24px);box-shadow:0 0 45px rgba(22,136,255,.11)}.service-copy{position:absolute;z-index:3;left:20px;right:20px;bottom:24px}.service-copy small{font-size:8px;color:#607287;letter-spacing:.17em}.service-copy h3{margin-top:8px;font-size:20px;line-height:1}.service-copy p{margin-top:10px;color:#708095;font-size:10px;line-height:1.55}

.contact-section{min-height:520px;background:linear-gradient(90deg,#061226,#082c69 58%,#0b64ef);overflow:hidden}.contact-section:before{background:radial-gradient(circle at 75% 35%,rgba(83,192,255,.26),transparent 33%)}.contact-grid{min-height:520px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center}.contact-copy{max-width:620px;padding:70px 0}.contact-copy h2{margin-top:11px;font-size:clamp(2.7rem,5vw,5.6rem);line-height:.9;text-wrap:balance}.contact-copy p{margin-top:18px;max-width:570px;color:#b9c9dd;font-size:13px;line-height:1.7}.contact-copy .primary-btn{margin-top:25px;background:#fff;color:#06204d;box-shadow:0 14px 35px rgba(0,0,0,.2)}.contact-visual{align-self:stretch;position:relative;min-height:520px}.contact-visual>.section-media-image{position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom}.contact-portrait-fallback{position:absolute;z-index:3;right:3%;bottom:0;width:70%;height:93%;background:radial-gradient(circle at 50% 20%,#d5dce2 0 8%,#152332 9% 18%,transparent 19%),linear-gradient(160deg,transparent 0 22%,#162334 23% 39%,#07101a 40% 100%);clip-path:polygon(18% 0,82% 0,94% 23%,100% 100%,0 100%,6% 23%);filter:drop-shadow(0 25px 30px rgba(0,0,0,.3))}.contact-blue-shape{position:absolute;z-index:1;right:-5%;top:0;width:73%;height:100%;background:linear-gradient(140deg,#0e69ff,#063da7);clip-path:polygon(35% 0,100% 0,100% 100%,0 100%,31% 73%,0 45%)}.contact-lines{position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 62%,rgba(255,255,255,.12) 62.2% 62.4%,transparent 62.6%)}.site-footer{min-height:70px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#020407;border-top:1px solid rgba(255,255,255,.06);color:#526274;font-size:10px;letter-spacing:.08em;text-transform:uppercase;position:relative;z-index:82}.site-footer.has-footer-blur{background:linear-gradient(to top,rgba(var(--footer-blur-rgb),var(--footer-blur-footer-alpha)),rgba(var(--footer-blur-rgb),calc(var(--footer-blur-footer-alpha) * .72)));-webkit-backdrop-filter:blur(calc(var(--footer-blur-px) * .72)) saturate(135%);backdrop-filter:blur(calc(var(--footer-blur-px) * .72)) saturate(135%);border-top-color:rgba(255,255,255,.035)}.footer-blur-zone{position:fixed;z-index:70;left:0;right:0;bottom:-2px;height:var(--footer-blur-height);pointer-events:none;opacity:1;transform:translateZ(0);overflow:hidden;will-change:backdrop-filter}.footer-glass-layer,.footer-glass-texture{position:absolute;left:0;right:0;bottom:0;pointer-events:none}.footer-glass-layer{transform:translateZ(0);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.035) 12%,rgba(0,0,0,.16) 28%,rgba(0,0,0,.48) 54%,rgba(0,0,0,.82) 78%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.035) 12%,rgba(0,0,0,.16) 28%,rgba(0,0,0,.48) 54%,rgba(0,0,0,.82) 78%,#000 100%)}.glass-layer-1{height:100%;background:linear-gradient(to top,rgba(var(--footer-blur-rgb),calc(var(--footer-blur-alpha) * .30)),rgba(var(--footer-blur-rgb),0) 78%);-webkit-backdrop-filter:blur(calc(var(--footer-blur-px) * .30)) saturate(112%);backdrop-filter:blur(calc(var(--footer-blur-px) * .30)) saturate(112%)}.glass-layer-2{height:82%;background:linear-gradient(to top,rgba(var(--footer-blur-rgb),calc(var(--footer-blur-alpha) * .40)),rgba(var(--footer-blur-rgb),0) 82%);-webkit-backdrop-filter:blur(calc(var(--footer-blur-px) * .48)) saturate(120%);backdrop-filter:blur(calc(var(--footer-blur-px) * .48)) saturate(120%)}.glass-layer-3{height:62%;background:linear-gradient(to top,rgba(var(--footer-blur-rgb),calc(var(--footer-blur-alpha) * .52)),rgba(var(--footer-blur-rgb),0) 84%);-webkit-backdrop-filter:blur(calc(var(--footer-blur-px) * .68)) saturate(130%);backdrop-filter:blur(calc(var(--footer-blur-px) * .68)) saturate(130%)}.glass-layer-4{height:42%;background:linear-gradient(to top,rgba(var(--footer-blur-rgb),var(--footer-blur-alpha)),rgba(var(--footer-blur-rgb),calc(var(--footer-blur-mid-alpha) * .40)) 62%,rgba(var(--footer-blur-rgb),0) 100%);-webkit-backdrop-filter:blur(var(--footer-blur-px)) saturate(142%) contrast(103%);backdrop-filter:blur(var(--footer-blur-px)) saturate(142%) contrast(103%)}.footer-glass-texture{height:100%;opacity:.9;background:radial-gradient(circle at 14% 92%,rgba(255,255,255,var(--footer-glass-shine)) 0 1px,transparent 2px),radial-gradient(circle at 57% 78%,rgba(255,255,255,calc(var(--footer-glass-shine) * .62)) 0 1px,transparent 2px),radial-gradient(circle at 82% 88%,rgba(255,255,255,calc(var(--footer-glass-shine) * .48)) 0 1px,transparent 2px),linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,calc(var(--footer-glass-shine) * .35)) 63%,rgba(255,255,255,calc(var(--footer-glass-shine) * .72)) 100%);background-size:19px 19px,27px 27px,33px 33px,100% 100%;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.08) 30%,rgba(0,0,0,.58) 70%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.08) 30%,rgba(0,0,0,.58) 70%,#000 100%)}.footer-blur-zone.is-active{opacity:1}

.reveal-block{opacity:1;transform:none}.js .reveal-block{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.72,.2,1),transform .8s cubic-bezier(.2,.72,.2,1);transition-delay:var(--delay,0ms)}.js .reveal-block[data-reveal="left"]{transform:translateX(-38px)}.js .reveal-block[data-reveal="right"]{transform:translateX(38px)}.js .reveal-block.is-visible{opacity:1;transform:none}.cursor-dot{display:none}

@media (hover:hover) and (pointer:fine){html.custom-cursor,html.custom-cursor body,html.custom-cursor a,html.custom-cursor button{cursor:none!important}.cursor-dot{display:block;position:fixed;z-index:9999;left:0;top:0;width:var(--cursor-size,26px);height:var(--cursor-size,26px);border-radius:50%;background:#1688ff;border:1px solid rgba(205,232,255,.48);box-shadow:0 0 8px rgba(117,196,255,1),0 0 20px rgba(22,136,255,.96),0 0 42px rgba(22,136,255,.70),0 0 72px rgba(22,136,255,.38);pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s,box-shadow .2s,opacity .15s;will-change:left,top,width,height}.cursor-dot.visible{opacity:1}.cursor-dot.over-action{width:var(--cursor-action-size,50px);height:var(--cursor-action-size,50px);background:rgba(22,136,255,.22);border-color:rgba(148,211,255,.95);box-shadow:inset 0 0 0 1px rgba(155,215,255,.68),0 0 14px rgba(92,184,255,.98),0 0 34px rgba(22,136,255,.78),0 0 70px rgba(22,136,255,.42)}}


@media(max-width:980px){
.site-header.header-align-left{justify-content:flex-start;gap:14px}
.site-header.header-align-center{justify-content:center;gap:14px}
.site-header.header-align-right{justify-content:flex-end;gap:14px}
}
@media (max-width:980px){body{--shell:min(100% - 34px,760px)}.desktop-nav{display:none}.hero-section{padding-top:110px}.hero-grid,.strategy-grid,.blue-band-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:20px;min-height:auto}.hero-copy{text-align:center;max-width:690px;margin:0 auto}.hero-copy h1{max-width:690px;font-size:clamp(3.2rem,10vw,5.6rem)}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-stage{height:620px;max-height:none}.strategy-grid{gap:30px}.strategy-visual{min-height:470px;order:2}.strategy-panel{order:1}.about-card{grid-template-columns:1fr;max-width:760px;margin-left:auto;margin-right:auto}.about-photo{min-height:520px}.blue-band-grid{text-align:center;padding:30px 0 45px}.band-object{height:260px}.band-copy{margin:0 auto}.service-rail{grid-template-columns:repeat(2,1fr)}.service-card{border-bottom:1px solid rgba(255,255,255,.08)}.service-card:last-child{grid-column:1/-1;min-height:350px}.contact-copy{text-align:center;margin:0 auto;padding-bottom:20px}.contact-visual{min-height:430px}.site-footer{padding:0 20px}}


@media(min-width:621px){.brand.hide-header-logo-desktop .brand-logo-slot{display:none}}
@media (max-width:620px){
.about-card-mobile-scale-shell{
display:flex;
width:100%;
justify-content:center;
align-items:flex-start
}
.about-card-mobile-scale-wrap{
display:block;
width:100%;
zoom:var(--about-card-mobile-zoom,1)
}
.about-card-mobile-scale-wrap>.about-card{
width:100%;
max-width:none;
margin-left:0!important;
margin-right:0!important
}
body{--shell:calc(100% - 28px)}.site-header{top:10px;width:min(var(--header-simple-width-mobile,98vw),calc(100vw - 8px));height:var(--header-simple-height-mobile,54px)}.brand-logo-slot{width:30px;height:30px}.brand b{display:none}.header-cta{font-size:9px}.hero-section{padding:94px 0 62px}.hero-copy h1{font-size:clamp(2.8rem,14vw,4.5rem);line-height:.91}.hero-subtitle{font-size:.96rem;line-height:1.65}.hero-actions{flex-direction:column}.hero-proof{max-width:300px}.hero-stage{height:480px;margin-top:8px}.hero-frame{inset:0}.floating-alert{min-width:130px;padding:7px 9px}.alert-one{right:-2%;top:31%}.alert-two{left:-3%;bottom:12%}.scroll-cue{display:none}.strategy-section,.about-section,.services-section{padding:92px 0}.strategy-visual{min-height:390px}.strategy-image-stage{height:390px}.laptop-wrap{width:95%}.laptop-screen{height:230px}.sale-note{width:150px}.strategy-panel{padding:26px 21px}.strategy-panel.strategy-moving-border-panel{box-shadow:inset 0 0 36px rgba(22,136,255,.025),0 0 5px color-mix(in srgb,var(--moving-border-color,#1688ff) 18%,transparent)}.strategy-panel h2{font-size:2.35rem}.strategy-list h3{font-size:15px}.about-card{margin-top:35px;border-radius:14px}.about-photo{min-height:390px}.about-copy{padding:32px 24px}.about-copy h3{font-size:1.75rem}.about-metrics{grid-template-columns:1fr;gap:14px}.about-metrics div{flex-direction:row;align-items:baseline;gap:10px}.about-metrics strong{font-size:20px}.section-heading h2{font-size:clamp(2.3rem,12vw,3.6rem)}.blue-band-grid{padding:10px 0 40px}.band-object{height:230px}.pawn-object{transform:scale(.75) rotate(-8deg)}.band-copy h2{font-size:3.2rem}.band-copy p{font-size:12px}.service-rail{grid-template-columns:1fr;margin-top:35px}.service-card,.service-card:last-child{min-height:360px;grid-column:auto;border-left:1px solid rgba(255,255,255,.08)}.contact-section,.contact-grid{min-height:690px}.contact-copy{padding:78px 0 0}.contact-copy h2{font-size:clamp(2.8rem,13vw,4.5rem)}.contact-visual{min-height:350px}.contact-portrait-fallback{right:13%;width:74%}.site-footer{min-height:90px;flex-direction:column;justify-content:center;gap:8px;text-align:center}}




[data-site-element-key]{--site-el-x-px:0px;--site-el-y-px:0px;--site-el-scale:1;--site-el-rotate:0deg;--site-el-opacity:1}
.site-movable-element{translate:var(--site-el-x-px) var(--site-el-y-px)!important;scale:var(--site-el-scale)!important;rotate:var(--site-el-rotate)!important;opacity:var(--site-el-opacity)!important;will-change:translate,scale,rotate,opacity}
.site-existing-positioned-text{
  position:absolute!important;
  left:var(--site-text-x)!important;
  top:var(--site-text-y)!important;
  width:var(--site-text-w)!important;
  max-width:none!important;
  margin:0!important;
  z-index:34!important;
  font-size:var(--site-text-fs)!important;
  font-family:var(--site-text-font,inherit)!important;
  line-height:var(--site-text-lh)!important;
  text-align:var(--site-text-align)!important;
  color:var(--site-text-color)!important;
  -webkit-text-fill-color:var(--site-text-color)!important;
  font-weight:var(--site-text-weight)!important;
  transform:none!important;
  translate:none!important;
  opacity:1!important;
  visibility:visible!important;
}
.site-existing-positioned-text.reveal-block{opacity:1!important;transform:none!important}
.free-text-layer{position:absolute;inset:0;z-index:25;pointer-events:none;overflow:hidden}
.free-text-item{position:absolute;left:var(--d-x);top:var(--d-y);width:var(--d-w);font-size:var(--d-fs);line-height:var(--d-lh);text-align:var(--d-align);color:var(--d-color);font-weight:var(--d-weight);font-family:var(--d-font,"Manrope",sans-serif);white-space:pre-wrap;overflow-wrap:anywhere;text-wrap:balance;text-shadow:0 2px 22px rgba(0,0,0,.30)}
.hero-section.hide-default-copy .hero-copy,
.strategy-section.hide-default-copy .strategy-panel,
.strategy-section.hide-default-copy .laptop-screen-copy,
.about-section.hide-default-copy .section-heading,
.about-section.hide-default-copy .about-copy,
.about-section.hide-default-copy .center-action,
.blue-band-section.hide-default-copy .band-copy,
.services-section.hide-default-copy .section-heading,
.services-section.hide-default-copy .service-copy,
.contact-section.hide-default-copy .contact-copy{visibility:hidden}
@media(max-width:620px){
.free-text-item{left:var(--m-x);top:var(--m-y);width:var(--m-w);font-size:var(--m-fs);font-family:var(--m-font,"Manrope",sans-serif);line-height:var(--m-lh);text-align:var(--m-align);color:var(--m-color);font-weight:var(--m-weight)}
}

/* Imagem da seção é independente do fundo. */
@media(min-width:621px){
.hero-section.hide-section-image-desktop .hero-stage,
.strategy-section.hide-section-image-desktop .strategy-visual,
.about-section.hide-section-image-desktop .about-photo,
.blue-band-section.hide-section-image-desktop .band-object,
.services-section.hide-section-image-desktop .services-section-image,
.contact-section.hide-section-image-desktop .contact-visual{display:none!important}

.hero-section.hide-section-image-desktop .hero-grid{grid-template-columns:minmax(0,760px)!important;justify-content:start}
.strategy-section.hide-section-image-desktop .strategy-grid{grid-template-columns:minmax(0,820px)!important;justify-content:center}
.about-section.hide-section-image-desktop .about-card{grid-template-columns:1fr!important}
.blue-band-section.hide-section-image-desktop .blue-band-grid{grid-template-columns:minmax(0,760px)!important;justify-content:center}
.contact-section.hide-section-image-desktop .contact-grid{grid-template-columns:minmax(0,820px)!important;justify-content:start}
}
@media(max-width:620px){
.hero-section.hide-section-image-mobile .hero-stage,
.strategy-section.hide-section-image-mobile .strategy-visual,
.about-section.hide-section-image-mobile .about-photo,
.blue-band-section.hide-section-image-mobile .band-object,
.services-section.hide-section-image-mobile .services-section-image,
.contact-section.hide-section-image-mobile .contact-visual{display:none!important}
}

.services-section-image{
position:relative;
width:min(620px,82%);
aspect-ratio:16/8;
margin:22px auto 30px;
border:1px solid rgba(80,178,255,.18);
border-radius:18px;
overflow:hidden;
background:rgba(4,13,23,.48);
box-shadow:0 20px 60px rgba(0,0,0,.28)
}
.services-section-image .section-media-image{width:100%;height:100%;object-fit:cover;display:block}

/* CAPA: quando existe apenas imagem de fundo, remove o visual antigo da direita. */
.hero-section.hide-default-hero-visual .hero-stage{display:none!important}
@media(min-width:981px){
.hero-section.hide-default-hero-visual .hero-grid{
grid-template-columns:minmax(0,650px)!important;
justify-content:start!important;
}
}
@media(max-width:980px){
.hero-section.hide-default-hero-visual .hero-grid{grid-template-columns:1fr!important}
}
@media (prefers-reduced-motion:reduce){.money-note{animation:none!important;opacity:0!important}html{scroll-behavior:auto}.js .reveal-block{opacity:1!important;transform:none!important;transition:none!important}.cursor-dot{display:none!important}}


/* ============================================================
   SEÇÃO 2 — correção Mobile + tamanho do bloco completo
   ============================================================ */
.strategy-panel[data-site-element-key="strategy_panel"]{
  transform-origin:top center;
}
@media (max-width:620px){
  .strategy-section .strategy-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
    align-items:start!important;
  }
  /* A imagem vem primeiro no Mobile. Antes ela era order:2 e só aparecia
     depois do bloco enorme de texto, parecendo que tinha sumido. */
  .strategy-section:not(.hide-section-image-mobile) .strategy-visual{
    display:flex!important;
    order:1!important;
    position:relative!important;
    min-height:280px!important;
    width:100%!important;
    margin:0!important;
    z-index:1;
    align-items:center!important;
    justify-content:center!important;
  }
  .strategy-section .strategy-panel{
    order:2!important;
    position:relative!important;
    z-index:2;
    margin:0 auto!important;
    width:100%;
  }
  .strategy-section .strategy-image-stage{
    width:100%!important;
    height:320px!important;
    min-height:280px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .strategy-section .strategy-image-stage>.section-media-image{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:320px!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}


/* ============================================================
   TRANSIÇÃO SEÇÃO 1 -> SEÇÃO 2
   Correção visual sem alterar textos, imagens, neon ou editor.
   ============================================================ */

/* Faz a capa terminar em preto real, eliminando a linha/recorte entre
   a imagem da capa e a seção seguinte. */
.hero-section:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:220px!important;
  z-index:2!important;
  pointer-events:none!important;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,.28) 30%,
    rgba(0,0,0,.76) 68%,
    #000 100%
  )!important;
}

/* A Seção 2 nasce do mesmo preto da capa. Dessa forma não existe
   uma faixa de cor diferente entre as duas seções. */
.strategy-section{
  margin-top:-1px!important;
  background:linear-gradient(
    180deg,
    #000 0%,
    #000 70px,
    #010204 150px,
    #020508 260px,
    #020508 100%
  )!important;
}

/* Remove o brilho azul global apenas na área de encontro das duas seções. */
.hero-section:before{
  background:radial-gradient(circle at 50% 24%,rgba(22,136,255,.045),transparent 43%)!important;
}
.strategy-section:before{
  background:radial-gradient(circle at 50% 42%,rgba(22,136,255,.025),transparent 46%)!important;
}

@media (max-width:620px){
  /* No celular a capa não precisa reservar 100svh depois que o conteúdo
     termina. Essa reserva era o grande bloco vazio azul/escuro do print. */
  .hero-section{
    /* Meio-termo entre a capa antiga (alta demais) e a versão curta.
       A imagem volta a respirar, mas sem criar o grande bloco vazio. */
    min-height:clamp(620px,82svh,760px)!important;
    padding-bottom:72px!important;
    background-color:#000!important;
  }
  .hero-section .hero-grid{
    min-height:auto!important;
  }

  /* Gradiente menor e mais natural no celular. */
  .hero-section:after{
    height:190px!important;
    background:linear-gradient(
      180deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.36) 34%,
      rgba(0,0,0,.86) 74%,
      #000 100%
    )!important;
  }

  .strategy-section{
    margin-top:-1px!important;
    padding-top:54px!important;
    background:linear-gradient(
      180deg,
      #000 0%,
      #000 44px,
      #010204 105px,
      #020508 190px,
      #020508 100%
    )!important;
  }
}


/* ============================================================
   AJUSTE FINAL — CAPA MOBILE
   Desktop permanece intacto.
   - mantém a Seção 1 com altura de uma tela completa;
   - elimina o recorte/faixa no meio da imagem;
   - transforma a parte inferior em degradê preto contínuo.
   ============================================================ */
@media (max-width:620px){
  .hero-section{
    min-height:100svh!important;
    padding-bottom:104px!important;
    background:#000!important;
  }

  .hero-section .hero-grid{
    min-height:calc(100svh - 150px)!important;
  }

  /* O fundo pode estar em contain/custom pelo painel. Em telas estreitas a
     borda física da imagem podia ficar visível. Esta máscara começa antes
     desse ponto e dissolve o fundo em preto, sem alterar posição/zoom salvos. */
  .hero-section .section-image-background:after{
    background:linear-gradient(
      180deg,
      rgba(1,6,11,.10) 0%,
      rgba(1,6,11,.14) 32%,
      rgba(0,0,0,.28) 48%,
      rgba(0,0,0,.58) 64%,
      rgba(0,0,0,.88) 82%,
      #000 100%
    )!important;
  }

  /* Segunda camada de segurança: não deixa nenhuma linha de encontro
     aparecer no final da capa, independentemente do tipo de fundo. */
  .hero-section:after{
    height:58%!important;
    background:linear-gradient(
      180deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,.12) 24%,
      rgba(0,0,0,.46) 52%,
      rgba(0,0,0,.86) 78%,
      #000 100%
    )!important;
  }

  .strategy-section{
    margin-top:-1px!important;
    background:linear-gradient(180deg,#000 0%,#000 70px,#010204 150px,#020508 260px,#020508 100%)!important;
  }
}

/* ============================================================
   CORREÇÃO MOBILE — ESPAÇO ENTRE SEÇÃO 2 E SEÇÃO 3
   ------------------------------------------------------------
   O controle "Tamanho do bloco" da Seção 2 usava CSS scale.
   O bloco ficava menor visualmente, mas o navegador continuava
   reservando a altura ORIGINAL, criando um grande espaço preto
   antes da Seção 3. No Mobile usamos zoom para que o espaço do
   layout diminua junto com o bloco.
   Desktop permanece intacto.
   ============================================================ */
@media (max-width:620px){

  .strategy-section .strategy-panel[data-site-element-key="strategy_panel"].site-movable-element{
    /* Remove somente a escala visual antiga deste bloco no Mobile. */
    scale:1!important;

    /* O mesmo valor configurado no painel agora reduz também
       a altura ocupada pelo bloco no fluxo da página. */
    zoom:var(--site-el-scale,1);
    transform-origin:top center;
  }

  /* Reduz apenas o respiro excessivo entre as duas seções. */
  .strategy-section{
    padding-bottom:34px!important;
  }

  .about-section{
    padding-top:48px!important;
  }

  /* Evita margens extras acumuladas no encontro das seções. */
  .strategy-section .strategy-grid{
    margin-bottom:0!important;
  }

  .about-section .section-heading.centered{
    margin-top:0!important;
  }
}

/* ============================================================
   TRANSIÇÃO PRETA — SEÇÃO 2 -> SEÇÃO 3
   Remove o halo azul e qualquer linha visual entre as duas áreas.
   Não interfere na borda neon do bloco da Seção 2.
   ============================================================ */
.strategy-section,
.about-section{
  border-top:0!important;
  border-bottom:0!important;
}

/* O brilho azul genérico da seção era o principal responsável
   pelo contraste visível mesmo quando o fundo estava em cor sólida. */
.strategy-section:before,
.about-section:before{
  background:none!important;
  box-shadow:none!important;
}

/* Dissolve o final da S2 em preto. */
.strategy-section:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:140px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.58) 55%,#000 100%)!important;
}

/* Faz a S3 nascer do mesmo preto, sem corte entre os fundos. */
.about-section{
  margin-top:-2px!important;
}
.about-section:after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:130px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.88) 38%,rgba(0,0,0,0) 100%)!important;
}

@media(max-width:620px){
  .strategy-section:after{height:100px!important}
  .about-section:after{height:94px!important}
}

/* ============================================================
   SEÇÃO 4 — IMAGEM INTEIRA + OBJETO OPCIONAL
   ============================================================ */
.blue-band-grid.no-band-object{
  grid-template-columns:1fr!important;
}
.blue-band-grid.no-band-object .band-copy{
  width:min(760px,100%);
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

/* Quando a Seção 4 usa imagem de fundo, a altura passa a acompanhar
   a proporção natural do arquivo. Assim a imagem não é cortada. */
.blue-band-section.has-layered-image-bg.s4-full-bg-ready{
  min-height:var(--s4-full-image-height,330px)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  background:#000!important;
}
.blue-band-section.has-layered-image-bg.s4-full-bg-ready .blue-band-grid{
  min-height:var(--s4-full-image-height,330px)!important;
}
.blue-band-section.has-layered-image-bg.s4-full-bg-ready .section-image-background>span{
  background-size:100% auto!important;
  background-position:center top!important;
  transform:none!important;
}

/* Mantém a imagem completa também no editor e evita que o container
   antigo de 330px force um recorte visual. */
@media(max-width:980px){
  .blue-band-section.has-layered-image-bg.s4-full-bg-ready .band-object{
    height:auto;
    min-height:0;
  }
}

/* ============================================================
   SEÇÃO 4 — FUNDO PRETO, IMAGEM INTEIRA E TEXTO ORGANIZADO
   ============================================================ */

/* Elimina a linha que marcava a passagem da Seção 3 para a 4. */
.about-section{
  border-bottom:0!important;
}
.blue-band-section{
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  margin-top:-1px!important;
}

/* O PNG/transparência deve revelar preto, não o antigo azul da seção. */
.blue-band-section.has-layered-image-bg{
  background:#000!important;
}
.blue-band-section.has-layered-image-bg .section-image-background{
  background:#000!important;
}
.blue-band-section.has-layered-image-bg .section-image-background:after{
  background:transparent!important;
}

/* Remove todas as fontes do contraste azul que ficavam atrás da imagem. */
.blue-band-section.has-layered-image-bg:before,
.blue-band-section.has-layered-image-bg:after{
  background:none!important;
  box-shadow:none!important;
  opacity:0!important;
}
.blue-band-section.has-layered-image-bg .band-glow{
  display:none!important;
}

/* A imagem de fundo vira uma faixa visual própria no topo.
   Ela usa CONTAIN: a imagem inteira aparece sem recorte. */
.blue-band-section.has-layered-image-bg.s4-full-bg-ready{
  --s4-display-image-height:clamp(300px,38vw,560px);
  min-height:0!important;
  padding:var(--s4-display-image-height) 0 58px!important;
  background:#000!important;
  overflow:visible!important;
}
.blue-band-section.has-layered-image-bg.s4-full-bg-ready .section-image-background{
  inset:0 0 auto 0!important;
  height:var(--s4-display-image-height)!important;
  overflow:hidden!important;
}
.blue-band-section.has-layered-image-bg.s4-full-bg-ready .section-image-background>span{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background-size:contain!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  transform:none!important;
}

/* O texto não fica mais em cima da imagem. */
.blue-band-section.has-layered-image-bg.s4-full-bg-ready .blue-band-grid{
  min-height:0!important;
  padding:46px 20px 0!important;
  display:block!important;
}
.blue-band-section.has-layered-image-bg.s4-full-bg-ready .band-copy{
  width:min(900px,100%)!important;
  max-width:900px!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
  color:#fff!important;
}
.blue-band-section.has-layered-image-bg.s4-full-bg-ready .band-copy h2{
  margin:0!important;
  max-width:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:clamp(2rem,4.4vw,4.2rem);
  line-height:1!important;
  letter-spacing:-.045em!important;
  text-transform:none!important;
}
.blue-band-section.has-layered-image-bg.s4-full-bg-ready .band-copy p{
  margin:22px auto 0!important;
  max-width:760px!important;
  color:#aab6c5!important;
  -webkit-text-fill-color:#aab6c5!important;
  font-size:15px!important;
  line-height:1.65!important;
}
.blue-band-section.has-layered-image-bg.s4-full-bg-ready .band-copy .light-btn{
  margin:28px auto 0!important;
}

/* Mobile: imagem inteira em uma área controlada e textos em fluxo normal.
   Isso impede os títulos gigantes de atravessarem a imagem. */
@media(max-width:620px){
  .blue-band-section.has-layered-image-bg.s4-full-bg-ready{
    --s4-display-image-height:260px;
    padding:var(--s4-display-image-height) 0 46px!important;
  }
  .blue-band-section.has-layered-image-bg.s4-full-bg-ready .blue-band-grid{
    padding:34px 18px 0!important;
  }
  .blue-band-section.has-layered-image-bg.s4-full-bg-ready .band-copy h2{
    font-size:clamp(2rem,10vw,3rem)!important;
    line-height:1.02!important;
  }
  .blue-band-section.has-layered-image-bg.s4-full-bg-ready .band-copy p{
    margin-top:18px!important;
    font-size:14px!important;
    line-height:1.6!important;
  }
  .blue-band-section.has-layered-image-bg.s4-full-bg-ready .band-copy .light-btn{
    width:min(100%,330px)!important;
    margin-top:24px!important;
  }
}

/* O Editor de Textos precisa mostrar a mesma referência visual da S4. */
.section-editor-preview .blue-band-section.has-layered-image-bg{
  background:#000!important;
}
.section-editor-preview .blue-band-section.has-layered-image-bg .section-image-background{
  display:block!important;
  background:#000!important;
}
.section-editor-preview .blue-band-section.has-layered-image-bg .section-image-background:after{
  background:transparent!important;
}

/* ============================================================
   SEÇÃO 4 — SOMENTE IMAGEM / 3D DESKTOP / NEON MOBILE
   Tamanho independente no painel: Desktop e Mobile, % ou px.
   ============================================================ */
.s4-showcase-section{
  position:relative;
  isolation:isolate;
  padding:62px 0 72px;
  background:#000!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden;
}
.s4-showcase-section:before,
.s4-showcase-section:after{
  content:none!important;
}
.s4-showcase-shell{
  position:relative;
  width:100%;
  max-width:none;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.s4-showcase-reveal{
  position:relative;
  flex:0 0 var(--s4-image-width-desktop,100%);
  width:var(--s4-image-width-desktop,100%);
  max-width:none;
  opacity:0;
  transform:translate3d(0,34px,0) scale(.975);
  filter:blur(5px);
  transition:
    opacity .68s cubic-bezier(.2,.7,.2,1),
    transform .78s cubic-bezier(.16,1,.3,1),
    filter .65s ease;
  will-change:opacity,transform,filter;
}
.s4-showcase-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}
.s4-showcase-tilt{
  --s4-rx:0deg;
  --s4-ry:0deg;
  --s4-scale:1;
  position:relative;
  width:100%;
  max-width:none;
  transform-style:preserve-3d;
  transform:
    perspective(1300px)
    rotateX(var(--s4-rx))
    rotateY(var(--s4-ry))
    scale(var(--s4-scale));
  transition:transform .16s ease-out;
  will-change:transform;
}
.s4-showcase-tilt>.section-media-image{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  margin:0 auto;
  object-fit:contain;
  transform:translateZ(24px);
  filter:drop-shadow(0 26px 44px rgba(0,0,0,.42));
  user-select:none;
  -webkit-user-drag:none;
}
.s4-showcase-neon{
  position:absolute;
  z-index:0;
  left:5%;
  right:5%;
  top:12%;
  bottom:10%;
  border-radius:44%;
  pointer-events:none;
  opacity:0;
  transform:scale(.92);
  background:
    radial-gradient(circle at 50% 46%,
      rgba(36,166,255,.58) 0%,
      rgba(0,104,255,.31) 29%,
      rgba(0,104,255,.11) 53%,
      transparent 73%);
  filter:blur(32px);
  transition:opacity .45s ease,transform .55s cubic-bezier(.16,1,.3,1),filter .55s ease;
}

/* Desktop: efeito 3D acompanha o mouse. */
@media (hover:hover) and (pointer:fine) and (min-width:769px){
  .s4-showcase-tilt:hover{
    --s4-scale:1.018;
  }
  .s4-showcase-tilt:hover .s4-showcase-neon{
    opacity:.36;
    transform:scale(1.035);
  }
}

/* Mobile: entrada mais rápida e neon ativado logo no começo do scroll. */
@media(max-width:768px){
  .s4-showcase-section{
    padding:30px 0 42px;
  }
  .s4-showcase-shell{
    width:100%;
  }
  .s4-showcase-reveal{
    flex-basis:var(--s4-image-width-mobile,100%);
    width:var(--s4-image-width-mobile,100%);
    transform:translate3d(0,18px,0) scale(.985);
    filter:blur(2px);
    transition:
      opacity .36s ease-out,
      transform .48s cubic-bezier(.16,1,.3,1),
      filter .36s ease-out;
  }
  .s4-showcase-reveal.is-visible{
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
  .s4-showcase-tilt{
    transform:none!important;
  }
  .s4-showcase-tilt>.section-media-image{
    transform:none;
    filter:drop-shadow(0 16px 26px rgba(0,0,0,.32));
  }
  .s4-showcase-reveal.is-visible .s4-showcase-neon{
    opacity:.88;
    transform:scale(1.06);
    animation:s4MobileNeonPulse 1.9s ease-in-out .12s infinite alternate;
  }
}
@keyframes s4MobileNeonPulse{
  from{opacity:.70;filter:blur(26px);transform:scale(1.00)}
  to{opacity:.96;filter:blur(36px);transform:scale(1.09)}
}
@media(prefers-reduced-motion:reduce){
  .s4-showcase-reveal{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }
  .s4-showcase-tilt{
    transform:none!important;
    transition:none!important;
  }
  .s4-showcase-neon{
    animation:none!important;
  }
}
@media(max-width:768px) and (prefers-reduced-motion:reduce){
  .s4-showcase-neon{opacity:.82!important;transform:scale(1.04)!important}
}

@media(min-width:621px){.s4-showcase-section.hide-section-image-desktop .s4-showcase-reveal{display:none!important}}
@media(max-width:620px){.s4-showcase-section.hide-section-image-mobile .s4-showcase-reveal{display:none!important}}

/* ============================================================
   CORREÇÃO FINAL — S4 LARGURA/3D + ÚLTIMA SEÇÃO MAIS ALTA
   ============================================================ */

/* S4: 100% agora significa realmente a largura inteira da viewport.
   A pequena escala-base evita abrir uma faixa preta nas bordas durante o 3D. */
.s4-showcase-section{
  overflow:hidden!important;
}
.s4-showcase-shell{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  overflow:visible!important;
}
.s4-showcase-reveal{
  max-width:none!important;
}
.s4-showcase-tilt{
  --s4-scale:1.012;
  transform-origin:center center;
  perspective:1400px;
}
.s4-showcase-tilt>.section-media-image{
  width:100%!important;
  max-width:none!important;
}
@media (hover:hover) and (pointer:fine) and (min-width:769px){
  .s4-showcase-tilt:hover{
    --s4-scale:1.032;
  }
}
@media(max-width:768px){
  .s4-showcase-shell{
    width:100vw!important;
    max-width:100vw!important;
  }
  .s4-showcase-tilt{
    --s4-scale:1;
  }
}

/* ------------------------------------------------------------
   ÚLTIMA SEÇÃO: mais altura + área segura para a cabeça/retrato.
   Não deixa o visual subir e atravessar a seção anterior.
   ------------------------------------------------------------ */
.contact-section{
  position:relative!important;
  isolation:isolate!important;
  z-index:8!important;
  min-height:720px!important;
  padding:34px 0 0!important;
  margin-top:0!important;
  overflow:hidden!important;
}
.contact-grid{
  position:relative;
  z-index:2;
  min-height:686px!important;
  grid-template-columns:1.02fr .98fr;
  align-items:end!important;
  gap:34px;
}
.contact-copy{
  position:relative;
  z-index:5;
  padding:76px 0 92px!important;
}
.contact-visual{
  position:relative!important;
  z-index:4;
  align-self:stretch!important;
  min-height:686px!important;
  height:686px;
  margin:0!important;
  overflow:hidden!important;
  transform-origin:center bottom;
}

/* Se alguma posição antiga do editor empurrou o bloco para cima,
   impede Y negativo de fazê-lo invadir a seção anterior. */
.contact-visual.site-movable-element{
  translate:var(--site-el-x-px) max(0px,var(--site-el-y-px))!important;
}

/* Reserva espaço real acima da imagem. Assim a cabeça inteira fica dentro
   da última seção mesmo quando o retrato ocupa bastante altura. */
.contact-visual>.section-media-image,
.contact-visual>.contact-portrait-fallback{
  position:absolute!important;
  z-index:3;
  left:0!important;
  right:0!important;
  top:auto!important;
  bottom:0!important;
  width:100%!important;
  max-width:100%!important;
  height:calc(100% - 74px)!important;
  max-height:calc(100% - 74px)!important;
  object-fit:contain!important;
  object-position:center bottom!important;
}
.contact-blue-shape{
  top:42px!important;
  height:calc(100% - 42px)!important;
}

/* ------------------------------------------------------------
   TRANSIÇÃO PRÓPRIA DA ÚLTIMA SEÇÃO
   Só esconde quando o JS preparou a animação.
   ------------------------------------------------------------ */
.contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-copy{
  opacity:0;
  transform:translate3d(-34px,18px,0);
}
.contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.section-media-image,
.contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.contact-portrait-fallback{
  opacity:0;
  transform:translate3d(42px,48px,0) scale(1.045);
  filter:blur(5px) drop-shadow(0 26px 38px rgba(0,0,0,.25));
}
.contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-blue-shape{
  opacity:.18;
  transform:translate3d(70px,0,0) scale(.94);
}
.contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-lines{
  opacity:0;
  transform:translate3d(0,22px,0);
}
.contact-section .contact-copy{
  transition:opacity .78s ease,transform .95s cubic-bezier(.16,1,.3,1);
}
.contact-section .contact-visual>.section-media-image,
.contact-section .contact-visual>.contact-portrait-fallback{
  transition:
    opacity .88s ease .08s,
    transform 1.05s cubic-bezier(.16,1,.3,1) .08s,
    filter .9s ease .08s;
  will-change:opacity,transform,filter;
}
.contact-section .contact-blue-shape{
  transition:opacity .9s ease .04s,transform 1.08s cubic-bezier(.16,1,.3,1) .04s;
  will-change:opacity,transform;
}
.contact-section .contact-lines{
  transition:opacity .8s ease .12s,transform 1s cubic-bezier(.16,1,.3,1) .12s;
}
.contact-section.contact-stage-visible .contact-copy,
.contact-section.contact-stage-visible .contact-visual>.section-media-image,
.contact-section.contact-stage-visible .contact-visual>.contact-portrait-fallback,
.contact-section.contact-stage-visible .contact-blue-shape,
.contact-section.contact-stage-visible .contact-lines{
  opacity:1;
  transform:none;
  filter:none;
}

@media (hover:hover) and (pointer:fine) and (min-width:981px){
  .contact-section.contact-stage-visible .contact-visual:hover>.section-media-image,
  .contact-section.contact-stage-visible .contact-visual:hover>.contact-portrait-fallback{
    transform:translate3d(0,-7px,0) scale(1.012);
    filter:drop-shadow(0 32px 46px rgba(0,0,0,.28));
  }
  .contact-section.contact-stage-visible .contact-visual:hover .contact-blue-shape{
    transform:translate3d(-8px,0,0) scale(1.012);
  }
}

@media(max-width:980px){
  .contact-section{
    min-height:860px!important;
    padding-top:22px!important;
  }
  .contact-grid{
    min-height:838px!important;
    grid-template-columns:1fr!important;
    gap:4px!important;
    align-items:start!important;
  }
  .contact-copy{
    padding:68px 0 12px!important;
  }
  .contact-visual{
    min-height:500px!important;
    height:500px!important;
    width:100%!important;
  }
  .contact-visual>.section-media-image,
  .contact-visual>.contact-portrait-fallback{
    height:calc(100% - 50px)!important;
    max-height:calc(100% - 50px)!important;
  }
  .contact-blue-shape{
    top:34px!important;
    height:calc(100% - 34px)!important;
  }
}

@media(max-width:620px){
  .contact-section{
    min-height:820px!important;
    padding-top:18px!important;
  }
  .contact-grid{
    min-height:802px!important;
  }
  .contact-copy{
    padding:58px 0 8px!important;
  }
  .contact-visual{
    min-height:455px!important;
    height:455px!important;
    margin-top:4px!important;
  }
  .contact-visual>.section-media-image,
  .contact-visual>.contact-portrait-fallback{
    height:calc(100% - 42px)!important;
    max-height:calc(100% - 42px)!important;
  }
  .contact-blue-shape{
    top:28px!important;
    height:calc(100% - 28px)!important;
  }
  .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-copy{
    transform:translate3d(0,24px,0);
  }
  .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.section-media-image,
  .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.contact-portrait-fallback{
    transform:translate3d(0,36px,0) scale(1.035);
    filter:blur(3px);
  }
  .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-blue-shape{
    transform:translate3d(20px,18px,0) scale(.96);
  }
  .contact-section .contact-copy{
    transition-duration:.62s,.78s;
  }
  .contact-section .contact-visual>.section-media-image,
  .contact-section .contact-visual>.contact-portrait-fallback{
    transition-duration:.7s,.82s,.7s;
  }
}

@media(prefers-reduced-motion:reduce){
  .contact-section .contact-copy,
  .contact-section .contact-visual>.section-media-image,
  .contact-section .contact-visual>.contact-portrait-fallback,
  .contact-section .contact-blue-shape,
  .contact-section .contact-lines{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }
}


/* ============================================================
   ÚLTIMA SEÇÃO — FUNDO SÓLIDO + LIMPEZA + TRANSIÇÃO FINAL
   ============================================================ */

/* Sem gradiente/radial azul por baixo do retrato. Se o painel estiver em
   "Cor sólida", o valor editado continua vindo de --custom-section-bg-* . */
.contact-section:not(.has-custom-section-bg):not(.has-layered-image-bg){
  background:#000!important;
}
.contact-section:before,
.contact-section:after{
  content:none!important;
  background:none!important;
  opacity:0!important;
}

/* Remove definitivamente as linhas decorativas e o shape azul antigo.
   O HTML novo já não os renderiza; isto também protege contra cache antigo. */
.contact-section .contact-lines,
.contact-section .contact-blue-shape{
  display:none!important;
}

/* O fundo da área do retrato é transparente para mostrar apenas a cor sólida
   escolhida no painel, sem uma segunda camada azul. */
.contact-visual{
  background:transparent!important;
}

/* Estado inicial da entrada. O clip-path dá uma revelação limpa sem criar
   linhas sobre o rosto e sem interferir nas posições salvas pelo editor. */
.contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-copy{
  opacity:0!important;
  transform:translate3d(0,34px,0)!important;
}
.contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual{
  opacity:.15!important;
  clip-path:inset(12% 0 0 0 round 0px);
}
.contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.section-media-image,
.contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.contact-portrait-fallback{
  opacity:0!important;
  transform:translate3d(0,54px,0) scale(1.045)!important;
  filter:blur(7px) drop-shadow(0 28px 42px rgba(0,0,0,.24))!important;
}
.contact-section .contact-copy{
  transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1)!important;
}
.contact-section .contact-visual{
  transition:opacity .85s ease,clip-path 1.15s cubic-bezier(.16,1,.3,1)!important;
  will-change:opacity,clip-path;
}
.contact-section .contact-visual>.section-media-image,
.contact-section .contact-visual>.contact-portrait-fallback{
  transition:opacity .9s ease .08s,transform 1.12s cubic-bezier(.16,1,.3,1) .08s,filter .9s ease .08s!important;
  will-change:opacity,transform,filter;
}
.contact-section.contact-stage-visible .contact-copy{
  opacity:1!important;
  transform:none!important;
}
.contact-section.contact-stage-visible .contact-visual{
  opacity:1!important;
  clip-path:inset(0 0 0 0)!important;
}
.contact-section.contact-stage-visible .contact-visual>.section-media-image,
.contact-section.contact-stage-visible .contact-visual>.contact-portrait-fallback{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  filter:drop-shadow(0 28px 42px rgba(0,0,0,.20))!important;
}

/* Desktop: acabamento sutil ao passar o mouse. */
@media (hover:hover) and (pointer:fine) and (min-width:981px){
  .contact-section.contact-stage-visible .contact-visual:hover>.section-media-image,
  .contact-section.contact-stage-visible .contact-visual:hover>.contact-portrait-fallback{
    transform:translate3d(0,-6px,0) scale(1.01)!important;
    filter:drop-shadow(0 34px 48px rgba(0,0,0,.26))!important;
  }
}

/* Mobile: entrada um pouco mais rápida, mantendo a cabeça/retrato inteiro. */
@media(max-width:620px){
  .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-copy{
    transform:translate3d(0,26px,0)!important;
  }
  .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual{
    clip-path:inset(9% 0 0 0);
  }
  .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.section-media-image,
  .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.contact-portrait-fallback{
    transform:translate3d(0,38px,0) scale(1.03)!important;
    filter:blur(4px)!important;
  }
  .contact-section .contact-copy{
    transition-duration:.68s,.86s!important;
  }
  .contact-section .contact-visual{
    transition-duration:.72s,.92s!important;
  }
  .contact-section .contact-visual>.section-media-image,
  .contact-section .contact-visual>.contact-portrait-fallback{
    transition-duration:.76s,.92s,.76s!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .contact-section .contact-copy,
  .contact-section .contact-visual,
  .contact-section .contact-visual>.section-media-image,
  .contact-section .contact-visual>.contact-portrait-fallback{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    clip-path:none!important;
    transition:none!important;
  }
}

/* ============================================================
   AJUSTE FINAL — ÚLTIMA SEÇÃO DESKTOP
   Mais altura para a cabeça não ficar cortada.
   ============================================================ */
@media (min-width:981px){
  .contact-section{
    min-height:820px!important;
    padding-top:56px!important;
  }
  .contact-grid{
    min-height:764px!important;
    align-items:end!important;
  }
  .contact-copy{
    padding:96px 0 110px!important;
  }
  .contact-visual{
    min-height:764px!important;
    height:764px!important;
  }
  .contact-visual>.section-media-image,
  .contact-visual>.contact-portrait-fallback{
    height:calc(100% - 118px)!important;
    max-height:calc(100% - 118px)!important;
    object-position:center bottom!important;
  }
  .contact-blue-shape{
    top:64px!important;
    height:calc(100% - 64px)!important;
  }
}


/* ============================================================
   AJUSTES FINAIS — MOBILE DA CAPA / LOGO DO TOPO
   Desktop intencionalmente não é alterado.
   ============================================================ */
@media (max-width:620px){
  /* Os dois textos extras podem ser desligados somente no Mobile pelo painel. */
  [data-site-text-hide-mobile="1"]{
    display:none!important;
  }

  /* Tamanho e posição independentes da logo no celular. */
  .site-header .brand-logo-slot{
    width:var(--header-logo-size-mobile,30px)!important;
    height:var(--header-logo-size-mobile,30px)!important;
    flex:0 0 var(--header-logo-size-mobile,30px)!important;
    transform:translate3d(
      var(--header-logo-shift-x-mobile,0px),
      var(--header-logo-shift-y-mobile,0px),
      0
    )!important;
    transition:width .2s ease,height .2s ease,transform .2s ease,background .2s ease,box-shadow .2s ease;
  }

  /* Logo PNG/SVG transparente não recebe mais o quadrado azul atrás. */
  .site-header.header-logo-transparent-mobile .brand-logo-slot.has-custom-logo{
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
  }
  .site-header.header-logo-transparent-mobile .brand-logo-slot.has-custom-logo img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    background:transparent!important;
    border-radius:0!important;
  }
}

/* ============================================================
   REFINO FINAL DE EFEITOS — DESKTOP + MOBILE
   Somente animações/transições. Não altera layout, textos, tamanhos,
   posições, imagens ou configurações salvas no painel.
   ============================================================ */

/* Entrada geral: mais perceptível, porém limpa. */
.js body:not(.section-editor-preview) .reveal-block{
  opacity:0;
  transform:translate3d(0,62px,0) scale(.972);
  filter:blur(10px) saturate(.9);
  transition:
    opacity .92s ease,
    transform 1.08s cubic-bezier(.16,1,.3,1),
    filter .88s ease;
  transition-delay:var(--fx-delay,var(--delay,0ms));
  will-change:opacity,transform,filter;
  backface-visibility:hidden;
}
.js body:not(.section-editor-preview) .reveal-block[data-reveal="left"]{
  transform:translate3d(-70px,10px,0) scale(.976);
}
.js body:not(.section-editor-preview) .reveal-block[data-reveal="right"]{
  transform:translate3d(70px,10px,0) scale(.976);
}
.js body:not(.section-editor-preview) .reveal-block.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0) saturate(1);
}

/* Ritmo entre blocos que já possuíam reveal. */
.hero-stage.reveal-block{--fx-delay:120ms}
.strategy-panel.reveal-block{--fx-delay:110ms}
.about-card.reveal-block{--fx-delay:90ms}
.center-action.reveal-block{--fx-delay:130ms}
.services-section-image.reveal-block{--fx-delay:90ms}
.service-card:nth-child(1){--fx-delay:40ms}
.service-card:nth-child(2){--fx-delay:100ms}
.service-card:nth-child(3){--fx-delay:160ms}
.service-card:nth-child(4){--fx-delay:220ms}
.service-card:nth-child(5){--fx-delay:280ms}

/* Seção 2: mantém o efeito existente, mas dá mais leitura à chegada do painel. */
body:not(.section-editor-preview) .strategy-panel.reveal-block:not(.is-visible){
  box-shadow:0 24px 70px rgba(0,0,0,.12);
}
body:not(.section-editor-preview) .strategy-panel.reveal-block.is-visible{
  box-shadow:inset 0 0 36px rgba(22,136,255,.025),0 18px 60px rgba(0,0,0,.22);
}

/* Cards de serviços: hover/saída mais premium sem mudar a geometria. */
.service-card{
  transition:
    transform .5s cubic-bezier(.16,1,.3,1),
    background .4s ease,
    box-shadow .45s ease,
    border-color .35s ease!important;
}
.service-card .service-art{
  transition:transform .55s cubic-bezier(.16,1,.3,1),filter .45s ease;
}
@media (hover:hover) and (pointer:fine){
  .service-card:hover{
    transform:translateY(-12px) scale(1.012);
    box-shadow:0 26px 68px rgba(0,0,0,.34),0 0 28px rgba(22,136,255,.08);
    border-color:rgba(70,164,255,.22);
  }
  .service-card:hover .service-art{
    transform:scale(1.035);
    filter:saturate(1.08) contrast(1.03);
  }
}

/* Botões que já tinham hover/magnetic: brilho e retorno mais nítidos. */
.primary-btn,.light-btn,.header-cta{
  transition:
    transform .34s cubic-bezier(.16,1,.3,1),
    box-shadow .34s ease,
    filter .34s ease,
    background .34s ease,
    border-color .34s ease!important;
}
.primary-btn>i,.header-cta i{
  transition:transform .34s cubic-bezier(.16,1,.3,1),opacity .3s ease;
}
@media (hover:hover) and (pointer:fine){
  .primary-btn:hover{
    box-shadow:0 19px 44px rgba(22,136,255,.38),0 0 38px rgba(22,136,255,.20),inset 0 1px rgba(255,255,255,.30);
    filter:saturate(1.08) brightness(1.04);
  }
  .primary-btn:hover>i{
    transform:translate3d(4px,calc(-50% - 4px),0);
  }
  .header-cta:hover{
    box-shadow:0 10px 30px rgba(22,136,255,.18),0 0 24px rgba(22,136,255,.11);
    border-color:rgba(72,170,255,.58);
  }
  .header-cta:hover i{transform:translate3d(3px,-3px,0)}
}

/* Seção 4: mantém tamanho/posição intactos; reforça somente reveal, neon e 3D. */
body:not(.section-editor-preview) .s4-showcase-reveal{
  transition:
    opacity .9s ease,
    transform 1.12s cubic-bezier(.16,1,.3,1),
    filter .92s ease!important;
}
body:not(.section-editor-preview) .s4-showcase-reveal:not(.is-visible){
  opacity:0;
  transform:translate3d(0,76px,0) scale(.94);
  filter:blur(13px) saturate(.86);
}
body:not(.section-editor-preview) .s4-showcase-reveal.is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0) saturate(1);
}
.s4-showcase-tilt{
  transition:transform .23s cubic-bezier(.2,.8,.2,1)!important;
}
.s4-showcase-neon{
  transition:opacity .72s ease,transform .95s cubic-bezier(.16,1,.3,1),filter .8s ease!important;
}
@media (hover:hover) and (pointer:fine) and (min-width:769px){
  .s4-showcase-tilt:hover{--s4-scale:1.026}
  .s4-showcase-tilt:hover .s4-showcase-neon{
    opacity:.56!important;
    transform:scale(1.10)!important;
    filter:blur(44px)!important;
  }
}

/* Última seção: entrada mais evidente, sem mexer em altura ou enquadramento. */
body:not(.section-editor-preview) .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-copy{
  opacity:0!important;
  transform:translate3d(-58px,30px,0)!important;
  filter:blur(5px)!important;
}
body:not(.section-editor-preview) .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual{
  opacity:.08!important;
  clip-path:inset(15% 0 0 0)!important;
}
body:not(.section-editor-preview) .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.section-media-image,
body:not(.section-editor-preview) .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.contact-portrait-fallback{
  opacity:0!important;
  transform:translate3d(54px,72px,0) scale(1.065)!important;
  filter:blur(9px) drop-shadow(0 30px 46px rgba(0,0,0,.20))!important;
}
body:not(.section-editor-preview) .contact-section .contact-copy{
  transition:opacity .9s ease,transform 1.08s cubic-bezier(.16,1,.3,1),filter .9s ease!important;
}
body:not(.section-editor-preview) .contact-section .contact-visual{
  transition:opacity .95s ease,clip-path 1.18s cubic-bezier(.16,1,.3,1)!important;
}
body:not(.section-editor-preview) .contact-section .contact-visual>.section-media-image,
body:not(.section-editor-preview) .contact-section .contact-visual>.contact-portrait-fallback{
  transition:opacity .94s ease .07s,transform 1.16s cubic-bezier(.16,1,.3,1) .07s,filter .94s ease .07s!important;
}
body:not(.section-editor-preview) .contact-section.contact-stage-visible .contact-copy{
  opacity:1!important;
  transform:none!important;
  filter:blur(0)!important;
}

/* Mobile: mais perceptível, mas ligeiramente mais rápido que o Desktop. */
@media(max-width:620px){
  .js body:not(.section-editor-preview) .reveal-block{
    transform:translate3d(0,44px,0) scale(.976);
    filter:blur(7px) saturate(.92);
    transition-duration:.72s,.88s,.72s;
  }
  .js body:not(.section-editor-preview) .reveal-block[data-reveal="left"]{
    transform:translate3d(-46px,8px,0) scale(.98);
  }
  .js body:not(.section-editor-preview) .reveal-block[data-reveal="right"]{
    transform:translate3d(46px,8px,0) scale(.98);
  }
  .js body:not(.section-editor-preview) .reveal-block.is-visible{
    transform:translate3d(0,0,0) scale(1);
    filter:none;
  }

  .service-card:nth-child(1){--fx-delay:20ms}
  .service-card:nth-child(2){--fx-delay:70ms}
  .service-card:nth-child(3){--fx-delay:120ms}
  .service-card:nth-child(4){--fx-delay:170ms}
  .service-card:nth-child(5){--fx-delay:220ms}

  body:not(.section-editor-preview) .s4-showcase-reveal:not(.is-visible){
    transform:translate3d(0,54px,0) scale(.95);
    filter:blur(9px) saturate(.9);
  }
  .s4-showcase-reveal.is-visible .s4-showcase-neon{
    opacity:.94!important;
    transform:scale(1.12)!important;
    animation:s4PremiumMobilePulse 2.25s ease-in-out infinite alternate!important;
  }

  body:not(.section-editor-preview) .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-copy{
    transform:translate3d(0,38px,0)!important;
    filter:blur(4px)!important;
  }
  body:not(.section-editor-preview) .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual{
    opacity:.10!important;
    clip-path:inset(12% 0 0 0)!important;
  }
  body:not(.section-editor-preview) .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.section-media-image,
  body:not(.section-editor-preview) .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-visual>.contact-portrait-fallback{
    transform:translate3d(0,48px,0) scale(1.045)!important;
    filter:blur(6px)!important;
  }
}

@keyframes s4PremiumMobilePulse{
  from{opacity:.66;filter:blur(31px);transform:scale(1.00)}
  to{opacity:.98;filter:blur(47px);transform:scale(1.14)}
}

/* O editor continua estático e fiel: nenhum efeito atrapalha a edição. */
.section-editor-preview .reveal-block,
.section-editor-preview .s4-showcase-reveal,
.section-editor-preview .contact-copy,
.section-editor-preview .contact-visual,
.section-editor-preview .contact-visual>.section-media-image,
.section-editor-preview .contact-visual>.contact-portrait-fallback{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  transition:none!important;
}

@media(prefers-reduced-motion:reduce){
  .reveal-block,.s4-showcase-reveal,.s4-showcase-tilt,.s4-showcase-neon,
  .contact-copy,.contact-visual,.contact-visual>.section-media-image,.contact-visual>.contact-portrait-fallback,
  .service-card,.service-art,.primary-btn,.light-btn,.header-cta{
    animation:none!important;
    transition:none!important;
  }
}


/* ============================================================
   AJUSTE FINAL — S4 DESKTOP + LOGO DESKTOP + EFEITOS MOBILE
   Mantém todos os layouts e conteúdos já aprovados.
   ============================================================ */

/* S4 Desktop: o 3D reforçado não pode ser recortado pelo container.
   A imagem continua com largura definida pelo painel e mantém height:auto. */
@media (min-width:769px){
  .s4-showcase-section{
    overflow:visible!important;
  }
  .s4-showcase-shell,
  .s4-showcase-reveal,
  .s4-showcase-tilt{
    overflow:visible!important;
  }
  .s4-showcase-tilt>.section-media-image{
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* Controles independentes da logo na versão Desktop. */
@media (min-width:621px){
  .site-header .brand-logo-slot{
    width:var(--header-logo-size-desktop,30px)!important;
    height:var(--header-logo-size-desktop,30px)!important;
    flex:0 0 var(--header-logo-size-desktop,30px)!important;
    transform:translate3d(
      var(--header-logo-shift-x-desktop,0px),
      var(--header-logo-shift-y-desktop,0px),
      0
    )!important;
    transition:width .2s ease,height .2s ease,transform .2s ease,background .2s ease,box-shadow .2s ease;
  }
  .site-header.header-logo-transparent-desktop .brand-logo-slot.has-custom-logo{
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    border-radius:0!important;
    overflow:visible!important;
  }
  .site-header.header-logo-transparent-desktop .brand-logo-slot.has-custom-logo img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:contain!important;
    background:transparent!important;
    border-radius:0!important;
  }
}

/* Mobile: mantém os mesmos efeitos, mas torna a entrada mais perceptível
   sem mudar posições finais nem dimensões da página. */
@media (max-width:620px) and (prefers-reduced-motion:no-preference){
  .js body:not(.section-editor-preview) .reveal-block:not(.is-visible){
    transform:translate3d(0,60px,0) scale(.965);
    filter:blur(9px) saturate(.88);
  }
  .js body:not(.section-editor-preview) .reveal-block[data-reveal="left"]:not(.is-visible){
    transform:translate3d(-58px,12px,0) scale(.97);
  }
  .js body:not(.section-editor-preview) .reveal-block[data-reveal="right"]:not(.is-visible){
    transform:translate3d(58px,12px,0) scale(.97);
  }
  .js body:not(.section-editor-preview) .reveal-block{
    transition-duration:.66s,.82s,.66s!important;
  }
  body:not(.section-editor-preview) .s4-showcase-reveal:not(.is-visible){
    transform:translate3d(0,68px,0) scale(.94);
    filter:blur(11px) saturate(.86);
  }
  .s4-showcase-reveal.is-visible .s4-showcase-neon{
    opacity:.98!important;
    transform:scale(1.16)!important;
    animation-duration:1.85s!important;
  }
  body:not(.section-editor-preview) .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-copy{
    transform:translate3d(0,52px,0)!important;
    filter:blur(6px)!important;
  }
}

/* No editor da S4, o efeito 3D fica zerado para não criar um recorte falso
   na prévia. O tamanho salvo da imagem continua respeitado. */
.section-editor-preview .s4-showcase-tilt{
  --s4-scale:1!important;
  --s4-rx:0deg!important;
  --s4-ry:0deg!important;
  transform:none!important;
}


/* =====================================================================
   SEÇÃO 4 — PEÇA AZUL SOBE DE BAIXO PARA O CENTRO (SEM MEXER NO RESTO)
   ===================================================================== */
.s4-piece-scene-section{overflow:visible!important}
.s4-piece-scene-shell{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;display:flex;justify-content:center;overflow:visible!important}
.s4-piece-scene-stage{position:relative;width:var(--s4-image-width-desktop,100%);max-width:none;flex:0 0 var(--s4-image-width-desktop,100%);transform-style:preserve-3d;perspective:1400px}
.s4-piece-scene-stage>.section-media-image,.s4-piece-scene-stage>.s4-piece-scene-fallback{display:block;width:100%;max-width:none;height:auto;margin:0 auto}
.s4-piece-overlay{position:absolute;left:50%;top:var(--s4-piece-top,6.48%);width:var(--s4-piece-width-desktop,18.85%);transform:translate3d(-50%,var(--s4-piece-distance-desktop,220px),0) scale(.88) rotateX(0deg) rotateY(0deg);transform-origin:center center;opacity:0;filter:blur(12px) saturate(.95);pointer-events:none;z-index:9;will-change:transform,opacity,filter;transition:transform var(--s4-piece-duration-desktop,1100ms) cubic-bezier(.18,.84,.22,1),opacity calc(var(--s4-piece-duration-desktop,1100ms)*.65) ease,filter calc(var(--s4-piece-duration-desktop,1100ms)*.65) ease}
.s4-piece-overlay.is-visible,.s4-piece-overlay.is-static,.section-editor-preview .s4-piece-overlay{transform:translate3d(-50%,0,0) scale(1) rotateX(var(--s4-piece-rx,0deg)) rotateY(var(--s4-piece-ry,0deg));opacity:1;filter:none}
.s4-piece-img{display:block;width:100%;height:auto;position:relative;z-index:2;filter:drop-shadow(0 20px 30px rgba(0,0,0,.28))}
.s4-piece-glow{position:absolute;left:10%;right:10%;top:7%;bottom:7%;border-radius:44%;z-index:1;opacity:0;background:radial-gradient(circle at 50% 40%, rgba(80,190,255,.76) 0%, rgba(18,114,255,.34) 42%, rgba(18,114,255,0) 76%);filter:blur(36px);transform:scale(.85);transition:opacity calc(var(--s4-piece-duration-desktop,1100ms)*.7) ease,transform var(--s4-piece-duration-desktop,1100ms) cubic-bezier(.18,.84,.22,1)}
.s4-piece-overlay.is-visible .s4-piece-glow,.s4-piece-overlay.is-static .s4-piece-glow,.section-editor-preview .s4-piece-overlay .s4-piece-glow{opacity:.78;transform:scale(1.03)}
body:not(.section-editor-preview) .s4-piece-overlay.is-visible{animation:s4PieceFloat 4.2s ease-in-out calc(var(--s4-piece-duration-desktop,1100ms) + 120ms) infinite}
@keyframes s4PieceFloat{0%,100%{transform:translate3d(-50%,0,0) scale(1) rotateX(var(--s4-piece-rx,0deg)) rotateY(var(--s4-piece-ry,0deg))}50%{transform:translate3d(-50%,-8px,0) scale(1.005) rotateX(var(--s4-piece-rx,0deg)) rotateY(var(--s4-piece-ry,0deg))}}
@media (hover:hover) and (pointer:fine){
  .s4-piece-scene-stage{transition:transform 220ms ease}
  .s4-piece-scene-stage:hover{transform:translateY(-2px)}
}
@media(max-width:768px){
  .s4-piece-scene-stage{width:var(--s4-image-width-mobile,100%);flex-basis:var(--s4-image-width-mobile,100%)}
  .s4-piece-overlay{width:var(--s4-piece-width-mobile,18.85%);transform:translate3d(-50%,var(--s4-piece-distance-mobile,160px),0) scale(.9) rotateX(0deg) rotateY(0deg);transition:transform var(--s4-piece-duration-mobile,900ms) cubic-bezier(.18,.84,.22,1),opacity calc(var(--s4-piece-duration-mobile,900ms)*.65) ease,filter calc(var(--s4-piece-duration-mobile,900ms)*.65) ease}
  .s4-piece-overlay.is-visible,.s4-piece-overlay.is-static,.section-editor-preview .s4-piece-overlay{transform:translate3d(-50%,0,0) scale(1) rotateX(var(--s4-piece-rx,0deg)) rotateY(var(--s4-piece-ry,0deg))}
  .s4-piece-glow{transition:opacity calc(var(--s4-piece-duration-mobile,900ms)*.7) ease,transform var(--s4-piece-duration-mobile,900ms) cubic-bezier(.18,.84,.22,1)}
  body:not(.section-editor-preview) .s4-piece-overlay.is-visible{animation:s4PieceFloatMobile 3.5s ease-in-out calc(var(--s4-piece-duration-mobile,900ms) + 120ms) infinite}
}
@keyframes s4PieceFloatMobile{0%,100%{transform:translate3d(-50%,0,0) scale(1) rotateX(var(--s4-piece-rx,0deg)) rotateY(var(--s4-piece-ry,0deg))}50%{transform:translate3d(-50%,-6px,0) scale(1.004) rotateX(var(--s4-piece-rx,0deg)) rotateY(var(--s4-piece-ry,0deg))}}
@media(min-width:621px){.s4-piece-scene-section.hide-section-image-desktop .s4-piece-scene-stage{display:none!important}}
@media(max-width:620px){.s4-piece-scene-section.hide-section-image-mobile .s4-piece-scene-stage{display:none!important}}
@media(prefers-reduced-motion:reduce){.s4-piece-overlay,.s4-piece-glow{transition:none!important;animation:none!important}.s4-piece-overlay{transform:translate3d(-50%,0,0) scale(1)!important;opacity:1!important;filter:none!important}.s4-piece-glow{opacity:.78!important;transform:scale(1.03)!important}}


/* =====================================================================
   CORREÇÃO S4 — 3D NA COMPOSIÇÃO INTEIRA + EFEITO VISÍVEL NO MOBILE
   ===================================================================== */
.s4-piece-scene-stage{
  --s4-scene-rx:0deg;
  --s4-scene-ry:0deg;
  --s4-scene-scale:1;
  transform:
    perspective(1450px)
    rotateX(var(--s4-scene-rx))
    rotateY(var(--s4-scene-ry))
    scale(var(--s4-scene-scale));
  transform-origin:center center;
  transition:transform .24s cubic-bezier(.2,.8,.2,1);
  will-change:transform;
}

/* O rei mantém apenas a animação de entrada/flutuação.
   O 3D agora pertence ao palco inteiro. */
.s4-piece-overlay.is-visible,
.s4-piece-overlay.is-static,
.section-editor-preview .s4-piece-overlay{
  --s4-piece-rx:0deg!important;
  --s4-piece-ry:0deg!important;
}

@media (hover:hover) and (pointer:fine) and (min-width:769px){
  .s4-piece-scene-stage:hover{--s4-scene-scale:1.012}
}

@media(max-width:768px){
  .s4-piece-scene-stage{
    transition:transform .18s ease-out;
  }

  /* No celular a peça precisa começar claramente abaixo do ponto final. */
  body:not(.section-editor-preview) .s4-piece-overlay:not(.is-visible):not(.is-static){
    opacity:0!important;
    filter:blur(10px) saturate(.92)!important;
    transform:translate3d(-50%,var(--s4-piece-distance-mobile,160px),0) scale(.88)!important;
  }
  body:not(.section-editor-preview) .s4-piece-overlay.is-visible{
    opacity:1!important;
    filter:none!important;
  }
}

.section-editor-preview .s4-piece-scene-stage{
  --s4-scene-rx:0deg!important;
  --s4-scene-ry:0deg!important;
  --s4-scene-scale:1!important;
  transform:none!important;
}

@media(prefers-reduced-motion:reduce){
  .s4-piece-scene-stage{
    transform:none!important;
    transition:none!important;
  }
}


/* ================================================================
   CORREÇÃO 2026-09-09 — POSIÇÃO S4 + MOBILE + TEXTO RESPONSIVO
   ================================================================ */

/* 1) A Seção 4 volta à geometria original. A versão anterior trocou
      a classe da seção e perdeu o padding original, fazendo-a subir. */
.s4-piece-scene-section{
  position:relative!important;
  isolation:isolate!important;
  padding:62px 0 72px!important;
  margin:0!important;
  background:#000!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.s4-piece-scene-section::before,
.s4-piece-scene-section::after{content:none!important}

/* O 3D transforma somente o palco visual; nunca altera o fluxo/posição da seção. */
.s4-piece-scene-shell{
  position:relative!important;
  margin-top:0!important;
  margin-bottom:0!important;
  transform:none!important;
}
.s4-piece-scene-stage{
  margin-top:0!important;
  margin-bottom:0!important;
}

@media(max-width:768px){
  .s4-piece-scene-section{
    padding:30px 0 42px!important;
  }
}

/* 2) Trava de entrada no Mobile.
      Mesmo que algum observer antigo marque a peça como visível cedo demais,
      ela continua abaixo até a seção chegar de fato à área principal da tela. */
@media(max-width:768px){
  body:not(.section-editor-preview) .s4-piece-scene-section.s4-mobile-entry-lock .s4-piece-overlay{
    opacity:0!important;
    filter:blur(10px) saturate(.92)!important;
    transform:translate3d(-50%,var(--s4-piece-distance-mobile,160px),0) scale(.88)!important;
    animation:none!important;
  }
  body:not(.section-editor-preview) .s4-piece-overlay.s4-mobile-entry-run{
    animation:none!important;
  }
}

/* 3) Textos posicionados pelo painel: evita quebra estranha de palavras e
      mantém a leitura limpa enquanto o JS ajusta o tamanho ao zoom/largura. */
.site-existing-positioned-text{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.site-existing-positioned-text:is(h1,h2,h3){text-wrap:balance}

/* A última seção continua com o layout desktop até o breakpoint real de mobile.
   Isso evita que o zoom de navegador acione um layout intermediário incoerente. */
@media(min-width:621px) and (max-width:980px){
  .contact-section .contact-grid{
    grid-template-columns:1.05fr .95fr!important;
    align-items:end!important;
  }
  .contact-section .contact-copy{
    text-align:left!important;
    margin:0!important;
  }
  .contact-section .contact-visual{
    min-height:100%!important;
  }
}

/* =====================================================================
   AJUSTE MOBILE FINAL 2026-09-10
   - estabiliza tipografia durante o scroll;
   - remove scale/blur dos blocos com texto no Mobile;
   - mantém entradas mais visíveis usando deslocamento + opacidade;
   - adiciona brilho cinematográfico por seção sem mexer no tamanho do texto.
   ===================================================================== */
html,body{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

@media(max-width:768px){
  /* Evita "text inflation" e recomposição visual da fonte no Safari/Chrome mobile. */
  [data-site-text-key],
  .free-text-item,
  .hero-copy,
  .strategy-panel,
  .section-heading,
  .about-copy,
  .service-copy,
  .contact-copy{
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
  }

  /* Regra final de estabilidade: no Mobile o texto nunca é animado por SCALE.
     A entrada continua perceptível via movimento/opacidade, sem crescer/encolher. */
  .js body:not(.section-editor-preview) .reveal-block{
    opacity:0!important;
    transform:translate3d(0,46px,0)!important;
    filter:none!important;
    transition:opacity .62s ease,transform .78s cubic-bezier(.16,1,.3,1)!important;
    transition-delay:var(--fx-delay,var(--delay,0ms))!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
  }
  .js body:not(.section-editor-preview) .reveal-block[data-reveal="left"]{
    transform:translate3d(-38px,12px,0)!important;
  }
  .js body:not(.section-editor-preview) .reveal-block[data-reveal="right"]{
    transform:translate3d(38px,12px,0)!important;
  }
  .js body:not(.section-editor-preview) .reveal-block.is-visible{
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
    filter:none!important;
    will-change:auto!important;
  }

  /* Textos posicionados pelo painel permanecem totalmente estáveis. */
  .site-existing-positioned-text,
  .site-existing-flow-text{
    transform:none!important;
    filter:none!important;
    animation:none!important;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }

  /* A última seção recebe somente o reveal próprio dela; o texto não escala. */
  body:not(.section-editor-preview) .contact-section.contact-stage-ready:not(.contact-stage-visible) .contact-copy{
    transform:translate3d(0,42px,0)!important;
    filter:none!important;
  }
  body:not(.section-editor-preview) .contact-section.contact-stage-visible .contact-copy{
    transform:translate3d(0,0,0)!important;
    filter:none!important;
  }

  /* Brilho cinematográfico de passagem. É uma camada decorativa independente,
     portanto não recalcula fontes nem altera a geometria dos blocos. */
  .wga-mobile-sheen{
    position:absolute;
    z-index:1;
    left:-46%;
    top:9%;
    width:48%;
    height:82%;
    pointer-events:none;
    opacity:0;
    transform:translate3d(-35%,0,0) skewX(-13deg);
    background:linear-gradient(100deg,rgba(22,136,255,0) 0%,rgba(44,156,255,.13) 46%,rgba(120,211,255,.08) 56%,rgba(22,136,255,0) 100%);
    filter:blur(16px);
  }
  body.wga-mobile-fx .site-section.wga-mobile-section-visible>.wga-mobile-sheen{
    animation:wgaMobileSheenPass .92s cubic-bezier(.16,1,.3,1) .08s 1 both;
  }

  /* Pequeno pulso de luz nos CTAs quando a seção entra — sem translate/scale. */
  body.wga-mobile-fx .site-section.wga-mobile-section-visible .primary-btn{
    animation:wgaMobileCtaGlow 1.15s ease .42s 1 both;
  }
}

@keyframes wgaMobileSheenPass{
  0%{opacity:0;transform:translate3d(-35%,0,0) skewX(-13deg)}
  28%{opacity:.9}
  100%{opacity:0;transform:translate3d(330%,0,0) skewX(-13deg)}
}
@keyframes wgaMobileCtaGlow{
  0%,100%{box-shadow:0 13px 30px rgba(9,83,208,.25),inset 0 1px rgba(255,255,255,.26)}
  52%{box-shadow:0 16px 38px rgba(22,136,255,.42),0 0 30px rgba(22,136,255,.22),inset 0 1px rgba(255,255,255,.32)}
}

@media(max-width:768px) and (prefers-reduced-motion:reduce){
  .wga-mobile-sheen{display:none!important}
}



/* iOS SAFARI MOBILE FX FALLBACK 2026-09-11 */
@supports (-webkit-touch-callout:none){
  @media(max-width:768px){
    html.is-ios-safari body{
      -webkit-text-size-adjust:100%!important;
      text-size-adjust:100%!important;
    }
    html.is-ios-safari body:not(.section-editor-preview) .reveal-block{
      opacity:0!important;
      -webkit-transform:translate3d(0,52px,0)!important;
      transform:translate3d(0,52px,0)!important;
      filter:none!important;
      -webkit-filter:none!important;
      -webkit-transition:opacity .68s ease,-webkit-transform .88s cubic-bezier(.16,1,.3,1)!important;
      transition:opacity .68s ease,transform .88s cubic-bezier(.16,1,.3,1)!important;
      -webkit-backface-visibility:hidden!important;
      backface-visibility:hidden!important;
      will-change:transform,opacity;
    }
    html.is-ios-safari body:not(.section-editor-preview) .reveal-block[data-reveal="left"]{
      -webkit-transform:translate3d(-44px,14px,0)!important;
      transform:translate3d(-44px,14px,0)!important;
    }
    html.is-ios-safari body:not(.section-editor-preview) .reveal-block[data-reveal="right"]{
      -webkit-transform:translate3d(44px,14px,0)!important;
      transform:translate3d(44px,14px,0)!important;
    }
    html.is-ios-safari body:not(.section-editor-preview) .reveal-block.is-visible{
      opacity:1!important;
      -webkit-transform:translate3d(0,0,0)!important;
      transform:translate3d(0,0,0)!important;
      filter:none!important;
      -webkit-filter:none!important;
      will-change:auto!important;
    }
    html.is-ios-safari .wga-mobile-sheen{
      filter:none!important;
      -webkit-filter:none!important;
      width:34%!important;
      opacity:0;
      background:linear-gradient(100deg,rgba(22,136,255,0) 0%,rgba(54,166,255,.20) 44%,rgba(150,224,255,.14) 55%,rgba(22,136,255,0) 100%)!important;
      box-shadow:0 0 26px rgba(22,136,255,.08);
      -webkit-transform:translate3d(-45%,0,0) skewX(-12deg);
      transform:translate3d(-45%,0,0) skewX(-12deg);
      will-change:transform,opacity;
    }
    html.is-ios-safari body.wga-mobile-fx .site-section.wga-mobile-section-visible>.wga-mobile-sheen,
    html.is-ios-safari .site-section.ios-section-entered>.wga-mobile-sheen{
      -webkit-animation:wgaIOSSheen 1.05s cubic-bezier(.16,1,.3,1) .08s 1 both!important;
      animation:wgaIOSSheen 1.05s cubic-bezier(.16,1,.3,1) .08s 1 both!important;
    }
    html.is-ios-safari .site-existing-positioned-text,
    html.is-ios-safari .site-existing-flow-text,
    html.is-ios-safari [data-site-text-key]{
      -webkit-transform:none!important;
      transform:none!important;
      filter:none!important;
      -webkit-filter:none!important;
      -webkit-animation:none!important;
      animation:none!important;
    }
  }
}
@-webkit-keyframes wgaIOSSheen{
  0%{opacity:0;-webkit-transform:translate3d(-45%,0,0) skewX(-12deg)}
  30%{opacity:.92}
  100%{opacity:0;-webkit-transform:translate3d(390%,0,0) skewX(-12deg)}
}
@keyframes wgaIOSSheen{
  0%{opacity:0;transform:translate3d(-45%,0,0) skewX(-12deg)}
  30%{opacity:.92}
  100%{opacity:0;transform:translate3d(390%,0,0) skewX(-12deg)}
}
