/* ==========================================================
Ferro & Forma — layout inspirado na Tequaly
Vinho/roxo profundo cheio nas seções institucionais,
vermelho de destaque, tipografia grande e arredondada
========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700;800;900&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap');

:root{
--vinho-profundo:#3A1638;
--vinho-escuro:#280F27;
--vinho-medio:#5C2955;
--vinho-claro:#8C5586;
--cinza-metal:#B7ADB6;

--vermelho:#E8392F;
--vermelho-escuro:#C42A21;

--bg:#FFFFFF;
--superficie:#FFFFFF;
--secao-alt:#F2F2F3;
--card-bg:#F2F2F3;
--texto:#1C1420;
--texto-muted:#5E5661;
--texto-muted-2:#5E5661;
--borda:#E7E3E8;
--borda-2:#DAD3D9;
--sucesso-bg:#EAF7EE;
--sucesso-cor:#1E6B3A;
--erro-bg:#FDECEA;
--erro-cor:#A32C20;
--sombra:0 25px 55px -30px rgba(58,22,56,.45);

--fonte-display:'Poppins', sans-serif;
--fonte-corpo:'Inter', sans-serif;
--fonte-mono:'JetBrains Mono', monospace;
--ease: cubic-bezier(.22,.61,.36,1);
}

html[data-theme="dark"]{
--bg:#180E17;
--superficie:#241220;
--secao-alt:#1E1220;
--card-bg:#2A1626;
--texto:#F4EEF3;
--texto-muted:#C3B4C0;
--texto-muted-2:#C3B4C0;
--borda:#3A2237;
--borda-2:#48293F;
--sucesso-bg:#123322;
--sucesso-cor:#6FD199;
--erro-bg:#3A1717;
--erro-cor:#E28888;
--sombra:0 30px 60px -30px rgba(0,0,0,.7);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto;}
*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}

body{
font-family:var(--fonte-corpo);
color:var(--texto);
background:var(--bg);
background-image:none !important;
background-repeat:no-repeat !important;
background-size:auto !important;
line-height:1.6;
transition:background-color .4s var(--ease), color .4s var(--ease);
}

body::before,
body::after,
html::before,
html::after,
section::before,
section::after,
div::before,
div::after{
background-image:none !important;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 32px;}

h1,h2,h3,h4{
font-family:var(--fonte-display);
color:var(--texto);
line-height:1.06;
font-weight:800;
letter-spacing:-.01em;
}
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4{ color:var(--texto); }

.regua{width:64px;height:4px;background:var(--vermelho);display:block;margin-bottom:20px;border-radius:2px;}

.eyebrow{
font-family:var(--fonte-mono);
font-size:.72rem;
letter-spacing:.16em;
text-transform:uppercase;
color:var(--vermelho);
margin-bottom:10px;
display:block;
}

/* ---------- Header ---------- */
.header{
position:fixed;top:0;left:0;right:0;z-index:100;
padding:22px 0;
transition:background-color .3s var(--ease), padding .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
border-bottom:1px solid transparent;
}
.header.transparente{background:transparent;}
.header.solido{
background:rgba(255,255,255,.92);
backdrop-filter:blur(10px);
padding:14px 0;
box-shadow:0 6px 24px -18px rgba(58,22,56,.45);
border-bottom-color:var(--borda);
}
html[data-theme="dark"] .header.solido{
background:rgba(36,18,32,.92);
}
.header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{font-family:var(--fonte-display);font-weight:800;font-size:1.3rem;color:#fff;display:flex;align-items:center;gap:9px;transition:color .3s var(--ease);}
.logo .marca{width:30px;height:30px;border-radius:9px;background:var(--vermelho);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;flex-shrink:0;}
.header.solido .logo{color:var(--vinho-profundo);}
html[data-theme="dark"] .header.solido .logo{color:var(--texto);}

.nav{display:flex;align-items:center;gap:30px;flex:1;justify-content:center;}
.nav a{color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.02em;position:relative;padding:4px 0;transition:color .3s var(--ease);}
.header.solido .nav a:not(.btn-header){color:var(--texto-muted);}
.nav a:not(.btn-header):hover{color:var(--vermelho);}
.btn-header{background:var(--vermelho);color:#fff !important;padding:11px 22px;border-radius:999px;font-weight:700;font-size:.85rem;}
.btn-header:hover{background:var(--vermelho-escuro);}
.header-actions{display:flex;align-items:center;gap:14px;}
.header-icone{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;cursor:pointer;transition:border-color .3s var(--ease), color .3s var(--ease), background .3s var(--ease);flex-shrink:0;}
.header.solido .header-icone{color:var(--texto-muted);border-color:var(--borda-2);}
.header-icone:hover{background:var(--vermelho);border-color:var(--vermelho);color:#fff;}
.idioma-toggle{display:flex;align-items:center;gap:5px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:border-color .3s var(--ease), color .3s var(--ease);flex-shrink:0;}
.header.solido .idioma-toggle{color:var(--texto-muted);border-color:var(--borda-2);}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer;}
.header.solido .menu-toggle{color:var(--texto);}

.theme-toggle{width:50px;height:27px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.1);position:relative;cursor:pointer;flex-shrink:0;transition:border-color .3s var(--ease), background-color .3s var(--ease);}
.header.solido .theme-toggle{border-color:var(--borda-2);background:var(--secao-alt);}
.theme-toggle .knob{position:absolute;top:2px;left:2px;width:21px;height:21px;border-radius:50%;background:var(--vermelho);display:flex;align-items:center;justify-content:center;font-size:11px;transition:transform .35s var(--ease);}
html[data-theme="dark"] .theme-toggle .knob{transform:translateX(23px);}

/* ---------- Hero ---------- */
.hero{
position:relative;
min-height:94vh;
display:flex;
flex-direction:column;
justify-content:flex-end;
overflow:hidden;
background:linear-gradient(180deg, var(--vinho-profundo), var(--vinho-escuro));
}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-video-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(20,8,19,.25) 0%, rgba(20,8,19,.5) 50%, rgba(20,8,19,.92) 100%);}
.hero-conteudo{position:relative;z-index:2;padding:190px 0 44px;max-width:1000px;}
.hero h1{
color:#fff;
font-size:clamp(2.8rem, 6.4vw, 5.4rem);
margin-bottom:28px;
}
.hero h1 .destaque{color:var(--vermelho);}
.hero p{color:#EDE3EC;font-size:1.18rem;max-width:640px;margin-bottom:38px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}

.btn{display:inline-flex;align-items:center;gap:10px;padding:17px 30px;font-family:var(--fonte-corpo);font-weight:700;font-size:.88rem;letter-spacing:.03em;text-transform:uppercase;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);}
.btn-icone{width:18px;height:18px;flex-shrink:0;}
.btn-primario{background:var(--vermelho);color:#fff;}
.btn-primario:hover{background:var(--vermelho-escuro);transform:translateY(-2px);}
.btn-secundario{border-color:rgba(255,255,255,.55);color:#fff;}
.btn-secundario:hover

.hero-rodape{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.15);margin-top:48px;}
.hero-rodape .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:20px;padding-bottom:26px;}
.hero-rodape span{font-size:.88rem;color:#D9CBD7;}
.hero-redes-icones{display:flex;gap:10px;}
.hero-redes-icones a{width:34px;height:34px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--fonte-mono);font-size:.68rem;transition:background .2s var(--ease), border-color .2s var(--ease);}
.hero-redes-icones a:hover{background:var(--vermelho);border-color:var(--vermelho);}

/* ---------- Cabeçalho de seção ---------- */
section{padding:100px 0;}
.cabecalho-secao{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:end;margin-bottom:56px;}
.cabecalho-secao h2{font-size:clamp(1.9rem, 3.4vw, 2.8rem);}
.cabecalho-secao .col-texto p{color:var(--texto-muted);font-size:1.02rem;line-height:1.7;}
.secao-clara .cabecalho-secao .regua{background:var(--vermelho);}
.secao-escura{background:var(--vinho-profundo);color:#fff;}
.secao-escura h2, .secao-escura h3{color:#fff;}
.secao-escura .cabecalho-secao .col-texto p{color:#D9CBD7;}
.secao-escura .eyebrow{color:var(--vermelho);}

/* ---------- O que fazemos ---------- */
.fazemos{background:var(--vinho-profundo);}
.fazemos .section-head h2,
.fazemos .section-head p{color:#fff;}
.fazemos .section-head p{color:#D9CBD7;}
.fazemos-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(210px,1fr));
gap:2px;
background:rgba(255,255,255,.14);
border-radius:14px;
overflow:hidden;
}
.fazemos-card{
padding:34px 26px;
background:var(--card-bg);
position:relative;
transition:background .25s var(--ease);
}
.fazemos-card:hover{background:var(--superficie);}
.fazemos-num{display:block;font-family:var(--fonte-mono);font-size:.72rem;color:var(--vermelho);letter-spacing:.08em;margin-bottom:44px;}
.servico-icone{width:46px;height:46px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.servico-icone svg{width:32px;height:32px;stroke:var(--vermelho);fill:none;stroke-width:1.7;}
.fazemos-card p{color:var(--texto-muted);font-size:.95rem;margin-bottom:14px;min-height:70px;}
.fazemos-card h3{font-size:1.15rem;color:var(--texto);font-weight:700;}

/* ---------- Sobre ---------- */
.sobre-metricas{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;max-width:520px;}
.sobre-metrica{border-left:3px solid var(--vermelho);padding-left:14px;}
.sobre-metrica .num{font-family:var(--fonte-display);font-weight:800;font-size:2.1rem;color:var(--vinho-profundo);display:block;}
html[data-theme="dark"] .sobre-metrica .num{color:var(--texto);}
.sobre-metrica .label{font-size:.78rem;color:var(--texto-muted);text-transform:uppercase;letter-spacing:.04em;}
.sobre-corpo{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;}
.sobre-corpo p{color:var(--texto-muted);font-size:1.02rem;line-height:1.75;margin-bottom:10px;}
.sobre-visual{
aspect-ratio:4/5;
border-radius:16px;
background:linear-gradient(160deg, var(--vinho-medio), var(--vinho-profundo));
position:relative;
overflow:hidden;
}
.sobre-visual::after{
content:'';
position:absolute;bottom:22px;left:22px;right:22px;
font-family:var(--fonte-mono);font-size:.7rem;letter-spacing:.1em;color:#fff;
border-top:1px solid rgba(255,255,255,.25);padding-top:12px;
}

/* ---------- Diferenciais ---------- */
.diferenciais{background:var(--vinho-profundo);}
.diferenciais .section-head h2,
.diferenciais .section-head p{color:#fff;}
.diferenciais .section-head p{color:#D9CBD7;}
.diferenciais-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(210px,1fr));gap:2px;background:rgba(255,255,255,.14);border-radius:14px;overflow:visible;}
.diferencial-card{padding:36px 26px;background:var(--card-bg);position:relative;transition:background .25s var(--ease);}
.diferencial-card:hover{background:var(--superficie);}
.diferencial-icone{width:44px;height:44px;margin-bottom:16px;}
.diferencial-icone svg{width:32px;height:32px;stroke:var(--vermelho);fill:none;stroke-width:1.6;}
.diferencial-card p{color:var(--texto-muted);font-size:.92rem;margin-bottom:14px;min-height:60px;}
.diferencial-card h3{font-size:1.05rem;color:var(--texto);font-weight:700;text-transform:none;}
.diferencial-selo{position:absolute;top:-14px;right:-14px;width:64px;height:64px;border-radius:50%;background:var(--vermelho);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--fonte-mono);font-size:.58rem;line-height:1.15;box-shadow:0 8px 18px -6px rgba(232,57,47,.6);}
.diferencial-selo strong{font-family:var(--fonte-display);font-size:1.05rem;display:block;}

/* ---------- Cases ---------- */
.cases{background:var(--secao-alt);}
.cases-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px,1fr));gap:26px;}
.case-card{display:block;background:var(--superficie);border-radius:14px;overflow:hidden;border:1px solid var(--borda);transition:transform .3s var(--ease), box-shadow .3s var(--ease);}
.case-card:hover{transform:translateY(-6px);box-shadow:var(--sombra);}
.case-midia{position:relative;aspect-ratio:16/10;background:var(--vinho-profundo);overflow:hidden;}
.case-midia img, .case-midia video{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.case-card:hover .case-midia img, .case-card:hover .case-midia video{transform:scale(1.06);}
.case-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:var(--vermelho);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;pointer-events:none;}
.case-texto{padding:22px 24px;}
.case-texto .cat{font-family:var(--fonte-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--vermelho);}
.case-texto h3{font-size:1.05rem;margin:8px 0;font-weight:700;}
.case-texto p{color:var(--texto-muted-2);font-size:.9rem;}

/* ---------- Portfólio ---------- */
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.filtro-btn{padding:9px 18px;border:1px solid var(--borda-2);background:var(--superficie);border-radius:999px;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--texto-muted);transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);}
.filtro-btn.ativo,.filtro-btn:hover{background:var(--vinho-profundo);border-color:var(--vinho-profundo);color:#fff;}
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px,1fr));gap:22px;}
.portfolio-item{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--secao-alt);border-radius:14px;border:1px solid var(--borda);}
.portfolio-item img, .portfolio-item video{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease);}
.portfolio-item:hover img, .portfolio-item:hover video{transform:scale(1.08);}
.portfolio-video-tag{position:absolute;top:12px;left:12px;background:var(--vermelho);color:#fff;font-family:var(--fonte-mono);font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;padding:4px 9px;border-radius:4px;}
.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(0deg, rgba(58,22,56,.94) 0%, rgba(58,22,56,0) 55%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;opacity:0;transition:opacity .3s var(--ease);}
.portfolio-item:hover .portfolio-overlay{opacity:1;}
.portfolio-overlay .cat{font-family:var(--fonte-mono);font-size:.68rem;color:#fff;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;}
.portfolio-overlay h4{color:#fff;font-size:1.05rem;font-weight:700;}
.portfolio-vazio{padding:60px 20px;text-align:center;color:var(--texto-muted);border:1px dashed var(--borda-2);border-radius:10px;grid-column:1/-1;}

/* ---------- Clientes ---------- */
.clientes{background:var(--superficie);overflow:hidden;}
.clientes .cabecalho-secao{grid-template-columns:1fr;text-align:center;}
.clientes .cabecalho-secao .regua{margin-left:auto;margin-right:auto;}
.clientes-faixa{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);}
.clientes-trilho{display:flex;align-items:center;gap:64px;width:max-content;animation:rolar-clientes 32s linear infinite;}
.clientes-faixa:hover .clientes-trilho{animation-play-state:paused;}
.cliente-logo{display:flex;align-items:center;justify-content:center;height:52px;flex-shrink:0;}
.cliente-logo img{max-height:100%;max-width:140px;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .25s var(--ease), opacity .25s var(--ease);}
.cliente-logo:hover img{filter:grayscale(0);opacity:1;}
@keyframes rolar-clientes{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- Contato ---------- */
.contato{background:var(--secao-alt);}
.contato .container{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.contato-info-item{display:flex;gap:16px;margin-bottom:22px;}
.contato-info-item .ico{width:42px;height:42px;background:var(--vinho-profundo);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1rem;}
.contato-info-item strong{display:block;color:var(--texto);font-size:.9rem;}
.contato-info-item span{color:var(--texto-muted-2);font-size:.95rem;}
.contato-redes{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap;}
.contato-redes a{width:38px;height:38px;border:1px solid var(--borda-2);color:var(--vinho-profundo);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:background .2s var(--ease), color .2s var(--ease);}
html[data-theme="dark"] .contato-redes a{color:var(--texto);border-color:var(--borda-2);}
.contato-redes a:hover{background:var(--vermelho);color:#fff;border-color:var(--vermelho);}

.form-card{background:var(--superficie);border-radius:16px;border:1px solid var(--borda);padding:38px;box-shadow:var(--sombra);}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--texto);margin-bottom:7px;}
.form-group input,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--borda-2);border-radius:8px;font-family:var(--fonte-corpo);font-size:.95rem;background:var(--bg);color:var(--texto);}
.form-group input:focus,.form-group textarea:focus{outline:2px solid var(--vermelho);outline-offset:1px;}
.form-group textarea{resize:vertical;min-height:110px;}
.alerta{padding:14px 18px;margin-bottom:20px;font-size:.9rem;border-left:3px solid;border-radius:4px;}
.alerta-sucesso{background:var(--sucesso-bg);border-color:#2E8B4F;color:var(--sucesso-cor);}
.alerta-erro{background:var(--erro-bg);border-color:#D84A3B;color:var(--erro-cor);}

/* ---------- Rodapé ---------- */
.rodape{background:var(--vinho-escuro);color:var(--cinza-metal);padding:44px 0;}
.rodape .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-size:.85rem;}
.rodape a{color:#fff;}
.rodape a:hover{color:var(--vermelho);}

/* ---------- WhatsApp flutuante ---------- */
.whatsapp-flutuante{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:90;animation:flutuar 3s ease-in-out infinite;}
@keyframes flutuar{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}

/* ---------- Animações ao rolar ---------- */
[data-animate]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease), transform .7s var(--ease);}
[data-animate].is-visible{opacity:1;transform:translateY(0);}
[data-animate-group] > *{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease), transform .6s var(--ease);}
[data-animate-group].is-visible > *{opacity:1;transform:translateY(0);}
[data-animate-group].is-visible > *:nth-child(1){transition-delay:.03s;}
[data-animate-group].is-visible > *:nth-child(2){transition-delay:.09s;}
[data-animate-group].is-visible > *:nth-child(3){transition-delay:.15s;}
[data-animate-group].is-visible > *:nth-child(4){transition-delay:.21s;}
[data-animate-group].is-visible > *:nth-child(5){transition-delay:.27s;}
[data-animate-group].is-visible > *:nth-child(6){transition-delay:.33s;}

/* ---------- Responsivo ---------- */
@media (max-width:900px){
.cabecalho-secao,.sobre-corpo,.contato .container{grid-template-columns:1fr;gap:30px;}
.sobre-visual{order:-1;aspect-ratio:16/9;}
.fazemos-grid,.diferenciais-grid{grid-template-columns:1fr 1fr;}
.nav{display:none;}
}
@media (max-width:760px){
.nav{position:fixed;top:70px;left:0;right:0;background:var(--vinho-profundo);flex-direction:column;align-items:flex-start;padding:20px 24px 30px;gap:18px;transform:translateY(-130%);transition:transform .3s var(--ease);display:flex;}
.nav.aberto{transform:translateY(0);}
.menu-toggle{display:block;}
.idioma-toggle{display:none;}
.fazemos-grid,.diferenciais-grid{grid-template-columns:1fr;}
section{padding:70px 0;}
}
html, body, * {
  background-image: none !important;
}