.brand-intro{position:fixed;inset:0;z-index:200;background:#592698;display:grid;place-content:center;justify-items:center;color:#fff;transition:clip-path 1s cubic-bezier(.76,0,.24,1),visibility 1s;clip-path:inset(0 0 0 0)}.brand-intro.done{clip-path:inset(0 0 100% 0);visibility:hidden}.assembly-stage{position:relative;width:min(760px,88vw);height:390px}.intro-c{position:absolute;left:8%;top:33px;width:320px;height:320px;object-fit:cover;border-radius:50%;opacity:0;transform:translateX(-42vw) rotate(-220deg) scale(.7);animation:cArrive 1.35s .15s cubic-bezier(.18,.82,.25,1) forwards,cLock .7s 2.55s cubic-bezier(.2,.9,.25,1) forwards}.robot-i{position:absolute;right:14%;top:-90px;width:150px;height:430px;transform-origin:75px 370px;opacity:0;animation:robotEnter .65s .75s ease forwards,robotReach 1.5s 1.2s cubic-bezier(.55,.02,.28,1) forwards,robotBecomeI .75s 2.75s cubic-bezier(.2,.8,.2,1) forwards}.robot-arm{position:absolute;left:60px;width:30px;background:#fff;border-radius:16px;box-shadow:inset 0 -8px 0 rgba(89,38,152,.14)}.robot-arm.upper{height:116px;top:82px;transform-origin:15px 105px;transform:rotate(25deg);animation:upperMove 1.5s 1.2s ease-in-out forwards}.robot-arm.lower{height:105px;top:190px;transform-origin:15px 10px;transform:rotate(-25deg);animation:lowerMove 1.5s 1.2s ease-in-out forwards}.robot-joint{position:absolute;left:51px;width:48px;height:48px;border:10px solid #F6D002;border-radius:50%;background:#592698;z-index:3}.robot-joint.top{top:54px}.robot-joint.middle{top:174px}.robot-joint.base{top:284px;width:64px;height:64px;left:43px;border-color:#fff}.robot-claw{position:absolute;left:40px;top:6px;width:70px;height:58px;z-index:4}.robot-claw:before{content:"";position:absolute;left:25px;top:18px;width:20px;height:28px;background:#F6D002;border-radius:10px}.robot-claw i{position:absolute;top:0;width:17px;height:38px;border:8px solid #F6D002;border-bottom:0}.robot-claw i:first-child{left:4px;border-right:0;border-radius:18px 0 0 0;transform:rotate(-18deg)}.robot-claw i:last-child{right:4px;border-left:0;border-radius:0 18px 0 0;transform:rotate(18deg)}.energy-piece{position:absolute;left:46%;top:51%;width:38px;height:38px;border-radius:50%;background:#F6D002;box-shadow:0 0 0 12px rgba(246,208,2,.14),0 0 42px rgba(246,208,2,.65);opacity:0;animation:pieceOn .4s 1.4s forwards,pieceTravel 1.25s 1.55s cubic-bezier(.5,.02,.25,1) forwards}.assembly-flash{position:absolute;left:27%;top:48%;width:30px;height:30px;border-radius:50%;border:3px solid #F6D002;opacity:0;animation:flash 1s 2.65s ease-out}.intro-logo{position:absolute;width:min(680px,78vw);opacity:0;transform:scale(.88);filter:drop-shadow(0 20px 32px rgba(31,4,58,.35));animation:logoBuild .9s 3.05s cubic-bezier(.2,.8,.2,1) forwards}.brand-intro p{font-size:10px;letter-spacing:.27em;margin-top:8px;opacity:0;animation:captionOn .5s 3.55s forwards}.intro-progress{width:210px;height:2px;background:rgba(255,255,255,.18);margin-top:14px;overflow:hidden;opacity:0;animation:captionOn .3s .2s forwards}.intro-progress i{display:block;width:100%;height:100%;background:#F6D002;transform-origin:left;animation:introLine 4.55s linear forwards}.skip-intro{position:fixed;right:28px;bottom:24px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:22px;padding:11px 16px;font:600 10px Montserrat;letter-spacing:.08em;cursor:pointer;opacity:.7}.skip-intro:hover,.skip-intro:focus-visible{opacity:1;outline:2px solid #F6D002;outline-offset:3px}@keyframes cArrive{to{opacity:1;transform:translateX(0) rotate(0) scale(1)}}@keyframes cLock{45%{transform:rotate(-12deg) scale(1.06)}100%{transform:rotate(360deg) scale(.94);opacity:.3}}@keyframes robotEnter{to{opacity:1;top:-28px}}@keyframes robotReach{55%{transform:translate(-180px,90px) rotate(-38deg)}100%{transform:translate(-225px,112px) rotate(-50deg)}}@keyframes upperMove{55%,100%{transform:rotate(58deg)}}@keyframes lowerMove{55%,100%{transform:rotate(-62deg)}}@keyframes robotBecomeI{to{transform:translate(-30px,96px) rotate(0) scale(.8);opacity:.25}}@keyframes pieceOn{to{opacity:1}}@keyframes pieceTravel{0%{transform:translate(170px,-80px)}70%,100%{transform:translate(-100px,8px);opacity:1}}@keyframes flash{0%{opacity:1;transform:scale(.2)}100%{opacity:0;transform:scale(12)}}@keyframes logoBuild{0%{opacity:0;transform:scale(.88);filter:blur(18px)}100%{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 20px 32px rgba(31,4,58,.35))}}@keyframes captionOn{to{opacity:.75}}@keyframes introLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.video-chapter{height:260vh!important;min-height:0!important;background:#592698;color:#fff;position:relative!important;display:block!important;padding:0!important}.video-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}.video-words{position:absolute;left:6vw;z-index:4;width:42vw;will-change:transform,opacity}.video-words span{font-size:11px;font-weight:800;letter-spacing:.18em;color:#F6D002}.video-words h2{font-size:clamp(64px,8vw,126px);line-height:.83;letter-spacing:-.075em;margin:25px 0}.video-words p{font-size:14px;color:#d9cbe5}.video-aperture{position:absolute;z-index:3;right:7vw;width:40vw;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(#F6D002 0 7deg,transparent 7deg 16deg);mask:radial-gradient(circle,transparent 0 42%,#000 43% 66%,transparent 67%);will-change:transform,opacity}.video-cinema{position:absolute;inset:4vh 4vw;opacity:0;transform:scale(.22);border-radius:42px;overflow:hidden;background:#130a1d;will-change:transform,opacity;box-shadow:0 50px 100px rgba(0,0,0,.35)}.video-cinema video{width:100%;height:calc(100% - 48px);object-fit:contain;background:#09050d}.video-cinema .video-caption{height:48px;display:flex;align-items:center;padding:0 22px;color:#cdbadd;font-size:10px}
.map-stage{min-height:760px!important;border-radius:46px!important;background:#e7deef!important;isolation:isolate;cursor:crosshair;box-shadow:0 40px 80px rgba(89,38,152,.12)}.map-image{position:absolute;inset:-6%;width:112%!important;height:112%!important;object-fit:cover;filter:saturate(.65) contrast(1.03)!important;opacity:.82!important;transition:transform .35s cubic-bezier(.2,.8,.2,1);will-change:transform}.map-stage:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(247,244,250,.12),transparent 55%),linear-gradient(0deg,rgba(89,38,152,.13),transparent 48%);pointer-events:none}.map-glow{position:absolute;z-index:2;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(246,208,2,.34),rgba(255,255,255,.16) 36%,transparent 70%);transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:screen}.map-label{position:absolute;z-index:2;left:5%;top:6%;font-size:clamp(55px,8vw,120px);font-weight:900;letter-spacing:-.07em;color:rgba(89,38,152,.08);pointer-events:none}.route{position:absolute;z-index:2;height:2px;background:linear-gradient(90deg,transparent,#592698,#F6D002);transform-origin:left;border-radius:2px;opacity:.48;pointer-events:none}.route:after{content:"";position:absolute;right:0;top:-3px;width:8px;height:8px;border-radius:50%;background:#F6D002;box-shadow:0 0 0 8px rgba(246,208,2,.16);animation:routePulse 2s ease-in-out infinite}.route-a{left:68%;top:44%;width:18%;transform:rotate(-8deg)}.route-b{left:45%;top:53%;width:24%;transform:rotate(-3deg)}.route-c{left:30%;top:69%;width:24%;transform:rotate(12deg)}@keyframes routePulse{50%{box-shadow:0 0 0 16px rgba(246,208,2,0)}}.map-instruction{position:absolute;z-index:4;left:28px;bottom:28px;background:rgba(255,255,255,.76);backdrop-filter:blur(14px);padding:14px 18px;border-radius:20px;display:flex;gap:14px;align-items:center}.map-instruction b{font-size:12px;color:#592698}.map-instruction span{font-size:10px;color:#706978}.map-point{z-index:3!important}.city-panel{background:rgba(255,255,255,.86)!important;backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.7);box-shadow:0 30px 70px rgba(89,38,152,.1);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}.city-panel.changed{transform:translateY(-10px);box-shadow:0 45px 90px rgba(89,38,152,.2)}
@media(max-width:900px){.assembly-stage{height:330px}.intro-c{width:245px;height:245px;left:0;top:48px}.robot-i{right:1%;transform:scale(.78);transform-origin:center bottom}.intro-logo{width:88vw}.video-words{left:7vw;width:86vw;top:16vh}.video-words h2{font-size:58px}.video-aperture{right:5vw;width:72vw;bottom:9vh}.video-cinema{inset:16vh 3vw 12vh}.map-stage{min-height:560px!important}.map-label{font-size:55px}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none}.video-chapter{height:100vh!important}.video-words{display:none}.video-aperture{display:none}.video-cinema{opacity:1!important;transform:none!important}.map-glow,.route{display:none}}

/* O arquivo oficial tem uma ampla margem roxa; este enquadramento preserva a
   arte original e aproxima somente a engrenagem-C durante a montagem. */
.intro-c{left:-26%;top:-185px;width:780px;height:780px;object-fit:contain;border-radius:0}
@media(max-width:900px){.intro-c{width:600px;height:600px;left:-57%;top:-120px}}

/* Abertura oficial: a mão robótica puxa a engrenagem-C e constrói a marca. */
.brand-intro{background:#fff;color:#592698}
.pull-stage{position:relative;width:min(1100px,94vw);height:min(620px,78vh);overflow:hidden}
.intro-kicker{position:absolute;z-index:6;top:4%;left:50%;transform:translateX(-50%);width:100%;text-align:center;font-size:10px;font-weight:800;letter-spacing:.24em;color:#592698;opacity:0;animation:newKicker .55s .18s forwards}
.gear-track{position:absolute;z-index:0;left:15%;right:12%;top:56%;height:1px;background:linear-gradient(90deg,transparent,rgba(89,38,152,.15),transparent);opacity:0;animation:trackOn .5s .7s forwards}
.gear-track:before,.gear-track:after{content:"";position:absolute;top:-4px;width:9px;height:9px;border-radius:50%;background:#F6D002;box-shadow:0 0 0 7px rgba(246,208,2,.12)}
.gear-track:before{left:14%}.gear-track:after{right:18%}
.pulled-c{position:absolute;z-index:2;left:-250px;top:-170px;width:1000px;height:1000px;object-fit:contain;opacity:0;transform:translateX(-190px) rotate(-160deg) scale(.88);transform-origin:50% 50%;animation:gearFound 1.25s .45s cubic-bezier(.2,.8,.2,1) forwards,gearPulled 2.1s 2s cubic-bezier(.3,.02,.15,1) forwards,sourceAway .45s 4.12s forwards}
.pulling-hand{position:absolute;z-index:4;right:-200px;top:55px;width:900px;height:auto;mix-blend-mode:multiply;transform:translateX(0) rotate(0);transform-origin:55% 55%;animation:handApproach 1.3s .7s cubic-bezier(.3,.8,.2,1) forwards,handPull 2.1s 2s cubic-bezier(.3,.02,.15,1) forwards,sourceAway .45s 4.12s forwards}
.contact-spark{position:absolute;z-index:5;left:29%;top:43%;width:18px;height:18px;border-radius:50%;background:#F6D002;box-shadow:0 0 0 0 rgba(246,208,2,.35);opacity:0;animation:sparkLock .8s 1.72s ease-out forwards}
.built-logo{position:absolute;z-index:7;left:50%;top:46%;width:min(920px,86vw);height:auto;transform:translate(-50%,-50%) scale(.88);opacity:0;filter:blur(16px);clip-path:inset(0 100% 0 0);animation:brandConstruct 1.05s 4.12s cubic-bezier(.2,.8,.2,1) forwards}
.build-caption{position:absolute;z-index:8;left:50%;bottom:8%;width:100%;transform:translateX(-50%) translateY(12px);text-align:center;font-size:clamp(12px,1.15vw,16px);font-weight:600;letter-spacing:.035em;color:#592698;opacity:0;animation:buildWords .65s 4.88s forwards}
.brand-intro .intro-progress{position:absolute;left:50%;bottom:3.5%;transform:translateX(-50%);background:rgba(89,38,152,.13)}
.brand-intro .intro-progress i{background:#F6D002;animation-duration:6.05s}
.brand-intro .skip-intro{color:#592698;border-color:rgba(89,38,152,.28)}
.brand-intro .skip-intro:hover,.brand-intro .skip-intro:focus-visible{background:#592698;color:#fff}
@keyframes newKicker{to{opacity:.72}}
@keyframes trackOn{to{opacity:1}}
@keyframes gearFound{to{opacity:1;transform:translateX(0) rotate(0) scale(1)}}
@keyframes handApproach{0%{transform:translateX(110px)}72%{transform:translateX(-510px)}88%{transform:translateX(-500px) rotate(-2deg)}100%{transform:translateX(-510px) rotate(0)}}
@keyframes sparkLock{0%{opacity:0;transform:scale(.1)}20%{opacity:1;box-shadow:0 0 0 5px rgba(246,208,2,.35)}100%{opacity:0;transform:scale(8);box-shadow:0 0 0 25px rgba(246,208,2,0)}}
@keyframes gearPulled{0%{transform:translateX(0) rotate(0) scale(1)}100%{transform:translateX(315px) rotate(720deg) scale(.86)}}
@keyframes handPull{0%{transform:translateX(-510px)}100%{transform:translateX(-185px)}}
@keyframes sourceAway{to{opacity:0;filter:blur(10px)}}
@keyframes brandConstruct{0%{opacity:0;filter:blur(16px);clip-path:inset(0 100% 0 0)}100%{opacity:1;filter:blur(0);clip-path:inset(0 0 0 0);transform:translate(-50%,-50%) scale(1)}}
@keyframes buildWords{to{opacity:1;transform:translateX(-50%) translateY(0)}}
@media(max-width:700px){
  .pull-stage{height:72vh}
  .intro-kicker{top:5%;padding:0 32px;font-size:8px;line-height:1.7}
  .pulled-c{left:-310px;top:-80px;width:760px;height:760px}
  .pulling-hand{right:-330px;top:90px;width:720px}
  .contact-spark{left:22%;top:42%}
  .built-logo{top:46%;width:94vw}
  .build-caption{bottom:11%;padding:0 28px;line-height:1.55}
  @keyframes handApproach{0%{transform:translateX(80px)}72%,100%{transform:translateX(-360px)}}
  @keyframes gearPulled{0%{transform:translateX(0) rotate(0) scale(1)}100%{transform:translateX(230px) rotate(720deg) scale(.82)}}
  @keyframes handPull{0%{transform:translateX(-360px)}100%{transform:translateX(-120px)}}
}

/* Hero mecânico: a marca oficial permanece intacta e as engrenagens respondem ao cursor. */
.hero{
  min-height:118vh;
  --pattern-x:0px;
  --pattern-y:0px;
  --pattern-scroll:0px;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 46%,rgba(246,208,2,.11),transparent 19%),
    radial-gradient(circle at 75% 45%,#f7f2fb 0,#fff 47%);
}
.hero-pattern{
  position:absolute;
  z-index:0;
  inset:-9%;
  pointer-events:none;
  background-image:url("gear-pattern.png");
  background-repeat:repeat;
  background-position:center;
  background-size:max(1500px,112vw) auto;
  opacity:.78;
  mix-blend-mode:multiply;
  transform:translate3d(var(--pattern-x),calc(var(--pattern-y) + var(--pattern-scroll)),0) scale(1.04);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .35s ease;
  will-change:transform;
}
.hero:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.93) 0 38%,rgba(255,255,255,.42) 56%,rgba(255,255,255,.08) 100%);
}
.hero-copy{max-width:760px}
.hero-copy,.hero-machine,.scroll-note{z-index:2}
.hero h1{font-size:clamp(46px,5.15vw,82px);max-width:780px}
.hero-machine{
  --mx:0px;
  --my:0px;
  --hero-x:0vw;
  --hero-y:0vh;
  --hero-scale:1;
  --hero-rotate:0deg;
  isolation:isolate;
  cursor:pointer;
  outline:none;
  transform:translate3d(var(--hero-x),var(--hero-y),0) scale(var(--hero-scale)) rotate(var(--hero-rotate));
  transition:filter .35s ease;
  will-change:transform;
}
.hero-machine:focus-visible{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}
.hero-machine:focus-visible:after{
  content:"";
  position:absolute;
  inset:5%;
  border:2px solid #592698;
  border-radius:50%;
  box-shadow:0 0 0 6px rgba(246,208,2,.24);
}
.machine-field{
  position:absolute;
  z-index:-2;
  width:76%;
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(255,255,255,.96) 0 35%,rgba(238,230,246,.82) 36% 56%,transparent 57%),
    repeating-conic-gradient(from 8deg,rgba(89,38,152,.075) 0 1deg,transparent 1deg 14deg);
  box-shadow:0 42px 90px rgba(89,38,152,.13),inset 0 0 0 1px rgba(89,38,152,.08);
  transform:translate(var(--mx),var(--my));
  transition:transform .22s ease;
}
.hero-logo{
  width:68%;
  transform-style:preserve-3d;
  filter:drop-shadow(0 30px 32px rgba(89,38,152,.17));
  transition:transform .2s ease,filter .3s ease;
}
.hero-machine:hover .hero-logo{
  filter:drop-shadow(0 38px 38px rgba(89,38,152,.22));
}
.hero-machine .orbit{
  transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .3s;
}
.hero-machine:hover .orbit{border-color:rgba(89,38,152,.28)}
.hero-machine .gear{
  z-index:-1;
  box-shadow:0 15px 24px rgba(89,38,152,.13);
  filter:drop-shadow(0 3px 1px rgba(255,255,255,.8));
  transition:filter .3s;
}
.hero-machine:hover .gear{filter:drop-shadow(0 7px 4px rgba(89,38,152,.18))}
.gear-a{
  width:170px;
  right:5%;
  top:8%;
  animation-duration:13s;
}
.gear-b{
  width:112px;
  left:5%;
  bottom:8%;
  animation-duration:8s;
}
.gear-c{
  width:78px;
  right:20%;
  bottom:2%;
  background:repeating-conic-gradient(#592698 0 9deg,transparent 9deg 23deg);
  animation:spin 6.5s linear infinite;
}
.gear-d{
  width:58px;
  left:17%;
  top:9%;
  background:repeating-conic-gradient(#F6D002 0 10deg,transparent 10deg 25deg);
  animation:spin 5s linear reverse infinite;
}
.hero-machine:hover .gear-a,.hero-machine.is-active .gear-a{animation-duration:5.5s}
.hero-machine:hover .gear-b,.hero-machine.is-active .gear-b{animation-duration:3.8s}
.hero-machine:hover .gear-c,.hero-machine.is-active .gear-c{animation-duration:3s}
.hero-machine:hover .gear-d,.hero-machine.is-active .gear-d{animation-duration:2.4s}
.hero-machine.is-active .machine-field{
  background:
    radial-gradient(circle,rgba(255,255,255,.98) 0 34%,rgba(246,208,2,.2) 35% 36%,rgba(238,230,246,.88) 37% 56%,transparent 57%),
    repeating-conic-gradient(from 8deg,rgba(89,38,152,.1) 0 1deg,transparent 1deg 14deg);
  box-shadow:0 46px 100px rgba(89,38,152,.18),inset 0 0 0 1px rgba(89,38,152,.13),0 0 0 14px rgba(246,208,2,.06);
}
.hero-machine.is-active .machine-caption{background:#592698;color:#fff;border-color:#592698}
.machine-caption{
  position:absolute;
  right:10%;
  bottom:14%;
  padding:9px 13px;
  border:1px solid rgba(89,38,152,.12);
  border-radius:20px;
  background:rgba(255,255,255,.78);
  color:#75677f;
  font:700 9px Montserrat,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  backdrop-filter:blur(12px);
}
@media(max-width:900px){
  .hero-pattern{background-size:auto 100%;opacity:.66}
  .hero:after{background:linear-gradient(180deg,rgba(255,255,255,.88) 0 40%,rgba(255,255,255,.3) 72%,rgba(255,255,255,.12))}
  .hero h1{font-size:clamp(42px,11vw,62px)}
  .hero-machine{height:48vh}
  .gear-a{width:120px}
  .gear-b{width:82px}
  .gear-c{width:58px}
  .gear-d{width:44px}
  .machine-caption{right:5%;bottom:7%}
}

/* Cena cinematográfica: a engrenagem e a mão atuam antes da marca aparecer. */
.cinematic-stage{position:relative;width:min(1120px,96vw);height:min(680px,82vh);overflow:hidden;isolation:isolate}
.stage-light{position:absolute;z-index:0;left:50%;top:-18%;width:78%;height:105%;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 38%,rgba(246,208,2,.16),rgba(246,208,2,.045) 34%,transparent 70%);opacity:0;animation:stageLightOn 1.2s .1s forwards}
.stage-floor{position:absolute;z-index:0;left:9%;right:9%;top:71%;height:2px;background:linear-gradient(90deg,transparent,rgba(89,38,152,.18) 20%,rgba(89,38,152,.18) 80%,transparent);transform:scaleX(.25);opacity:0;animation:floorOpen 1s .3s forwards}
.scene-note{position:absolute;z-index:8;left:50%;transform:translateX(-50%) translateY(8px);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#592698;white-space:nowrap;opacity:0}
.note-one{top:6%;animation:noteAppear .6s .35s forwards,noteDisappear .4s 2.05s forwards}
.note-two{top:6%;animation:noteAppear .5s 2.25s forwards,noteDisappear .4s 4.35s forwards}
.gear-character{position:absolute;z-index:3;left:-210px;top:-115px;width:720px;height:840px;object-fit:contain;opacity:0;transform:translateX(-310px) rotate(-300deg) scale(.76);transform-origin:50% 50%;animation:gearRollIn 1.75s .65s cubic-bezier(.2,.75,.2,1) forwards,gearNotice .62s 3.72s cubic-bezier(.25,.8,.25,1) forwards,gearToPlace 1.55s 4.48s cubic-bezier(.25,.02,.16,1) forwards,actorsOut .35s 6.08s forwards}
.gear-shadow{position:absolute;z-index:1;left:10%;top:69%;width:235px;height:25px;border-radius:50%;background:rgba(89,38,152,.13);filter:blur(9px);opacity:0;transform:scaleX(.5);animation:gearShadowIn 1.75s .65s forwards,gearShadowMove 1.55s 4.48s forwards,actorsOut .35s 6.08s forwards}
.robot-character{position:absolute;z-index:5;right:-145px;top:-405px;width:890px;height:auto;mix-blend-mode:multiply;opacity:0;transform:translate(80px,-70px) rotate(4deg);transform-origin:53% 70%;animation:robotDropsIn 1.15s 2.48s cubic-bezier(.2,.75,.18,1) forwards,robotLooks .82s 3.63s ease-in-out forwards,robotPlaces 1.55s 4.48s cubic-bezier(.25,.02,.16,1) forwards,actorsOut .35s 6.08s forwards}
.robot-shadow{position:absolute;z-index:1;right:17%;top:69%;width:195px;height:26px;border-radius:50%;background:rgba(89,38,152,.12);filter:blur(9px);opacity:0;animation:robotShadowIn .7s 2.8s forwards,actorsOut .35s 6.08s forwards}
.inspection-beam{position:absolute;z-index:4;left:27%;top:37%;width:8px;height:8px;border-radius:50%;background:#F6D002;box-shadow:0 0 0 0 rgba(246,208,2,.35);opacity:0;animation:inspectPulse 1s 3.62s ease-out}
.lock-pulse{position:absolute;z-index:7;left:50%;top:48%;width:20px;height:20px;border:2px solid #F6D002;border-radius:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;animation:cinematicLock .75s 5.72s ease-out}
.cinematic-logo{position:absolute;z-index:9;left:50%;top:44%;width:min(930px,88vw);height:auto;transform:translate(-50%,-50%) scale(.9);opacity:0;clip-path:inset(0 50% 0 50%);filter:blur(12px);animation:cinematicReveal 1.05s 6.05s cubic-bezier(.2,.8,.2,1) forwards}
.final-line{position:absolute;z-index:10;left:50%;bottom:9%;width:100%;transform:translateX(-50%) translateY(12px);text-align:center;font-size:clamp(12px,1.2vw,16px);line-height:1.55;color:#6b5c78;opacity:0;animation:finalLineOn .65s 6.88s forwards}
.final-line strong{color:#592698;font-weight:800}
.brand-intro .intro-progress i{animation:introLine 8.65s linear forwards}
@keyframes stageLightOn{to{opacity:1}}
@keyframes floorOpen{to{opacity:1;transform:scaleX(1)}}
@keyframes noteAppear{to{opacity:.7;transform:translateX(-50%) translateY(0)}}
@keyframes noteDisappear{to{opacity:0;transform:translateX(-50%) translateY(-7px)}}
@keyframes gearRollIn{0%{opacity:0;transform:translateX(-310px) rotate(-300deg) scale(.76)}72%{opacity:1;transform:translateX(18px) rotate(18deg) scale(1)}88%{opacity:1;transform:translateX(-8px) rotate(-8deg) scale(1)}100%{opacity:1;transform:translateX(0) rotate(0) scale(1)}}
@keyframes gearNotice{0%{transform:translateX(0) rotate(0) scale(1)}42%{transform:translate(12px,-28px) rotate(13deg) scale(.96,1.05)}72%{transform:translate(-4px,3px) rotate(-5deg) scale(1.04,.96)}100%{transform:translateX(0) rotate(0) scale(1)}}
@keyframes gearToPlace{0%{transform:translateX(0) rotate(0) scale(1)}100%{transform:translateX(350px) rotate(720deg) scale(.82)}}
@keyframes gearShadowIn{0%{opacity:0;transform:scaleX(.45)}70%,100%{opacity:1;transform:scaleX(1)}}
@keyframes gearShadowMove{to{left:40%;width:185px;transform:scaleX(.82)}}
@keyframes robotDropsIn{0%{opacity:0;transform:translate(80px,-70px) rotate(4deg)}78%{opacity:1;transform:translate(-570px,455px) rotate(-4deg)}90%{opacity:1;transform:translate(-558px,442px) rotate(2deg)}100%{opacity:1;transform:translate(-565px,450px) rotate(0)}}
@keyframes robotLooks{0%{transform:translate(-565px,450px) rotate(0)}45%{transform:translate(-577px,438px) rotate(-3deg)}100%{transform:translate(-565px,450px) rotate(0)}}
@keyframes robotPlaces{0%{transform:translate(-565px,450px) rotate(0)}100%{transform:translate(-215px,450px) rotate(0)}}
@keyframes robotShadowIn{to{opacity:1}}
@keyframes inspectPulse{0%{opacity:0;transform:scale(.1)}22%{opacity:1;box-shadow:0 0 0 7px rgba(246,208,2,.32)}100%{opacity:0;transform:scale(10);box-shadow:0 0 0 28px rgba(246,208,2,0)}}
@keyframes cinematicLock{0%{opacity:1;transform:translate(-50%,-50%) scale(.2)}100%{opacity:0;transform:translate(-50%,-50%) scale(20);border-width:1px}}
@keyframes actorsOut{to{opacity:0;filter:blur(9px)}}
@keyframes cinematicReveal{0%{opacity:0;clip-path:inset(0 50% 0 50%);filter:blur(12px)}100%{opacity:1;clip-path:inset(0 0 0 0);filter:blur(0);transform:translate(-50%,-50%) scale(1)}}
@keyframes finalLineOn{to{opacity:1;transform:translateX(-50%) translateY(0)}}
@media(max-width:700px){
  .cinematic-stage{height:76vh}
  .scene-note{font-size:8px}
  .gear-character{left:-255px;top:-15px;width:620px;height:720px}
  .gear-shadow{left:5%;top:69%;width:150px}
  .robot-character{right:-300px;top:-255px;width:690px}
  .robot-shadow{right:7%;top:69%;width:130px}
  .inspection-beam{left:22%;top:43%}
  .cinematic-logo{top:45%;width:96vw}
  .final-line{bottom:12%;padding:0 26px}
  @keyframes robotDropsIn{0%{opacity:0;transform:translate(70px,-60px) rotate(4deg)}78%,100%{opacity:1;transform:translate(-330px,340px) rotate(0)}}
  @keyframes robotLooks{0%{transform:translate(-330px,340px)}45%{transform:translate(-340px,330px) rotate(-3deg)}100%{transform:translate(-330px,340px)}}
  @keyframes robotPlaces{0%{transform:translate(-330px,340px)}100%{transform:translate(-95px,340px)}}
  @keyframes gearToPlace{0%{transform:translateX(0) rotate(0) scale(1)}100%{transform:translateX(235px) rotate(720deg) scale(.76)}}
}

/* Direção revista: marca incompleta em cena, três saltos e encaixe das peças. */
.logo-rig{position:absolute;z-index:2;left:50%;top:46%;width:min(930px,88vw);transform:translate(-50%,-50%);opacity:0;animation:rigOn .65s .35s forwards,rigOut .35s 6.25s forwards}
.logo-rig img{display:block;width:100%;height:auto}
.missing-piece{position:absolute;display:block;background:#fff}
.missing-c{left:-1%;top:25%;width:22%;height:78%}
.missing-i{left:42%;top:20%;width:15%;height:82%}
.note-one{animation:noteAppear .55s .25s forwards,noteDisappear .4s 2.1s forwards}
.gear-character{left:610px;top:-115px;width:720px;height:840px;opacity:0;transform:translateX(190px) rotate(180deg) scale(.8);animation:looseGearIn 1.05s 1.05s cubic-bezier(.2,.8,.2,1) forwards,gearNudge 1.85s 4.48s cubic-bezier(.28,.02,.14,1) forwards,actorsOut .3s 6.32s forwards}
.gear-shadow{left:auto;right:1%;top:69%;width:210px;animation:looseShadowIn .8s 1.25s forwards,gearShadowNudge 1.85s 4.48s forwards,actorsOut .3s 6.32s forwards}
.robot-character{right:-155px;top:-390px;width:890px;opacity:0;transform:translate(250px,450px) rotate(6deg);animation:robotHops 2.45s 2.05s cubic-bezier(.22,.72,.18,1) forwards,robotPushes 1.85s 4.48s cubic-bezier(.28,.02,.14,1) forwards,actorsOut .3s 6.32s forwards}
.robot-shadow{right:0;top:69%;width:170px;animation:hopShadow 2.45s 2.05s forwards,robotShadowPush 1.85s 4.48s forwards,actorsOut .3s 6.32s forwards}
.inspection-beam{left:auto;right:11%;top:42%;animation:inspectPulse .8s 4.08s ease-out}
.lock-pulse{left:20%;top:57%;animation:cinematicLock .7s 5.92s ease-out}
.cinematic-logo{animation:cinematicReveal .95s 6.28s cubic-bezier(.2,.8,.2,1) forwards}
.final-line{animation:finalLineOn .65s 7.02s forwards}
@keyframes rigOn{to{opacity:1}}
@keyframes rigOut{to{opacity:.08;filter:blur(5px)}}
@keyframes looseGearIn{0%{opacity:0;transform:translateX(190px) rotate(180deg) scale(.8)}75%{opacity:1;transform:translateX(-10px) rotate(-12deg) scale(1)}100%{opacity:1;transform:translateX(0) rotate(0) scale(1)}}
@keyframes looseShadowIn{to{opacity:1;transform:scaleX(1)}}
@keyframes robotHops{
  0%{opacity:0;transform:translate(250px,450px) rotate(6deg)}
  10%{opacity:1}
  18%{transform:translate(145px,330px) rotate(-9deg)}
  28%{transform:translate(110px,450px) rotate(4deg)}
  42%{transform:translate(25px,350px) rotate(-7deg)}
  52%{transform:translate(-15px,450px) rotate(3deg)}
  67%{transform:translate(-78px,380px) rotate(-5deg)}
  78%{transform:translate(-112px,450px) rotate(2deg)}
  88%{transform:translate(-120px,430px) rotate(-2deg)}
  100%{opacity:1;transform:translate(-120px,450px) rotate(0)}
}
@keyframes hopShadow{
  0%,8%{opacity:0;transform:scaleX(.3)}
  18%{opacity:.25;transform:scaleX(.55)}
  28%{opacity:1;transform:scaleX(1)}
  42%{opacity:.35;transform:scaleX(.6)}
  52%{opacity:1;transform:scaleX(1)}
  67%{opacity:.45;transform:scaleX(.66)}
  78%,100%{opacity:1;transform:scaleX(1)}
}
@keyframes gearNudge{
  0%{transform:translateX(0) rotate(0) scale(1)}
  12%{transform:translate(-24px,-8px) rotate(-18deg) scale(1.04,.96)}
  26%{transform:translate(-92px,0) rotate(-92deg) scale(1)}
  100%{transform:translate(-770px,54px) rotate(-900deg) scale(.78)}
}
@keyframes robotPushes{
  0%{transform:translate(-120px,450px) rotate(0)}
  12%{transform:translate(-150px,440px) rotate(-5deg)}
  26%{transform:translate(-205px,450px) rotate(3deg)}
  72%{transform:translate(-360px,450px) rotate(-2deg)}
  88%{transform:translate(-360px,420px) rotate(2deg)}
  100%{transform:translate(-360px,450px) rotate(0)}
}
@keyframes gearShadowNudge{to{right:72%;width:150px;transform:scaleX(.74)}}
@keyframes robotShadowPush{to{right:42%;width:145px}}
@media(max-width:700px){
  .logo-rig{top:47%;width:96vw}
  .gear-character{left:205px;top:-5px;width:620px;height:720px}
  .gear-shadow{right:-13%;top:69%;width:145px}
  .robot-character{right:-320px;top:-245px;width:700px}
  .robot-shadow{right:-10%;top:69%;width:115px}
  .inspection-beam{right:6%;top:46%}
  .lock-pulse{left:18%;top:55%}
  @keyframes robotHops{
    0%{opacity:0;transform:translate(210px,340px) rotate(6deg)}
    10%{opacity:1}
    18%{transform:translate(145px,265px) rotate(-8deg)}
    28%{transform:translate(110px,340px) rotate(3deg)}
    42%{transform:translate(55px,285px) rotate(-6deg)}
    52%{transform:translate(25px,340px) rotate(2deg)}
    67%{transform:translate(-18px,300px) rotate(-4deg)}
    78%,100%{opacity:1;transform:translate(-45px,340px) rotate(0)}
  }
  @keyframes robotPushes{0%{transform:translate(-45px,340px)}100%{transform:translate(-215px,340px)}}
  @keyframes gearNudge{0%{transform:translateX(0) rotate(0) scale(1)}100%{transform:translate(-385px,30px) rotate(-720deg) scale(.7)}}
  @keyframes gearShadowNudge{to{right:70%;width:95px}}
  @keyframes robotShadowPush{to{right:43%;width:95px}}
}

/* Volume e perspectiva — preserva as artes oficiais como faces das peças. */
.cinematic-stage{perspective:1100px;perspective-origin:50% 44%;transform-style:preserve-3d}
.cinematic-stage:before{content:"";position:absolute;z-index:6;inset:8% 4% 17%;pointer-events:none;background:linear-gradient(118deg,transparent 25%,rgba(255,255,255,.72) 45%,transparent 60%);mix-blend-mode:soft-light;transform:translateX(-120%);animation:studioSheen 1.15s 6.28s ease-out forwards}
.stage-light{background:radial-gradient(ellipse at 48% 34%,rgba(246,208,2,.2),rgba(246,208,2,.055) 34%,transparent 69%),linear-gradient(115deg,rgba(255,255,255,.9),transparent 48%)}
.gear-character,.robot-character,.logo-rig,.cinematic-logo{transform-style:preserve-3d;backface-visibility:hidden}
.gear-character{filter:saturate(1.08) contrast(1.04)}
.robot-character{filter:saturate(1.07) contrast(1.06)}
.gear-shadow{background:radial-gradient(ellipse,rgba(48,15,75,.3),rgba(89,38,152,.11) 48%,transparent 72%);filter:blur(7px)}
.robot-shadow{background:radial-gradient(ellipse,rgba(48,15,75,.28),rgba(89,38,152,.1) 50%,transparent 74%);filter:blur(8px)}
.lock-pulse{box-shadow:0 0 32px rgba(246,208,2,.55)}
.cinematic-logo{filter:drop-shadow(0 24px 25px rgba(65,24,103,.16))}
@keyframes studioSheen{to{transform:translateX(120%)}}
@keyframes looseGearIn{
  0%{opacity:0;transform:translate3d(190px,-18px,-180px) rotateY(-28deg) rotateZ(180deg) scale(.8)}
  72%{opacity:1;transform:translate3d(-12px,0,35px) rotateY(12deg) rotateZ(-14deg) scale(1.03)}
  88%{transform:translate3d(5px,0,-8px) rotateY(-6deg) rotateZ(5deg) scale(.99)}
  100%{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1)}
}
@keyframes robotHops{
  0%{opacity:0;transform:translate3d(250px,450px,-160px) rotateY(20deg) rotateZ(6deg)}
  10%{opacity:1}
  18%{transform:translate3d(145px,325px,75px) rotateY(-12deg) rotateZ(-9deg)}
  28%{transform:translate3d(110px,450px,0) rotateY(5deg) rotateZ(4deg)}
  42%{transform:translate3d(25px,345px,62px) rotateY(-10deg) rotateZ(-7deg)}
  52%{transform:translate3d(-15px,450px,0) rotateY(4deg) rotateZ(3deg)}
  67%{transform:translate3d(-78px,375px,48px) rotateY(-8deg) rotateZ(-5deg)}
  78%{transform:translate3d(-112px,450px,0) rotateY(3deg) rotateZ(2deg)}
  88%{transform:translate3d(-120px,430px,20px) rotateY(-3deg) rotateZ(-2deg)}
  100%{opacity:1;transform:translate3d(-120px,450px,0) rotateY(0) rotateZ(0)}
}
@keyframes gearNudge{
  0%{transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1)}
  12%{transform:translate3d(-24px,-8px,35px) rotateY(-12deg) rotateZ(-18deg) scale(1.04,.96)}
  26%{transform:translate3d(-92px,0,10px) rotateY(8deg) rotateZ(-92deg) scale(1)}
  72%{transform:translate3d(-590px,35px,25px) rotateY(-10deg) rotateZ(-690deg) scale(.84)}
  100%{transform:translate3d(-770px,54px,0) rotateY(0) rotateZ(-900deg) scale(.78)}
}
@keyframes robotPushes{
  0%{transform:translate3d(-120px,450px,0) rotateY(0) rotateZ(0)}
  12%{transform:translate3d(-150px,440px,30px) rotateY(-12deg) rotateZ(-5deg)}
  26%{transform:translate3d(-205px,450px,0) rotateY(8deg) rotateZ(3deg)}
  72%{transform:translate3d(-360px,450px,15px) rotateY(-7deg) rotateZ(-2deg)}
  88%{transform:translate3d(-360px,415px,55px) rotateY(10deg) rotateZ(2deg)}
  100%{transform:translate3d(-360px,450px,0) rotateY(0) rotateZ(0)}
}
@keyframes cinematicReveal{
  0%{opacity:0;clip-path:inset(0 50% 0 50%);filter:blur(12px);transform:translate3d(-50%,-50%,-130px) rotateX(8deg) scale(.9)}
  100%{opacity:1;clip-path:inset(0 0 0 0);filter:blur(0) drop-shadow(0 24px 25px rgba(65,24,103,.16));transform:translate3d(-50%,-50%,0) rotateX(0) scale(1)}
}
@media(max-width:700px){
  .cinematic-stage{perspective:850px}
  @keyframes robotHops{
    0%{opacity:0;transform:translate3d(210px,340px,-120px) rotateY(18deg) rotateZ(6deg)}
    10%{opacity:1}
    18%{transform:translate3d(145px,265px,55px) rotateY(-10deg) rotateZ(-8deg)}
    28%{transform:translate3d(110px,340px,0) rotateY(4deg) rotateZ(3deg)}
    42%{transform:translate3d(55px,285px,45px) rotateY(-8deg) rotateZ(-6deg)}
    52%{transform:translate3d(25px,340px,0) rotateY(3deg) rotateZ(2deg)}
    67%{transform:translate3d(-18px,300px,38px) rotateY(-6deg) rotateZ(-4deg)}
    78%,100%{opacity:1;transform:translate3d(-45px,340px,0) rotateY(0) rotateZ(0)}
  }
  @keyframes robotPushes{0%{transform:translate3d(-45px,340px,0)}100%{transform:translate3d(-215px,340px,0)}}
  @keyframes gearNudge{0%{transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1)}100%{transform:translate3d(-385px,30px,0) rotateY(0) rotateZ(-720deg) scale(.7)}}
}

/* A engrenagem-C oficial passa a ser a abertura giratória do vídeo. */
.video-aperture{
  width:29vw;
  aspect-ratio:1957/2292;
  border-radius:0;
  background-color:transparent;
  background-image:url("c-logo-exact.png");
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  -webkit-mask:none;
  mask:none;
  box-shadow:none;
  filter:none;
}
@media(max-width:900px){.video-aperture{width:56vw;right:5vw}}

/* Texto institucional em fluxo editorial, sem divisão em tópicos. */
.project-copy{
  max-width:1160px;
  margin:clamp(70px,10vh,120px) auto 0;
  padding-top:clamp(38px,5vw,64px);
  border-top:1px solid #E7DFEC;
}
.project-copy p{
  margin:0;
  color:#706978;
  font-size:clamp(17px,1.35vw,21px);
  line-height:1.82;
  letter-spacing:-.012em;
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
}
@media(max-width:760px){
  .project-copy{
    margin-top:58px;
    padding-top:34px;
  }
  .project-copy p{font-size:17px;line-height:1.75}
}
