/*!
 * MADMIX — style.css
 * Version : 1.7.0
 * Updated : 2026-04-04
 * Changes :
 *   - Mobile nav background: 60% → 40% transparency (rgba 0,0,0 → 0.6 → per request)
 *   - Nav height: 108px → 72px on mobile (<900px)
 *   - Hero: 100vh → 100svh for mobile browser chrome fix
 *   - Font FOUT: added font-size-adjust + contain on hero
 *   - Mobile CLS: explicit width/height hints on logo img
 *   - Removed unused: .section-inner (zero usage in HTML)
 *   - Performance: will-change on mobile-nav transform
 *   - Hamburger nav: 40% transparency (rgba(9,9,9,0.60))
 */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --black:#090909;
  --white:#f4f1eb;
  --red:#b03a2e;
  --red2:#d44c3e;
  --green:#0f9e6e;
  --blue2:#3b82f6;
  --gray:#141414;
  --gray2:#1c1c1c;
  --gray3:#c8c4bc;
  --gray4:#999490;
  --gray5:#b0aca4;
  --border:#252525;
  --red-text:#e8724a;
  --amber: #ba7517;
  --amber-text: #e8a94a;
  --purple: #7f6fcc;
}
html{scroll-behavior:smooth}
/* scroll-margin-top: offset for fixed nav (108px desktop, 72px mobile) */
section[id], [id="credenciais-topo"] { scroll-margin-top: 108px; }
@media(max-width:900px) { section[id], [id="credenciais-topo"] { scroll-margin-top: 72px; } }
body{background:var(--black);color:var(--white);font-family:"DM Sans",sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block}

/* ─── NAV ─── */
nav#main-nav{
  position:fixed;top:0;left:0;right:0;z-index:160;
  padding:0 5vw;height:108px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--border);
  background:rgba(9,9,9,0.96);
  backdrop-filter:blur(18px);
}
.nav-logo{display:flex;align-items:center;flex-shrink:0;padding:10px 0}
.nav-logo img{height:64px;width:auto;display:block;object-fit:contain;aspect-ratio:auto}
.nav-links{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2.2rem;flex:1;padding:0 2rem}
.nav-links a{
  font-size:0.74rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--gray3);transition:color .18s;position:relative;padding-bottom:4px;
}
.nav-links a::after{
  content:"";position:absolute;bottom:0;left:0;right:0;
  height:1px;background:var(--red-text);
  transform:scaleX(0);transition:transform .22s;
}
.nav-links a:hover{color:var(--white)}
.nav-links a.active,
.nav-links a.nav-active{color:var(--white)}
.nav-links a.active::after,
.nav-links a.nav-active::after{transform:scaleX(1)}
.nav-cta{
  background:var(--red)!important;color:var(--white)!important;
  padding:0.7rem 1.8rem;font-size:0.8rem!important;
  letter-spacing:0.12em!important;transition:background .18s!important;
  white-space:nowrap;flex-shrink:0;
}
.nav-cta:hover{background:var(--red2)!important}
.nav-cta::after{display:none!important}

/* ─── HERO ─── */
#hero{
  min-height:100svh;min-height:100vh;display:flex;align-items:center;
  padding:9rem 5vw 5rem;position:relative;overflow:hidden;
  contain:layout style;
}
.hero-grid{
  display:grid;grid-template-columns:1fr 520px;
  gap:4rem;align-items:center;max-width:1280px;width:100%;
}
.hero-tag{
  font-size:0.65rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--red-text);margin-bottom:1.8rem;
  display:flex;align-items:center;gap:0.75rem;
}
.hero-tag::before{content:"";display:block;width:28px;height:1px;background:var(--red-text)}
.hero-slogan{
  font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--gray3);margin-bottom:1.5rem;font-weight:300;
}
.hero-slogan strong{color:var(--white);font-weight:500}
h1.hero-h1{
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(3.8rem,8.5vw,8.5rem);
  line-height:0.9;letter-spacing:0.015em;margin-bottom:2.2rem;
}
h1.hero-h1 em{font-style:normal;color:var(--red)}
.hero-sub{
  font-size:clamp(0.9rem,1.3vw,1.05rem);color:var(--gray3);
  font-weight:300;max-width:540px;line-height:1.85;margin-bottom:2.8rem;
}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.btn-primary{
  display:inline-flex;align-items:center;gap:0.65rem;
  background:var(--red);color:var(--white);
  padding:1.05rem 2.2rem;font-size:0.8rem;
  letter-spacing:0.1em;text-transform:uppercase;font-weight:500;
  transition:background .18s;
}
.btn-primary:hover{background:var(--red2)}
.btn-ghost{
  display:inline-flex;align-items:center;gap:0.5rem;
  border:1px solid var(--border);color:var(--gray3);
  padding:1.05rem 1.9rem;font-size:0.78rem;
  letter-spacing:0.1em;text-transform:uppercase;
  transition:all .18s;
}
.btn-ghost:hover{border-color:rgba(255,255,255,0.3);color:var(--white)}
.btn-ghost .arrow{transition:transform .2s}
.btn-ghost:hover .arrow{transform:translateX(4px)}
.hero-stats{
  display:flex;gap:2.5rem;margin-top:3.5rem;
  padding-top:2.8rem;border-top:1px solid var(--border);
}
.stat-num{font-family:"Bebas Neue",sans-serif;font-size:2.4rem;color:var(--white);line-height:1}
.stat-label{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gray5);margin-top:0.3rem;line-height:1.4}
.hero-side{border:1px solid var(--border);padding:1.5rem 1.5rem 2rem;position:relative}
.hero-side::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--green),var(--blue2),var(--red));
}
.side-label{font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gray5);margin-bottom:1.5rem}
.pillar-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}
.pillar-item:last-child{border-bottom:none}
.pillar-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}
.pillar-dot.green{background:var(--green)}
.pillar-dot.blue{background:var(--blue2)}
.pillar-dot.red{background:var(--red2)}
.pillar-name{font-family:"Bebas Neue",sans-serif;font-size:1.1rem;letter-spacing:0.06em}
.pillar-sub{font-size:0.72rem;color:var(--gray3);margin-top:0.15rem;font-weight:300}
.hero-line{position:absolute;left:0;bottom:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--red-text) 40%,transparent 100%)}

/* ─── SECTIONS ─── */
section{padding:6.5rem 5vw}
.section-tag{
  font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;
  color:var(--red-text);margin-bottom:1.2rem;
  display:flex;align-items:center;gap:0.7rem;
}
.section-tag::before{content:"";display:block;width:20px;height:1px;background:var(--red-text)}
h2.section-h2{
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(2rem,4.5vw,4rem);
  line-height:1;letter-spacing:0.015em;
  margin-bottom:1rem;max-width:680px;
}

/* ─── MERCADO ─── */
#mercado{background:var(--gray)}
.mercado-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;margin-top:4rem;align-items:start}
.mercado-text p{color:var(--gray3);line-height:1.85;font-weight:300;font-size:0.96rem;margin-bottom:1.2rem}
.mercado-text strong{color:var(--white);font-weight:500}
.mercado-facts{display:flex;flex-direction:column;gap:1.2rem}
.fact-card{border:1px solid var(--border);padding:1.6rem;position:relative;overflow:hidden}
.fact-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--red-text)}
.fact-num{font-family:"Bebas Neue",sans-serif;font-size:2.8rem;color:var(--white);line-height:1}
.fact-text{font-size:0.78rem;color:var(--gray3);margin-top:0.4rem;line-height:1.55}

/* ─── SERVIÇOS ─── */
.servicos-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:5rem}
.servicos-intro-text{color:var(--gray3);line-height:1.85;font-weight:300;font-size:0.96rem}
.pillar-group{margin-bottom:4rem}
.pillar-group:last-child{margin-bottom:0}
.pillar-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border)}
.pillar-badge{
  display:inline-flex;align-items:center;gap:0.6rem;
  font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;
  padding:0.4rem 1rem;font-weight:500;
}
.pillar-badge.green{color:var(--green);border:1px solid rgba(15,158,110,0.3);background:rgba(15,158,110,0.06)}
.pillar-badge.blue{color:var(--blue2);border:1px solid rgba(59,130,246,0.3);background:rgba(59,130,246,0.06)}
.pillar-badge.red{color:var(--red2);border:1px solid rgba(212,76,62,0.3);background:rgba(212,76,62,0.06)}
.pillar-badge-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.pillar-badge.green .pillar-badge-dot{background:var(--green)}
.pillar-badge.blue .pillar-badge-dot{background:var(--blue2)}
.pillar-badge.red .pillar-badge-dot{background:var(--red2)}
.pillar-badge-label{color:var(--gray3);font-size:0.7rem;letter-spacing:0.08em;font-weight:300}
.servicos-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.servicos-cards.two{grid-template-columns:repeat(2,1fr)}
.servico-card{background:var(--black);padding:2rem;transition:background .18s}
.pillar-group:nth-child(1) .servico-card:hover{background:rgba(15,158,110,0.04)}
.pillar-group:nth-child(2) .servico-card:hover{background:rgba(59,130,246,0.04)}
.pillar-group:nth-child(3) .servico-card:hover{background:rgba(212,76,62,0.04)}
.servico-title{font-family:"Bebas Neue",sans-serif;font-size:1.3rem;letter-spacing:0.04em;margin-bottom:0.7rem;color:var(--white)}
.servico-desc{font-size:0.8rem;color:var(--gray3);line-height:1.72;font-weight:300}

/* ─── QUEM SOMOS ─── */
#quemsomos{background:var(--gray);overflow:hidden}
.qs-header{margin-bottom:4rem}
.qs-anchor{
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(1rem,1.8vw,1.3rem);
  color:var(--gray3);letter-spacing:0.04em;
  margin-top:0.8rem;
}
.qs-anchor strong{color:var(--white)}
.qs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:540px}
.qs-photo-side{position:relative;overflow:hidden;min-height:480px}
.qs-photo-side img{
  width:100%;height:100%;object-fit:cover;object-position:center 15%;
  filter:grayscale(15%) contrast(1.05);transition:transform .6s ease;
}
.qs-photo-side:hover img{transform:scale(1.03)}
.qs-photo-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(9,9,9,0) 40%,rgba(9,9,9,0.78) 100%);
}
.qs-photo-label{
  position:absolute;bottom:1.5rem;left:1.5rem;right:1.5rem;
  display:flex;justify-content:space-between;align-items:flex-end;
}
.qs-names{font-family:"Bebas Neue",sans-serif;font-size:1.2rem;letter-spacing:0.06em;color:var(--white);line-height:1.2}
.qs-names span{display:block;font-size:0.62rem;font-family:"DM Sans",sans-serif;letter-spacing:0.14em;text-transform:uppercase;color:var(--gray3);font-weight:300;margin-bottom:0.3rem}
.qs-rgb-tag{display:flex;gap:5px;align-items:center}
.qs-rgb-dot{width:10px;height:10px;border-radius:50%}
.qs-founders-side{border-left:1px solid var(--border);display:flex;flex-direction:column}
.qs-founder{flex:1;padding:2.2rem 2.5rem;position:relative;transition:background .2s}
.qs-founder:hover{background:rgba(255,255,255,0.02)}
.qs-founder:first-child{border-bottom:1px solid var(--border)}
.qs-founder-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.8rem}
.qs-founder-name{font-family:"Bebas Neue",sans-serif;font-size:1.8rem;letter-spacing:0.03em;line-height:1}
.qs-founder-role{font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--red-text);margin-top:0.3rem}
.qs-years{font-family:"Bebas Neue",sans-serif;font-size:2.2rem;color:var(--border);line-height:1;text-align:right}
.qs-years span{display:block;font-family:"DM Sans",sans-serif;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gray4);font-weight:300;margin-top:0.2rem}
.qs-bio{font-size:0.8rem;color:var(--gray3);line-height:1.75;font-weight:300;margin-bottom:0.9rem}
/* credencial tags */
.qs-creds{
  display:flex;flex-wrap:wrap;gap:0.4rem;
  margin-bottom:1rem;
}
.qs-cred-tag{
  display:inline-flex;align-items:center;gap:0.4rem;
  font-size:0.62rem;letter-spacing:0.08em;
  color:var(--gray5);border:1px solid var(--border);
  padding:0.25rem 0.65rem;font-family:"DM Sans",sans-serif;
  transition:border-color .18s;
}
.qs-cred-tag::before{content:"●";font-size:0.4rem;color:var(--red-text);opacity:0.8}
.qs-founder:first-child .qs-cred-tag::before{color:var(--green);opacity:0.9}
.qs-linkedin{
  display:inline-flex;align-items:center;gap:0.5rem;
  font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--gray3);border:1px solid var(--border);
  padding:0.45rem 1rem;transition:all .18s;
}
.qs-linkedin:hover{border-color:var(--blue2);color:var(--blue2)}
.qs-linkedin svg{width:14px;height:14px;fill:currentColor;flex-shrink:0}
/* fechamento da seção */
.qs-closing{
  margin-top:4rem;padding:3rem;
  background:var(--black);
  border:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  gap:2rem;flex-wrap:wrap;
}
.qs-closing-text{
  font-family:"Instrument Serif",serif;font-style:italic;
  font-size:clamp(1rem,1.5vw,1.2rem);
  color:var(--gray3);line-height:1.6;max-width:560px;
}
.qs-closing-text strong{color:var(--white);font-style:normal}

/* ─── PROCESSO ─── */
.processo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--border);margin-top:4rem}
.processo-step{background:var(--black);padding:2.5rem}
.step-num{font-family:"Bebas Neue",sans-serif;font-size:4rem;color:var(--border);line-height:1;margin-bottom:1.5rem}
.step-title{font-family:"Bebas Neue",sans-serif;font-size:1.4rem;letter-spacing:0.04em;margin-bottom:0.7rem;color:var(--white)}
.step-desc{font-size:0.8rem;color:var(--gray3);line-height:1.72;font-weight:300}

/* ─── CTA FINAL ─── */
#contato{background:var(--black);text-align:center}
.cta-inner{max-width:680px;margin:0 auto}
.cta-logo{display:flex;justify-content:center;align-items:center;margin:0 auto 2.8rem;background:transparent;border:none;padding:0}
.cta-logo img{display:block;height:auto;width:auto;max-height:72px;max-width:360px;object-fit:contain}
h2.cta-h2{font-family:"Bebas Neue",sans-serif;font-size:clamp(2.4rem,5.5vw,5rem);line-height:0.93;letter-spacing:0.015em;margin-bottom:1.4rem}
h2.cta-h2 em{font-style:normal;color:var(--red)}
.cta-sub{color:var(--gray3);font-size:0.96rem;font-weight:300;line-height:1.85;margin-bottom:2.5rem}
.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}
.btn-whatsapp{
  display:inline-flex;align-items:center;gap:0.75rem;
  background:var(--red);color:var(--white);
  padding:1.15rem 2.4rem;font-size:clamp(0.72rem,2.5vw,0.84rem);
  letter-spacing:0.08em;text-transform:uppercase;font-weight:500;
  transition:background .18s;white-space:nowrap;
}
.btn-whatsapp:hover{background:var(--red2)}
.cta-email{font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gray3)}
.cta-email a{color:var(--gray3);border-bottom:1px solid var(--border);padding-bottom:1px;transition:color .18s}
.cta-email a:hover{color:var(--white)}
.cta-note{font-size:0.65rem;color:var(--gray4);margin-top:1rem;letter-spacing:0.06em}

/* ─── FOOTER ─── */
footer{border-top:1px solid var(--border);background:var(--black)}
.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;border-bottom:1px solid var(--border)}
.footer-col{padding:3.5rem 3rem}
.footer-col:first-child{padding-left:5vw}
.footer-col:last-child{padding-right:5vw}
.footer-col + .footer-col{border-left:1px solid var(--border)}
.footer-brand-logo{display:block;margin-bottom:1.6rem;line-height:0}
.footer-brand-logo img{display:block;height:auto;width:auto;max-height:64px;max-width:240px;object-fit:contain;opacity:0.9;transition:opacity .18s}
.footer-brand-logo:hover img{opacity:1}
.footer-slogan{font-family:"Instrument Serif",serif;font-style:italic;font-size:0.88rem;color:var(--gray3);line-height:1.65;margin-bottom:1.4rem;max-width:220px}
.footer-email-link{font-size:0.72rem;letter-spacing:0.06em;color:var(--gray4);transition:color .18s}
.footer-email-link:hover{color:var(--white)}
.footer-col-title{font-size:0.58rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--gray4);margin-bottom:1.6rem;display:block}
.footer-page-links{display:flex;flex-direction:column;gap:0.8rem;list-style:none}
.footer-page-links li a{font-size:0.8rem;color:var(--gray3);transition:color .18s;letter-spacing:0.02em}
.footer-page-links li a:hover{color:var(--white)}
.footer-li-company{
  display:flex;align-items:center;gap:0.85rem;
  padding:0.8rem 1.1rem;border:1px solid var(--border);
  margin-bottom:1.2rem;transition:all .18s;color:var(--white);
}
.footer-li-company:hover{border-color:var(--blue2);color:var(--blue2)}
.footer-li-company svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}
.footer-li-company-name{font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;font-weight:500}
.footer-li-people{display:flex;flex-direction:column;gap:0.6rem;list-style:none}
.footer-li-person{display:flex;align-items:center;gap:0.6rem;font-size:0.76rem;color:var(--gray3);transition:color .18s}
.footer-li-person:hover{color:var(--blue2)}
.footer-li-person svg{width:13px;height:13px;fill:currentColor;flex-shrink:0;opacity:0.55}
.footer-bottom{padding:1.2rem 5vw;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.footer-rgb{display:flex;gap:5px;align-items:center}
.footer-rgb-dot{width:7px;height:7px;border-radius:50%}
.footer-copy{font-size:0.62rem;color:var(--gray4);letter-spacing:0.08em;text-align:center;flex:1}
.footer-domain{font-size:0.62rem;color:var(--gray4);letter-spacing:0.08em}

/* ─── SVG LinkedIn ─── */
.li-icon path{fill:currentColor}

/* ─── RESPONSIVE ─── */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-side{display:none}
  .mercado-grid,.servicos-intro-grid,.qs-grid{grid-template-columns:1fr}
  .servicos-cards,.servicos-cards.two{grid-template-columns:1fr!important}
  .processo-grid{grid-template-columns:1fr;background:none;gap:1px}
  .processo-step{background:var(--gray2)}
  .qs-photo-side{min-height:320px}
  .qs-founders-side{border-left:none;border-top:1px solid var(--border)}
  .qs-closing{flex-direction:column;align-items:flex-start}
  .footer-main{grid-template-columns:1fr}
  .footer-col{padding:2.5rem 5vw}
  .footer-col + .footer-col{border-left:none;border-top:1px solid var(--border)}
  .footer-bottom{flex-direction:column;gap:0.8rem;text-align:center}
}
/* nav-links hidden via .hamburger @media(max-width:900px) block below — redundant 768px rule removed */
@media(max-width:600px){.hero-stats{flex-wrap:wrap;gap:1.5rem}}

/* ═══ RESPONSIVIDADE DESKTOP ═══ */
#hero .hero-grid,#mercado .mercado-grid,#mercado .section-tag,#mercado h2.section-h2,#servicos .servicos-intro-grid,#servicos .pillar-group,#quemsomos .qs-header,#quemsomos .qs-grid,#quemsomos .qs-closing,#processo .section-tag,#processo h2.section-h2,#processo .processo-grid{max-width:1400px;margin-left:auto;margin-right:auto}
.mercado-text p,.servicos-intro-text,.servico-desc,.qs-bio,.step-desc,.cta-sub,.pillar-sub,.fact-text,.footer-slogan{font-size:clamp(0.9rem,0.95vw,1.05rem);line-height:1.85}
.section-tag,.hero-tag,.side-label,.qs-founder-role,.footer-col-title,.footer-li-company-name,.footer-page-links li a,.footer-li-person,.cta-email,.cta-note,.footer-copy,.footer-domain,.footer-email-link{font-size:clamp(0.68rem,0.75vw,0.85rem)}
.hero-sub{font-size:clamp(0.95rem,1.1vw,1.15rem);max-width:600px}
@media(min-width:1280px){.hero-stats{gap:3.5rem}.stat-num{font-size:2.8rem}.stat-label{font-size:0.72rem}section{padding:7.5rem 5vw}#hero{padding:10rem 5vw 6rem}.servico-card{padding:2.4rem}.servico-title{font-size:1.45rem}.qs-photo-side{min-height:560px}.processo-step{padding:3rem}.step-num{font-size:5rem}}
@media(min-width:1440px){.hero-grid{grid-template-columns:1fr 560px;gap:4rem}.mercado-grid{gap:6rem}.qs-grid{min-height:600px}.qs-founder{padding:2.8rem 3rem}h1.hero-h1{font-size:clamp(5rem,7vw,9rem)}h2.section-h2{font-size:clamp(2.5rem,3.5vw,4.5rem);max-width:800px}.cta-h2{font-size:clamp(3rem,4.5vw,5.5rem)}.footer-col{padding:4rem 3.5rem}.footer-col:first-child{padding-left:5vw}.footer-col:last-child{padding-right:5vw}}
@media(min-width:1600px){section{padding:8rem 4vw}#hero{padding:11rem 4vw 7rem}}
@media(min-width:1920px){section{padding:9rem 3vw}#hero{padding:12rem 3vw 8rem}nav#main-nav{padding:0 3vw}.footer-main .footer-col:first-child{padding-left:3vw}.footer-main .footer-col:last-child{padding-right:3vw}.footer-bottom{padding:1.2rem 3vw}}
@media(min-width:900px) and (max-width:1024px){.hero-grid{grid-template-columns:1fr 380px;gap:2rem}.hero-side{display:block}section{padding:5rem 5vw}}
@media(min-width:768px) and (max-width:900px){section{padding:4.5rem 5vw}h1.hero-h1{font-size:clamp(3rem,8vw,5.5rem)}.mercado-grid,.qs-grid{grid-template-columns:1fr}.servicos-cards{grid-template-columns:1fr 1fr!important}.processo-grid{grid-template-columns:1fr 1fr;background:var(--border)}}


/* ─── LANG SELECTOR ─── */
.lang-selector{display:flex;align-items:center;gap:0.5rem;margin-left:1.5rem;margin-right:1.5rem;padding-right:1.5rem;border-right:1px solid var(--border);flex-shrink:0}
.lang-selector a{
  font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--gray3);transition:color .18s;padding:2px 0;
}
.lang-selector a:hover{color:var(--white)}
.lang-selector a.active{color:var(--white);border-bottom:1px solid var(--red-text)}
.lang-sep{font-size:0.55rem;color:var(--gray4)}


/* ─── HERO CREDENCIAIS ─── */
.hero-creds{
  font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--gray4);margin-top:1.8rem;margin-bottom:0;
  display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;
}

/* ─── SERVICO RESULT ─── */
.servico-result{
  font-size:0.82rem;font-weight:500;color:var(--white);
  margin-bottom:0.6rem;line-height:1.5;font-style:italic;
  font-family:'Instrument Serif',serif;
}

/* ─── PROCESSO INTRO ─── */
.processo-intro{
  font-size:clamp(0.9rem,0.95vw,1.05rem);
  color:var(--gray3);font-weight:300;line-height:1.85;
  max-width:680px;margin-top:1rem;margin-bottom:3rem;
  margin-left:auto;margin-right:auto;
}


/* ─── HAMBURGER MENU ─── */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;
  padding:8px;background:none;border:none;z-index:200;}
.hamburger span{display:block;width:24px;height:2px;background:var(--white);
  transition:all 0.28s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-nav{
  display:none;position:fixed;top:0;left:0;
  width:55%;max-width:280px;height:100vh;
  background:rgba(9,9,9,0.60);
  backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(18px);
  border-right:1px solid var(--border);
  z-index:150;flex-direction:column;
  align-items:flex-start;justify-content:center;
  gap:0;padding:2rem 2.2rem;
  transform:translateX(-100%);
  transition:transform 0.28s ease;
  will-change:transform;
}
.mobile-nav.open{display:flex;transform:translateX(0);}
.mobile-nav a{
  font-size:1.3rem;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--white);font-family:'Bebas Neue',sans-serif;transition:color 0.18s;
  padding:0.75rem 0;width:100%;
  border-bottom:1px solid rgba(255,255,255,0.05);
}
.mobile-nav a:last-of-type{border-bottom:none;}
.mobile-nav a:hover{color:var(--red-text);}
.mobile-nav .mobile-cta{
  background:var(--red);color:var(--white)!important;
  padding:0.75rem 1.5rem;font-size:0.9rem;
  margin-top:1.5rem;text-align:center;
  border-bottom:none!important;
}
.mobile-nav .mobile-cta:hover{background:var(--red2);}
.mobile-nav-overlay{
  display:none;position:fixed;top:0;left:0;width:100%;height:100vh;
  background:rgba(0,0,0,0.35);z-index:140;
}
.mobile-nav-overlay.open{display:block;}
.mobile-lang{
  display:flex;align-items:center;justify-content:center;gap:0.6rem;
  width:100%;padding-bottom:1.5rem;margin-bottom:1rem;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.mobile-lang a{
  font-size:0.7rem!important;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--gray3)!important;font-family:'DM Sans',sans-serif!important;
  font-weight:400;padding:0!important;border-bottom:none!important;
  width:auto!important;transition:color 0.18s;
}
.mobile-lang a.active{color:var(--white)!important;border-bottom:1px solid var(--red-text)!important;}
.mobile-lang a:hover{color:var(--white)!important;}
.mobile-lang .lang-sep{font-size:0.55rem;color:var(--gray4);}

@media(max-width:900px){
  .hamburger{display:flex;}
  .nav-links,.lang-selector,.nav-cta{display:none!important;}
  nav#main-nav{height:72px;padding:0 4vw;justify-content:space-between;}
  .nav-logo{position:absolute;left:50%;transform:translateX(-50%);}
  .nav-logo img{height:44px}
}

/* ─── FORMULÁRIO DE CONTATO ─── */
.form-section{
  margin-top:3rem;padding-top:3rem;
  border-top:1px solid var(--border);
  width:100%;max-width:520px;margin-left:auto;margin-right:auto;
}
.form-section-title{
  font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:0.04em;
  color:var(--white);margin-bottom:0.4rem;text-align:center;
}
.form-section-sub{
  font-size:0.78rem;color:var(--gray3);text-align:center;
  margin-bottom:2rem;font-weight:300;
}
.contact-form{display:flex;flex-direction:column;gap:1rem;width:100%;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-field{display:flex;flex-direction:column;gap:0.35rem;}
.form-field label{
  font-size:0.62rem;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--gray4);font-weight:400;
}
.form-field input,.form-field textarea{
  background:var(--gray2);border:1px solid var(--border);
  color:var(--white);padding:0.85rem 1rem;font-size:0.88rem;
  font-family:'DM Sans',sans-serif;font-weight:300;
  outline:none;transition:border-color 0.18s;resize:none;
  -webkit-appearance:none;border-radius:0;
}
.form-field input:focus,.form-field textarea:focus{border-color:var(--red-text);}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--gray4);}
.form-field textarea{min-height:100px;}
.form-field.full{grid-column:1/-1;}
.btn-form-submit{
  background:var(--red);color:var(--white);
  border:none;padding:1rem 2rem;cursor:pointer;
  font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;
  font-family:'DM Sans',sans-serif;font-weight:500;
  transition:background 0.18s;white-space:nowrap;
  display:flex;align-items:center;justify-content:center;gap:0.5rem;
}
.btn-form-submit:hover{background:var(--red2);}
.form-msg{font-size:0.78rem;text-align:center;padding:0.8rem;margin-top:0.5rem;display:none;}
.form-msg.success{color:var(--green);border:1px solid var(--green);display:block;}
.form-msg.error{color:var(--red-text);border:1px solid var(--red-text);display:block;}

@media(max-width:600px){
  .form-row{grid-template-columns:1fr;}
}

/* ═══════════════════════════════════════════════════════════════
   MADMIX — Adicionar ao final do style.css
   Contém: variáveis novas, Framework ARC, Para Quem, Ecossistema
   ═══════════════════════════════════════════════════════════════ */

/* Variáveis --amber, --amber-text e --purple já definidas no :root principal acima */


/* ════════════════════════════════
   FRAMEWORK ARC  #arc
   ════════════════════════════════ */
#arc { background: var(--black); }

.arc-inner {
  max-width: 1400px;
  margin: 0 auto;
  overflow-x: hidden;
}

.arc-header {
  margin-bottom: 4rem;
  max-width: 740px;
}

.arc-intro {
  font-size: clamp(0.9rem, 0.95vw, 1.05rem);
  color: var(--gray3);
  font-weight: 300;
  line-height: 1.85;
  margin-top: 1rem;
}

/* grid: 3 colunas de stage + 2 conectores */
.arc-stages {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: stretch;
  background: var(--border);
  gap: 1px;
  margin-bottom: 0;
}

.arc-stage {
  background: var(--gray);
  padding: 2.5rem 2rem;
  transition: background .18s;
  display: flex;
  flex-direction: column;
}

.arc-tags {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.arc-stage:hover          { background: rgba(255,255,255,0.025); }
.arc-stage--amber         { background: var(--gray2); }
.arc-stage--amber:hover   { background: rgba(186,117,23,0.05); }
.arc-stage--green:hover   { background: rgba(15,158,110,0.05); }

.arc-stage-num {
  font-family: "Bebas Neue", sans-serif;
  font-size: 3.5rem;
  color: var(--border);
  line-height: 1;
  margin-bottom: 1rem;
}
.arc-stage-num--amber { color: rgba(186,117,23,0.22); }
.arc-stage-num--green { color: rgba(15,158,110,0.22); }

.arc-stage-label {
  font-size: 0.6rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--red-text);
  margin-bottom: 0.6rem;
  display: block;
}
.arc-label--amber { color: var(--amber-text); }
.arc-label--green { color: var(--green); }

.arc-stage-title {
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 0.8rem;
}

.arc-stage-desc {
  font-size: clamp(0.82rem, 0.88vw, 0.95rem);
  color: var(--gray3);
  line-height: 1.75;
  font-weight: 300;
  margin-bottom: 1.2rem;
}
.arc-stage-desc strong { color: var(--white); font-weight: 500; }

.arc-tag {
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--red-text);
  border: 1px solid rgba(232,93,36,0.3);
  padding: 0.2rem 0.65rem;
}
.arc-tag--amber { color: var(--amber-text); border-color: rgba(186,117,23,0.35); }
.arc-tag--green { color: var(--green);      border-color: rgba(15,158,110,0.35); }

.arc-connector {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--black);
  padding: 0 0.8rem;
  font-size: 1.4rem;
  color: var(--border);
  user-select: none;
}

.arc-cta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  padding: 2rem;
  border: 1px solid var(--border);
  border-top: none;
  background: var(--gray);
  overflow: hidden;
}

.arc-cta-text {
  font-size: clamp(0.88rem, 0.95vw, 1rem);
  color: var(--gray3);
  font-weight: 300;
  line-height: 1.7;
  max-width: 560px;
  flex: 1;
}

/* ARC responsive */
@media(max-width: 900px) {
  .arc-stages {
    grid-template-columns: 1fr;
    gap: 1px;
    background: var(--border);
  }
  .arc-stage { display: block; }
  .arc-tags { margin-top: 1rem; }
  .arc-connector { display: none; }
  .arc-cta-row {
    flex-direction: column;
    align-items: flex-start;
    border: none;
    border-top: 1px solid var(--border);
    padding: 1.8rem 0 0;
    background: transparent;
    max-width: 100%;
    box-sizing: border-box;
  }
  .arc-cta-text {
    max-width: 100%;
    word-break: break-word;
  }
  .arc-cta-row .btn-primary {
    width: 100%;
    justify-content: center;
    white-space: normal;
    text-align: center;
    word-break: break-word;
  }
  .arc-cta-row .btn-primary span {
    white-space: normal !important;
  }
}


/* ════════════════════════════════
   PARA QUEM  #paraquem
   (substitui ou complementa a versão existente)
   ════════════════════════════════ */
#paraquem { background: var(--gray); }

.paraquem-intro {
  font-size: clamp(0.9rem, 0.95vw, 1.05rem);
  color: var(--gray3);
  font-weight: 300;
  line-height: 1.85;
  max-width: 680px;
  margin-top: 1rem;
  margin-bottom: 4rem;
}

.paraquem-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.paraquem-card {
  background: var(--black);
  padding: 2.5rem;
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  border: 1px solid var(--border);
  position: relative;
  transition: background .18s;
}
.paraquem-card:hover { background: rgba(255,255,255,0.02); }

/* barra de cor no topo por persona */
.paraquem-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
}
.paraquem-card--red::before    { background: var(--red-text); }
.paraquem-card--amber::before  { background: var(--amber); }
.paraquem-card--blue::before   { background: var(--blue2); }
.paraquem-card--purple::before { background: var(--purple); }

.paraquem-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  margin-top: 8px;
  flex-shrink: 0;
  box-shadow: 0 0 8px rgba(255,255,255,0.15);
}

.paraquem-content { flex: 1; }

.paraquem-persona-tag {
  font-size: 0.58rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 0.4rem;
  display: block;
}

.paraquem-title {
  font-family: "Bebas Neue", sans-serif;
  font-size: 1.35rem;
  letter-spacing: 0.04em;
  color: var(--white);
  margin-bottom: 0.7rem;
}

.paraquem-dor {
  font-family: "Instrument Serif", serif;
  font-style: italic;
  font-size: 0.88rem;
  color: var(--gray3);
  line-height: 1.65;
  margin-bottom: 1rem;
}

.paraquem-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin-bottom: 1.4rem;
}
.paraquem-list li {
  font-size: 0.78rem;
  color: var(--gray3);
  font-weight: 300;
  line-height: 1.5;
  padding-left: 1rem;
  position: relative;
}
.paraquem-list li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--red-text);
  font-size: 0.7rem;
}

/* CTAs por persona */
.paraquem-cta {
  display: inline-flex;
  align-items: center;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding-bottom: 2px;
  transition: all .18s;
  border-bottom: 1px solid;
}
.paraquem-cta--red    { color: var(--red-text); border-color: rgba(232,93,36,0.35); }
.paraquem-cta--amber  { color: var(--amber-text); border-color: rgba(186,117,23,0.35); }
.paraquem-cta--blue   { color: var(--blue2);   border-color: rgba(59,130,246,0.35); }
.paraquem-cta--purple { color: var(--purple);  border-color: rgba(127,111,204,0.35); }
.paraquem-cta:hover   { color: var(--white);   border-color: rgba(255,255,255,0.3); }

/* Para Quem responsive */
@media(max-width: 900px) {
  .paraquem-grid { grid-template-columns: 1fr; }
}
@media(max-width: 600px) {
  .paraquem-card { flex-direction: column; gap: 0.8rem; }
}


/* ════════════════════════════════
   DIAGRAMA DO ECOSSISTEMA — hero side
   ════════════════════════════════ */
.ecosystem-diagram {
  position: relative;
  width: 100%;
  aspect-ratio: 400 / 400;
  margin-bottom: 0.75rem;
}
.ecosystem-diagram svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* tooltip abaixo do SVG */
.eco-tooltip {
  position: absolute;
  bottom: -0.25rem;
  left: 0;
  right: 0;
  font-size: 0.68rem;
  color: var(--gray3);
  font-family: "DM Sans", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  text-align: center;
  padding: 0 0.5rem;
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
  min-height: 2.2rem;
}

/* pulso animado no nó central */
@keyframes eco-pulse {
  0%   { transform: scale(1);   opacity: 0.55; }
  100% { transform: scale(1.35); opacity: 0; }
}
.eco-pulse {
  animation: eco-pulse 2.8s ease-out infinite;
  transform-origin: center;
  transform-box: fill-box;
}

/* diagrama: visível até 600px, oculto abaixo disso */

@media(max-width: 600px) {
  .ecosystem-diagram { display: none; }
}
