:root {
  --ink: #07100d;
  --ink-2: #0d1a15;
  --ink-3: #14241d;
  --line: rgba(227, 247, 232, 0.16);
  --acid: #b8f500;
  --green: #12df68;
  --mist: #e8eee8;
  --ash: #a4afa8;
  --white: #f7faf7;
  --mono: "DM Mono", monospace;
  --display: "Space Grotesk", sans-serif;
  --body: "Manrope", sans-serif;
  --ease-out: cubic-bezier(.23,1,.32,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; background: var(--ink); color: var(--white); font-family: var(--body); overflow-x: hidden; }
body.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { border: 0; cursor: pointer; }
img { display: block; max-width: 100%; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position: fixed; z-index: 200; top: -5rem; left: 1rem; background: var(--acid); color: var(--ink); padding: .75rem 1rem; font-weight: 800; border-radius: .25rem; }
.skip-link:focus { top: 1rem; }
.page-noise { pointer-events:none; position:fixed; inset:0; z-index:80; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.section-shell { width:min(1440px, 100%); margin-inline:auto; padding-inline:clamp(1.25rem, 4vw, 4.5rem); }
.section-pad { padding-top:clamp(5rem, 10vw, 10rem); padding-bottom:clamp(5rem, 10vw, 10rem); }
.site-header { width:min(1440px, 100%); height:88px; position:absolute; inset:0 0 auto; z-index:30; display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; gap:2.5rem; padding:0 clamp(1.25rem, 4vw, 4.5rem); margin:auto; border-bottom:1px solid var(--line); }
.brand { width:166px; }
.brand img { width:100%; height:auto; }
.menu { display:flex; align-items:center; gap:1.5rem; font-size:.72rem; font-weight:700; letter-spacing:.01em; }
.menu a { color:rgba(255,255,255,.72); transition:color .2s var(--ease-out); white-space:nowrap; }
.menu a:hover, .menu a:focus-visible { color:var(--acid); }
.menu-link-external { color:var(--green)!important; }
.menu-link-external span { font-family:var(--mono); }
.header-cta { justify-self:end; display:flex; align-items:center; gap:.85rem; padding:.85rem 1rem; background:var(--acid); color:var(--ink); text-transform:uppercase; font-size:.64rem; letter-spacing:.06em; font-weight:800; transition:transform .18s var(--ease-out), background .18s; }
.header-cta:hover { background:var(--green); transform:translateY(-2px); }
.header-cta:active, .button:active { transform:scale(.97); }
.menu-toggle { display:none; }

.hero { position:relative; min-height: min(880px, 100svh); overflow:hidden; display:flex; align-items:flex-end; padding-top:9rem; padding-bottom:4.4rem; }
#energy-canvas { position:absolute; inset:0; width:100%; height:100%; opacity:.7; }
.grid-overlay { position:absolute; inset:0; background-image:linear-gradient(rgba(209,251,226,.055) 1px, transparent 1px),linear-gradient(90deg, rgba(209,251,226,.055) 1px, transparent 1px); background-size:clamp(40px, 5vw, 80px) clamp(40px, 5vw, 80px); -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), transparent 88%); mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), transparent 88%); }
.hero-layout { position:relative; z-index:2; width:100%; display:grid; grid-template-columns:minmax(0, .95fr) minmax(430px, .85fr); gap:clamp(2rem, 7vw, 8rem); align-items:end; }
.hero-copy { max-width:690px; padding-bottom:1.25rem; }
.eyebrow { display:flex; align-items:center; gap:.6rem; margin:0 0 1.25rem; font:500 .64rem/1.4 var(--mono); letter-spacing:.12em; text-transform:uppercase; color:var(--green); }
.eyebrow.dark { color:#39724d; }
.pulse-dot, .eyebrow span, .mono-label i { width:7px; height:7px; display:inline-block; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(18,223,104,.12), 0 0 14px rgba(18,223,104,.9); }
.eyebrow.dark span { background:var(--ink); box-shadow:none; }
h1,h2,h3,p { margin-top:0; }
h1, h2, h3 { font-family:var(--display); letter-spacing:-.065em; }
h1 { max-width:730px; margin-bottom:1.6rem; font-size:clamp(3.9rem, 8vw, 8.6rem); line-height:.86; font-weight:600; }
h1 em, h2 em { color:var(--green); font-style:normal; font-weight:400; }
.hero-lead { max-width:590px; color:rgba(242,250,244,.74); font-size:clamp(.96rem,1.2vw,1.12rem); line-height:1.8; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:2.2rem; }
.button { min-height:51px; display:inline-flex; align-items:center; justify-content:center; gap:1rem; padding:0 1.25rem; text-transform:uppercase; font:700 .67rem var(--mono); letter-spacing:.05em; transition:transform .18s var(--ease-out), background .18s, color .18s, border-color .18s; }
.button span { font-size:1.1rem; line-height:0; }
.button-primary { background:var(--acid); color:var(--ink); }
.button-primary:hover { background:var(--green); transform:translateY(-2px); }
.button-ghost { color:var(--white); border:1px solid rgba(255,255,255,.36); }
.button-ghost:hover { border-color:var(--green); color:var(--green); }
.hero-footnotes { display:flex; flex-wrap:wrap; gap:1.5rem; margin-top:4.2rem; color:rgba(231,242,234,.64); text-transform:uppercase; font:500 .57rem var(--mono); letter-spacing:.08em; }
.hero-footnotes span { position:relative; padding-left:.85rem; }
.hero-footnotes span:before { position:absolute; left:0; top:50%; content:""; width:4px; height:4px; transform:translateY(-50%); border-radius:50%; background:var(--green); }
.hero-visual { position:relative; min-width:0; }
.visual-frame { position:relative; min-height:420px; overflow:hidden; border:1px solid rgba(218,249,229,.2); background:#10231a; clip-path:polygon(0 0,100% 0,100% 91%,91% 100%,0 100%); }
.visual-frame img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:57% 50%; filter:saturate(.85) contrast(1.04); transition:transform .8s var(--ease-out); }
.hero-visual:hover .visual-frame img { transform:scale(1.035); }
.image-shade { position:absolute; inset:0; background:linear-gradient(90deg, rgba(5,16,11,.24), rgba(7,16,13,.15) 48%, rgba(7,16,13,.8)),linear-gradient(0deg, rgba(5,16,11,.78), transparent 56%); }
.frame-label { position:absolute; z-index:2; display:flex; align-items:center; gap:.55rem; color:#eaffec; font:500 .56rem var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.frame-label i { width:6px; height:6px; background:var(--green); }
.frame-label b { color:rgba(245,255,246,.48); font-weight:400; margin-left:.5rem; }
.top-label { top:1rem; left:1rem; }
.bottom-label { justify-content:space-between; inset:auto 1rem 1rem; border-top:1px solid rgba(234,255,238,.34); padding-top:.65rem; }
.bottom-label span { color:var(--green); }
.operating-card { position:absolute; z-index:4; width:min(340px,68%); left:-2.8rem; bottom:-3.25rem; padding:1.2rem 1.25rem 1.15rem; background:rgba(243,249,244,.96); color:var(--ink); box-shadow:20px 24px 52px rgba(0,0,0,.3); }
.mono-label { display:flex; align-items:center; gap:.45rem; margin:0 0 .9rem; font:500 .54rem var(--mono); letter-spacing:.09em; text-transform:uppercase; color:#48765a; }
.operating-card .mono-label span { width:5px; height:5px; background:var(--green); border-radius:50%; }
.operating-card h2 { margin:.15rem 0; font-size:1.58rem; letter-spacing:-.06em; }
.card-location { color:#6f8077; font:500 .57rem var(--mono); letter-spacing:.04em; }
.card-stats { display:flex; justify-content:space-between; gap:.5rem; padding:.9rem 0 .8rem; border-top:1px solid rgba(15,38,26,.12); }
.card-stats span { display:flex; flex-direction:column; font:500 .5rem var(--mono); text-transform:uppercase; color:#728277; }
.card-stats b { margin-bottom:.22rem; color:#134125; font:700 .85rem var(--display); letter-spacing:-.04em; }
.operating-card button { padding:0; background:none; color:#0d4c26; font:600 .62rem var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.operating-card button strong { margin-left:.6rem; font-size:1rem; }
.energy-ticket { position:absolute; z-index:5; right:-1.55rem; bottom:-1.7rem; padding:.78rem .95rem; transform:rotate(-8deg); color:var(--ink); background:var(--green); font:500 .58rem/1.3 var(--mono); text-transform:uppercase; letter-spacing:.06em; box-shadow:12px 14px 28px rgba(0,0,0,.26); }
.energy-ticket b { font-family:var(--display); font-size:.8rem; letter-spacing:-.05em; text-transform:none; }
.hero-coordinates { position:absolute; z-index:2; bottom:1.15rem; left:clamp(1.25rem, 4vw, 4.5rem); right:clamp(1.25rem, 4vw, 4.5rem); display:flex; justify-content:space-between; color:rgba(218,251,226,.36); font:400 .54rem var(--mono); letter-spacing:.08em; }

.impact-strip { width:min(1440px,100%); margin:auto; display:grid; grid-template-columns:.9fr 2.1fr; gap:2rem; padding:2.05rem clamp(1.25rem, 4vw, 4.5rem); background:#0d1d16; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.impact-intro { display:grid; gap:.4rem; padding-right:1rem; }
.impact-intro span { color:#8fa398; text-transform:uppercase; font:500 .56rem var(--mono); letter-spacing:.08em; }
.impact-intro strong { max-width:190px; font:500 1.12rem/1.1 var(--display); letter-spacing:-.05em; }
.impact-items { display:grid; grid-template-columns:repeat(3,1fr); }
.impact-items article { padding:0 1.45rem; border-left:1px solid var(--line); }
.impact-items b { color:var(--green); font:500 .59rem var(--mono); }
.impact-items h2 { margin:.5rem 0 .35rem; font-size:1.1rem; }
.impact-items p { margin:0; color:#8e9f94; font-size:.7rem; line-height:1.55; }

.solutions { background:var(--mist); color:var(--ink); }
.split-heading { display:grid; grid-template-columns:1.15fr .62fr; align-items:end; gap:3rem; margin-bottom:3.5rem; }
.section-heading h2, .fleet-title h2, .why-copy h2, .process-heading h2, .quote-section h2 { margin:0; font-size:clamp(2.65rem,5.3vw,5.8rem); line-height:.92; font-weight:600; }
.split-heading > p { max-width:450px; margin:0 0 .5rem; color:#496154; font-size:.93rem; line-height:1.75; }
.solution-grid { display:grid; grid-template-columns:1.2fr .9fr .9fr; grid-auto-rows:minmax(280px, 32vw); gap:1rem; }
.solution-card { position:relative; overflow:hidden; min-height:280px; }
.solution-card img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease-out); }
.solution-card:hover img { transform:scale(1.04); }
.solution-featured { grid-row:span 1; }
.solution-image { grid-row:span 1; }
.card-gradient { position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,17,10,.88),rgba(8,26,15,.12) 72%); }
.solution-content { position:absolute; z-index:2; inset:auto 1.25rem 1.2rem; }
.solution-content span { color:rgba(241,255,245,.7); font:500 .56rem var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.solution-content h3 { max-width:310px; margin:.6rem 0 1rem; color:var(--white); font-size:clamp(1.4rem,2.1vw,2.25rem); line-height:.94; font-weight:500; }
.solution-content a { display:inline-flex; align-items:center; gap:.75rem; color:var(--acid); font:600 .62rem var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.solution-content a b { font-size:1.15rem; }
.solution-dark { display:flex; flex-direction:column; padding:1.4rem; background:var(--ink-2); color:var(--white); }
.solution-dark h3 { max-width:330px; margin:2.2rem 0 1rem; font-size:clamp(1.65rem,2.8vw,3rem); line-height:.92; font-weight:500; }
.solution-dark p { max-width:315px; color:#b7c4bb; font-size:.8rem; line-height:1.65; }
.power-list { display:flex; flex-direction:column; gap:0; margin-top:auto; padding-top:.55rem; border-top:1px solid rgba(242,255,244,.15); }
.power-list span { display:grid; grid-template-columns:1.25rem 1fr auto; align-items:baseline; gap:.25rem; min-height:2.15rem; padding:.27rem 0; border-bottom:1px solid rgba(242,255,244,.1); color:var(--green); }
.power-list span:last-child { border-bottom:0; }
.power-list i { color:#8ba899; font:500 .5rem var(--mono); font-style:normal; }
.power-list b { font:500 clamp(1.05rem,1.75vw,1.48rem)/1 var(--display); letter-spacing:-.06em; }
.power-list em { padding-bottom:.08rem; color:#9bd4ac; font:500 .54rem var(--mono); font-style:normal; text-transform:uppercase; }

.why { display:grid; grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr); background:var(--ink-2); }
.why-visual { position:relative; min-height:680px; overflow:hidden; }
.why-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,16,11,.5),transparent 60%); }
.why-visual img { width:100%; height:100%; object-fit:cover; object-position:50% 73%; filter:saturate(.8) contrast(1.05); }
.vertical-tag { position:absolute; z-index:2; top:2rem; left:1rem; color:#d9fce1; font:500 .55rem var(--mono); letter-spacing:.12em; writing-mode:vertical-rl; transform:rotate(180deg); }
.why-copy { padding-left:clamp(1.5rem,7vw,9rem); padding-right:clamp(1.5rem,7vw,9rem); align-self:center; }
.why-copy h2 { margin-bottom:1.7rem; color:var(--white); }
.large-copy { max-width:580px; color:#b7c9bc; font-size:clamp(.95rem,1.3vw,1.13rem); line-height:1.8; }
.reason-list { margin-top:2.6rem; border-top:1px solid var(--line); }
.reason-list article { display:grid; grid-template-columns:2.4rem 1fr; gap:.5rem; padding:1.15rem 0; border-bottom:1px solid var(--line); }
.reason-list b { color:var(--green); font:500 .62rem var(--mono); }
.reason-list h3 { margin:0 0 .35rem; color:var(--white); font-size:1.12rem; font-weight:500; }
.reason-list p { margin:0; color:#a4b5a9; font-size:.77rem; line-height:1.55; }

.fleet { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(2rem,6vw,7rem); background:#dce5dc; color:var(--ink); }
.fleet-title { align-self:start; position:sticky; top:2rem; }
.fleet-title h2 { margin-bottom:1.6rem; }
.fleet-title p:last-child { max-width:350px; color:#496054; font-size:.9rem; line-height:1.7; }
.fleet-gallery { display:grid; grid-template-columns:1.05fr .7fr; align-items:end; gap:1rem; }
.fleet figure { margin:0; }
.fleet figure img { width:100%; object-fit:cover; }
.gallery-large img { aspect-ratio:.77; object-position:50% 75%; }
.gallery-small { margin-bottom:3.7rem!important; }
.gallery-small img { aspect-ratio:.85; object-position:45% 50%; }
.fleet figcaption { display:flex; gap:.5rem; margin-top:.7rem; color:#496054; font:500 .57rem var(--mono); text-transform:uppercase; letter-spacing:.09em; }
.fleet figcaption span { color:#0f9c45; }

.process { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); padding-inline:0; background:var(--ink); }
.process-video { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:760px; padding:clamp(3rem,6vw,6rem); background:linear-gradient(145deg,#11291c 0%,#0b1d14 62%,#07110d 100%); border-right:1px solid var(--line); }
.video-heading { max-width:420px; margin-bottom:1.35rem; }
.video-heading > p:last-child { margin:0; color:#a6b8aa; font-size:.81rem; line-height:1.6; }
.video-frame { position:relative; width:100%; aspect-ratio:16 / 9; overflow:hidden; border:1px solid rgba(221,255,228,.23); background:#06100c; box-shadow:18px 22px 45px rgba(0,0,0,.25); }
.video-frame--vertical { width:min(100%, 390px); aspect-ratio:9 / 16; }
.video-frame:after { content:"ENERGE / OPERAÇÃO"; position:absolute; top:.65rem; left:.65rem; z-index:1; color:#dcf9e2; font:500 .48rem var(--mono); letter-spacing:.09em; pointer-events:none; }
.video-frame iframe { display:block; width:100%; height:100%; border:0; }
.process-content { padding-left:clamp(1.5rem,6vw,7.5rem); padding-right:clamp(1.5rem,6vw,7.5rem); }
.process-heading { display:grid; grid-template-columns:1.15fr .55fr; gap:3rem; align-items:end; margin-bottom:3.6rem; }
.process-heading h2 { color:var(--white); }
.process-heading > p:last-child { max-width:420px; margin:0; color:#a6b8aa; line-height:1.7; font-size:.9rem; }
.process-list { display:grid; grid-template-columns:repeat(4,1fr); margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.process-list li { min-height:218px; padding:1.3rem 1.3rem 1rem; border-right:1px solid var(--line); }
.process-list li:first-child { border-left:1px solid var(--line); }
.process-list span { color:var(--green); font:500 .6rem var(--mono); }
.process-list h3 { max-width:180px; margin:2.85rem 0 .6rem; color:var(--white); font-size:1.32rem; line-height:.97; font-weight:500; }
.process-list p { color:#98aa9d; font-size:.72rem; line-height:1.65; }

@media (min-width:1101px) {
  .process-heading { grid-template-columns:minmax(0,1.28fr) minmax(220px,.72fr); column-gap:clamp(2rem,4vw,4rem); row-gap:1rem; align-items:end; margin-bottom:2.6rem; }
  .process-heading .eyebrow { grid-column:1 / -1; margin-bottom:.15rem; }
  .process-heading h2 { grid-column:1; grid-row:2; max-width:650px; }
  .process-heading > p:last-child { grid-column:2; grid-row:2; max-width:300px; margin-bottom:.35rem; }
  .desktop-break { display:none; }
}

.quote-section { position:relative; overflow:hidden; background:#123c25; padding-top:clamp(5rem,10vw,10rem); padding-bottom:clamp(5rem,10vw,10rem); }
.quote-section:before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(175,255,198,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(175,255,198,.1) 1px,transparent 1px); background-size:62px 62px; mask-image:linear-gradient(90deg,rgba(0,0,0,.8),transparent); }
.quote-glow { position:absolute; width:58vw; height:58vw; max-width:900px; max-height:900px; border-radius:50%; right:-16%; top:-35%; background:radial-gradient(circle,rgba(21,236,103,.57),rgba(21,236,103,0) 65%); filter:blur(12px); }
.quote-inner { position:relative; display:grid; grid-template-columns:1fr .8fr; gap:clamp(2rem,11vw,11rem); align-items:end; }
.quote-section h2 { color:var(--white); }
.quote-info > p { max-width:440px; color:#c1d7c7; line-height:1.7; font-size:.96rem; }
.quote-tags { display:flex; flex-wrap:wrap; gap:.55rem; margin:1.75rem 0; }
.quote-tags span { padding:.53rem .68rem; border:1px solid rgba(224,255,230,.27); color:#e5f7e7; font:500 .55rem var(--mono); text-transform:uppercase; letter-spacing:.045em; }

.site-footer { background:#06100c; border-top:1px solid var(--line); }
.footer-main { display:grid; grid-template-columns:1.18fr .9fr .9fr 1.05fr; gap:2rem; padding-top:4.5rem; padding-bottom:4rem; }
.footer-brand img { width:185px; }
.footer-brand > p { margin:1.3rem 0 2rem; color:#94aa9b; font-size:.87rem; }
.footer-brand > a { display:inline-flex; align-items:center; gap:.7rem; color:var(--green); font:600 .64rem var(--mono); text-transform:uppercase; letter-spacing:.04em; }
.footer-contact h2,.footer-links h2 { margin:0 0 1.15rem; color:var(--white); font-size:1.04rem; font-weight:500; letter-spacing:-.04em; }
.footer-contact h2 span { color:var(--green); }
.footer-contact address,.footer-contact a,.footer-links a { display:block; margin-bottom:.55rem; color:#93a89a; font-size:.69rem; font-style:normal; line-height:1.6; transition:color .18s; }
.footer-contact a:hover,.footer-links a:hover { color:var(--green); }
.footer-contact a { color:#c4d6c8; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding-top:1.2rem; padding-bottom:1.2rem; border-top:1px solid var(--line); color:#6d8173; font:500 .55rem var(--mono); text-transform:uppercase; letter-spacing:.055em; }
.footer-bottom div { display:flex; gap:.85rem; }
.footer-bottom a:hover { color:var(--green); }

.quote-modal { width:min(550px,calc(100% - 2rem)); padding:clamp(1.35rem,4vw,2.25rem); border:1px solid rgba(199,255,209,.17); background:#0d1e16; color:var(--white); box-shadow:0 22px 80px rgba(0,0,0,.65); }
.quote-modal::backdrop { background:rgba(3,10,7,.72); backdrop-filter:blur(8px); }
.modal-close { position:absolute; top:.7rem; right:.8rem; width:2rem; height:2rem; color:#d8e9dc; background:transparent; font-size:2rem; line-height:1; }
.modal-mark { position:absolute; right:1.9rem; top:1.5rem; opacity:.9; }
.modal-mark img { width:28px; }
.quote-modal h2 { margin:.6rem 0 1rem; font-size:clamp(2.25rem,5vw,3.4rem); line-height:.9; }
.quote-modal h2 em { color:var(--green); font-style:normal; }
.modal-intro { max-width:370px; color:#aebfaf; font-size:.82rem; line-height:1.6; }
.quote-modal form { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-top:1.55rem; }
.quote-modal label { display:grid; gap:.35rem; color:#c6d6c9; font:500 .59rem var(--mono); letter-spacing:.045em; text-transform:uppercase; }
.quote-modal label:nth-child(5), .quote-modal label:nth-child(6), .quote-modal .form-consent, .quote-modal button, .form-status { grid-column:1 / -1; }
.quote-modal input,.quote-modal select { width:100%; min-height:43px; padding:0 .75rem; border:1px solid rgba(220,255,228,.2); border-radius:0; outline:none; color:var(--white); background:#122a1d; font:500 .76rem var(--body); }
.quote-modal select option { color:var(--ink); background:var(--white); }
.quote-modal input:focus,.quote-modal select:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(18,223,104,.12); }
.quote-modal .button { margin-top:.35rem; }
.form-note { margin:.9rem 0 0; color:#819187; font-size:.62rem; }
.form-consent { display:flex !important; align-items:flex-start; gap:.55rem !important; padding:.3rem 0; color:#aebfaf !important; font:400 .65rem/1.45 var(--body) !important; letter-spacing:0 !important; text-transform:none !important; }
.form-consent input { flex:0 0 auto; width:15px; min-height:15px; height:15px; margin:.1rem 0 0; accent-color:var(--green); }
.form-consent a { color:var(--green); text-decoration:underline; text-underline-offset:2px; }
.form-consent--optional { color:#82968a !important; }
.form-honeypot { position:absolute !important; left:-9999px !important; opacity:0 !important; pointer-events:none !important; }
.form-status { min-height:1.2rem; margin:0; color:#ffb6a9; font-size:.68rem; line-height:1.45; }
.form-status.is-success { color:var(--green); }
.quote-modal button[disabled] { cursor:wait; opacity:.65; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease-out),transform .7s var(--ease-out); }
.reveal.is-visible { opacity:1; transform:translateY(0); }
.delay-1 { transition-delay:.1s; }.delay-2 { transition-delay:.18s; }.delay-3 { transition-delay:.26s; }

@media (max-width:1100px) {
  .site-header { grid-template-columns:1fr auto; gap:1rem; }
  .menu { position:absolute; top:88px; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:1rem clamp(1.25rem,4vw,4.5rem) 1.3rem; background:#0b1b14; border-bottom:1px solid var(--line); }
  .menu.is-open { display:flex; }
  .menu a { padding:.83rem 0; border-bottom:1px solid rgba(255,255,255,.08); }
  .menu-toggle { justify-self:end; display:grid; place-content:center; gap:4px; width:42px; height:42px; background:transparent; }
  .menu-toggle span:not(.sr-only) { width:20px; height:1px; display:block; background:var(--white); transition:transform .2s; }
  .menu-toggle.is-open span:nth-child(1) { transform:translateY(5px) rotate(45deg); }
  .menu-toggle.is-open span:nth-child(2) { opacity:0; }
  .menu-toggle.is-open span:nth-child(3) { transform:translateY(-5px) rotate(-45deg); }
  .header-cta { display:none; }
  .hero-layout { grid-template-columns:minmax(0,1fr) minmax(360px,.75fr); gap:2rem; }
  .footer-main { grid-template-columns:1.1fr 1fr 1fr; }
  .footer-links { grid-column:2 / -1; }
}
@media (max-width:760px) {
  .hero { min-height:860px; padding-top:7rem; padding-bottom:5rem; }
  .hero-layout { grid-template-columns:1fr; gap:2.8rem; }
  .hero-copy { padding-bottom:0; }
  h1 { max-width:600px; font-size:clamp(3.6rem,16vw,5.7rem); }
  .hero-lead { max-width:510px; font-size:.91rem; line-height:1.7; }
  .hero-footnotes { gap:.7rem 1.1rem; margin-top:2.5rem; }
  .hero-visual { width:calc(100% - 1.4rem); margin-left:1.4rem; }
  .visual-frame { min-height:285px; }
  .operating-card { left:-1.4rem; bottom:-4rem; width:min(330px,83%); }
  .energy-ticket { right:-.7rem; bottom:-1.65rem; }
  .hero-coordinates { bottom:.8rem; font-size:.47rem; }
  .hero-coordinates span:nth-child(2) { display:none; }
  .impact-strip { grid-template-columns:1fr; gap:1.4rem; }
  .impact-intro strong { max-width:none; }
  .impact-items { grid-template-columns:1fr; border-top:1px solid var(--line); }
  .impact-items article { padding:1rem 0 1rem 1rem; border-bottom:1px solid var(--line); }
  .split-heading,.process-heading,.quote-inner { grid-template-columns:1fr; gap:1.5rem; }
  .solution-grid { grid-template-columns:1fr; grid-auto-rows:340px; }
  .solution-dark { min-height:340px; }
  .why { grid-template-columns:1fr; }
  .why-visual { min-height:420px; }
  .why-copy { padding-left:clamp(1.25rem, 4vw, 2rem); padding-right:clamp(1.25rem,4vw,2rem); }
  .fleet { grid-template-columns:1fr; }
  .fleet-title { position:static; }
  .fleet-gallery { grid-template-columns:1fr 1fr; }
  .gallery-small { margin-bottom:1.5rem!important; }
  .process-list { grid-template-columns:1fr 1fr; }
  .process { grid-template-columns:1fr; }
  .process-video { min-height:0; padding:clamp(3.5rem,10vw,5rem) clamp(1.25rem,4vw,2rem); border-right:0; border-bottom:1px solid var(--line); }
  .video-frame--vertical { width:min(100%, 360px); }
  .process-content { padding-left:clamp(1.25rem,4vw,2rem); padding-right:clamp(1.25rem,4vw,2rem); }
  .process-list li:nth-child(odd) { border-left:1px solid var(--line); }
  .process-list h3 { margin-top:2rem; }
  .footer-main { grid-template-columns:1fr 1fr; row-gap:2.5rem; }
  .footer-brand { grid-column:1/-1; }
  .footer-links { grid-column:1/-1; }
  .whatsapp-float { right:.85rem; bottom:.85rem; }
}
@media (max-width:460px) {
  .brand { width:148px; }
  .site-header { height:76px; }
  .menu { top:76px; }
  .hero { padding-top:6.2rem; }
  .hero-actions { align-items:stretch; }
  .button { width:100%; }
  .hero-footnotes { font-size:.5rem; }
  .visual-frame { min-height:250px; }
  .operating-card { left:-1.25rem; padding:1rem; bottom:-4.7rem; }
  .energy-ticket { display:none; }
  .impact-items article { display:grid; grid-template-columns:2rem 1fr; column-gap:.3rem; }
  .impact-items b { grid-row:1/3; }
  .impact-items h2 { margin:.25rem 0; }
  .process-list { grid-template-columns:1fr; }
  .process-list li { min-height:0; border-left:1px solid var(--line)!important; }
  .footer-main { grid-template-columns:1fr; }
  .footer-links { grid-template-columns:1fr 1fr; }
  .footer-bottom { align-items:flex-start; flex-direction:column; }
  .quote-modal form { grid-template-columns:1fr; }
  .quote-modal label,.quote-modal label:nth-child(3),.quote-modal label:nth-child(4),.quote-modal button { grid-column:auto; }
}
@media (prefers-reduced-motion: reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }

/* Navegação completa: mantém a leitura no desktop e transforma-se no menu empilhado existente abaixo de 1100px. */
.menu { gap:clamp(.4rem,.72vw,.95rem); font-size:clamp(.54rem,.63vw,.7rem); }
.footer-links { grid-template-columns:minmax(0,1.7fr) minmax(90px,.7fr); }
.footer-page-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.footer-page-columns a { display:block; margin-bottom:.55rem; color:#93a89a; font-size:.69rem; font-style:normal; line-height:1.6; transition:color .18s; }
.footer-page-columns a:hover { color:var(--green); }
@media (min-width:1101px) { .site-header { grid-template-columns:auto minmax(0,1fr) auto; gap:clamp(.65rem,1.3vw,1.35rem); } .menu { justify-content:center; } .header-cta { padding:.78rem .85rem; font-size:.56rem; } }
