:root{--bg:#151613;--graphite:#171815;--paper:#d7d2c8;--sand:#b6a78f;--yellow:#d9a51c;--white:#f4f1ea;--gray:#777871;--line:rgba(244,241,234,.16);--max:1440px;--header:78px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:Inter,Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}.topbar{position:fixed;z-index:80;top:0;left:0;right:0;height:var(--header);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:30px;padding:0 3.4vw;border-bottom:1px solid transparent;transition:.3s;background:linear-gradient(to bottom,rgba(13,14,12,.72),transparent)}.topbar.scrolled{background:rgba(20,21,18,.92);backdrop-filter:blur(12px);border-color:rgba(244,241,234,.08)}.brand{display:flex;align-items:center;gap:13px}.brand-rl{font:700 31px/1 Archivo Narrow,sans-serif;letter-spacing:-2px}.brand-rl b{color:var(--yellow)}.brand-rl i{font-style:normal;color:var(--white)}.brand-text{font:600 12px/1 IBM Plex Mono,monospace;letter-spacing:.2em}.nav{display:flex;justify-content:center;gap:28px}.nav a{font:500 11px/1 IBM Plex Mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:#dad8d1;transition:.2s}.nav a:hover{color:var(--yellow)}.top-cta{border:1px solid rgba(217,165,28,.75);padding:14px 18px;font:600 11px/1 IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.menu-btn,.mobile-nav{display:none}.hero-sequence{height:470vh;position:relative}.hero-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#10110f}.hero-bg,.hero-fallback,.hero-canvas,.hero-vignette{position:absolute;inset:0}.hero-bg{background:radial-gradient(circle at 72% 50%,rgba(217,165,28,.12),transparent 32%),linear-gradient(115deg,#11120f 0%,#191a17 58%,#0e0f0d 100%)}.hero-fallback{opacity:.08;filter:saturate(.7);transition:opacity .5s}.hero-canvas{z-index:2}.hero-canvas canvas,.detail-canvas canvas{width:100%!important;height:100%!important;display:block}.hero-vignette{z-index:3;background:linear-gradient(90deg,rgba(14,15,13,.96) 0%,rgba(14,15,13,.74) 34%,rgba(14,15,13,.08) 68%,rgba(14,15,13,.35) 100%),linear-gradient(0deg,rgba(14,15,13,.76),transparent 35%);pointer-events:none}.hero-copy{position:absolute;z-index:5;left:4.6vw;top:50%;width:min(560px,42vw);transform:translateY(-48%);transition:opacity .2s}.kicker{display:flex;align-items:center;gap:10px;margin:0 0 18px;font:500 11px/1 IBM Plex Mono,monospace;letter-spacing:.14em;color:var(--yellow)}.kicker span{width:42px;height:1px;background:currentColor}.kicker.dark{color:#675924}.hero-copy h1,.photo-caption h2,.works-head h2,.detail-copy h2,.contact h2{margin:0;font-family:Archivo Narrow,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:-.045em;line-height:.82}.hero-copy h1{font-size:clamp(72px,8vw,145px)}h1 span,h2 span{color:var(--yellow)}.hero-copy>p:not(.kicker){max-width:520px;margin:25px 0 0;font-size:14px;line-height:1.7;color:#d1d0ca}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 22px;font:600 11px/1 IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.11em}.button.solid{background:var(--yellow);color:#171815}.plain-link{font:600 11px/1 IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.09em}.hero-mechanics{position:absolute;z-index:5;right:4vw;bottom:5.5vh;width:360px}.mechanics-label,.mechanics-steps,.scroll-cue,.hero-index{font:500 10px/1 IBM Plex Mono,monospace;letter-spacing:.12em;color:#c6c5c0}.mechanics-line{height:1px;background:rgba(244,241,234,.2);margin:10px 0}.mechanics-line i{display:block;width:0;height:1px;background:var(--yellow)}.mechanics-steps{display:flex;justify-content:space-between;color:#777871;font-size:8px}.scroll-cue{position:absolute;z-index:5;left:4.6vw;bottom:5.5vh}.scroll-cue b{color:var(--yellow)}.hero-index{position:absolute;z-index:5;right:4vw;top:17vh}.hero-index strong{font-size:20px;color:var(--yellow)}.hero-index span{color:#73746e}.photo-expansion{height:240vh;background:var(--bg)}.photo-sticky{height:100vh;position:sticky;top:0;display:grid;place-items:center;overflow:hidden}.photo-frame{position:relative;width:72vw;height:72vh;overflow:hidden;will-change:width,height,border-radius}.photo-frame img{transform:scale(1.1);will-change:transform}.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,10,8,.72),rgba(9,10,8,.12) 60%),linear-gradient(0deg,rgba(9,10,8,.65),transparent 45%)}.photo-caption{position:absolute;left:5vw;bottom:7vh}.photo-caption span,.work-copy span{font:500 10px/1 IBM Plex Mono,monospace;letter-spacing:.15em;color:var(--yellow)}.photo-caption h2{font-size:clamp(52px,6vw,108px);margin-top:12px}.services-story{height:520vh;background:var(--paper);color:#191a17}.services-sticky{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:42% 58%;overflow:hidden}.services-copy{padding:14vh 6vw 8vh 5vw;position:relative}.service-stage{position:absolute;left:5vw;top:30vh;width:34vw;opacity:0;transform:translateY(36px);transition:opacity .35s,transform .35s}.service-stage.active{opacity:1;transform:none}.service-stage strong{font:600 12px/1 IBM Plex Mono,monospace;color:#8b7424}.service-stage h2{font:700 clamp(55px,6vw,112px)/.86 Archivo Narrow,sans-serif;letter-spacing:-.045em;margin:15px 0 22px}.service-stage p{max-width:520px;font-size:15px;line-height:1.75;color:#50514c}.service-progress{position:absolute;left:5vw;right:6vw;bottom:8vh;height:2px;background:#b8b3aa}.service-progress i{display:block;height:2px;background:#191a17;width:0}.services-media{position:relative;overflow:hidden;background:#1c1d1a}.service-image{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity .55s,transform 1.4s}.service-image.active{opacity:1;transform:scale(1.01)}.services-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,23,20,.2),transparent 35%),linear-gradient(0deg,rgba(22,23,20,.42),transparent 36%)}.media-counter{position:absolute;z-index:3;right:4vw;bottom:5vh;font:500 10px/1 IBM Plex Mono,monospace;letter-spacing:.15em;color:#fff}.media-counter b{font-size:19px;color:var(--yellow)}.detail-3d{height:320vh;position:relative}.detail-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#11120f}.detail-canvas,.detail-fallback,.detail-shade{position:absolute;inset:0}.detail-canvas{z-index:2}.detail-fallback{z-index:1;opacity:.12}.detail-shade{z-index:3;background:linear-gradient(90deg,rgba(10,11,9,.94),rgba(10,11,9,.48) 42%,rgba(10,11,9,.03) 70%),linear-gradient(0deg,rgba(10,11,9,.55),transparent 40%)}.detail-copy{position:absolute;z-index:5;left:5vw;top:50%;width:37vw;transform:translateY(-50%)}.detail-copy h2{font-size:clamp(54px,6vw,104px)}.detail-copy>p:not(.kicker){max-width:520px;font-size:14px;line-height:1.75;color:#c9c8c1}.detail-notes{position:absolute;z-index:5;right:4vw;bottom:5vh;display:flex;gap:25px;font:500 9px/1 IBM Plex Mono,monospace;letter-spacing:.11em;color:#a7a69f}.works{background:#11120f}.works-head{min-height:85vh;padding:14vh 5vw 10vh;background:var(--paper);color:#191a17}.works-head h2{font-size:clamp(62px,7vw,125px)}.work-scene{height:100vh;position:relative;overflow:hidden}.work-scene>img{position:absolute;inset:0;transform:scale(1.04)}.work-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,13,11,.82),rgba(12,13,11,.08) 65%),linear-gradient(0deg,rgba(12,13,11,.62),transparent 45%)}.work-copy{position:absolute;left:5vw;bottom:9vh;z-index:2}.work-copy h3{font:700 clamp(56px,6.3vw,118px)/.84 Archivo Narrow,sans-serif;letter-spacing:-.045em;margin:15px 0 18px}.work-copy p{max-width:460px;margin:0;color:#d0cfc9;font-size:14px;line-height:1.6}.kinetic{height:330vh;background:#d7d2c8;color:#181916}.kinetic-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.kinetic-small{margin:0 5vw 5vh;font:500 10px/1 IBM Plex Mono,monospace;letter-spacing:.16em;color:#6f6c64}.kinetic-track{display:flex;align-items:center;width:max-content;white-space:nowrap;will-change:transform;gap:clamp(2px,.45vw,8px);height:clamp(108px,13.2vw,222px)}.kinetic-row{display:block;font:700 clamp(68px,11vw,205px)/.78 Archivo Narrow,sans-serif;letter-spacing:-.055em;text-transform:uppercase}.kinetic-machine{display:block;width:clamp(210px,22vw,410px);height:auto;flex:none;filter:drop-shadow(0 14px 12px rgba(38,35,27,.18));transform-origin:center}.kinetic-machine.flip{transform:scaleX(-1)}.kt1{transform:translateX(0)}.kt2{transform:translateX(2vw);color:#8c7424}.kt3{transform:translateX(-2vw)}.kt1 .kinetic-machine,.kt2 .kinetic-machine,.kt3 .kinetic-machine{margin-right:-2.2vw}.kinetic-rule{height:1px;background:#8f8b83;margin:6vh 5vw 4vh}.kinetic-body{margin:0 5vw 0 auto;width:min(620px,44vw);font-size:15px;line-height:1.8;color:#4f504b}.contact{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden}.contact>img{position:absolute;inset:0}.contact-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,13,11,.94),rgba(12,13,11,.72) 50%,rgba(12,13,11,.4)),linear-gradient(0deg,rgba(12,13,11,.6),transparent 45%)}.contact-content{position:relative;z-index:2;padding:14vh 5vw;width:min(860px,70vw)}.contact h2{font-size:clamp(72px,8vw,142px)}.contact-content>p:not(.kicker){max-width:560px;font-size:15px;line-height:1.75;color:#d0cfc9}.contact-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}.contact-link{font:500 11px/1 IBM Plex Mono,monospace;letter-spacing:.08em;border-bottom:1px solid rgba(244,241,234,.3);padding-bottom:5px}footer{min-height:150px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#0d0e0c;border-top:1px solid #292a26;font:500 10px/1 IBM Plex Mono,monospace;letter-spacing:.1em;color:#a4a49d}footer .brand{color:#fff}@media(max-width:980px){:root{--header:68px}.topbar{grid-template-columns:1fr auto;padding:0 20px}.nav,.top-cta{display:none}.menu-btn{display:block;width:42px;height:42px;background:none;border:0;position:relative}.menu-btn span{position:absolute;left:8px;right:8px;height:1px;background:#fff;top:17px}.menu-btn span+span{top:25px}.mobile-nav{display:flex;position:fixed;top:68px;left:0;right:0;background:#151613;border-top:1px solid #292a26;flex-direction:column;padding:22px;gap:0;transform:translateY(-120%);opacity:0;pointer-events:none;transition:.25s}.mobile-nav.open{transform:none;opacity:1;pointer-events:auto}.mobile-nav a{padding:15px 0;border-bottom:1px solid #292a26;font:500 11px IBM Plex Mono,monospace;text-transform:uppercase}.hero-sequence{height:400vh}.hero-vignette{background:linear-gradient(0deg,rgba(14,15,13,.9),rgba(14,15,13,.25) 70%),linear-gradient(90deg,rgba(14,15,13,.85),rgba(14,15,13,.08))}.hero-copy{left:20px;right:20px;top:auto;bottom:15vh;width:auto;transform:none}.hero-copy h1{font-size:clamp(58px,18vw,94px)}.hero-copy>p:not(.kicker){font-size:13px;max-width:90%}.hero-actions{gap:16px;flex-wrap:wrap}.hero-mechanics{right:20px;left:20px;bottom:4vh;width:auto}.scroll-cue{display:none}.hero-index{right:20px;top:12vh}.photo-frame{width:86vw;height:70vh}.photo-caption{left:20px;bottom:5vh}.services-story{height:auto}.services-sticky{position:relative;height:auto;display:block}.services-copy{padding:90px 20px 20px}.services-copy>.kicker{margin-bottom:35px}.service-stage{position:relative;left:auto;top:auto;width:auto;opacity:1;transform:none;padding:28px 0;border-top:1px solid #aaa59c}.service-stage h2{font-size:56px;margin:9px 0 12px}.service-progress{display:none}.services-media{height:72vh;margin-top:20px}.service-image{opacity:0}.service-image:first-child{opacity:1}.media-counter{display:none}.detail-3d{height:240vh}.detail-copy{left:20px;right:20px;top:auto;bottom:10vh;width:auto;transform:none}.detail-copy h2{font-size:clamp(48px,14vw,76px)}.detail-copy>p:not(.kicker){max-width:90%}.detail-notes{display:none}.works-head{padding:110px 20px 80px}.works-head h2{font-size:58px}.work-scene{height:82vh}.work-copy{left:20px;right:20px;bottom:5vh}.work-copy h3{font-size:54px}.kinetic{height:250vh}.kinetic-row{font-size:19vw}.kinetic-track{height:24vw}.kinetic-machine{width:32vw}.kinetic-body{width:auto;margin:0 20px;font-size:13px}.contact-content{padding:120px 20px;width:auto}.contact h2{font-size:18vw}footer{padding:35px 20px;flex-direction:column;align-items:flex-start;gap:18px}}@media(max-width:560px){.brand-text{font-size:9px}.hero-copy h1{font-size:17vw}.button{min-height:45px;padding:0 16px}.photo-expansion{height:190vh}.photo-frame{height:64vh}.photo-caption h2{font-size:13vw}.detail-3d{height:210vh}.work-scene{height:76vh}.work-copy h3{font-size:13vw}.kinetic{height:220vh}.contact h2{font-size:18vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-sequence,.photo-expansion,.detail-3d,.kinetic{height:auto}.hero-sticky,.photo-sticky,.detail-sticky,.kinetic-sticky{position:relative;height:100vh}.hero-canvas,.detail-canvas{display:none}.hero-fallback,.detail-fallback{opacity:.55}.service-stage,.service-image{transition:none}}
.hero-sequence.no-webgl .hero-fallback{opacity:.52}.detail-3d.no-webgl .detail-fallback{opacity:.5}.hero-sequence.no-webgl .hero-canvas,.detail-3d.no-webgl .detail-canvas{display:none}

/* ============================================================
   V3 — TRANSIÇÃO ENTRE SEÇÕES (mecanismo stack da Cimed)
   NÃO é FluidReveal/hover. A próxima página sobe sobre a anterior;
   a anterior recua e escurece durante a cobertura.
   ============================================================ */
.fluid-reveal-layer,.fluid-reveal-defs{display:none!important}
.section-stack{position:relative;background:#10110f}
.stack-panel{position:sticky;top:0;height:100vh;min-height:680px;overflow:hidden;transform-origin:50% 42%;will-change:transform,filter;box-shadow:0 -34px 80px -34px rgba(0,0,0,.72)}
.services-story{height:auto!important;background:#10110f!important;color:var(--white)!important}
.service-panel{display:grid;grid-template-columns:42% 58%;background:var(--paper);color:#191a17}
.service-panel:nth-of-type(even){background:#171815;color:var(--white)}
.service-panel-copy{position:relative;z-index:2;padding:15vh 5vw 9vh;display:flex;flex-direction:column;justify-content:center}
.service-panel-copy .kicker{color:var(--yellow);margin-bottom:32px}
.service-panel-copy h2{font:700 clamp(64px,7vw,128px)/.82 Archivo Narrow,sans-serif;letter-spacing:-.05em;margin:0 0 28px;text-transform:uppercase}
.service-panel-copy>p:not(.kicker){max-width:520px;font-size:15px;line-height:1.75;color:#50514c}
.service-panel:nth-of-type(even) .service-panel-copy>p:not(.kicker){color:#c9c8c1}
.service-panel-media{position:relative;overflow:hidden;background:#1a1b18}
.service-panel-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,16,14,.28),transparent 32%),linear-gradient(0deg,rgba(15,16,14,.28),transparent 38%);pointer-events:none}
.service-panel-media img{position:absolute;inset:0;transform:scale(1.035)}
.stack-hint{margin-top:auto;padding-top:42px;font:500 9px/1 IBM Plex Mono,monospace;letter-spacing:.14em;color:#7a7468}
.works-intro{max-width:560px;margin:34px 0 0;font-size:15px;line-height:1.7;color:#5e5b55}
.works .work-scene{position:sticky;top:0;height:100vh;min-height:680px;transform-origin:50% 42%;will-change:transform,filter;box-shadow:0 -34px 80px -34px rgba(0,0,0,.72)}
.work-scene>img{transform:scale(1.035)}

@media(max-width:980px){
  .stack-panel,.works .work-scene{position:relative;top:auto;height:auto;min-height:0;box-shadow:none;transform:none!important;filter:none!important}
  .service-panel{display:block;min-height:0}
  .service-panel-copy{padding:90px 20px 42px;min-height:54vh}
  .service-panel-copy h2{font-size:16vw}
  .service-panel-media{height:64vh}
  .works .work-scene{height:78vh}
  .works-intro{font-size:13px}
}

/* V7 — robustez exclusiva da escavadeira 3D */
.hero-sequence.is-3d-loading .hero-fallback{opacity:.34}
.hero-sequence.is-3d-ready .hero-fallback{opacity:.025}
.detail-3d.is-3d-loading .detail-fallback{opacity:.28}
.detail-3d.is-3d-ready .detail-fallback{opacity:.02}
.hero-sequence.no-webgl .hero-fallback{opacity:.58}
.detail-3d.no-webgl .detail-fallback{opacity:.55}
