:root{
  --void:#050810;
  --void-2:#080C16;
  --ink:#0B121F;
  --ink-2:#0F1826;
  --steel:#1C2839;
  --steel-soft:#141E2E;
  --silver:#EDF1F6;
  --slate:#8996A8;
  --slate-dim:#5C6779;
  --volt:#2F8FE0;
  --volt-2:#5BB8FF;
  --deep:#0A4A85;
  --grafeno:#4FB84A;
  --grafeno-2:#79D66F;
  --radius:2px;
  --maxw:1240px;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--void);
  color:var(--silver);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--volt); color:#04070C;}
h1,h2,h3,h4{font-family:'Chakra Petch', sans-serif; font-weight:600; letter-spacing:-0.01em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.mono{font-family:'JetBrains Mono', monospace;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:12px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--volt-2);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{content:""; width:18px; height:1px; background:var(--volt-2);}
.eyebrow.green{color:var(--grafeno-2);}
.eyebrow.green::before{background:var(--grafeno-2);}

/* ---------- hex lattice ---------- */
.hex-bg{
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='146' viewBox='0 0 84 146'%3E%3Cg fill='none' stroke='%2317263B' stroke-width='1'%3E%3Cpath d='M42 0 L84 24 L84 73 L42 97 L0 73 L0 24 Z'/%3E%3Cpath d='M42 97 L84 121 L84 146'/%3E%3Cpath d='M42 97 L0 121 L0 146'/%3E%3Cpath d='M42 0 L42 -24'/%3E%3C/g%3E%3C/svg%3E");
  background-size:84px 146px;
  opacity:0.5;
  pointer-events:none;
}
.hex-fade-bottom{-webkit-mask-image:linear-gradient(to bottom, black 0%, black 55%, transparent 100%); mask-image:linear-gradient(to bottom, black 0%, black 55%, transparent 100%);}
.hex-fade-radial{-webkit-mask-image:radial-gradient(ellipse 70% 60% at 68% 40%, black 0%, transparent 72%); mask-image:radial-gradient(ellipse 70% 60% at 68% 40%, black 0%, transparent 72%);}

/* ---------- nav ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(5,8,16,0.72);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(28,40,57,0.6);
}
nav{max-width:1440px; margin:0 auto; padding:14px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.brand{display:flex; align-items:center; gap:10px; flex:none;}
.brand img{height:34px; width:auto;}
.navlinks{display:flex; gap:26px; align-items:center; flex-wrap:wrap;}
.navlinks a{font-size:13.5px; font-weight:500; color:var(--slate); transition:color .2s ease; position:relative; white-space:nowrap;}
.navlinks a:hover{color:var(--silver);}
.navlinks a.active{color:var(--silver);}
.navlinks a::after{content:""; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--volt); transition:width .25s ease;}
.navlinks a:hover::after{width:100%;}
.navlinks a.active::after{width:100%; background:var(--grafeno-2);}
.nav-cta{font-size:13px; font-weight:600; color:var(--void) !important; background:linear-gradient(135deg, var(--volt-2), var(--volt)); padding:10px 18px; letter-spacing:0.02em;}
.nav-cta::after{display:none;}
.navtoggle{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.navtoggle span{width:22px; height:2px; background:var(--silver); display:block;}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; gap:10px; padding:14px 28px; font-family:'Inter'; font-weight:600; font-size:14px; border:1px solid var(--steel); cursor:pointer; transition:all .25s ease; white-space:nowrap;}
.btn-primary{background:linear-gradient(135deg, var(--volt-2), var(--volt) 60%, var(--deep)); color:#04070C; border:none;}
.btn-primary:hover{filter:brightness(1.12); transform:translateY(-1px);}
.btn-ghost{background:transparent; color:var(--silver); border-color:var(--steel);}
.btn-ghost:hover{border-color:var(--volt); color:var(--volt-2);}
.btn-block{width:100%; justify-content:center;}
.btn svg{width:16px; height:16px;}
.btn:disabled{opacity:0.5; cursor:not-allowed;}

/* ---------- page hero (interior pages) ---------- */
.page-hero{
  position:relative; padding:168px 0 72px; overflow:hidden;
  background:radial-gradient(ellipse 60% 50% at 78% 20%, rgba(47,143,224,0.14), transparent 70%), var(--void);
  border-bottom:1px solid var(--steel);
}
.page-hero .wrap{position:relative; z-index:2;}
.page-hero h1{font-size:clamp(32px,4.6vw,52px); line-height:1.08; margin:16px 0 18px; max-width:760px;}
.page-hero h1 .accent{background:linear-gradient(100deg, var(--grafeno-2), var(--volt-2)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.page-hero p{color:var(--slate); font-size:16px; line-height:1.7; max-width:620px;}
.breadcrumb{display:flex; gap:8px; align-items:center; font-size:12.5px; color:var(--slate-dim); margin-bottom:6px;}
.breadcrumb a{color:var(--slate-dim);}
.breadcrumb a:hover{color:var(--volt-2);}

/* ---------- section shell ---------- */
section{position:relative;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:56px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(26px,3.4vw,40px); color:var(--silver); margin-top:12px; max-width:620px;}
.section-head p{color:var(--slate); font-size:15px; max-width:380px; line-height:1.6;}
.pad{padding:100px 0;}
.pad-sm{padding:64px 0;}
.bordered{border-top:1px solid var(--steel);}
.bordered-b{border-bottom:1px solid var(--steel);}
.bg-alt{background:var(--void-2);}

/* ---------- prose ---------- */
.prose p{color:var(--slate); font-size:15.5px; line-height:1.85; margin-bottom:18px; max-width:680px;}
.prose strong{color:var(--silver); font-weight:600;}
.prose .lead{color:var(--silver); font-size:18px; line-height:1.6; font-family:'Chakra Petch'; font-weight:500; max-width:680px; margin-bottom:24px;}

/* ---------- cards ---------- */
.card-grid{display:grid; gap:1px; background:var(--steel);}
.card-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.card-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.card-grid.cols-5{grid-template-columns:repeat(5,1fr);}
.info-card{background:var(--void-2); padding:40px 32px; min-height:220px; display:flex; flex-direction:column; gap:14px; transition:background .25s ease;}
.info-card:hover{background:var(--ink);}
.info-card .icon{width:38px; height:38px; color:var(--volt-2);}
.info-card h4{font-size:18px; color:var(--silver);}
.info-card p{font-size:13.5px; color:var(--slate); line-height:1.65;}

/* ---------- spec list ---------- */
.spec-list{border-top:1px solid var(--steel); max-width:640px;}
.spec-list dt, .spec-list dd{padding:14px 0; border-bottom:1px solid var(--steel); margin:0;}
.spec-row{display:flex; justify-content:space-between; gap:24px; padding:14px 0; border-bottom:1px solid var(--steel); font-size:14px;}
.spec-row .k{color:var(--slate); flex:1;}
.spec-row .v{color:var(--silver); font-family:'JetBrains Mono'; font-weight:500; text-align:right;}

/* ---------- formula cards ---------- */
.formula-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--steel); max-width:820px;}
.formula-card{background:var(--void-2); padding:24px 26px;}
.formula-card .name{font-size:13px; color:var(--slate); margin-bottom:10px;}
.formula-card .expr{font-family:'JetBrains Mono'; font-size:14px; color:var(--volt-2); line-height:1.6; word-break:break-word;}

/* ---------- tag chips (clients, apps) ---------- */
.chip-row{display:flex; flex-wrap:wrap; gap:12px;}
.chip{border:1px solid var(--steel); padding:10px 18px; font-size:13.5px; color:var(--slate); font-family:'JetBrains Mono'; letter-spacing:0.02em;}

/* ---------- forms ---------- */
.field{margin-bottom:18px;}
.field label{display:block; font-size:12.5px; color:var(--slate); margin-bottom:8px; letter-spacing:0.03em;}
.field .hint{font-size:11.5px; color:var(--slate-dim); margin-top:6px; line-height:1.4;}
.field input[type=text], .field input[type=email], .field input[type=tel], .field input[type=number], .field select, .field textarea{
  width:100%; background:var(--ink); border:1px solid var(--steel); color:var(--silver);
  padding:13px 14px; font-family:'Inter'; font-size:14px; outline:none; transition:border-color .2s ease;
}
.field textarea{resize:vertical; min-height:110px;}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--volt);}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.seg-toggle{display:flex; border:1px solid var(--steel);}
.seg-toggle button{flex:1; background:transparent; border:none; color:var(--slate); padding:11px 8px; font-size:12.5px; font-family:'JetBrains Mono'; cursor:pointer; border-right:1px solid var(--steel); transition:all .2s ease;}
.seg-toggle button:last-child{border-right:none;}
.seg-toggle button.active{background:var(--volt); color:#04070C; font-weight:600;}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--steel); padding:64px 0 32px; background:var(--void-2);}
.footer-top{display:grid; grid-template-columns:1.3fr repeat(3,1fr); gap:40px; padding-bottom:48px; border-bottom:1px solid var(--steel); margin-bottom:32px;}
.footer-brand img{height:26px; margin-bottom:16px;}
.footer-brand p{color:var(--slate); font-size:13.5px; line-height:1.7; max-width:280px;}
.footer-col h5{font-family:'JetBrains Mono'; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--slate-dim); margin-bottom:16px;}
.footer-col a{display:block; color:var(--slate); font-size:14px; margin-bottom:12px; transition:color .2s;}
.footer-col a:hover{color:var(--volt-2);}
.footer-contact-row{display:flex !important; align-items:center; gap:10px;}
.footer-contact-row img{width:22px; height:22px; flex:none;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; color:var(--slate-dim); font-size:12.5px;}
.footer-social{display:flex; align-items:center; gap:14px; order:1;}
.footer-social img{width:26px; height:26px; display:block; opacity:.8; transition:opacity .2s, transform .2s;}
.footer-social a:hover img{opacity:1; transform:translateY(-2px);}
@media(max-width:640px){ .footer-bottom{justify-content:center; text-align:center;} .footer-social{order:0;} }

/* ---------- cta band ---------- */
.cta-band{position:relative; padding:110px 0; text-align:center; overflow:hidden; background:radial-gradient(ellipse 60% 70% at 50% 20%, rgba(47,143,224,0.14), transparent 70%); border-top:1px solid var(--steel);}
.cta-band h2{font-size:clamp(28px,4.4vw,46px); color:var(--silver); margin-bottom:18px; line-height:1.1;}
.cta-band p{color:var(--slate); font-size:15.5px; max-width:480px; margin:0 auto 34px;}
.cta-buttons{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

/* ---------- reveal ---------- */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;} .reveal{opacity:1; transform:none; transition:none;}}

/* ---------- simulator ---------- */
.sim-shell{display:grid; grid-template-columns:380px 1fr; gap:1px; background:var(--steel); border:1px solid var(--steel);}
.sim-form{background:var(--ink); padding:32px;}
.sim-form h3{font-size:16px; color:var(--silver); margin:26px 0 14px;}
.sim-form h3:first-child{margin-top:0;}
.sim-results{background:var(--void-2); padding:32px; min-height:400px;}
.sim-metrics{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--steel); margin-bottom:1px;}
.sim-metric{background:var(--ink); padding:22px 20px;}
.sim-metric .lbl{font-size:11.5px; color:var(--slate-dim); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:8px;}
.sim-metric .val{font-family:'JetBrains Mono'; font-size:24px; font-weight:600; color:var(--volt-2);}
.sim-metric.highlight .val{color:var(--grafeno-2);}
.sim-table{width:100%; border-collapse:collapse; margin-top:24px; font-size:13.5px;}
.sim-table th{text-align:left; font-family:'JetBrains Mono'; font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--slate-dim); padding:10px 12px; border-bottom:1px solid var(--steel);}
.sim-table td{padding:12px; border-bottom:1px solid var(--steel-soft); color:var(--silver);}
.sim-table td:first-child, .sim-table th:first-child{color:var(--slate); font-weight:400;}
.sim-table tr td.enovva, .sim-table tr th.enovva{color:var(--grafeno-2);}
.sim-empty{display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; min-height:340px; color:var(--slate-dim); gap:14px;}
.sim-empty svg{width:44px; height:44px; opacity:0.5;}
.sim-disclaimer{font-size:11.5px; color:var(--slate-dim); line-height:1.6; margin-top:20px; padding-top:20px; border-top:1px solid var(--steel);}
.chart-box{margin-top:28px;}
.chart-box h4{font-size:13px; color:var(--slate); margin-bottom:14px; font-weight:500;}
.chart-box svg{width:100%; height:auto; display:block;}

@media (max-width:980px){
  .navlinks{display:none;}
  .navtoggle{display:flex;}
  .brand img{height:28px;}
  .card-grid.cols-3, .card-grid.cols-2, .card-grid.cols-5{grid-template-columns:1fr;}
  .formula-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .sim-shell{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .wrap{padding:0 20px;}
  .footer-top{grid-template-columns:1fr;}
  .sim-metrics{grid-template-columns:1fr;}
}


.motor-visual{border:1px solid var(--steel); background:var(--ink); aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; margin-bottom:8px;}
.photo-hero{border:1px solid var(--steel); overflow:hidden; margin-bottom:36px;}
.photo-hero img{width:100%; display:block;}
.photo-cap{font-size:12px; color:var(--slate-dim); font-family:'JetBrains Mono'; padding:12px 4px 0;}
.photo-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--steel); border:1px solid var(--steel); margin-bottom:8px;}
.photo-grid-2 figure{margin:0; background:var(--ink);}
.photo-grid-2 img{width:100%; display:block;}
.photo-grid-2 figcaption{font-size:12px; color:var(--slate-dim); font-family:'JetBrains Mono'; padding:14px 16px;}
@media (max-width:760px){.photo-grid-2{grid-template-columns:1fr;}}


.inline-link{color:var(--volt-2); border-bottom:1px solid rgba(91,184,255,0.35); transition:color .2s ease, border-color .2s ease;}
.inline-link:hover{color:var(--grafeno-2); border-bottom-color:var(--grafeno-2);}
/* ---------- nav: acomoda o item "Eficiência Energética" (regras aditivas) ---------- */
@media (max-width:1500px){ .navlinks{gap:14px;} .navlinks a{font-size:12.5px;} }
@media (max-width:1360px){ .navlinks{display:none;} .navtoggle{display:flex;} }
