*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#070707;color:#f1f0ed;font-family:"Montserrat",Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.section{padding:clamp(70px,9vw,150px) clamp(24px,6vw,96px)}.header{position:fixed;z-index:1000;top:0;left:0;width:100%;height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#050505e8,#05050500);backdrop-filter:blur(3px)}.brand{font-size:25px;letter-spacing:.22em;font-weight:700}.brand span{color:#b7003b}.header nav{display:flex;gap:28px;font-size:10px;font-weight:600;letter-spacing:.08em}.header nav a{opacity:.75;transition:.25s}.header nav a:hover{opacity:1}.menu-toggle{display:none}.hero{min-height:100svh;padding-top:130px;display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;position:relative;overflow:hidden}.hero-copy{position:relative;z-index:2}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.25em;font-weight:700;opacity:.72}.eyebrow i{font-family:"Times New Roman",serif;font-size:17px}.hero h1{font-size:clamp(38px,5vw,82px);line-height:.98;letter-spacing:-.055em;max-width:930px;margin:32px 0}.hero h1 em,h2 em,h3 em{font-family:"Times New Roman",serif;font-weight:700;font-style:italic;letter-spacing:-.03em}.hero-art{position:absolute;inset:0 0 0 36%;overflow:hidden;opacity:.9}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070707 0%,#07070780 18%,transparent 55%)}.hero-art img{width:100%;height:100%;object-fit:cover;filter:brightness(.72)}.text-link{display:inline-flex;gap:25px;align-items:center;font-size:11px;letter-spacing:.13em;border-bottom:1px solid #777;padding-bottom:11px}.text-link b{font-size:21px;font-weight:300}.dark{background:#050505}.manifesto{border-top:1px solid #242424}.manifesto-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:start;margin-top:70px}.manifesto h2,.portfolio-intro h2,.clients h2,.team h2,.cta h2{font-size:clamp(38px,5vw,80px);line-height:.98;letter-spacing:-.055em;margin:0}.manifesto h2 strong{font-weight:700}.manifesto-copy{font-size:15px;line-height:1.65;color:#bdbbb7}.manifesto-copy p:first-child{font-weight:700;color:#fff}.services{background:#efefec;color:#111}.section-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #b8b8b3;padding-bottom:18px;margin-bottom:40px;font-size:11px;letter-spacing:.18em;font-weight:700}.section-head i{font-family:"Times New Roman",serif;font-size:18px;font-weight:700}.service-list{border-top:1px solid #c9c9c4}.service-list article{display:grid;grid-template-columns:80px 1fr 1.15fr;gap:30px;align-items:center;padding:25px 0;border-bottom:1px solid #c9c9c4}.service-list span{font-size:11px}.service-list h3{margin:0;font-size:clamp(18px,2vw,30px);letter-spacing:-.035em}.service-list p{margin:0;font-size:12px;line-height:1.55;color:#555}.portfolio-intro{background:#0a0a0a;padding-bottom:8vh}.portfolio-intro h2{margin:30px 0}.portfolio-note{font-size:11px;letter-spacing:.08em;opacity:.55}.portfolio-stack{position:relative;background:#080808;padding:0 3vw 12vh}.project-card{height:min(86vh,920px);min-height:590px;position:sticky;top:7vh;z-index:var(--z);margin:0 auto 13vh;border-radius:4px;overflow:hidden;box-shadow:0 -25px 70px #0008;background:var(--accent);isolation:isolate}.project-card:last-of-type{margin-bottom:0}.project-media{position:absolute;inset:0;overflow:hidden}.project-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform .2s linear;will-change:transform}.project-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000c 0%,#0006 36%,transparent 75%),linear-gradient(0deg,#0009,transparent 45%);z-index:1}.project-info{position:absolute;left:5%;bottom:8%;z-index:2;max-width:680px}.project-info span{display:block;color:#fff;font-size:10px;letter-spacing:.35em;font-weight:700;margin-bottom:14px}.project-info h3{font-size:clamp(36px,6vw,92px);line-height:.88;letter-spacing:-.06em;margin:0}.project-info p{max-width:420px;font-size:12px;line-height:1.6;margin-top:20px}.clients{background:#e9e9e5;color:#111;display:grid;grid-template-columns:1fr 1.1fr;gap:8vw}.clients-copy p:last-child{max-width:480px;font-size:14px;line-height:1.7;color:#555}.client-cloud{display:flex;align-content:center;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 26px;padding:5vw 0}.client-cloud span{font-size:clamp(14px,2vw,27px);font-weight:700;letter-spacing:-.05em}.method{border-top:1px solid #222}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.method-grid article{border-top:1px solid #555;padding-top:18px;min-height:330px}.method-grid b{font-size:13px;color:#a6a6a6}.method-grid h3{font-size:clamp(22px,2.4vw,38px);line-height:.95;letter-spacing:-.05em;margin:55px 0 20px}.method-grid p{font-size:12px;line-height:1.65;color:#aaa}.team{background:#f1f1ee;color:#111;padding-top:clamp(58px,6vw,92px);padding-bottom:clamp(72px,8vw,120px)}.team>.eyebrow{display:block;margin-bottom:clamp(34px,4vw,58px)}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(34px,4vw,72px);align-items:start;max-width:1280px;margin:0 auto}.team-member{min-width:0}.portrait{width:100%;aspect-ratio:1/1.18;position:relative;overflow:hidden;background:#ddd}.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.team-member:nth-child(1) .portrait img{object-position:center 35%}.team-member:nth-child(2) .portrait img{object-position:center 28%}.team-member:nth-child(3) .portrait img{object-position:center 32%}.team-grid h3{margin:clamp(20px,2vw,28px) 0 10px;font-size:clamp(22px,2vw,30px);line-height:1.05;letter-spacing:-.035em}.team-grid p{margin:0;font-size:clamp(12px,1vw,15px);line-height:1.55;color:#353535;max-width:100%}.cta{text-align:center;min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.cta h2{margin:30px auto 48px}.cta-button{border:1px solid #777;padding:18px 24px;font-size:10px;font-weight:700;letter-spacing:.12em;transition:.3s}.cta-button:hover{background:#fff;color:#111}.cta-button span{font-size:20px;margin-left:22px}footer{display:flex;justify-content:space-between;gap:25px;padding:24px 5vw;background:#050505;border-top:1px solid #222;color:#999;font-size:9px;letter-spacing:.08em}.cursor-glow{position:fixed;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,#ffffff0d,transparent 65%);pointer-events:none;z-index:0;transform:translate(-50%,-50%);mix-blend-mode:screen}
@media(max-width:800px){.header nav{display:none}.menu-toggle{display:flex;width:42px;height:42px;background:#111;border:1px solid #333;flex-direction:column;justify-content:center;gap:6px;align-items:center}.menu-toggle span{width:18px;height:1px;background:#fff}.hero{grid-template-columns:1fr;padding-top:150px}.hero-art{left:0;opacity:.45}.hero-art:after{background:linear-gradient(90deg,#070707d9,#07070790)}.hero h1{font-size:44px}.manifesto-grid,.clients{grid-template-columns:1fr}.service-list article{grid-template-columns:36px 1fr}.service-list p{grid-column:2}.method-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr 1fr}.project-card{height:78svh;min-height:520px;top:9vh;margin-bottom:9vh}.project-info{left:7%;bottom:7%;right:7%}.project-info h3{font-size:50px}.portfolio-stack{padding:0 14px 8vh}.team-grid{gap:26px}.portrait{aspect-ratio:1/1.12}.cta h2{font-size:45px}footer{flex-direction:column;gap:12px}.section{padding-left:24px;padding-right:24px}}
@media(max-width:520px){.hero h1{font-size:37px}.method-grid,.team-grid{grid-template-columns:1fr}.team-grid{gap:46px}.portrait{aspect-ratio:1/1.12;max-height:none}.project-card{min-height:470px}.project-info h3{font-size:40px}.manifesto h2,.portfolio-intro h2,.clients h2,.team h2,.cta h2{font-size:40px}}

/* HERO REFINADO — fiel à composição aprovada */
.header{height:136px;padding:0 5.5vw;background:#f4f4f3;color:#121315;border-bottom:1px solid #d8d8d6;backdrop-filter:none;}
.brand{font-size:0;letter-spacing:0;display:flex;align-items:center;gap:0}
.brand-word{font-size:42px;letter-spacing:.17em;font-weight:800;line-height:1}
.brand-dot{font-size:32px;color:#111;margin-left:1px;line-height:1}
.header nav{gap:24px;font-size:13px;font-weight:500;letter-spacing:.11em;color:#1c1d20}
.header nav a{opacity:1}
.header nav a:hover{opacity:.55}

.hero{min-height:100svh;height:calc(100svh - 0px);padding:136px 5.5vw 0;display:block;position:relative;overflow:hidden;background:#030506;color:#f5f4f1;isolation:isolate}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 42% 22%,#0b0b1200 0%,#030506 62%),linear-gradient(180deg,transparent 55%,#020303 100%);z-index:-1}
.hero-inner{height:calc(100svh - 136px);min-height:680px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(90px,13vh,170px) 0 clamp(34px,5vh,60px)}
.hero-copy{max-width:1180px;position:relative;z-index:2}
.hero h1{font-size:clamp(58px,6.3vw,108px);line-height:.89;letter-spacing:-.055em;margin:0;font-weight:800}
.hero h1 span{display:block;white-space:nowrap}
.hero h1 em{font-family:"Times New Roman",serif;font-weight:700;font-style:italic;letter-spacing:-.065em}
.hero-bottom{display:grid;grid-template-columns:1.15fr 1.7fr 1.3fr 72px;gap:clamp(20px,4vw,70px);align-items:center;position:relative;z-index:3}
.hero-pillars,.hero-description{border-left:1px solid #aeb0b1;padding-left:16px;font-size:clamp(10px,.85vw,15px);line-height:1.38;letter-spacing:.20em;font-weight:500}
.hero-description{letter-spacing:.17em;color:#e0e0de}
.hero-cta{height:52px;border:1px solid #39d978;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 28px;color:#64e98d;font-size:clamp(10px,.78vw,14px);font-weight:700;letter-spacing:.06em;white-space:nowrap;transition:.25s}
.hero-cta:hover{background:#39d978;color:#04150a}
.hero-cta span{margin-left:8px;font-size:16px}
.hero-whatsapp{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:#43db67;color:#04250c;font-size:40px;font-weight:700;line-height:1;justify-self:end;transition:transform .25s}
.hero-whatsapp:hover{transform:scale(1.06)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(55px);opacity:.6;pointer-events:none;z-index:-2}
.hero-glow-purple{width:430px;height:520px;left:15%;top:-150px;background:#8c58a8;opacity:.55}
.hero-glow-pink{width:560px;height:180px;left:-130px;top:42%;background:#a51b58;opacity:.5}
.hero-glow-cyan{width:520px;height:220px;right:-70px;top:48%;background:#42b6c3;opacity:.55}
.hero-glow-green{width:300px;height:160px;left:42%;bottom:-80px;background:#82bd9b;opacity:.5}

@media(max-width:1100px){.header{height:102px}.brand-word{font-size:33px}.header nav{gap:16px;font-size:10px}.hero{padding-top:102px}.hero-inner{height:calc(100svh - 102px);min-height:620px}.hero-bottom{grid-template-columns:1fr 1.4fr;gap:25px}.hero-cta{grid-column:1/2}.hero-whatsapp{grid-column:2;grid-row:2;justify-self:end}.hero-description{border-left:1px solid #aeb0b1}.hero h1{font-size:clamp(54px,7vw,84px)}}
@media(max-width:800px){.header{height:82px;padding:0 24px}.brand-word{font-size:28px}.header nav{display:none}.menu-toggle{background:transparent;border:0}.menu-toggle span{background:#111}.hero{padding:82px 24px 0}.hero-inner{height:calc(100svh - 82px);min-height:640px;padding:70px 0 28px}.hero h1{font-size:clamp(40px,11vw,62px);line-height:.92}.hero h1 span{white-space:normal}.hero-bottom{display:flex;flex-direction:column;align-items:stretch;gap:16px}.hero-pillars,.hero-description{font-size:10px;letter-spacing:.14em}.hero-cta{font-size:10px;width:100%}.hero-whatsapp{position:absolute;right:0;bottom:-6px;width:58px;height:58px}.hero-description{padding-right:64px}.hero-glow-purple{left:0}.hero-glow-cyan{right:-200px}.hero-glow-pink{left:-280px}}

/* AJUSTES FINAIS — LOGO OFICIAL, HERO E WHATSAPP */
.header{
  height:70px;
  padding:0 5.5vw;
  background:rgba(244,244,243,.96);
  border-bottom:1px solid #d8d8d6;
  transition:background .3s ease, box-shadow .3s ease;
}
.header.is-scrolled{box-shadow:0 8px 30px rgba(0,0,0,.07)}
.brand{display:flex;align-items:center;height:100%;width:132px}
.brand-logo{display:block;width:100%;height:auto;max-height:36px}
.brand-logo-white{display:none}
.brand-word,.brand-dot{display:none!important}
.header nav{font-size:11px;gap:23px}

.hero{
  padding:70px 0 0;
  background:#020506;
}
.hero-bg{
  position:absolute;
  inset:-5%;
  background:url('assets/fundo-banner-hero1.png') center center / cover no-repeat;
  transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0) scale(var(--hero-scale,1.06));
  transform-origin:center;
  will-change:transform;
  transition:transform .16s ease-out;
  z-index:-3;
}
.hero-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(2,5,6,.10) 0%,rgba(2,5,6,.04) 45%,rgba(2,5,6,.10) 100%),
    linear-gradient(180deg,rgba(2,5,6,.08) 0%,rgba(2,5,6,.02) 52%,rgba(2,5,6,.52) 100%);
}
.hero:before{display:none}
.hero-glow{display:none}
.hero-inner{
  height:calc(100svh - 70px);
  min-height:680px;
  padding:clamp(90px,13vh,170px) 5.5vw clamp(34px,5vh,60px);
}
.hero h1{ text-shadow:0 8px 35px rgba(0,0,0,.18) }
.hero-bottom{width:100%}
.hero-whatsapp{
  background:transparent;
  width:72px;
  height:72px;
  padding:0;
}
.hero-whatsapp img{width:72px;height:72px;display:block}
.whatsapp-fixed{
  position:fixed;
  right:28px;
  bottom:26px;
  z-index:1200;
  width:66px;
  height:66px;
  display:block;
  border-radius:50%;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.24));
  transition:transform .25s ease, filter .25s ease;
}
.whatsapp-fixed img{width:100%;height:100%;display:block}
.whatsapp-fixed:hover{transform:translateY(-4px) scale(1.04);filter:drop-shadow(0 16px 28px rgba(0,0,0,.30))}

@media(max-width:1100px){
  .header{height:70px}
  .hero{padding-top:70px}
  .hero-inner{height:calc(100svh - 70px)}
  .brand{width:118px}
}
@media(max-width:800px){
  .header{height:70px;padding:0 24px}
  .brand{width:105px}
  .header nav{display:none}
  .hero{padding-top:70px}
  .hero-inner{height:calc(100svh - 70px);padding-left:24px;padding-right:24px}
  .hero-bg{inset:-10%;background-position:center center}
  .whatsapp-fixed{width:58px;height:58px;right:18px;bottom:18px}
}


/* HERO — REFINAMENTO FINAL */
.header .brand{width:172px;max-width:30vw}
.header .brand-logo{width:100%;max-height:47px;object-fit:contain;object-position:left center}
.hero-bg{background-image:url('assets/fundo-banner-hero1.png');}
.hero-bottom{grid-template-columns:1.15fr 1.7fr 1.3fr}
.hero-whatsapp{display:none!important}
.hero h1 span{opacity:0;transform:translateY(42px);animation:heroTitleReveal 1.05s cubic-bezier(.16,1,.3,1) forwards}
.hero h1 span:nth-child(1){animation-delay:.12s}
.hero h1 span:nth-child(2){animation-delay:.28s}
.hero h1 span:nth-child(3){animation-delay:.44s}
.hero-pillars,.hero-description,.hero-cta{opacity:0;transform:translateY(24px);animation:heroContentReveal .85s cubic-bezier(.16,1,.3,1) forwards}
.hero-pillars{animation-delay:.78s}
.hero-description{animation-delay:.94s}
.hero-cta{animation-delay:1.1s}
@keyframes heroTitleReveal{to{opacity:1;transform:translateY(0)}}
@keyframes heroContentReveal{to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.header .brand{width:154px}.hero-bottom{grid-template-columns:1fr 1.4fr}.hero-cta{grid-column:1/2}}
@media(max-width:800px){.header .brand{width:137px;max-width:58vw}.header .brand-logo{max-height:40px}.hero-bottom{display:flex}.hero-cta{width:100%}}
@media(prefers-reduced-motion:reduce){.hero h1 span,.hero-pillars,.hero-description,.hero-cta{animation:none!important;opacity:1!important;transform:none!important}.hero-bg{transition:none!important}}

/* =========================================================
   SEÇÃO 2 — ORIGEM DA UNION
   ========================================================= */
.union-origin{
  background:#fff;
  color:#0b0d10;
  padding:clamp(70px,8vw,120px) 0 0;
  overflow:hidden;
}
.origin-inner{padding:0 clamp(24px,8vw,160px) clamp(60px,7vw,110px)}
.origin-kicker{margin:0 0 clamp(48px,6vw,90px);font-size:13px;letter-spacing:.2em;font-weight:700;color:#34383e}
.union-origin h2{margin:0 0 clamp(60px,7vw,100px);font-size:clamp(42px,6.1vw,104px);line-height:.94;letter-spacing:-.045em;font-weight:800}
.union-origin h2 span{font-weight:400}
.origin-content{display:grid;grid-template-columns:minmax(280px,.96fr) minmax(420px,1.04fr);gap:clamp(50px,8vw,130px);align-items:center;max-width:1500px;margin:auto}
.origin-copy{font-size:clamp(17px,1.35vw,24px);line-height:1.35;letter-spacing:.01em;color:#30343a}
.origin-copy p{margin:0 0 34px;max-width:650px}.origin-copy .origin-lead{font-weight:700}
.origin-image-wrap{overflow:hidden;border-radius:clamp(36px,4vw,68px);aspect-ratio:1.55/1;background:#151515}
.origin-image{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.015);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.origin-image-wrap:hover .origin-image{transform:scale(1.05)}
.origin-equation{border-top:1px solid #92969b;border-bottom:1px solid #92969b;min-height:122px;padding:20px clamp(24px,8vw,160px);display:flex;align-items:center;justify-content:center;gap:clamp(30px,5vw,100px);background:#fff}
.equation-part,.equation-symbol{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.union-origin.in-view .equation-part,.union-origin.in-view .equation-symbol{opacity:1;transform:none}
.union-origin.in-view .equation-plus{transition-delay:.35s}.union-origin.in-view .equation-banzai{transition-delay:.65s}.union-origin.in-view .equation-equals{transition-delay:.95s}.union-origin.in-view .equation-union{transition-delay:1.25s}
.equation-part img{display:block;max-width:100%;height:auto}.equation-k2b{width:145px}.equation-banzai{width:160px}.equation-union{width:245px}.equation-symbol{font-size:42px;font-weight:400;color:#30343a;line-height:1}
.origin-principles{display:grid;grid-template-columns:repeat(3,1fr);padding:28px clamp(24px,8vw,160px) 34px;gap:24px;text-align:center;font-size:13px;letter-spacing:.17em;line-height:1.35;font-weight:700;color:#2e3238}
.origin-principles span{display:block}

/* =========================================================
   SEÇÃO 3 — NÃO FAZEMOS DE TUDO
   ========================================================= */
.specialty-section{position:relative;min-height:clamp(760px,58vw,930px);overflow:hidden;background:#020405;color:#f4f4f2;isolation:isolate;display:flex;align-items:flex-start}
.specialty-bg{position:absolute;inset:-4%;background:url('assets/fundo_secao_3_naofazemosdetudo.png') center center/cover no-repeat;transform:translate3d(var(--specialty-x,0px),var(--specialty-y,0px),0) scale(1.06);transition:transform .16s ease-out;will-change:transform;z-index:-2}
.specialty-section:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,4,5,.04),rgba(2,4,5,.18));z-index:-1;pointer-events:none}
.specialty-content{width:100%;padding:clamp(100px,14vw,210px) clamp(24px,8vw,160px) clamp(80px,9vw,150px)}
.specialty-section h2{margin:0 auto;text-align:center;max-width:1700px;font-size:clamp(48px,7vw,120px);line-height:.88;letter-spacing:-.05em;font-weight:800}
.specialty-section h2 span,.specialty-section h2 strong{display:block}.specialty-section h2 strong{margin-top:.1em;font-weight:800}.specialty-section h2 em{font-family:"Times New Roman",serif;font-style:italic;font-weight:700;letter-spacing:-.06em;border-bottom:4px solid currentColor;padding-bottom:.02em}
.specialty-copy{max-width:850px;margin:clamp(65px,7vw,110px) auto 0;text-align:center;font-size:clamp(17px,1.45vw,25px);line-height:1.35;color:#dededc}.specialty-copy p{margin:0}.specialty-copy .specialty-label{font-size:clamp(14px,1.05vw,19px);font-weight:700;letter-spacing:.17em;margin-bottom:10px}
@media(max-width:900px){.origin-content{grid-template-columns:1fr}.origin-copy{max-width:720px}.origin-equation{gap:22px;flex-wrap:wrap}.equation-k2b{width:120px}.equation-banzai{width:130px}.equation-union{width:190px}.origin-principles{font-size:10px;letter-spacing:.11em}.specialty-section{min-height:720px}.specialty-section h2{font-size:clamp(44px,9vw,82px)}.specialty-section h2 span,.specialty-section h2 strong{line-height:.95}}
@media(max-width:620px){.origin-kicker{font-size:10px}.union-origin h2{font-size:clamp(40px,12vw,66px)}.origin-copy{font-size:17px}.origin-equation{min-height:160px;padding-top:28px;padding-bottom:28px}.equation-symbol{font-size:30px}.equation-k2b{width:95px}.equation-banzai{width:105px}.equation-union{width:150px}.origin-principles{grid-template-columns:1fr;padding-top:26px;padding-bottom:30px;gap:18px}.specialty-content{padding-top:110px}.specialty-section{min-height:680px}.specialty-section h2{font-size:clamp(40px,12vw,64px);line-height:.93}.specialty-section h2 em{border-bottom-width:3px}.specialty-copy{font-size:17px;margin-top:58px}.specialty-copy .specialty-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.equation-part,.equation-symbol{opacity:1!important;transform:none!important;transition:none!important}.specialty-bg{transition:none!important}}


/* =========================================================
   REFINAMENTOS — TAMANHOS, LOGO E ANIMAÇÕES POR SEÇÃO
   ========================================================= */
/* SVG oficial recortado no viewBox: agora ocupa corretamente a área do header */
.header .brand{width:210px;max-width:32vw}
.header .brand-logo{width:100%;height:auto;max-height:48px;object-fit:contain;object-position:left center}
@media(max-width:1100px){.header .brand{width:180px}}
@media(max-width:800px){.header .brand{width:145px;max-width:62vw}.header .brand-logo{max-height:42px}}

/* Redução aproximada de 27% nos títulos principais, mantendo impacto visual */
.hero h1{font-size:clamp(46px,4.65vw,79px)}
.union-origin h2{font-size:clamp(38px,4.45vw,76px)}
.specialty-section h2{font-size:clamp(42px,5.1vw,88px)}
@media(max-width:900px){.specialty-section h2{font-size:clamp(39px,7vw,64px)}}
@media(max-width:620px){.union-origin h2{font-size:clamp(36px,10vw,54px)}.specialty-section h2{font-size:clamp(36px,10vw,54px)}}

/* Hero: animação só começa quando a seção entra na viewport */
.hero h1 span{opacity:0;transform:translateY(42px);animation:none!important}
.hero-pillars,.hero-description,.hero-cta{opacity:0;transform:translateY(24px);animation:none!important}
.hero.in-view h1 span{animation:heroTitleReveal 1.05s cubic-bezier(.16,1,.3,1) forwards!important}
.hero.in-view h1 span:nth-child(1){animation-delay:.12s!important}
.hero.in-view h1 span:nth-child(2){animation-delay:.28s!important}
.hero.in-view h1 span:nth-child(3){animation-delay:.44s!important}
.hero.in-view .hero-pillars,.hero.in-view .hero-description,.hero.in-view .hero-cta{animation:heroContentReveal .85s cubic-bezier(.16,1,.3,1) forwards!important}
.hero.in-view .hero-pillars{animation-delay:.78s!important}
.hero.in-view .hero-description{animation-delay:.94s!important}
.hero.in-view .hero-cta{animation-delay:1.1s!important}

/* Seção 2: conteúdo também revela somente ao entrar */
.origin-inner,.origin-principles{opacity:0;transform:translateY(34px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}
.union-origin.in-view .origin-inner{opacity:1;transform:none}
.union-origin.in-view .origin-principles{opacity:1;transform:none;transition-delay:.25s}

/* Seção 3: movimento mais perceptível e elegante */
.specialty-bg{inset:-11%;transform:translate3d(var(--specialty-x,0px),var(--specialty-y,0px),0) scale(var(--specialty-scale,1.14));transition:transform .12s cubic-bezier(.16,1,.3,1)}
.specialty-content{opacity:0;transform:translateY(42px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.specialty-section.in-view .specialty-content{opacity:1;transform:none}

/* =========================================================
   V6 — FUNDO E ANIMAÇÃO DA SEÇÃO 3
   ========================================================= */
/* Novo fundo fornecido pelo cliente */
.specialty-bg{background-image:url('assets/fundo_secao3_1.png')!important}

/* Título da seção 3 com a mesma escala visual do Hero */
.specialty-section h2{font-size:clamp(46px,4.65vw,79px)!important}
@media(max-width:900px){.specialty-section h2{font-size:clamp(40px,7vw,64px)!important}}
@media(max-width:620px){.specialty-section h2{font-size:clamp(36px,10vw,54px)!important}}

/* Mesma entrada elegante do Hero: linhas sobem de baixo para cima */
.specialty-content{opacity:1!important;transform:none!important;transition:none!important}
.specialty-section h2 span,
.specialty-section h2 strong{
  opacity:0;
  transform:translateY(42px);
  animation:none!important;
  will-change:transform,opacity;
}
.specialty-section.in-view h2 span{
  animation:heroTitleReveal 1.05s cubic-bezier(.16,1,.3,1) forwards!important;
  animation-delay:.12s!important;
}
.specialty-section.in-view h2 strong{
  animation:heroTitleReveal 1.05s cubic-bezier(.16,1,.3,1) forwards!important;
  animation-delay:.32s!important;
}
.specialty-copy{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transition-delay:.82s}
.specialty-section.in-view .specialty-copy{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  .specialty-section h2 span,.specialty-section h2 strong,.specialty-copy{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}
}

/* =========================================================
   V7 — SEÇÃO 4 | O QUE FAZEMOS + POR QUE A UNION
   ========================================================= */
.services{
  background:#fff;
  color:#17191d;
  padding:clamp(68px,7.2vw,112px) 0 0;
}
.services-inner{max-width:1240px;margin:0 auto;padding:0 clamp(24px,6.2vw,96px) clamp(72px,7vw,108px)}
.services-kicker,.why-kicker{
  font-size:11px;letter-spacing:.22em;font-weight:700;color:#24272b;margin-bottom:clamp(48px,5vw,74px)
}
.services-kicker span,.why-kicker span{padding:0 7px;color:#777}
.services-kicker em,.why-kicker em{font-style:normal;font-weight:500;letter-spacing:.16em;color:#35383c}
.service-list{display:grid;gap:clamp(22px,2.2vw,34px);border:0}
.service-card{
  min-height:100px;
  display:grid;
  grid-template-columns:minmax(320px,44%) 1fr;
  align-items:center;
  gap:clamp(34px,7vw,110px);
  padding:clamp(26px,2.4vw,36px) clamp(34px,4.4vw,60px);
  border:1px solid #d1d1d1;
  border-radius:999px;
  background:#fff;
  box-shadow:0 0 0 rgba(0,0,0,0);
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease;
}
.service-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,20,28,.09);border-color:#c2c4c7}
.service-card h3{margin:0;font-size:clamp(23px,2.05vw,32px);line-height:1;letter-spacing:-.04em;font-weight:800}
.service-card p{margin:0;max-width:620px;font-size:clamp(12px,1.05vw,15px);line-height:1.42;font-weight:500;color:#34373b}
.why-union{border-top:1px solid #30343a;border-bottom:1px solid #30343a;padding:clamp(42px,4.8vw,68px) 0 clamp(48px,5.3vw,72px)}
.why-inner{max-width:1240px;margin:0 auto;padding:0 clamp(24px,6.2vw,96px)}
.why-kicker{margin-bottom:clamp(40px,4vw,58px)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(26px,4.5vw,64px)}
.why-item h4{margin:0 0 13px;font-size:clamp(13px,1.05vw,16px);letter-spacing:.01em;font-weight:800}
.why-item p{margin:0;font-size:clamp(12px,.98vw,14px);line-height:1.5;color:#3c3f43}

/* Entrada individual, disparada apenas quando a seção entra na viewport */
.service-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease}
.service-reveal.is-visible{opacity:1;transform:translateY(0)}
.service-card:nth-child(2){transition-delay:.10s}
.service-card:nth-child(3){transition-delay:.20s}
.service-card:nth-child(4){transition-delay:.30s}
.why-item:nth-child(2){transition-delay:.10s}.why-item:nth-child(3){transition-delay:.20s}.why-item:nth-child(4){transition-delay:.30s}

@media(max-width:900px){
  .service-card{grid-template-columns:1fr;border-radius:32px;gap:14px;padding:30px 34px}
  .why-grid{grid-template-columns:1fr 1fr;row-gap:38px}
}
@media(max-width:620px){
  .services{padding-top:58px}.services-inner{padding-bottom:64px}
  .services-kicker,.why-kicker{font-size:10px;letter-spacing:.16em}
  .service-list{gap:16px}
  .service-card{border-radius:26px;padding:26px 24px;min-height:auto}
  .service-card h3{font-size:23px}.service-card p{font-size:12px}
  .why-grid{grid-template-columns:1fr;gap:28px}
}
@media(prefers-reduced-motion:reduce){.service-reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* =========================================================
   V8 — AJUSTE FINO | ALINHAMENTO DOS TÍTULOS + MENU HEADER
   ========================================================= */
/* Menu 10% maior em relação à versão anterior (11px → 12.1px). */
.header nav{font-size:12.1px}

/* Mantém título e texto perfeitamente alinhados dentro de cada card. */
.service-card{
  grid-template-columns:minmax(0,42%) minmax(0,58%);
  column-gap:0;
  align-items:center;
}
.service-card h3,
.service-card p{
  align-self:center;
}
.service-card h3{
  display:flex;
  align-items:center;
  min-height:1.05em;
  margin:0;
  transform:none;
}
.service-card p{
  display:flex;
  align-items:center;
  min-height:1.42em;
  margin:0;
}

@media(max-width:900px){
  .header nav{font-size:11px}
  .service-card{grid-template-columns:1fr;column-gap:0}
}

/* =========================================================
   V9 — CORREÇÃO DEFINITIVA | SEÇÃO 4
   O seletor antigo `.service-list article` tinha maior especificidade
   e estava mantendo uma grade de 3 colunas invisível.
   ========================================================= */
.service-list .service-card{
  display:grid;
  grid-template-columns:minmax(360px,44%) minmax(0,1fr);
  align-items:center;
  column-gap:clamp(34px,7vw,110px);
  row-gap:0;
  padding:clamp(26px,2.4vw,36px) clamp(34px,4.4vw,60px);
  min-height:100px;
  border:1px solid #d1d1d1;
  border-radius:999px;
}
.service-list .service-card h3{
  grid-column:1;
  grid-row:1;
  width:100%;
  margin:0;
  padding:0;
  align-self:center;
  justify-self:start;
  display:block;
  line-height:1.02;
  transform:none;
}
.service-list .service-card p{
  grid-column:2;
  grid-row:1;
  width:100%;
  margin:0;
  padding:0;
  align-self:center;
  justify-self:start;
  display:block;
  line-height:1.42;
}

@media(max-width:900px){
  .service-list .service-card{
    grid-template-columns:1fr;
    border-radius:32px;
    row-gap:14px;
  }
  .service-list .service-card h3,
  .service-list .service-card p{
    grid-column:1;
    width:100%;
  }
  .service-list .service-card h3{grid-row:1}
  .service-list .service-card p{grid-row:2}
}

/* CTA ao final do portfólio */
.portfolio-contact-wrap{display:flex;justify-content:center;padding:7vh 0 2vh;position:relative;z-index:20}
.portfolio-contact-button{min-width:min(500px,88vw);height:56px;border:1px solid #39d978;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#64e98d;font-size:12px;font-weight:700;letter-spacing:.08em;transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
.portfolio-contact-button span{font-size:20px;line-height:1;transition:transform .25s ease}
.portfolio-contact-button:hover{background:#39d978;color:#04150a;transform:translateY(-2px);box-shadow:0 12px 30px rgba(57,217,120,.16)}
.portfolio-contact-button:hover span{transform:translateX(4px)}
@media(max-width:800px){.portfolio-contact-wrap{padding:5vh 0 1vh}.portfolio-contact-button{height:54px;font-size:11px}}

/* ===== AJUSTE FINAL — EQUIPE + NOSSO PROCESSO ===== */

/* Leve zoom nas fotos da equipe */
.portrait img{
  transform:scale(1);
  transition:transform .65s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.team-member:hover .portrait img{
  transform:scale(1.055);
}

/* Fundo visual do processo */
.method{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#050505;
}
.method::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg,rgba(5,5,5,.05) 0%,rgba(5,5,5,.02) 42%,rgba(5,5,5,.12) 100%),
    url("assets/fundo_processo.png") center center / cover no-repeat;
  pointer-events:none;
}
.method::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:rgba(0,0,0,.04);
  pointer-events:none;
}
.method .section-head{
  position:relative;
  z-index:1;
  border-bottom-color:rgba(255,255,255,.58);
}
.method .section-head,
.method .section-head i{
  color:#e9e9e9;
}
.method-grid{
  position:relative;
  z-index:1;
}
.method-grid article{
  opacity:0;
  transform:translateY(30px);
  filter:blur(4px);
  transition:
    opacity .7s ease,
    transform .7s cubic-bezier(.22,.61,.36,1),
    filter .7s ease;
  will-change:opacity,transform,filter;
}
.method-grid article.method-step-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
.method-grid b{color:#f0f0f0;}
.method-grid h3{color:#f0f0f0;}
.method-grid p{color:rgba(240,240,240,.82);}

@media (prefers-reduced-motion:reduce){
  .portrait img,
  .method-grid article{
    transition:none !important;
  }
  .method-grid article{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}


/* ===== REFINO VISUAL — NOSSO MÉTODO =====
   Mantém exatamente a leitura do layout de referência:
   título compacto + UMA única linha + números maiores.
*/
.method{
  border-top:0 !important;
}

.method .section-head{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:baseline !important;
  gap:9px !important;
  margin-bottom:34px !important;
  padding-bottom:18px !important;
  border-bottom:1px solid rgba(255,255,255,.58) !important;
  font-size:11px !important;
  letter-spacing:.18em !important;
  line-height:1 !important;
}

.method .section-head span{
  font-weight:800 !important;
  color:#f0f0f0 !important;
}

.method .section-head i{
  font-family:inherit !important;
  font-style:normal !important;
  font-size:inherit !important;
  font-weight:400 !important;
  letter-spacing:.18em !important;
  color:rgba(240,240,240,.88) !important;
}

/* Remove as linhas individuais: fica somente a linha abaixo do título */
.method-grid article{
  border-top:0 !important;
  padding-top:0 !important;
}

/* Números maiores, com o mesmo protagonismo do layout enviado */
.method-grid b{
  display:block !important;
  font-size:clamp(52px,3.35vw,68px) !important;
  line-height:.82 !important;
  font-weight:850 !important;
  letter-spacing:-.055em !important;
  color:#f2f2f2 !important;
  margin:0 0 24px !important;
}

/* Ajusta o respiro após aumentar os números */
.method-grid h3{
  margin:0 0 22px !important;
}

@media (max-width:800px){
  .method .section-head{
    margin-bottom:28px !important;
  }
  .method-grid b{
    font-size:48px !important;
    margin-bottom:20px !important;
  }
}

/* ===== FINAL DO SITE — CTA + FOOTER ===== */
.final-cta{
  position:relative;
  min-height:clamp(220px,22vw,360px);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:clamp(34px,4vw,64px) 24px;
  overflow:hidden;
  background:#f0f0ee;
  color:#202124;
  isolation:isolate;
}
.final-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:url("assets/fundo_processo.png") center 43% / 135% auto no-repeat;
  opacity:.09;
  z-index:-1;
  filter:grayscale(1);
}
.final-cta-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:clamp(24px,3.2vw,52px);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.1;
  padding-bottom:7px;
  border-bottom:2px solid currentColor;
  transition:opacity .25s ease, transform .25s ease;
}
.final-cta-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:100%;
  height:2px;
  background:#202124;
  transform:scaleX(0);
  transform-origin:right center;
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
}
.final-cta-link:hover{opacity:.72;transform:translateY(-2px)}
.final-cta-link:hover::after{transform:scaleX(1);transform-origin:left center}
.final-cta-link span{font-size:1.05em;line-height:1;transition:transform .25s ease}
.final-cta-link:hover span{transform:translateX(5px)}

.site-footer{
  position:relative;
  display:block;
  padding:0;
  border:0;
  background:#030405;
  color:#ededed;
  overflow:hidden;
  isolation:isolate;
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 5% 12%,rgba(72,30,88,.28),transparent 22%),
    radial-gradient(ellipse at 88% 84%,rgba(130,11,18,.46),transparent 30%),
    radial-gradient(ellipse at 58% 100%,rgba(125,58,8,.20),transparent 22%),
    url("assets/fundo_processo.png") center center / 185% auto no-repeat;
  opacity:.92;
  z-index:-2;
}
.site-footer::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.46),rgba(0,0,0,.18) 52%,rgba(0,0,0,.38));
  z-index:-1;
}
.footer-inner{
  max-width:1540px;
  margin:0 auto;
  padding:clamp(90px,9vw,150px) clamp(24px,6vw,96px) 46px;
}
.footer-top{
  display:grid;
  grid-template-columns:.78fr 1.45fr .58fr;
  gap:clamp(44px,7vw,130px);
  align-items:start;
}
.footer-brand img{
  display:block;
  width:min(100%,360px);
  height:auto;
  max-height:120px;
  object-fit:contain;
  object-position:left top;
}
.footer-about p{
  margin:0;
  max-width:780px;
  font-size:clamp(18px,1.5vw,28px);
  line-height:1.32;
  letter-spacing:-.018em;
  color:#d8d8d8;
}
.footer-email{
  display:inline-block;
  margin-top:28px;
  font-size:clamp(16px,1.28vw,23px);
  font-weight:700;
  color:#ededed;
  transition:opacity .25s ease,transform .25s ease;
}
.footer-email:hover{opacity:.68;transform:translateX(4px)}
.footer-social{
  display:flex;
  flex-direction:column;
  gap:16px;
  padding-top:18px;
}
.footer-social a{
  display:inline-block;
  width:max-content;
  font-size:clamp(16px,1.25vw,23px);
  font-weight:700;
  letter-spacing:.01em;
  position:relative;
  transition:opacity .25s ease,transform .25s ease;
}
.footer-social a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-5px;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .32s ease;
}
.footer-social a:hover{opacity:.7;transform:translateX(5px)}
.footer-social a:hover::after{transform:scaleX(1);transform-origin:left}
.footer-bottom{
  margin-top:clamp(95px,11vw,170px);
  padding-top:25px;
  border-top:1px solid rgba(255,255,255,.35);
  text-align:center;
  color:#92959b;
  font-size:clamp(10px,.82vw,15px);
  letter-spacing:.18em;
  line-height:1.5;
}
.footer-bottom a{
  font-weight:800;
  color:#c7c8ca;
  transition:color .25s ease;
}
.footer-bottom a:hover{color:#fff}

@media(max-width:900px){
  .footer-top{grid-template-columns:1fr;gap:42px}
  .footer-brand img{width:min(300px,70vw)}
  .footer-social{padding-top:0;flex-direction:row;gap:28px}
  .footer-bottom{text-align:left;margin-top:70px}
  .final-cta{min-height:190px}
}
@media(max-width:520px){
  .final-cta{align-items:center;min-height:180px}
  .final-cta-link{font-size:26px;text-align:center;justify-content:center;flex-wrap:wrap}
  .footer-inner{padding-top:70px}
  .footer-about p{font-size:17px}
  .footer-email{font-size:16px}
  .footer-social a{font-size:16px}
  .footer-bottom{font-size:9px;letter-spacing:.13em}
}

/* ===== AJUSTES FINAIS — CTA, EQUIPE, SERVIÇOS, FAVICON E HEADER ===== */
/* Header levemente maior, preservando a hierarquia original. */
@media (min-width:901px){
  .header nav{font-size:13px !important;}
}

/* Fotos da equipe com quinas discretamente arredondadas. */
.portrait{border-radius:10px;}

/* Dá mais área útil aos títulos da seção O QUE FAZEMOS para evitar palavras órfãs. */
.services-inner{max-width:1420px;}
@media (min-width:901px){
  .service-list .service-card{grid-template-columns:minmax(440px,46%) minmax(0,1fr);}
  .service-list .service-card h3{white-space:nowrap;}
}

/* Frase de chamada acima do diagnóstico estratégico. */
.final-cta{
  align-items:center;
  justify-content:center;
  min-height:clamp(620px,58vw,820px);
  padding:clamp(80px,8vw,140px) 24px;
}
.final-cta-content{
  width:100%;
  max-width:1320px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.final-cta-content h2{
  margin:0 0 clamp(62px,7vw,100px);
  color:#050505;
  font-size:clamp(50px,6.4vw,112px);
  line-height:.86;
  letter-spacing:-.06em;
  font-weight:800;
}
.final-cta-content h2 em{
  font-family:"Times New Roman",serif;
  font-style:italic;
  font-weight:700;
  letter-spacing:-.06em;
  border-bottom:4px solid currentColor;
  padding-bottom:.02em;
}
.final-cta-link{font-size:clamp(25px,2.7vw,50px);}

@media(max-width:900px){
  .final-cta{min-height:520px;padding:72px 24px;}
  .final-cta-content h2{font-size:clamp(42px,9vw,76px);line-height:.9;}
}
@media(max-width:520px){
  .final-cta{min-height:470px;padding:64px 20px;}
  .final-cta-content h2{font-size:clamp(37px,10.5vw,54px);margin-bottom:54px;}
  .final-cta-content h2 em{border-bottom-width:3px;}
}


/* ===== AJUSTES FINAIS 2 — MENU, MÉTODO, CTA E FOOTER ===== */
/* Ordem visual do menu ajustada no HTML: CLIENTES → EQUIPE → MÉTODO. */

/* Nosso Método: separador no mesmo padrão das demais chamadas bilíngues. */
.method .section-head{gap:8px!important;}
.method .section-head .method-separator{
  display:inline-block;
  font-size:inherit;
  line-height:1;
  font-weight:400;
  color:rgba(240,240,240,.9);
  letter-spacing:0;
}

/* Evita a palavra “empresas” isolada na última linha, dando mais largura ao bloco. */
.specialty-copy{max-width:1100px!important;}
@media(max-width:900px){.specialty-copy{max-width:900px!important;}}

/* CTA final: Montserrat em toda a chamada, com peso mais equilibrado e sem sublinhado em VALOR. */
.final-cta-content h2{
  font-family:"Montserrat",Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:-.055em!important;
}
.final-cta-content h2 em{
  font-family:"Montserrat",Arial,sans-serif!important;
  font-style:italic;
  font-weight:700!important;
  letter-spacing:-.055em!important;
  border-bottom:0!important;
  padding-bottom:0!important;
}

/* Footer: texto geral discretamente menor, preservando a hierarquia. */
.footer-about p{
  max-width:720px;
  font-size:clamp(16px,1.22vw,22px)!important;
  line-height:1.38!important;
}
.footer-email{font-size:clamp(14px,1.05vw,19px)!important;}
.footer-social a{font-size:clamp(14px,1.05vw,19px)!important;}

@media(max-width:520px){
  .specialty-copy{max-width:100%!important;}
  .footer-about p{font-size:16px!important;}
}


/* ===== CSS MIGRADO DO INDEX.HTML ===== */

    #clientes.clients {
      position: relative;
      min-height: 430px;
      padding: 0;
      overflow: hidden;
      background: #f4f3f1;
    }

    #clientes.clients .eyebrow {
      position: absolute;
      top: 58px;
      left: 50%;
      transform: translateX(-50%);
      width: min(100% - 140px, 1500px);
      margin: 0;
      color: #17191d;
      font-size: 15px;
      font-weight: 700;
      letter-spacing: .24em;
      line-height: 1;
    }

    #clientes.clients .clients-marquee {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      width: 100%;
      overflow: hidden;
      padding: 24px 0;
      cursor: default;
      -webkit-mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 8%,
        #000 92%,
        transparent 100%
      );
      mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 8%,
        #000 92%,
        transparent 100%
      );
    }

    #clientes.clients .clients-marquee-track {
      display: flex;
      width: max-content;
      will-change: transform;
      animation: union-clients-marquee 34s linear infinite;
    }

    #clientes.clients .clients-marquee-group {
      display: flex;
      align-items: center;
      flex: 0 0 auto;
      white-space: nowrap;
      gap: clamp(90px, 8vw, 180px);
      padding-right: clamp(90px, 8vw, 180px);
    }

    #clientes.clients .clients-marquee-group span {
      display: inline-block;
      color: #0b0c0f;
      font-family: "Montserrat", sans-serif;
      font-size: clamp(42px, 5.2vw, 88px);
      font-weight: 800;
      letter-spacing: -.055em;
      line-height: .95;
      transition: opacity .25s ease, transform .25s ease;
    }

    /* Pausa a esteira sem alterar posição, sombra ou layout */
    #clientes.clients .clients-marquee:hover .clients-marquee-track {
      animation-play-state: paused;
    }

    #clientes.clients .clients-marquee:focus-within .clients-marquee-track {
      animation-play-state: paused;
    }

    @keyframes union-clients-marquee {
      from { transform: translate3d(0, 0, 0); }
      to { transform: translate3d(-50%, 0, 0); }
    }

    @media (max-width: 900px) {
      #clientes.clients {
        min-height: 340px;
      }

      #clientes.clients .eyebrow {
        top: 42px;
        width: calc(100% - 48px);
        margin: 0;
        font-size: 12px;
      }

      #clientes.clients .clients-marquee {
        padding: 18px 0;
        -webkit-mask-image: linear-gradient(
          to right,
          transparent 0%,
          #000 5%,
          #000 95%,
          transparent 100%
        );
        mask-image: linear-gradient(
          to right,
          transparent 0%,
          #000 5%,
          #000 95%,
          transparent 100%
        );
      }

      #clientes.clients .clients-marquee-group {
        gap: 72px;
        padding-right: 72px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      #clientes.clients .clients-marquee-track {
        animation: none;
      }
    }
  


/* ===== ESTILOS INLINE ORGANIZADOS ===== */
.inline-css-1{--accent:#151515; --z:1}
.inline-css-2{--accent:#17351c; --z:2}
.inline-css-3{--accent:#5f171f; --z:3}
.inline-css-4{--accent:#8c1015; --z:4}
.inline-css-5{--accent:#4b0f08; --z:5}
.inline-css-6{--accent:#7a2052; --z:6}
.inline-css-7{--accent:#df6b00; --z:7}
.inline-css-8{--accent:#e0a800; --z:8}
.inline-css-9{--accent:#5d4a36; --z:9}


/* =========================================================
   AJUSTES FINAIS — ALINHAMENTO, CTA E NAVEGAÇÃO
   Mantém toda a estrutura original e altera apenas os pontos solicitados.
   ========================================================= */

/* Marcas e frases alinhadas em três colunas visuais. */
.origin-equation{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  padding-left:clamp(24px,8vw,160px);
  padding-right:clamp(24px,8vw,160px);
}
.origin-equation .equation-part{
  width:auto;
  justify-self:center;
}
.origin-equation .equation-k2b{grid-column:1;width:145px;}
.origin-equation .equation-banzai{grid-column:2;width:160px;}
.origin-equation .equation-union{grid-column:3;width:245px;}
.origin-equation .equation-symbol{
  position:absolute;
  top:50%;
  transform:translate(-50%,-50%);
  margin:0;
}
.origin-equation .equation-plus{left:33.333%;}
.origin-equation .equation-equals{left:66.666%;}
.union-origin.in-view .equation-symbol{transform:translate(-50%,-50%);}
.origin-principles{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:none;
}
@media(max-width:900px){
  .origin-equation{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;flex-wrap:nowrap;}
  .origin-equation .equation-k2b{width:120px;}
  .origin-equation .equation-banzai{width:130px;}
  .origin-equation .equation-union{width:190px;}
  .origin-equation .equation-symbol{font-size:30px;}
}
@media(max-width:620px){
  .origin-equation{grid-template-columns:1fr;gap:18px;padding-top:28px;padding-bottom:28px;}
  .origin-equation .equation-part{grid-column:1!important;}
  .origin-equation .equation-k2b{grid-row:1;width:95px;}
  .origin-equation .equation-banzai{grid-row:2;width:105px;}
  .origin-equation .equation-union{grid-row:3;width:150px;}
  .origin-equation .equation-symbol{position:static;transform:none!important;justify-self:center;}
  .origin-equation .equation-plus{grid-column:1;grid-row:1;justify-self:end;align-self:center;opacity:0;visibility:hidden;}
  .origin-equation .equation-equals{grid-column:1;grid-row:2;justify-self:end;align-self:center;opacity:0;visibility:hidden;}
  .origin-principles{grid-template-columns:1fr;}
}

/* Nosso Método: parágrafos com o mesmo padrão de leitura da seção Equipe. */
.method-grid p{
  font-size:clamp(12px,1vw,15px)!important;
  line-height:1.55!important;
}

/* Botão da seção de especialidade no mesmo padrão visual dos CTAs do site. */
.specialty-button{
  min-width:min(500px,88vw);
  min-height:56px;
  margin-top:clamp(34px,4vw,54px);
  padding:0 28px;
  border:1px solid #39d978;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#64e98d;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.2;
  transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.specialty-button span{font-size:20px;line-height:1;transition:transform .25s ease;}
.specialty-button:hover{background:#39d978;color:#04150a;transform:translateY(-2px);box-shadow:0 12px 30px rgba(57,217,120,.16);}
.specialty-button:hover span{transform:translateX(4px);}
@media(max-width:620px){
  .specialty-button{min-width:0;width:100%;font-size:10px;padding:0 18px;}
}

/* Logo completo do rodapé com os decodificadores K2B + BANZAI. */
.footer-brand img{
  width:min(100%,440px)!important;
  max-height:150px!important;
}

/* Botão discreto para retornar ao topo, espelhando o WhatsApp no lado esquerdo. */
.back-to-top{
  position:fixed;
  left:24px;
  bottom:24px;
  z-index:1200;
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(12,12,12,.74);
  color:#f1f1ef;
  font-family:Arial,sans-serif;
  font-size:25px;
  font-weight:300;
  line-height:1;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  pointer-events:none;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  transition:opacity .28s ease,transform .28s ease,background .28s ease,border-color .28s ease;
}
.back-to-top.is-visible{
  opacity:.82;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.back-to-top:hover{opacity:1;background:rgba(30,30,30,.94);border-color:rgba(255,255,255,.5);transform:translateY(-3px);}
@media(max-width:800px){
  .back-to-top{left:18px;bottom:18px;width:50px;height:50px;font-size:23px;}
}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none!important;}}

/* =========================================================
   AJUSTES RESPONSIVOS FINAIS — MOBILE
   Mantém o layout desktop intacto e refina apenas a experiência em telas menores.
   ========================================================= */

/* Remove o pattern SVG da seção imediatamente anterior ao footer. */
.final-cta::before{
  display:none !important;
}

@media(max-width:800px){
  /* Nosso Método: elimina o grande vazio entre as etapas no fluxo de uma coluna. */
  .method-grid{
    gap:52px !important;
  }
  .method-grid article{
    min-height:0 !important;
  }
  .method-grid h3{
    margin-bottom:18px !important;
  }

  /* Footer: o fundo ocupa toda a área disponível em uma única composição, sem repetição. */
  .site-footer::before{
    background:
      radial-gradient(ellipse at 5% 12%,rgba(72,30,88,.28),transparent 28%),
      radial-gradient(ellipse at 88% 84%,rgba(130,11,18,.46),transparent 36%),
      radial-gradient(ellipse at 58% 100%,rgba(125,58,8,.20),transparent 28%),
      url("assets/fundo_processo.png") center center / cover no-repeat !important;
    background-repeat:no-repeat !important;
    background-size:auto,auto,auto,cover !important;
  }

  /* Marca do footer 40% menor para ganhar respiro visual no mobile. */
  .footer-brand img{
    width:min(180px,42vw) !important;
    max-width:42vw !important;
    max-height:none !important;
  }

  /* Rodapé final centralizado e política sempre em uma linha própria. */
  .footer-bottom{
    text-align:center !important;
  }
  .footer-bottom a{
    display:block;
    width:max-content;
    max-width:100%;
    margin:8px auto 0;
  }
}

@media(max-width:520px){
  .method-grid{gap:46px !important;}
  .method .section-head{margin-bottom:24px !important;}
  .method-grid p{font-size:15px !important;line-height:1.55 !important;}

  .footer-inner{padding-bottom:42px !important;}
  .footer-bottom{
    margin-top:58px !important;
    font-size:9px !important;
    line-height:1.6 !important;
  }
}


/* =========================================================
   PORTFÓLIO — CORREÇÃO DE CAMADAS + CHROME/SAFARI
   ========================================================= */

/* ---------------------------------------------------------
   CARDS DO PORTFÓLIO
   Mantém TODOS os cards com o mesmo comportamento.
   Nenhum dos últimos cards recebe tratamento diferente.
   --------------------------------------------------------- */

.portfolio-stack{
  position:relative !important;
  background:#080808 !important;
}

/* Base de todos os cards */
.portfolio-stack > .project-card{
  position:sticky !important;
  top:7vh !important;
  z-index:var(--z) !important;
  transform:none !important;
  filter:none !important;
  transition:none !important;
  animation:none !important;
  will-change:auto !important;
  contain:none !important;
  isolation:isolate !important;
  box-shadow:0 -20px 58px rgba(0,0,0,.42) !important;
}

/* Hover não pode alterar geometria ou camada */
.portfolio-stack > .project-card:hover,
.portfolio-stack > .project-card:focus-within{
  position:sticky !important;
  top:7vh !important;
  z-index:var(--z) !important;
  transform:none !important;
  filter:none !important;
  transition:none !important;
  animation:none !important;
  box-shadow:0 -20px 58px rgba(0,0,0,.42) !important;
}

/* Os dois últimos cards permanecem exatamente no mesmo sticky. */
.portfolio-stack > .project-card:nth-last-of-type(2),
.portfolio-stack > .project-card:last-of-type{
  position:sticky !important;
  top:7vh !important;
  z-index:var(--z) !important;
  transform:none !important;
  filter:none !important;
  transition:none !important;
  animation:none !important;
}

/* ---------------------------------------------------------
   MÍDIA
   --------------------------------------------------------- */

.portfolio-stack > .project-card .project-media{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  isolation:isolate !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  will-change:auto !important;
}

/* Imagem completamente estável */
.portfolio-stack > .project-card .project-media img,
.portfolio-stack > .project-card:hover .project-media img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
  filter:none !important;
  will-change:auto !important;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}

/* ---------------------------------------------------------
   OVERLAY
   Mantido em camada própria, sem animação.
   --------------------------------------------------------- */

.portfolio-stack > .project-card .project-overlay,
.portfolio-stack > .project-card:hover .project-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  opacity:1 !important;
  pointer-events:none !important;
  transition:none !important;
  animation:none !important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0) !important;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  background:
    linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.36) 38%,rgba(0,0,0,.04) 76%,transparent 100%),
    linear-gradient(0deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.16) 42%,transparent 70%) !important;
}

/* Conteúdo sempre acima da imagem e overlay */
.portfolio-stack > .project-card .project-info{
  position:absolute !important;
  z-index:2 !important;
}

/* ---------------------------------------------------------
   CTA "FALE CONOSCO"
   Área totalmente independente dos cards.
   O botão fica abaixo do último banner.
   --------------------------------------------------------- */

.portfolio-contact-section{
  position:relative !important;
  z-index:20 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  background:#080808 !important;
  margin:0 !important;
  padding:72px 24px !important;
  clear:both !important;
}

.portfolio-contact-wrap{
  position:relative !important;
  z-index:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.portfolio-contact-button{
  position:relative !important;
  z-index:2 !important;
  min-width:min(500px,88vw) !important;
  margin:0 !important;
}

/* =========================================================
   HERO MOBILE
   ========================================================= */

@media(max-width:800px){
  .hero{
    display:block !important;
    position:relative !important;
    height:100svh !important;
    min-height:100svh !important;
    padding:70px 24px 0 !important;
    overflow:hidden !important;
  }

  .hero-inner{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:stretch !important;
    height:calc(100svh - 70px) !important;
    min-height:calc(100svh - 70px) !important;
    padding:70px 0 32px !important;
  }

  .hero-copy{ margin:0 0 24px !important; }

  .hero h1{
    margin:0 !important;
    font-size:clamp(40px,11vw,62px) !important;
    line-height:.92 !important;
  }

  /* Remove textos inferiores no mobile */
  .hero-pillars,
  .hero-description{ display:none !important; }

  .hero-bottom{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* Botão permanece próximo ao título */
  .hero-cta{
    display:flex !important;
    position:relative !important;
    z-index:20 !important;
    width:100% !important;
    min-height:56px !important;
    height:auto !important;
    margin:0 !important;
    padding:16px 18px !important;
    flex-shrink:0 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    animation:none !important;
  }

  /* Fundo alinhado à esquerda para aparecer o roxo */
  .hero-bg{
    inset:0 !important;
    background-position:left top !important;
    background-size:cover !important;
    transform:none !important;
    transition:none !important;
    will-change:auto !important;
  }

  .hero-glow-purple{ left:0 !important; }
  .hero-shade{ inset:0 !important; }

  /* CTA do portfólio */
  .portfolio-contact-section{ padding:52px 14px !important; }
  .portfolio-contact-button{ width:min(500px,100%) !important; }
}

@media(max-width:520px){
  .hero-inner{ padding:52px 0 28px !important; }
  .hero-copy{ margin-bottom:22px !important; }
  .hero-cta{ min-height:54px !important; font-size:9px !important; }
  .portfolio-contact-section{ padding:44px 14px !important; }
}
