@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

:root {
  --red:  #D52424;
  --red2: #A81C1C;
  --redg: rgba(213,36,36,.12);
  --bg:   #080808;
  --bg1:  #0f0f0f;
  --bg2:  #161616;
  --bg3:  #1e1e1e;
  --bdr:  rgba(255,255,255,.07);
  --dim:  #555;
  --dim2: #888;
  --fg:   #efefef;
  --fg6:  rgba(239,239,239,.6);
  --font: 'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --e:    cubic-bezier(.25,.46,.45,.94);
  --eo:   cubic-bezier(.16,1,.3,1);
  --t:    .3s var(--e);
  --tf:   .15s var(--e);
  --px:   clamp(20px,5vw,64px);
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; cursor:none !important; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:hidden; }
body { font-family:var(--font); font-size:16px; line-height:1.6; background:var(--bg); color:var(--fg); overflow-x:hidden; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { border:none; background:none; font-family:var(--font); }
::selection { background:var(--red); color:#fff; }
:focus-visible { outline:2px solid var(--red); outline-offset:3px; }
svg { display:inline-block; flex-shrink:0; }

/* CURSOR */
#cdot { position:fixed; z-index:99999; pointer-events:none; width:7px; height:7px; border-radius:50%; background:var(--red); transform:translate(-50%,-50%); will-change:left,top; transition:width .2s,height .2s; }
#cring { position:fixed; z-index:99998; pointer-events:none; width:34px; height:34px; border-radius:50%; border:1.5px solid rgba(213,36,36,.45); transform:translate(-50%,-50%); will-change:left,top; transition:width .25s,height .25s,border-color .25s; }
#cring.big { width:52px; height:52px; border-color:var(--red); }
#cdot.small { width:4px; height:4px; }
@media (hover:none) { #cdot,#cring { display:none !important; } }

.wrap { max-width:1200px; margin:0 auto; padding:0 var(--px); }

@keyframes fup   { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:none} }
@keyframes fin   { from{opacity:0} to{opacity:1} }
@keyframes glow  { 0%,100%{opacity:.6} 50%{opacity:1} }
@keyframes tape  { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes wap   { 0%,100%{box-shadow:0 6px 22px rgba(37,211,102,.35)} 50%{box-shadow:0 6px 22px rgba(37,211,102,.55),0 0 0 9px rgba(37,211,102,.06)} }
@keyframes scanl { 0%{left:-100%} 50%{left:0} 100%{left:100%} }
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
@keyframes nfl   { 0%,100%{opacity:.6} 50%{opacity:1} }
@keyframes bfill { from{width:0} to{width:87%} }
@keyframes bfil2 { from{width:0} to{width:62%} }

.rv,.rl,.rr { opacity:0; transition:opacity .7s var(--e),transform .7s var(--e); }
.rv { transform:translateY(26px); } .rl { transform:translateX(-26px); } .rr { transform:translateX(26px); }
.rv.on,.rl.on,.rr.on { opacity:1; transform:none; }

/* TIPO */
.tag { display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--red); margin-bottom:16px; }
.tag::before { content:''; width:24px; height:1px; background:var(--red); }
.h2 { font-size:clamp(26px,4vw,52px); font-weight:800; line-height:1.08; letter-spacing:-.025em; margin-bottom:14px; overflow:visible; padding-bottom:.08em; }
.h2 em { font-style:normal; color:var(--red); }
.sub { font-size:clamp(14px,1.3vw,16px); color:var(--fg6); line-height:1.75; font-weight:300; max-width:440px; }

/* BOTOES */
.btn { display:inline-flex; align-items:center; gap:8px; padding:14px 26px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; border-radius:3px; white-space:nowrap; line-height:1; transition:background var(--tf),transform var(--tf),box-shadow var(--tf),border-color var(--tf),color var(--tf); }
.btn-red { background:var(--red); color:#fff; }
.btn-red:hover { background:var(--red2); transform:translateY(-2px); box-shadow:0 12px 28px rgba(213,36,36,.28); }
.btn-outline { border:1px solid var(--bdr); color:var(--fg6); }
.btn-outline:hover { border-color:rgba(255,255,255,.28); color:var(--fg); transform:translateY(-2px); }

/* NAV */
.nav { position:fixed; top:0; left:0; right:0; z-index:1000; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px var(--px); transition:background var(--t),padding var(--t); }
.nav.stuck { background:rgba(8,8,8,.93); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); padding-top:13px; padding-bottom:13px; border-bottom:1px solid var(--bdr); }
.nav-logo img { height:70px; width:auto; display:block; }
.nav-links { display:flex; align-items:center; gap:30px; }
.nav-links a { font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--fg6); position:relative; transition:color var(--tf); }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--red); transition:width var(--t); }
.nav-links a:hover,.nav-links a.cur { color:var(--fg); }
.nav-links a:hover::after,.nav-links a.cur::after { width:100%; }
.nav-r { display:flex; align-items:center; gap:14px; flex-shrink:0; }
.lang { display:flex; align-items:center; gap:3px; }
.lb { padding:4px 7px; border-radius:3px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--dim2); transition:color var(--tf),background var(--tf); }
.lb.on,.lb:hover { color:var(--fg); background:var(--bg3); }
.lsep { color:var(--dim); font-size:11px; }
.nav-cta { padding:9px 18px; border:1px solid var(--red); color:var(--fg); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; border-radius:3px; transition:background var(--tf); }
.nav-cta:hover { background:var(--red); }
.ham { display:none; flex-direction:column; gap:5px; z-index:1001; }
.ham span { display:block; width:22px; height:1.5px; background:var(--fg); transition:var(--t); }

/* HERO */
.hero { min-height:100svh; display:flex; align-items:center; padding:0 var(--px); position:relative; overflow:hidden; }
.h-grid { position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px); background-size:72px 72px; }
.h-glow { position:absolute; width:600px; height:600px; background:radial-gradient(circle,rgba(213,36,36,.09) 0%,transparent 68%); top:-80px; right:-80px; animation:glow 7s ease-in-out infinite; pointer-events:none; }
.hero-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4.5vw,62px); align-items:center; padding-top:88px; padding-bottom:58px; width:100%; }
.hero-tag { animation:fup .7s var(--eo) .3s both; }
.hero-title { font-size:clamp(38px,5.2vw,72px); font-weight:900; line-height:1.04; letter-spacing:-.03em; margin-bottom:20px; overflow:visible; padding-bottom:.1em; animation:fup .9s var(--eo) .5s both; }
.hero-title em { font-style:normal; color:var(--red); }
.hero-desc { font-size:clamp(14px,1.3vw,16px); font-weight:300; color:var(--fg6); line-height:1.75; max-width:430px; margin-bottom:30px; animation:fup .8s var(--eo) .7s both; }
.hero-btns { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:26px; animation:fup .8s var(--eo) .9s both; }
.hero-trust { display:flex; align-items:center; gap:16px; flex-wrap:wrap; animation:fup .7s var(--eo) 1.1s both; }
.trust-i { display:flex; align-items:center; gap:7px; font-size:12px; color:var(--fg6); font-weight:500; }
.trust-sep { width:1px; height:13px; background:var(--bdr); flex-shrink:0; }
.hero-scroll { position:absolute; bottom:32px; left:var(--px); z-index:1; display:flex; align-items:center; gap:12px; font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--dim2); animation:fin .8s var(--e) 1.4s both; }
.scroll-ln { width:36px; height:1px; background:var(--dim); position:relative; overflow:hidden; }
.scroll-ln::after { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:var(--red); animation:scanl 2s ease-in-out 1.8s infinite; }

/* DIAGRAMA */
.hero-right { animation:fin .9s var(--eo) .6s both; }
.diagram { background:var(--bg2); border:1px solid var(--bdr); border-radius:10px; overflow:hidden; box-shadow:0 28px 56px rgba(0,0,0,.45); position:relative; }
.diagram::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,var(--red),transparent); pointer-events:none; }
.dgm-bar { background:var(--bg3); padding:11px 15px; display:flex; align-items:center; gap:7px; border-bottom:1px solid var(--bdr); }
.dgm-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.dgm-lbl { margin:0 auto; font-size:11px; color:var(--dim2); letter-spacing:.05em; }
.dgm-live { display:flex; align-items:center; gap:5px; font-size:10px; color:#4ade80; font-weight:700; white-space:nowrap; }
.live-dot { width:6px; height:6px; border-radius:50%; background:#4ade80; flex-shrink:0; animation:wap 2s ease-in-out infinite; }
.dgm-body { padding:18px; }
.dgm-nodes { display:flex; flex-direction:column; gap:8px; }
.dgm-row { display:flex; align-items:center; gap:6px; }
.d-node { flex:1; background:var(--bg3); border:1px solid var(--bdr); border-radius:6px; padding:9px 12px; display:flex; align-items:center; gap:8px; animation:nfl 3s ease-in-out infinite; }
.d-node.red  { border-color:rgba(213,36,36,.4); background:rgba(213,36,36,.06); }
.d-node.grn  { border-color:rgba(34,197,94,.3); background:rgba(34,197,94,.05); }
.d-node.blue { border-color:rgba(130,170,255,.3); background:rgba(130,170,255,.05); }
.d-node:nth-child(1){animation-delay:0s} .d-node:nth-child(3){animation-delay:.6s}
.d-icon { width:14px; height:14px; flex-shrink:0; }
.d-node.red  .d-icon { color:var(--red); }
.d-node.grn  .d-icon { color:#4ade80; }
.d-node.blue .d-icon { color:#82aaff; }
.d-lbl { font-size:11px; font-weight:600; flex:1; }
.d-val { font-size:10px; font-weight:700; color:var(--dim2); white-space:nowrap; }
.d-arr { font-size:10px; color:var(--dim); flex-shrink:0; animation:blink 1.5s ease-in-out infinite; }
.d-arr-v { font-size:10px; color:var(--dim); text-align:center; animation:blink 1.5s .4s infinite; }
.dgm-bars { margin-top:12px; display:flex; flex-direction:column; gap:8px; }
.dbar-lbl { font-size:10px; color:var(--dim2); font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:4px; display:flex; justify-content:space-between; }
.dbar-track { height:4px; background:var(--bg3); border-radius:2px; overflow:hidden; }
.dbar-fill { height:100%; border-radius:2px; }
.dbar-fill.b1 { background:var(--red); animation:bfill 2s var(--eo) 1s both; }
.dbar-fill.b2 { background:#82aaff; animation:bfil2 2s var(--eo) 1.4s both; }

/* TICKER */
.ticker { overflow:hidden; padding:15px 0; border-top:1px solid var(--bdr); border-bottom:1px solid var(--bdr); background:var(--bg2); }
.ticker-track { display:flex; width:max-content; animation:tape 26s linear infinite; }
.ti { display:flex; align-items:center; gap:16px; padding:0 24px; white-space:nowrap; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--dim2); }
.ti-dot { width:5px; height:5px; background:var(--red); border-radius:50%; flex-shrink:0; }

/* SERVICOS HOME */
.services { padding:clamp(70px,9vw,108px) 0; background:var(--bg1); }
.srv-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:48px; }
.srv-link { font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--red); display:inline-flex; align-items:center; gap:7px; border-bottom:1px solid rgba(213,36,36,.5); padding-bottom:2px; margin-top:16px; transition:opacity var(--tf); }
.srv-link:hover { opacity:.75; }
.srv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--bdr); }
.sc { background:var(--bg1); padding:clamp(20px,3.2vw,40px) clamp(16px,2.8vw,32px) clamp(24px,3.5vw,48px); position:relative; overflow:hidden; transition:background var(--t); }
.sc::before { content:''; position:absolute; top:0; left:0; width:100%; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform var(--t); }
.sc:hover { background:var(--bg2); }
.sc:hover::before { transform:scaleX(1); }
.sc-icon { color:var(--red); margin-bottom:16px; width:28px; height:28px; }
.sc-n { display:block; font-size:10px; font-weight:700; letter-spacing:.2em; color:rgba(255,255,255,.07); margin-bottom:10px; transition:color var(--t); }
.sc:hover .sc-n { color:var(--red); }
.sc-name { font-size:clamp(14px,1.7vw,18px); font-weight:800; margin-bottom:9px; line-height:1.25; overflow:visible; }
.sc-desc { font-size:13px; color:var(--fg6); line-height:1.75; font-weight:300; padding-bottom:28px; }
.sc-arr { position:absolute; bottom:20px; right:20px; width:26px; height:26px; border:1px solid var(--bdr); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--dim2); transition:all var(--t); }
.sc:hover .sc-arr { background:var(--red); border-color:var(--red); color:#fff; transform:rotate(45deg); }

/* SOBRE HOME */
.about { padding:clamp(70px,9vw,108px) 0; background:var(--bg); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5.5vw,72px); align-items:center; }
.about-stats { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--bdr); }
.stat { background:var(--bg1); padding:clamp(20px,3.2vw,40px); text-align:center; transition:background var(--t); }
.stat:hover { background:var(--bg2); }
.stat-n { display:block; font-size:clamp(28px,4vw,48px); font-weight:900; line-height:1; letter-spacing:-.03em; margin-bottom:7px; overflow:visible; padding-bottom:.06em; }
.stat-n em { font-style:normal; color:var(--red); }
.stat-l { display:block; font-size:10px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--dim2); line-height:1.4; }
.about-vals { display:flex; flex-direction:column; gap:9px; margin:20px 0 26px; }
.av { display:flex; align-items:flex-start; gap:12px; padding:12px; border:1px solid var(--bdr); border-radius:4px; transition:border-color var(--t),background var(--t); }
.av:hover { border-color:rgba(213,36,36,.35); background:var(--redg); }
.av-i { color:var(--red); flex-shrink:0; margin-top:2px; width:16px; height:16px; }
.av-t { font-size:13px; font-weight:700; margin-bottom:2px; }
.av-d { font-size:12px; color:var(--fg6); font-weight:300; line-height:1.6; }

/* EQUIPE */
.team { padding:clamp(70px,9vw,108px) 0; background:var(--bg2); }
.team-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(16px,3vw,38px); max-width:620px; margin:44px auto 0; }
.tc { background:var(--bg3); border:1px solid var(--bdr); border-radius:10px; padding:clamp(22px,3.2vw,36px) clamp(14px,2.3vw,24px); text-align:center; transition:border-color var(--t),transform var(--t),box-shadow var(--t); }
.tc:hover { border-color:rgba(213,36,36,.4); transform:translateY(-4px); box-shadow:0 16px 38px rgba(0,0,0,.35); }
.tc-photo { width:clamp(88px,11vw,120px); height:clamp(88px,11vw,120px); border-radius:50%; margin:0 auto 18px; position:relative; }
.tc-photo::before { content:''; position:absolute; inset:-3px; border-radius:50%; border:2px solid var(--red); opacity:.5; transition:opacity var(--t); }
.tc:hover .tc-photo::before { opacity:1; }
.tc-photo img { width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:top center; filter:grayscale(15%); transition:filter var(--t); }
.tc:hover .tc-photo img { filter:none; }
.tc-role { display:block; font-size:10px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--red); margin-bottom:5px; }
.tc-name { font-size:clamp(15px,1.9vw,20px); font-weight:800; margin-bottom:13px; letter-spacing:-.01em; overflow:visible; }
.tc-contacts { display:flex; flex-direction:column; gap:7px; }
.tc-c { display:flex; align-items:center; justify-content:center; gap:7px; font-size:12px; color:var(--fg6); transition:color var(--tf); }
.tc-c:hover { color:var(--fg); }
.tc-c-icon { width:13px; height:13px; color:var(--red); flex-shrink:0; }

/* MISSAO */
.mission { padding:clamp(70px,9vw,108px) 0; background:var(--bg1); }
.mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(38px,5.5vw,80px); align-items:start; }
.mission-txt { font-size:clamp(14px,1.3vw,16px); color:var(--fg6); line-height:1.85; font-weight:300; }
.mission-txt strong { color:var(--fg); font-weight:600; }
.vgrid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.vc { padding:clamp(14px,2.2vw,22px); background:var(--bg2); border:1px solid var(--bdr); border-radius:5px; transition:border-color var(--t),transform var(--t); }
.vc:hover { border-color:rgba(213,36,36,.35); transform:translateY(-3px); }
.vc-i { color:var(--red); margin-bottom:10px; width:20px; height:20px; }
.vc-t { font-size:13px; font-weight:700; margin-bottom:5px; }
.vc-d { font-size:12px; color:var(--fg6); line-height:1.65; font-weight:300; }

/* SERVICOS PAGINA */
.sfull { padding:clamp(50px,7vw,86px) 0; background:var(--bg); }
.sfl-grid { display:flex; flex-direction:column; gap:2px; margin-top:42px; }
.sfc { display:grid; grid-template-columns:56px 1fr 1fr; gap:28px; align-items:start; background:var(--bg1); padding:clamp(20px,3.2vw,40px) clamp(18px,3.2vw,48px); border-left:3px solid transparent; transition:background var(--t),border-color var(--t),padding-left var(--t); }
.sfc:hover { background:var(--bg2); border-left-color:var(--red); padding-left:clamp(24px,3.8vw,56px); }
.sfc-n { font-size:11px; font-weight:700; color:var(--red); opacity:.5; padding-top:3px; }
.sfc-name { font-size:clamp(15px,1.9vw,21px); font-weight:800; margin-bottom:7px; letter-spacing:-.015em; overflow:visible; }
.sfc-desc { font-size:13px; color:var(--fg6); line-height:1.8; font-weight:300; }
.sfc-feats { display:flex; flex-direction:column; gap:7px; }
.sfc-f { display:flex; align-items:center; gap:9px; font-size:13px; color:var(--fg6); }
.sfc-f::before { content:''; width:5px; height:5px; background:var(--red); border-radius:50%; flex-shrink:0; }

/* CTA */
.cta { padding:clamp(78px,11vw,122px) var(--px); background:var(--bg1); text-align:center; position:relative; overflow:hidden; }
.cta::before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:520px; height:520px; background:radial-gradient(circle,rgba(213,36,36,.07) 0%,transparent 65%); pointer-events:none; }
.cta-title { font-size:clamp(26px,4.8vw,62px); font-weight:900; line-height:1.05; letter-spacing:-.03em; margin-bottom:14px; overflow:visible; padding-bottom:.08em; }
.cta-sub { font-size:clamp(14px,1.3vw,16px); color:var(--fg6); font-weight:300; margin-bottom:32px; max-width:380px; margin-left:auto; margin-right:auto; }
.cta-btns { display:flex; justify-content:center; gap:11px; flex-wrap:wrap; }

/* PAGE HERO */
.pg-hero { padding:clamp(106px,13vw,146px) 0 clamp(50px,6.5vw,78px); background:var(--bg1); border-bottom:1px solid var(--bdr); }

/* CONTATO */
.contact { padding:clamp(50px,7vw,86px) 0; background:var(--bg); }
.contact-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:clamp(30px,5vw,66px); align-items:start; }
.ci-ttl { font-size:clamp(16px,2vw,22px); font-weight:800; margin-bottom:12px; overflow:visible; }
.ci-txt { font-size:14px; color:var(--fg6); line-height:1.8; font-weight:300; margin-bottom:28px; }
.citem { display:flex; align-items:flex-start; gap:12px; padding:13px 0; border-bottom:1px solid var(--bdr); }
.citem-i { color:var(--red); flex-shrink:0; margin-top:2px; width:15px; height:15px; }
.citem-l { display:block; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--dim2); margin-bottom:3px; }
.citem-v { font-size:14px; }
.citem-v a:hover { color:var(--red); }
.slinks { display:flex; gap:8px; margin-top:22px; }
.sl { width:37px; height:37px; border:1px solid var(--bdr); border-radius:4px; display:flex; align-items:center; justify-content:center; color:var(--dim2); transition:all var(--tf); }
.sl:hover { border-color:var(--red); color:var(--red); background:var(--redg); }
.sl-icon { width:16px; height:16px; }
.form-card { background:var(--bg1); border:1px solid var(--bdr); border-radius:6px; padding:clamp(20px,3.2vw,40px); }
.form-ttl { font-size:clamp(15px,1.8vw,19px); font-weight:800; margin-bottom:20px; overflow:visible; }
.fg { margin-bottom:14px; }
.fl { display:block; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--dim2); margin-bottom:6px; }
.fi,.fsel,.fta { width:100%; padding:12px 13px; background:var(--bg3); border:1px solid var(--bdr); border-radius:4px; color:var(--fg); font-family:var(--font); font-size:14px; outline:none; transition:border-color var(--tf),background var(--tf); -webkit-appearance:none; appearance:none; }
.fi:focus,.fsel:focus,.fta:focus { border-color:var(--red); background:rgba(22,22,22,.9); }
.fi::placeholder,.fta::placeholder { color:var(--dim); }
.fta { resize:vertical; min-height:100px; }
.fsel { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 4.5L11 1' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 13px center; background-color:var(--bg3); padding-right:36px; }
.fsel option { background:#1e1e1e; color:var(--fg); }
.frow { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.fbtn { width:100%; padding:14px; background:var(--red); color:#fff; font-family:var(--font); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; border-radius:4px; border:none; margin-top:4px; transition:background var(--tf),transform var(--tf),box-shadow var(--tf); }
.fbtn:hover { background:var(--red2); transform:translateY(-2px); box-shadow:0 10px 22px rgba(213,36,36,.26); }
.fbtn:disabled { opacity:.6; transform:none; }
.fnote { font-size:11px; color:var(--dim2); text-align:center; margin-top:10px; }
.fok { display:none; margin-top:12px; padding:13px; background:rgba(34,197,94,.09); border:1px solid rgba(34,197,94,.35); border-radius:4px; font-size:13px; text-align:center; color:#4ade80; }
.fok.on { display:block; }
.ferr { display:none; margin-top:12px; padding:13px; background:var(--redg); border:1px solid rgba(213,36,36,.35); border-radius:4px; font-size:13px; text-align:center; }
.ferr.on { display:block; }

/* POLITICA */
.policy { padding:clamp(50px,7vw,86px) 0; background:var(--bg); }
.policy-wrap { max-width:720px; }
.policy-date { font-size:12px; color:var(--dim2); margin-bottom:36px; display:block; }
.policy-wrap h2 { font-size:18px; font-weight:800; margin:32px 0 10px; overflow:visible; }
.policy-wrap p { font-size:14px; color:var(--fg6); line-height:1.85; margin-bottom:11px; font-weight:300; }
.policy-wrap ul { padding-left:17px; margin-bottom:11px; }
.policy-wrap li { list-style:disc; font-size:14px; color:var(--fg6); line-height:1.8; margin-bottom:6px; font-weight:300; }
.policy-wrap a { color:var(--red); }

/* RODAPE */
.footer { background:var(--bg2); border-top:1px solid var(--bdr); padding:clamp(46px,6vw,70px) 0 0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:clamp(20px,3.5vw,46px); padding-bottom:clamp(34px,4.5vw,50px); }
.footer-logo img { height:100px; width:auto; margin-bottom:13px; }
.footer-tagline { font-size:13px; color:var(--fg6); line-height:1.75; font-weight:300; max-width:220px; margin-bottom:18px; }
.footer-h { font-size:10px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--fg); margin-bottom:13px; }
.footer-links { display:flex; flex-direction:column; gap:8px; }
.footer-links a { font-size:13px; color:var(--fg6); font-weight:300; transition:color var(--tf); }
.footer-links a:hover { color:var(--red); }
.footer-ci { display:flex; align-items:flex-start; gap:8px; margin-bottom:10px; font-size:12px; color:var(--fg6); font-weight:300; }
.footer-ci a:hover { color:var(--red); }
.footer-bot { border-top:1px solid var(--bdr); padding:16px 0; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.footer-copy { font-size:11px; color:var(--dim2); }
.footer-copy a:hover { color:var(--red); }
.f-slinks { display:flex; gap:9px; margin-top:18px; }
.f-sl { width:34px; height:34px; border:1px solid var(--bdr); border-radius:4px; display:flex; align-items:center; justify-content:center; color:var(--dim2); transition:all var(--tf); }
.f-sl:hover { border-color:var(--red); color:var(--red); background:var(--redg); }

/* WHATSAPP */
.wa { position:fixed; bottom:26px; right:26px; z-index:900; width:52px; height:52px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 20px rgba(37,211,102,.35); animation:wap 3s ease-in-out infinite; transition:transform var(--t); }
.wa:hover { transform:scale(1.1) translateY(-3px); animation:none; }

/* RESPONSIVE */
@media (max-width:1024px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero-right { display:none; }
  .hero-title { font-size:clamp(40px,8vw,74px); }
  .srv-grid { grid-template-columns:repeat(2,1fr); }
  .srv-head { flex-direction:column; align-items:flex-start; }
  .about-grid { grid-template-columns:1fr; gap:44px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .contact-grid { grid-template-columns:1fr; gap:40px; }
  .mission-grid { grid-template-columns:1fr; gap:40px; }
  .sfc { grid-template-columns:44px 1fr; }
  .sfc .sfc-feats { grid-column:2; }
  .hero-scroll { display:none; }
}
@media (max-width:768px) {
  .nav-links { display:none; position:fixed; inset:0; background:rgba(8,8,8,.97); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); flex-direction:column; justify-content:center; align-items:center; gap:22px; z-index:999; }
  .nav-links.open { display:flex; }
  .nav-links a { font-size:18px; }
  .ham { display:flex; }
  .nav-cta { display:none; }
  .srv-grid { grid-template-columns:1fr; }
  .about-stats { grid-template-columns:1fr 1fr; }
  .team-grid { grid-template-columns:1fr; max-width:290px; }
  .vgrid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:20px; }
  .footer-bot { flex-direction:column; text-align:center; }
  .frow { grid-template-columns:1fr; }
  .sfc { grid-template-columns:1fr; padding:20px 18px; }
  .sfc:hover { padding-left:20px; }
  .sfc-n { display:none; }
}
@media (max-width:480px) {
  .hero-btns,.cta-btns { flex-direction:column; width:100%; }
  .hero-btns .btn,.cta-btns .btn { justify-content:center; }
  .about-stats { grid-template-columns:1fr; }
  .slinks,.f-slinks { flex-wrap:wrap; }
  .tc-photo { width:84px; height:84px; }
}
