:root {
  --company-bg:#080a0c;
  --company-surface:#11171c;
  --company-surface-2:#171e24;
  --company-paper:#f1eee7;
  --company-ink:#171a1d;
  --company-line:rgba(238,236,229,.16);
  --company-line-dark:rgba(23,26,29,.2);
  --type-title:var(--display-face);
  --type-label:var(--mono);
}

html:has(.company-page) { scroll-behavior:smooth; background:var(--company-bg); }
.company-page { overflow-x:hidden; background:var(--company-bg); color:var(--paper); }
.company-page main { position:relative; overflow:clip; background:var(--company-bg); }
.company-page main > section { opacity:1; }
html.has-motion .company-page main > section:not(.hero) { opacity:1; }
.company-page h1,.company-page h2,.company-page h3,.company-page p { text-wrap:balance; }
.company-page h1,.company-page h2,.company-page h3 { font-family:var(--type-title)!important; font-weight:800!important; font-variation-settings:"wght" 800; font-synthesis:weight; letter-spacing:-.06em; }
.company-page em { color:var(--orange); font-style:normal; }
.company-page [id] { scroll-margin-top:calc(var(--header) + 22px); }

/* Header: mantém a navegação global, com uma leitura mais leve sobre o conteúdo. */
.company-page .site-header { z-index:80; border-bottom:1px solid rgba(255,255,255,.12); background:rgba(6,8,10,.74); box-shadow:0 14px 40px rgba(0,0,0,.16); }
.company-page .site-header .brand img { display:block; width:132px; height:auto; }
.company-page .desktop-nav .nav-dropdown .is-current { color:#f0eee8; }
.company-page .desktop-nav .nav-dropdown a:hover { color:var(--orange-soft); opacity:1; }
.company-page .mobile-nav .is-current { color:var(--orange); }
.company-page .header-cta { border-bottom-color:var(--orange); }
.company-page .header-cta:hover { color:var(--orange-soft); }

.company-scroll-progress { position:fixed; z-index:100; top:0; right:0; left:0; height:3px; background:rgba(255,255,255,.1); pointer-events:none; }
.company-scroll-progress span { display:block; width:100%; height:100%; background:var(--orange); box-shadow:0 0 16px rgba(255,106,0,.45); transform:scaleX(var(--company-progress,0)); transform-origin:left center; }

.company-kicker { margin:0; color:var(--orange); font-family:var(--type-label); font-size:10px; font-weight:700; letter-spacing:.17em; line-height:1.3; }
.company-kicker--dark { color:#aa480c; }
.company-button { position:relative; display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:13px; overflow:hidden; border:1px solid var(--orange); border-radius:2px; background:var(--orange); padding:0 19px; color:#111416; font-family:var(--type-label); font-size:10px; font-weight:700; letter-spacing:.09em; line-height:1; transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease; }
.company-button::before { position:absolute; top:0; bottom:0; left:0; width:36%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent); content:""; pointer-events:none; transform:translateX(-160%) skewX(-18deg); }
.company-button > * { position:relative; z-index:1; }
.has-motion .company-button::before { animation:company-button-sheen 5.4s 2s ease-in-out infinite; }
.company-button span { font-size:17px; line-height:0; }
.company-button:hover { border-color:#ff9140; background:#ff9140; box-shadow:0 10px 24px rgba(255,106,0,.18); transform:translateY(-3px); }
.company-text-link { display:inline-flex; align-items:center; padding:13px 0; color:#ebe8e1; font-family:var(--type-label); font-size:10px; font-weight:700; letter-spacing:.1em; transition:color .2s ease; }
.company-text-link span { margin-left:7px; color:var(--orange); font-size:16px; }
.company-text-link:hover { color:var(--orange-soft); }

/* Hero: composição editorial com mensagem à esquerda e um campo visual de apoio. */
.company-hero { --company-hero-shift:0px; position:relative; display:grid; min-height:min(840px,100svh); padding:calc(var(--header) + clamp(32px,4vw,58px)) max(24px,7vw) clamp(45px,5vw,72px); grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr); align-items:center; column-gap:clamp(34px,6vw,96px); overflow:hidden; text-align:left; isolation:isolate; }
.company-hero::before { position:absolute; z-index:-1; top:10%; right:max(24px,7vw); bottom:10%; left:max(24px,7vw); border:1px solid rgba(238,236,229,.07); content:""; pointer-events:none; }
.company-hero::after { position:absolute; z-index:-1; right:0; bottom:0; left:0; height:38%; background:linear-gradient(180deg,transparent,rgba(0,0,0,.28)); content:""; pointer-events:none; }
.company-hero__grid { position:absolute; z-index:-3; inset:0; background-image:linear-gradient(rgba(238,236,229,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(238,236,229,.045) 1px,transparent 1px); background-size:64px 64px; mask-image:linear-gradient(135deg,transparent 0,#000 35%,#000 65%,transparent 100%); opacity:.42; pointer-events:none; }
.company-hero__grid,.company-hero__glow { will-change:transform; }
.company-hero__grid { transform:translateY(var(--company-hero-shift)); }
.company-hero__glow { position:absolute; z-index:-2; border-radius:50%; filter:blur(2px); pointer-events:none; transform:translateY(var(--company-hero-shift)); }
.company-hero__glow--one { top:16%; left:-15%; width:48vw; height:48vw; max-width:680px; max-height:680px; background:radial-gradient(circle,rgba(255,106,0,.17),transparent 65%); }
.company-hero__glow--two { right:-18%; bottom:-35%; width:46vw; height:46vw; max-width:600px; max-height:600px; background:radial-gradient(circle,rgba(93,226,209,.06),transparent 66%); }
.company-hero__content { width:min(760px,100%); max-width:760px; justify-self:start; }
.company-eyebrow { display:flex; margin:0; align-items:center; justify-content:flex-start; gap:11px; color:var(--orange); font-family:var(--type-label); font-size:10px; font-weight:700; letter-spacing:.16em; }
.company-eyebrow i { width:27px; height:1px; background:rgba(255,106,0,.7); }
.has-motion .company-eyebrow i { transform-origin:center; animation:company-cinematic-line .8s .55s cubic-bezier(.16,1,.3,1) both; }
.company-hero h1 { max-width:760px; margin:24px 0 28px; color:#f5f2ea; font-size:clamp(58px,6.6vw,100px); letter-spacing:-.078em; line-height:.88; text-shadow:0 0 34px rgba(255,255,255,.055),0 20px 70px rgba(0,0,0,.32); }
.company-hero h1 em { text-shadow:0 0 34px rgba(255,106,0,.24); }
.company-lead { max-width:600px; margin:0; color:#c2c7c8; font-size:clamp(17px,1.35vw,21px); line-height:1.52; }
.company-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:25px; margin-top:38px; }
.company-hero__meta { display:flex; flex-wrap:wrap; justify-content:flex-start; margin-top:54px; gap:10px 25px; color:#838b8d; font-family:var(--type-label); font-size:9px; letter-spacing:.12em; }
.company-hero__meta span { display:inline-flex; align-items:center; gap:9px; }
.company-hero__meta span::before { width:5px; height:5px; border-radius:50%; background:var(--orange); content:""; }

/* Campo visual: sinal técnico abstrato, sem competir com a promessa principal. */
.company-hero__visual { position:relative; width:min(100%,460px); min-height:420px; justify-self:end; }
.hero-visual__frame { position:relative; display:flex; min-height:420px; align-items:center; justify-content:center; overflow:hidden; background:transparent; isolation:isolate; }
.hero-visual__frame::before { position:absolute; z-index:0; inset:4% 0; background-image:linear-gradient(rgba(238,236,229,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(238,236,229,.06) 1px,transparent 1px); background-size:46px 46px; mask-image:linear-gradient(135deg,transparent 8%,#000 40%,#000 67%,transparent 100%); content:""; opacity:.46; }
.hero-visual__frame::after { position:absolute; z-index:0; inset:16% 12%; background:radial-gradient(circle at 50% 46%,rgba(255,106,0,.13),transparent 42%),linear-gradient(115deg,transparent 48%,rgba(93,226,209,.07) 50%,transparent 52%); content:""; opacity:.8; }
.hero-visual__frame > * { z-index:1; }
.hero-visual__index { position:absolute; top:24px; left:27px; color:rgba(245,242,234,.14); font-family:var(--type-title); font-size:clamp(112px,13vw,188px); font-weight:800; letter-spacing:-.12em; line-height:.72; }
.hero-visual__label,.hero-visual__status { position:absolute; color:#8d989a; font-family:var(--type-label); font-size:8px; letter-spacing:.13em; }
.hero-visual__label--top { top:26px; right:26px; color:var(--orange); }
.hero-visual__status { right:26px; bottom:26px; display:flex; align-items:center; gap:7px; }
.hero-visual__status i { width:5px; height:5px; border-radius:50%; background:#5de2d1; box-shadow:0 0 14px rgba(93,226,209,.75); }
.hero-visual__scan { position:absolute; top:18%; right:11%; left:11%; height:1px; background:linear-gradient(90deg,transparent,rgba(255,106,0,.9),transparent); box-shadow:0 0 15px rgba(255,106,0,.45); opacity:.8; }
.has-motion .hero-visual__scan { animation:company-hero-scan 4.8s 1.2s ease-in-out infinite; }
.hero-visual__cross { position:absolute; width:34px; height:34px; border:1px solid rgba(238,236,229,.3); }
.hero-visual__cross::before,.hero-visual__cross::after { position:absolute; background:rgba(255,106,0,.7); content:""; }
.hero-visual__cross::before { top:50%; right:-9px; left:-9px; height:1px; transform:translateY(-50%); }
.hero-visual__cross::after { top:-9px; bottom:-9px; left:50%; width:1px; transform:translateX(-50%); }
.hero-visual__cross--one { top:28%; left:22%; }
.hero-visual__cross--two { right:19%; bottom:28%; border-color:rgba(93,226,209,.36); }
.hero-visual__core { display:grid; width:154px; height:154px; place-items:center; align-content:center; border:1px solid rgba(255,106,0,.72); outline:1px solid rgba(255,106,0,.18); outline-offset:9px; background:rgba(8,11,13,.76); box-shadow:0 0 48px rgba(255,106,0,.12); text-align:center; }
.hero-visual__core > span { color:#f4f1e9; font-family:var(--type-title); font-size:33px; font-weight:800; letter-spacing:-.08em; line-height:.88; }
.hero-visual__core small { margin-top:12px; color:#9aa4a5; font-family:var(--type-label); font-size:7px; letter-spacing:.12em; line-height:1.35; }
.hero-visual__label--side { right:17px; bottom:50%; color:#717b7d; letter-spacing:.1em; writing-mode:vertical-rl; transform:translateY(50%) rotate(180deg); }
.hero-visual__label--bottom { bottom:26px; left:26px; }
.hero-visual__label--bottom b { margin-left:6px; color:var(--orange); font-size:13px; font-weight:400; }

.company-scroll-cue { position:absolute; bottom:27px; left:max(24px,7vw); display:flex; align-items:center; gap:11px; color:#939c9e; font-family:var(--type-label); font-size:8px; letter-spacing:.14em; transition:color .2s ease; }
.company-scroll-cue span { display:block; width:36px; height:1px; background:var(--orange); animation:company-cue-line 1.8s ease-in-out infinite; }
.company-scroll-cue:hover { color:#f1eee8; }

/* Visão: reduz a mensagem à promessa e às três áreas que a sustentam. */
.company-intro { position:relative; display:grid; min-height:510px; padding:clamp(86px,11vw,150px) max(24px,7vw); grid-template-columns:72px minmax(0,1fr) minmax(250px,.47fr); align-items:center; gap:clamp(25px,5vw,76px); overflow:hidden; background:var(--company-paper); color:var(--company-ink); }
.company-section-rail { display:flex; height:178px; flex-direction:column; align-items:center; justify-content:space-between; color:#606669; font-family:var(--type-label); font-size:9px; letter-spacing:.14em; writing-mode:vertical-rl; transform:rotate(180deg); }
.company-section-rail i { width:1px; flex:1; margin:20px 0; background:#171a1d; opacity:.3; }
.company-intro__copy { position:relative; z-index:1; }
.company-intro__copy h2 { max-width:840px; margin:24px 0 0; font-size:clamp(47px,6.3vw,88px); letter-spacing:-.08em; line-height:.9; }
.company-intro__aside { position:relative; z-index:1; align-self:end; max-width:390px; }
.company-intro__aside > p { margin:0; color:#50575a; font-size:15px; line-height:1.57; }
.company-pill-list { display:flex; flex-wrap:wrap; margin:27px 0 0; padding:0; gap:7px; list-style:none; }
.company-pill-list li { border:1px solid rgba(23,26,29,.25); border-radius:999px; padding:7px 10px; color:#555c5e; font-family:var(--type-label); font-size:8px; letter-spacing:.04em; }

/* Ecossistema: cartões comparáveis, com hierarquia e CTA próprios. */
.company-shell { width:min(1300px,100%); margin:0 auto; }
.company-ecosystem { padding:clamp(88px,10vw,140px) max(24px,6vw); background:#0c1013; }
.company-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.46fr); align-items:end; gap:48px; margin-bottom:54px; }
.company-section-heading h2 { max-width:820px; margin:22px 0 0; color:#f2efe8; font-size:clamp(44px,5.6vw,76px); letter-spacing:-.08em; line-height:.91; }
.company-section-heading > p { max-width:370px; margin:0 0 3px; color:#aab1b3; font-size:15px; line-height:1.54; }
.company-ecosystem__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.ecosystem-card { position:relative; display:flex; min-height:347px; grid-column:span 1; padding:22px 20px 20px; flex-direction:column; overflow:hidden; border:1px solid rgba(238,236,229,.16); border-radius:8px; background:linear-gradient(145deg,#171e24,#101519); transition:border-color .3s ease,background .3s ease,transform .3s ease,box-shadow .3s ease; }
.ecosystem-card::after { position:absolute; right:-45px; bottom:-64px; width:140px; height:140px; border:1px solid rgba(255,106,0,.28); border-radius:50%; content:""; transition:transform .4s ease; }
.ecosystem-card--featured { grid-column:span 1; background:linear-gradient(145deg,#21180f,#161b1f 72%); }
.ecosystem-card:hover,.ecosystem-card:focus-within { border-color:rgba(255,106,0,.75); box-shadow:0 18px 38px rgba(0,0,0,.24); transform:translateY(-5px); }
.ecosystem-card:hover::after,.ecosystem-card:focus-within::after { transform:scale(1.34); }
.ecosystem-card__top { display:flex; align-items:center; justify-content:space-between; color:#8e999b; font-family:var(--type-label); font-size:8px; letter-spacing:.12em; }
.ecosystem-card__logo { display:flex; height:76px; margin-top:19px; align-items:center; justify-content:center; overflow:hidden; border:1px solid rgba(238,236,229,.12); border-radius:5px; background:#f7f6f1; padding:10px 13px; }
.ecosystem-card__logo img { display:block; width:100%; height:100%; object-fit:contain; }
.ecosystem-card__top span:first-child { color:var(--orange); }
.ecosystem-card h3 { margin:21px 0 10px; color:#f3f0e8; font-size:clamp(27px,2.5vw,40px); letter-spacing:-.07em; line-height:.9; }
.ecosystem-card p { max-width:220px; margin:0; color:#a9b1b2; font-size:12px; line-height:1.48; }
.ecosystem-card a { display:inline-flex; width:max-content; margin-top:auto; align-items:center; gap:8px; border-bottom:1px solid rgba(255,106,0,.7); padding-bottom:7px; color:#f0ede5; font-family:var(--type-label); font-size:9px; font-weight:700; letter-spacing:.09em; }
.ecosystem-card a b { color:var(--orange); font-size:15px; font-weight:400; }
.ecosystem-card a:hover { color:var(--orange-soft); }
.company-ecosystem__footer { display:flex; margin-top:17px; align-items:center; justify-content:space-between; gap:28px; border-top:1px solid rgba(238,236,229,.16); padding-top:17px; color:#818a8c; font-family:var(--type-label); font-size:8px; letter-spacing:.12em; }
.company-ecosystem__footer p { max-width:540px; margin:0; color:#9ba4a6; font-family:var(--sans); font-size:13px; letter-spacing:0; line-height:1.45; }

/* Método: tabs de leitura rápida + uma área de detalhe. */
.company-method { --method-exit-shift:0px; --method-stage-opacity:1; position:relative; padding:clamp(88px,10vw,140px) max(24px,6vw); background:radial-gradient(circle at 12% 22%,rgba(255,106,0,.07),transparent 34%),#151b20; }
.company-section-heading--method { margin-bottom:56px; }
.company-method__layout { display:grid; grid-template-columns:minmax(250px,.74fr) minmax(0,1.2fr); gap:clamp(30px,6vw,82px); }
.company-method__steps { border-top:1px solid var(--company-line); }
.company-method__step { display:grid; width:100%; min-height:123px; grid-template-columns:42px 1fr 24px; grid-template-rows:1fr 1fr; grid-template-areas:"number title arrow" "number caption arrow"; align-items:center; column-gap:14px; border:0; border-bottom:1px solid var(--company-line); background:transparent; padding:14px 0; color:#778184; text-align:left; transition:color .25s ease,background .25s ease,padding .25s ease; }
.company-method__step > span { grid-area:number; align-self:start; color:var(--orange); font-family:var(--type-label); font-size:10px; letter-spacing:.1em; }
.company-method__step > strong { grid-area:title; align-self:end; color:inherit; font-size:clamp(27px,3vw,42px); letter-spacing:-.07em; line-height:.9; }
.company-method__step > small { grid-area:caption; align-self:start; color:#798386; font-family:var(--type-label); font-size:8px; letter-spacing:.06em; line-height:1.2; }
.company-method__step > small b { margin-left:6px; color:var(--orange); font-size:14px; font-weight:400; }
.company-method__step:hover,.company-method__step.is-active { padding-left:13px; background:rgba(255,106,0,.09); color:#f3f0e8; }
.company-method__panels { position:relative; min-height:410px; }
.method-panel { display:grid; min-height:410px; grid-template-columns:92px 1fr; gap:24px; align-items:end; border:1px solid rgba(238,236,229,.18); border-radius:8px; background:linear-gradient(145deg,#202930,#11171b); padding:30px; }
.method-panel[hidden] { display:none; }
.method-panel.is-active { animation:company-panel-in .68s cubic-bezier(.16,1,.3,1) both; }
.method-panel.is-leaving { position:absolute; z-index:2; inset:0; width:100%; animation:company-panel-out .42s cubic-bezier(.65,0,.35,1) both; }
.method-panel__index { align-self:start; color:rgba(255,106,0,.74); font-family:var(--type-label); font-size:60px; font-weight:700; letter-spacing:-.11em; line-height:.8; }
.method-panel div { padding-bottom:1px; }
.method-panel p { margin:0 0 20px; color:var(--orange-soft); font-family:var(--type-label); font-size:9px; letter-spacing:.13em; }
.method-panel h3 { max-width:510px; margin:0 0 17px; color:#f4f1e9; font-size:clamp(29px,3.2vw,49px); letter-spacing:-.08em; line-height:.91; }
.method-panel div > span { display:block; max-width:430px; color:#aeb6b8; font-size:15px; line-height:1.5; }

/* CTA: encerramento orientado a ação, com uma rota clara e sem círculo. */
.company-cta { position:relative; display:block; min-height:520px; padding:clamp(88px,10vw,140px) max(24px,6vw); overflow:hidden; isolation:isolate; background:radial-gradient(circle at 16% 28%,rgba(255,106,0,.13),transparent 30%),radial-gradient(circle at 84% 78%,rgba(93,226,209,.06),transparent 34%),#0c1013; border-top:1px solid rgba(238,236,229,.13); }
.company-cta::before { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.035) 50%,transparent),linear-gradient(180deg,rgba(255,106,0,.08),transparent 36%); content:""; pointer-events:none; }
.company-cta::after { position:absolute; z-index:-1; top:clamp(36px,6vw,74px); left:50%; width:min(1180px,88%); height:1px; background:linear-gradient(90deg,transparent,rgba(255,106,0,.7) 18%,rgba(255,106,0,.18) 82%,transparent); content:""; opacity:.75; transform:translateX(-50%); }
.company-cta__inner { position:relative; z-index:1; display:grid; width:min(1300px,100%); max-width:1300px; margin:0 auto; grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr); gap:clamp(46px,8vw,126px); align-items:center; }
.company-cta__copy { min-width:0; }
.company-cta__copy h2 { max-width:780px; margin:23px 0 20px; color:#f2efe8; font-size:clamp(49px,6.2vw,86px); letter-spacing:-.08em; line-height:.9; }
.company-cta__copy > p:not(.company-kicker) { max-width:520px; margin:0; color:#b1b9ba; font-size:17px; line-height:1.5; }
.company-cta__copy .company-button { margin-top:34px; }
.company-cta__route { position:relative; min-height:354px; padding:24px 0 22px 31px; border-left:1px solid rgba(238,236,229,.28); }
.company-cta__route::before { position:absolute; top:0; bottom:0; left:-1px; width:1px; background:linear-gradient(180deg,transparent,rgba(255,106,0,.78) 22%,rgba(255,106,0,.16) 82%,transparent); content:""; }
.company-cta__route-head,.company-cta__route-foot { display:flex; align-items:center; justify-content:space-between; gap:18px; color:#8d989a; font-family:var(--type-label); font-size:8px; letter-spacing:.13em; }
.company-cta__route-head span:first-child { color:var(--orange); }
.company-cta__route-head span:last-child { text-align:right; }
.company-cta__steps { position:relative; display:grid; margin:31px 0 28px; padding:0; list-style:none; }
.company-cta__steps::before { position:absolute; top:22px; bottom:22px; left:15px; width:1px; background:linear-gradient(180deg,rgba(255,106,0,.7),rgba(255,106,0,.12)); content:""; }
.company-cta__steps li { position:relative; display:grid; min-height:76px; grid-template-columns:31px 1fr; gap:15px; align-items:start; border-top:1px solid rgba(238,236,229,.14); padding:17px 0 14px; }
.company-cta__steps li:last-child { border-bottom:1px solid rgba(238,236,229,.14); }
.company-cta__steps li > span { position:relative; z-index:1; display:grid; width:31px; height:31px; place-items:center; border:1px solid rgba(255,106,0,.72); border-radius:50%; background:#0c1013; color:var(--orange); font-family:var(--type-label); font-size:8px; letter-spacing:.08em; }
.company-cta__steps strong { display:block; color:#f0ede6; font-size:16px; letter-spacing:-.025em; line-height:1.1; }
.company-cta__steps small { display:block; margin-top:7px; color:#899496; font-family:var(--type-label); font-size:8px; letter-spacing:.03em; line-height:1.35; }
.company-cta__route-foot { justify-content:flex-start; color:#899496; }
.company-cta__route-foot b { margin-left:5px; color:var(--orange); font-size:13px; font-weight:400; }

/* Rodapé: menos links, maior contraste e melhor leitura. */
.company-footer { padding:clamp(68px,8vw,110px) max(24px,6vw) 24px; border-top:1px solid rgba(255,255,255,.16); background:linear-gradient(135deg,rgba(255,106,0,.08),transparent 30%),#07090b; }
.company-footer__grid { display:grid; width:min(1300px,100%); margin:0 auto; grid-template-columns:minmax(280px,1.4fr) repeat(2,minmax(150px,.52fr)); gap:clamp(40px,8vw,120px); }
.company-footer__intro { max-width:420px; }
.company-footer__intro .brand { display:inline-grid; margin-bottom:24px; }
.company-footer__intro .brand img { display:block; width:150px; height:auto; }
.company-footer__intro > p { margin:0; color:#b5bcbd; font-size:15px; line-height:1.52; }
.company-footer__cta { display:inline-flex; margin-top:25px; align-items:center; gap:8px; border:1px solid rgba(255,255,255,.46); padding:13px 15px; color:#f4f1e9; font-family:var(--type-label); font-size:9px; font-weight:700; letter-spacing:.08em; transition:background .23s ease,border-color .23s ease,color .23s ease,transform .23s ease; }
.company-footer__cta b { color:var(--orange); font-size:15px; font-weight:400; }
.company-footer__cta:hover { border-color:var(--orange); background:var(--orange); color:#111416; transform:translateY(-2px); }
.company-footer__cta:hover b { color:#fff; }
.company-footer__column { display:flex; padding-top:6px; flex-direction:column; align-items:flex-start; gap:13px; }
.company-footer__column p { margin:0 0 8px; color:var(--orange); font-family:var(--type-label); font-size:9px; font-weight:700; letter-spacing:.14em; }
.company-footer__column a { color:#e1e2de; font-size:14px; transition:color .2s ease,transform .2s ease; }
.company-footer__column a:hover { color:var(--orange-soft); transform:translateX(4px); }
.company-footer__bottom { display:grid; width:min(1300px,100%); margin:clamp(52px,7vw,88px) auto 0; grid-template-columns:1fr 1fr auto; gap:20px; align-items:center; border-top:1px solid rgba(255,255,255,.14); padding-top:20px; color:#80898b; font-family:var(--type-label); font-size:8px; letter-spacing:.08em; }
.company-footer__bottom span:nth-child(2) { text-align:center; }
.company-footer__bottom a { justify-self:end; color:#edf0eb; transition:color .2s ease; }
.company-footer__bottom a:hover { color:var(--orange-soft); }

/* Entrada e saída por scroll: se o JS estiver desligado, o conteúdo continua visível. */
html.has-motion .company-page main > section[data-scene] {
  opacity:0;
  transition:opacity .86s cubic-bezier(.16,1,.3,1);
  will-change:opacity;
}
html.has-motion .company-page main > section[data-scene].scene-visible { opacity:1; }
html.has-motion .company-page main > section[data-scene].scene-exiting {
  opacity:0;
  transition-duration:.48s;
}
html.has-motion .company-page [data-reveal] { opacity:0; transform:translate3d(0,30px,0); transition:opacity .72s ease,transform .82s cubic-bezier(.16,1,.3,1); transition-delay:var(--reveal-delay,0s); }
html.has-motion .company-page [data-reveal="scale"] { transform:translate3d(0,24px,0) scale(.96); }
html.has-motion .company-page [data-reveal="slide"] { transform:translate3d(-24px,0,0); }
html.has-motion .company-page [data-reveal].is-visible { opacity:1; transform:none; }
html.has-motion .company-page [data-reveal].is-exiting { opacity:0; transition-duration:.42s; }
html.has-motion .company-page [data-reveal].is-exiting[data-exit-direction="up"] { transform:translate3d(0,-25px,0) scale(.99); }
html.has-motion .company-page [data-reveal].is-exiting[data-exit-direction="down"] { transform:translate3d(0,25px,0) scale(.99); }
/* O stylesheet base aplica o deslocamento inicial com !important; estes
   estados finais precisam ter a mesma prioridade para concluir o movimento. */
html.has-motion .company-page [data-reveal].is-visible { transform:none!important; }
html.has-motion .company-page [data-reveal].is-exiting[data-exit-direction="up"] { transform:translate3d(0,-25px,0) scale(.99)!important; }
html.has-motion .company-page [data-reveal].is-exiting[data-exit-direction="down"] { transform:translate3d(0,25px,0) scale(.99)!important; }
/* A camada cinematográfica global usa transition com !important; repetimos
   o delay aqui para que os cards respeitem a sequência definida no HTML. */
html.has-motion .company-page .company-ecosystem__grid [data-reveal] { transition-delay:var(--reveal-delay,0s)!important; }

@keyframes company-cue-line { 50% { transform:scaleX(.34); transform-origin:left; } }
@keyframes company-button-sheen { 0%,62% { transform:translateX(-160%) skewX(-18deg); } 78%,100% { transform:translateX(390%) skewX(-18deg); } }
@keyframes company-cinematic-line { from { transform:scaleX(0); opacity:.2; } to { transform:scaleX(1); opacity:1; } }
@keyframes company-hero-scan { 0%,15% { top:18%; opacity:0; } 25% { opacity:.8; } 72% { opacity:.8; } 86%,100% { top:82%; opacity:0; } }
@keyframes company-panel-in { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@keyframes company-panel-out { from { opacity:1; transform:none; } to { opacity:0; transform:translateY(-10px); } }

@media (min-width:1021px) {
  /* O palco fica fixo enquanto o scroll conduz pelas três etapas. */
  .company-method { min-height:230vh; }
  .company-method > .company-shell { position:sticky; top:var(--header); display:flex; min-height:calc(100svh - var(--header)); padding:clamp(18px,3vw,42px) 0; flex-direction:column; justify-content:center; opacity:var(--method-stage-opacity,1); transform:translate3d(0,var(--method-exit-shift,0px),0); transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .45s ease; }
  .company-section-heading--method { margin-bottom:42px; }
  .company-method__step { min-height:99px; }
  .company-method__panels,.method-panel { min-height:360px; }
  html.has-motion .company-method > .company-shell { will-change:transform,opacity; }
}

@media (max-width:1020px) {
  .company-hero { min-height:auto; padding-top:calc(var(--header) + 72px); grid-template-columns:1fr; row-gap:42px; align-items:start; }
  .company-hero__content { width:min(840px,100%); max-width:840px; }
  .company-hero__visual { width:min(100%,520px); min-height:360px; justify-self:end; }
  .hero-visual__frame { min-height:360px; }
  .company-hero h1 { max-width:840px; font-size:clamp(58px,10.5vw,92px); }
  .company-scroll-cue { position:relative; bottom:auto; left:auto; align-self:start; margin-top:14px; transform:none; }
  .company-intro { grid-template-columns:58px minmax(0,1fr) minmax(210px,.5fr); gap:27px; }
  .company-section-heading { grid-template-columns:1fr; gap:21px; }
  .company-section-heading > p { max-width:560px; }
  .company-ecosystem__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ecosystem-card--featured,.ecosystem-card { grid-column:span 1; }
  .company-method__layout { grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr); gap:25px; }
  .company-footer__grid { grid-template-columns:1.2fr 1fr 1fr; gap:38px; }
}

@media (max-width:760px) {
  .company-page .site-header .brand img { width:122px; }
  .company-hero { padding-right:20px; padding-left:20px; row-gap:31px; }
  .company-hero__visual { width:100%; min-height:300px; }
  .hero-visual__frame { min-height:300px; }
  .hero-visual__index { top:19px; left:21px; font-size:clamp(100px,24vw,150px); }
  .hero-visual__label--top,.hero-visual__status { right:20px; }
  .hero-visual__label--bottom { bottom:20px; left:20px; }
  .hero-visual__core { width:128px; height:128px; }
  .hero-visual__core > span { font-size:28px; }
  .company-hero__meta { margin-top:39px; }
  .company-intro { display:block; min-height:0; padding:80px 20px 88px; }
  .company-section-rail { display:flex; width:max-content; height:auto; flex-direction:row; writing-mode:initial; transform:none; }
  .company-section-rail i { width:33px; height:1px; flex:none; margin:0 12px; }
  .company-intro__copy h2 { margin-top:21px; font-size:clamp(45px,11.5vw,65px); }
  .company-intro__aside { margin:38px 0 0 40px; }
  .company-ecosystem,.company-method { padding-right:20px; padding-left:20px; }
  .company-ecosystem__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ecosystem-card--featured,.ecosystem-card { grid-column:span 1; }
  .company-method__layout { display:block; }
  .company-method__steps { margin-bottom:24px; }
  .company-method__step { min-height:104px; }
  .company-method__panels { min-height:360px; }
  .method-panel { min-height:360px; grid-template-columns:63px 1fr; padding:24px; gap:18px; }
  .method-panel__index { font-size:46px; }
  .company-cta { min-height:0; padding-right:20px; padding-left:20px; }
  .company-cta__inner { grid-template-columns:1fr; gap:42px; }
  .company-cta__route { min-height:330px; padding-left:24px; }
  .company-footer { padding-right:20px; padding-left:20px; }
  .company-footer__grid { grid-template-columns:1fr 1fr; gap:38px 24px; }
  .company-footer__intro { grid-column:1/-1; }
  .company-footer__bottom { grid-template-columns:1fr; gap:11px; }
  .company-footer__bottom span:nth-child(2) { text-align:left; }
  .company-footer__bottom a { justify-self:start; }
}

@media (max-width:540px) {
  .company-hero { padding:calc(var(--header) + 51px) 17px 57px; gap:31px; }
  .company-hero h1 { margin-top:20px; font-size:clamp(49px,14vw,70px); line-height:.91; }
  .company-lead { font-size:16px; }
  .company-actions { align-items:center; flex-direction:column; gap:12px; margin-top:30px; }
  .company-button { min-height:47px; }
  .company-hero__meta { margin-top:35px; gap:10px 16px; font-size:8px; }
  .company-scroll-cue { margin-top:43px; font-size:7px; }
  .company-hero__visual { min-height:260px; }
  .hero-visual__frame { min-height:260px; }
  .hero-visual__frame::after { inset:13% 9%; }
  .hero-visual__label--side { right:10px; font-size:7px; }
  .hero-visual__core { width:112px; height:112px; outline-offset:7px; }
  .hero-visual__core > span { font-size:24px; }
  .hero-visual__core small { margin-top:9px; font-size:6px; }
  .company-intro { padding:70px 17px 75px; }
  .company-intro__copy h2 { font-size:clamp(43px,12vw,62px); }
  .company-intro__aside { margin:33px 0 0 36px; }
  .company-intro__aside > p { font-size:14px; }
  .company-ecosystem,.company-method { padding:70px 17px; }
  .company-section-heading { margin-bottom:38px; }
  .company-section-heading h2 { margin-top:19px; font-size:clamp(40px,11.4vw,59px); }
  .company-section-heading > p { font-size:14px; }
  .company-ecosystem__grid { grid-template-columns:1fr; gap:9px; }
  .ecosystem-card--featured,.ecosystem-card { grid-column:auto; min-height:326px; padding:19px 17px 18px; }
  .ecosystem-card__logo { height:82px; margin-top:17px; padding:10px 12px; }
  .ecosystem-card h3 { margin-top:19px; font-size:32px; }
  .ecosystem-card p { font-size:12px; }
  .company-ecosystem__footer { display:block; margin-top:15px; }
  .company-ecosystem__footer p { margin-top:9px; font-size:12px; }
  .company-method__step { min-height:96px; grid-template-columns:32px 1fr 18px; column-gap:9px; }
  .company-method__step > strong { font-size:29px; }
  .company-method__step > small { font-size:7px; }
  .company-method__panels { min-height:345px; }
  .method-panel { display:block; min-height:345px; padding:21px; }
  .method-panel__index { display:block; margin-bottom:59px; font-size:43px; }
  .method-panel p { margin-bottom:17px; font-size:8px; }
  .method-panel h3 { font-size:31px; }
  .method-panel div > span { font-size:13px; }
  .company-cta { min-height:0; padding:70px 17px; }
  .company-cta__inner { gap:34px; }
  .company-cta__inner h2 { margin-top:19px; font-size:clamp(43px,12vw,64px); }
  .company-cta__copy > p:not(.company-kicker) { font-size:15px; }
  .company-cta__route { min-height:310px; padding:21px 0 18px 20px; }
  .company-cta__steps { margin:25px 0 22px; }
  .company-cta__steps li { min-height:70px; padding:14px 0 12px; }
  .company-cta__steps strong { font-size:15px; }
  .company-footer { padding:56px 17px 20px; }
  .company-footer__grid { display:block; }
  .company-footer__column { margin-top:34px; }
  .company-footer__bottom { margin-top:47px; font-size:7px; }
}

@media (prefers-reduced-motion:reduce) {
  html:has(.company-page) { scroll-behavior:auto; }
  .company-page main > section[data-scene] { opacity:1!important; transition:none!important; }
  .company-page [data-reveal] { opacity:1!important; transform:none!important; transition:none!important; }
  .company-method { min-height:0; }
  .company-method > .company-shell { position:relative; min-height:0; padding:0; transform:none!important; opacity:1!important; transition:none; }
  .company-hero__grid,.company-hero__glow { transform:none; }
  .company-button::before { display:none; }
  .company-scroll-cue span { animation:none; }
  .company-button:hover,.company-footer__cta:hover,.ecosystem-card:hover,.company-method__step:hover { transform:none; }
}
