
/* ============================================================
   STARA — família tipográfica oficial LUFT (arquivos locais)
   Pesos licenciados fornecidos pela LUFT: 500–900 + itálicos
   ============================================================ */
@font-face{font-family:'Stara';src:url('../fonts/stara/stara-400-500.woff2') format('woff2'),url('../fonts/stara/STARA-MEDIUM.TTF') format('truetype');font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/stara/STARA-MEDIUMITALIC.TTF') format('truetype');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/stara/stara-600.woff2') format('woff2'),url('../fonts/stara/STARA-SEMIBOLD.TTF') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/stara/STARA-SEMIBOLDITALIC.TTF') format('truetype');font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/stara/stara-700.woff2') format('woff2'),url('../fonts/stara/STARA-BOLD.TTF') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/stara/STARA-BOLDITALIC.TTF') format('truetype');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/stara/stara-800.woff2') format('woff2'),url('../fonts/stara/STARA-EXTRABOLD.TTF') format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/stara/STARA-EXTRABOLDITALIC.TTF') format('truetype');font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/stara/stara-900.woff2') format('woff2'),url('../fonts/stara/STARA-BLACK.TTF') format('truetype');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/stara/STARA-BLACKITALIC.TTF') format('truetype');font-weight:900;font-style:italic;font-display:swap}

/* ============================================================
   LUFT ENERGIA — Apresentação Institucional Interativa
   Linguagem visual: chanfros 45° do logotipo + linha de energia
   ============================================================ */
:root{
  --blue:#2e9bd6;        /* azul LUFT */
  --blue-light:#5cc0ee;
  --teal:#3e8a86;        /* teal da marca */
  --green:#2c5e54;       /* verde da assinatura */
  --ink:#0c2230;         /* navy profundo */
  --ink-2:#081a24;       /* quase-preto teal */
  --ink-3:#0f2c3a;
  --paper:#f5f8f9;       /* off-white */
  --paper-2:#e9eff1;
  --line:rgba(255,255,255,.10);
  --line-dark:rgba(12,34,48,.12);
  --solar:#f2a33c;       /* acento solar — usado com extrema parcimônia */
  --solar-soft:#f7c277;
  --txt-dark:#0c2230;
  --txt-muted:#56707c;
  --txt-on-dark:#dceaf0;
  --txt-on-dark-mut:#8fb0bd;
  --chamfer:14px;        /* tamanho do corte */
  --container:1240px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --font-d:'Stara',"Space Grotesk",system-ui,sans-serif;
  --font-b:'Stara',"Inter",system-ui,sans-serif;
  --font-m:"JetBrains Mono",ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  font-family:var(--font-b);
  background:var(--ink-2);
  color:var(--txt-on-dark);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--blue);color:#fff}

/* chamfer utility — corta dois cantos opostos como o logotipo */
.chamfer{clip-path:polygon(var(--chamfer) 0, 100% 0, 100% calc(100% - var(--chamfer)), calc(100% - var(--chamfer)) 100%, 0 100%, 0 var(--chamfer));}
.chamfer-all{clip-path:polygon(var(--chamfer) 0,calc(100% - var(--chamfer)) 0,100% var(--chamfer),100% calc(100% - var(--chamfer)),calc(100% - var(--chamfer)) 100%,var(--chamfer) 100%,0 calc(100% - var(--chamfer)),0 var(--chamfer));}

.container{width:min(var(--container),92vw);margin-inline:auto}
section{position:relative}

/* ---------- eyebrow / labels (mono = sinal de engenharia) ---------- */
.eyebrow{
  font-family:var(--font-m);
  font-size:.72rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--blue-light);
  display:inline-flex;align-items:center;gap:.7em;
  font-weight:500;
}
.eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,var(--blue),transparent)}
.on-light .eyebrow{color:var(--teal)}
.on-light .eyebrow::before{background:linear-gradient(90deg,var(--teal),transparent)}

h1,h2,h3{font-family:var(--font-d);font-weight:600;line-height:1.04;letter-spacing:-.015em}
.h-xl{font-size:clamp(2.6rem,7vw,5.6rem)}
.h-lg{font-size:clamp(2rem,5vw,3.4rem)}
.h-md{font-size:clamp(1.4rem,3vw,2rem)}
.lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--txt-on-dark-mut);max-width:60ch}
.on-light .lead{color:var(--txt-on-dark-mut)}

/* =================== NAV =================== */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(20px,4vw,48px);
  transition:background .4s var(--ease),padding .4s var(--ease),backdrop-filter .4s;
}
.nav.scrolled{
  background:rgba(8,26,36,.82);
  backdrop-filter:blur(14px);
  padding-top:12px;padding-bottom:12px;
  border-bottom:1px solid var(--line);
}
.nav__logo{height:34px;width:auto;display:block;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}
.nav__links{display:flex;gap:30px;align-items:center}
.nav__links a{font-size:.92rem;color:var(--txt-on-dark-mut);transition:color .25s;font-weight:500}
.nav__links a:hover{color:#fff}
.nav__cta{
  font-family:var(--font-d);font-weight:600;font-size:.9rem;
  padding:11px 22px;color:#fff;
  background:linear-gradient(135deg,var(--teal),var(--blue));
  border-radius:999px;
  transition:transform .25s var(--ease),box-shadow .25s;
  box-shadow:0 6px 22px -8px rgba(46,155,214,.7);
}
.nav__cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px rgba(46,155,214,.9)}
.nav__burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:0;padding:6px}
.nav__burger span{width:26px;height:2px;background:#fff;transition:.3s}

/* =================== HERO =================== */
.hero{min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:-3}
.hero__bg video,.hero__bg img{width:100%;height:120%;object-fit:cover;will-change:transform}
.hero__bg::after{content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(8,26,36,.55) 0%,rgba(8,26,36,.15) 35%,rgba(8,26,36,.75) 78%,var(--ink-2) 100%),
    linear-gradient(90deg,rgba(8,26,36,.7),transparent 60%);
}
.hero__grain{position:absolute;inset:0;z-index:-2;opacity:.5;mix-blend-mode:overlay;pointer-events:none}
#particles{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero__inner{padding-bottom:clamp(72px,11vh,140px);padding-top:140px}
.hero__eyebrow{margin-bottom:26px}
.hero h1{color:#fff;max-width:16ch;text-shadow:0 4px 40px rgba(0,0,0,.4)}
.hero h1 .accent{
  background:linear-gradient(120deg,var(--solar-soft),var(--solar));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero__sub{margin-top:26px;color:#cfe0e8;max-width:54ch;font-size:clamp(1.02rem,1.5vw,1.18rem)}
.hero__cta{display:flex;gap:16px;margin-top:40px;flex-wrap:wrap}
.btn{
  font-family:var(--font-d);font-weight:600;font-size:1rem;
  padding:15px 30px;cursor:pointer;border:0;
  display:inline-flex;align-items:center;gap:10px;
  border-radius:999px;transition:transform .25s var(--ease),box-shadow .25s,background .25s;
}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));box-shadow:0 10px 34px -10px rgba(46,155,214,.8)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 44px -10px rgba(46,155,214,1)}
.btn-ghost{color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.16);transform:translateY(-3px)}
.btn svg{width:17px;height:17px}
.hero__scroll{
  position:absolute;bottom:28px;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:8px;z-index:5;
  font-family:var(--font-m);font-size:.62rem;letter-spacing:.25em;color:var(--txt-on-dark-mut);text-transform:uppercase;
}
.hero__scroll .mouse{width:22px;height:34px;border:1.5px solid var(--txt-on-dark-mut);border-radius:12px;position:relative}
.hero__scroll .mouse::after{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:3px;height:6px;border-radius:2px;background:var(--blue-light);animation:wheel 1.6s infinite}
@keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}60%{opacity:1;transform:translate(-50%,8px)}100%{opacity:0;transform:translate(-50%,12px)}}

/* energy connector line (signature) */
.eline{position:absolute;left:0;top:0;height:100%;width:1px;background:var(--line);z-index:0}

/* =================== SECTION BASE =================== */
.sec{padding:clamp(80px,12vh,150px) 0}
.sec-head{max-width:760px;margin-bottom:clamp(40px,6vh,68px)}
.sec-head h2{margin-top:18px}
.sec-head .lead{margin-top:20px}

.on-light{color:var(--txt-on-dark)}
.on-light h1,.on-light h2,.on-light h3{color:#fff}

/* =================== QUEM SOMOS =================== */
.about{background:linear-gradient(180deg,var(--ink-2),var(--ink))}
.about__grid{display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,72px);align-items:center;max-width:880px}
.about__copy p{margin-top:18px;color:var(--txt-on-dark-mut)}
.about__copy p strong{color:#fff;font-weight:600}
.about__media{position:relative}
.about__media img{width:100%;aspect-ratio:4/5;object-fit:cover;--chamfer:26px}
.about__badge{
  position:absolute;left:-22px;bottom:34px;
  background:rgba(8,26,36,.7);backdrop-filter:blur(10px);
  border:1px solid var(--line);padding:18px 22px;--chamfer:12px;
  display:flex;flex-direction:column;gap:2px;
}
.about__badge .k{font-family:var(--font-d);font-size:1.9rem;font-weight:700;color:#fff;line-height:1}
.about__badge .l{font-family:var(--font-m);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-light)}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.vm__card{border:1px solid var(--line);padding:22px;--chamfer:12px;background:rgba(255,255,255,.02)}
.vm__card h3{font-size:.8rem;font-family:var(--font-m);letter-spacing:.2em;text-transform:uppercase;color:var(--blue-light);font-weight:500;margin-bottom:10px}
.vm__card p{color:var(--txt-on-dark-mut);font-size:.96rem}
.manifesto{position:relative;margin-top:clamp(46px,7vh,82px);padding:clamp(42px,6vh,72px) clamp(4px,2vw,12px) clamp(14px,2vh,28px);
  border-top:1px solid var(--line);overflow:hidden}
.manifesto>*{position:relative;z-index:1}
.manifesto__sun{position:absolute;left:clamp(-40px,2vw,40px);top:50%;transform:translateY(-50%);width:clamp(220px,30vw,360px);aspect-ratio:1;z-index:0;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(242,163,60,.26),rgba(242,163,60,.10) 36%,rgba(46,155,214,.05) 55%,transparent 70%);
  filter:blur(2px);animation:manifestoPulse 7s ease-in-out infinite}
@keyframes manifestoPulse{0%,100%{opacity:.85;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.08)}}
.manifesto__kicker{font-family:var(--font-m);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--solar-soft)}
.manifesto__lead{font-family:var(--font-d);font-weight:700;font-size:clamp(1.9rem,4.2vw,3.1rem);line-height:1.1;color:#fff;margin-top:14px;max-width:24ch;letter-spacing:-.01em}
.manifesto__lead em{font-style:normal;color:var(--solar)}
.manifesto__body{margin-top:20px;font-size:clamp(1.04rem,1.5vw,1.18rem);line-height:1.62;color:var(--txt-on-dark-mut);max-width:62ch}
.manifesto__body em{font-style:normal;font-weight:700;color:#fff}
.manifesto .gold{color:var(--solar);font-weight:600}
.manifesto__punch{margin-top:30px;font-family:var(--font-d);font-weight:700;font-size:clamp(1.45rem,2.9vw,2.15rem);line-height:1.22;color:var(--txt-on-dark-mut)}
.manifesto .grad{display:inline-block;background:linear-gradient(100deg,#f2a33c,#5cc0ee,#f2a33c);background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmerText 6.5s linear infinite}
@keyframes shimmerText{to{background-position:220% 0}}

/* =================== STATS =================== */
.stats{background:linear-gradient(180deg,var(--ink),var(--ink-2));border-block:1px solid var(--line)}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{position:relative;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.025);--chamfer:16px;padding:32px 28px;
  transition:transform .45s var(--ease),border-color .45s,box-shadow .45s}
.stat::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(440px circle at 28% -6%,rgba(46,155,214,.18),transparent 60%);opacity:0;transition:opacity .5s}
.stat:hover{transform:translateY(-6px);border-color:rgba(62,155,214,.5);box-shadow:0 28px 64px -34px rgba(46,155,214,.6)}
.stat:hover::after{opacity:1}
.stat__ico{position:relative;z-index:1;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;margin-bottom:20px;
  background:radial-gradient(circle at 50% 42%,rgba(62,138,134,.42),rgba(8,26,36,0) 70%);transition:transform .45s var(--ease)}
.stat__ico::before{content:"";position:absolute;inset:0;border-radius:50%;padding:1.5px;
  background:conic-gradient(from 0deg,var(--teal),var(--blue),#3ecf8e,var(--teal));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.65;transition:opacity .45s}
.stat:hover .stat__ico{transform:scale(1.06)}
.stat:hover .stat__ico::before{opacity:1}
.stat__ico svg{width:26px;height:26px;stroke:var(--blue-light);position:relative;z-index:1;fill:none}
.stat__num{position:relative;z-index:1;font-family:var(--font-d);font-weight:700;font-size:clamp(2.4rem,4.6vw,3.4rem);line-height:1;
  background:linear-gradient(135deg,#fff,var(--blue-light));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat__num .u{font-size:.4em;-webkit-text-fill-color:var(--blue-light);margin-left:2px}
.stat__lbl{position:relative;z-index:1;margin-top:13px;font-size:.92rem;color:var(--txt-on-dark-mut);max-width:24ch}

/* =================== DIFERENCIAIS =================== */
.diff{background:linear-gradient(180deg,var(--ink),var(--ink-2))}
.diff__acc{display:flex;gap:14px;height:460px;margin-top:16px}
.dx{position:relative;flex:1 1 0;min-width:0;cursor:pointer;text-align:left;font:inherit;color:inherit;display:flex;flex-direction:column;
  border:1px solid var(--line);--chamfer:18px;overflow:hidden;padding:0;
  background:linear-gradient(165deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  transition:flex .65s var(--ease),border-color .5s,box-shadow .5s,background .5s}
.dx:hover:not(.active){border-color:rgba(92,192,238,.32)}
.dx.active{flex:3.7 1 0;border-color:rgba(92,192,238,.55);box-shadow:0 34px 84px -40px rgba(46,155,214,.7);
  background:linear-gradient(150deg,rgba(46,155,214,.18),rgba(62,138,134,.05) 55%,rgba(255,255,255,.012))}
.dx::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(580px circle at 26% -8%,rgba(46,155,214,.22),transparent 60%);opacity:0;transition:opacity .55s}
.dx.active::after{opacity:1}
.dx__bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--teal),var(--blue));opacity:.4;transition:opacity .45s;z-index:4}
.dx.active .dx__bar{opacity:1}
.dx__num{position:absolute;top:22px;left:24px;z-index:4;font-family:var(--font-d);font-weight:700;font-size:1.4rem;color:#fff;opacity:.82;transition:.45s}
.dx.active .dx__num{font-size:2.6rem;opacity:1;background:linear-gradient(135deg,#fff,var(--blue-light));-webkit-background-clip:text;background-clip:text;color:transparent}
.dx__vtitle{position:absolute;left:50%;bottom:30px;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;
  font-family:var(--font-d);font-weight:600;font-size:1.06rem;color:var(--txt-on-dark);white-space:nowrap;z-index:4;transition:opacity .3s}
.dx.active .dx__vtitle{opacity:0;pointer-events:none}
.dx__content{position:relative;z-index:4;margin-top:auto;padding:36px 34px;width:100%;
  opacity:0;transform:translateY(16px);transition:opacity .5s .15s,transform .5s .15s}
.dx.active .dx__content{opacity:1;transform:none}
.dx__ico{position:relative;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;margin-bottom:20px;
  background:radial-gradient(circle at 50% 42%,rgba(62,138,134,.45),rgba(8,26,36,0) 70%)}
.dx__ico::before{content:"";position:absolute;inset:0;border-radius:50%;padding:1.6px;
  background:conic-gradient(from 0deg,var(--teal),var(--blue),#3ecf8e,var(--teal));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.dx__ico svg{width:30px;height:30px;stroke:var(--blue-light);position:relative;z-index:1}
.dx__htitle{font-size:clamp(1.3rem,2.3vw,1.7rem);color:#fff;margin-bottom:12px;line-height:1.16;max-width:16ch}
.dx__content p{color:var(--txt-on-dark);font-size:1rem;max-width:40ch;opacity:.9}
@media(max-width:760px){
  .diff__acc{flex-direction:column;height:auto;gap:10px}
  .dx{flex:none!important;min-height:62px;display:block;transition:border-color .4s,box-shadow .4s,background .4s}
  .dx.active{box-shadow:0 22px 50px -30px rgba(46,155,214,.6)}
  .dx__num{font-size:1.25rem;top:19px;left:22px}
  .dx.active .dx__num{font-size:1.5rem}
  .dx__vtitle{writing-mode:horizontal-tb;transform:none;position:absolute;left:60px;right:18px;top:0;bottom:auto;height:62px;
    display:flex;align-items:center;white-space:normal;line-height:1.2;font-size:1rem;opacity:1!important}
  .dx__content{position:static;width:auto;margin-top:0;padding:0 22px 0 60px;max-height:0;overflow:hidden;opacity:1;transform:none;
    transition:max-height .55s var(--ease),padding .4s,margin-top .1s}
  .dx.active .dx__content{margin-top:62px;max-height:360px;padding-bottom:26px}
  .dx__ico{width:48px;height:48px;margin-bottom:14px}
  .dx__ico svg{width:25px;height:25px}
  .dx__htitle{display:none}
  .dx__hint{display:none}
  .dx::after{display:none}
}

/* =================== SOLUÇÕES =================== */
.sol{background:linear-gradient(180deg,var(--ink-2),var(--ink))}
.sol__tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.sol__tab{
  font-family:var(--font-d);font-weight:600;font-size:.95rem;
  padding:11px 22px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--txt-on-dark-mut);
  cursor:pointer;border-radius:999px;transition:.25s;
}
.sol__tab.active{background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;border-color:transparent}
.sol__tab:hover:not(.active){border-color:var(--teal);color:#fff}
.sol__panel{display:none;grid-template-columns:minmax(280px,.92fr) 1.18fr;gap:clamp(28px,4vw,56px);align-items:center}
.sol__panel.active{display:grid;animation:fadeUp .6s var(--ease)}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.sol__gallery{display:grid;gap:10px;align-self:stretch}
.sol__gallery .pitem{aspect-ratio:4/3;min-height:0}
.sol__gallery .pitem--solo{grid-column:1/-1;aspect-ratio:16/10}
.sol__media img{width:100%;aspect-ratio:16/11;object-fit:cover;--chamfer:22px}
.sol__copy .eyebrow{color:var(--teal)}.sol__copy .eyebrow::before{background:linear-gradient(90deg,var(--teal),transparent)}
.sol__copy h3{font-size:clamp(1.8rem,3.4vw,2.6rem);color:#fff;margin:14px 0 16px}
.sol__copy p{color:var(--txt-on-dark-mut);max-width:46ch}
.sol__feats{list-style:none;margin-top:24px;display:flex;flex-direction:column;gap:12px}
.sol__feats li{display:flex;gap:12px;align-items:flex-start;font-size:.98rem;color:var(--txt-on-dark)}
.sol__feats svg{width:20px;height:20px;flex:none;margin-top:2px;stroke:var(--teal)}
.sol__cta{display:inline-flex;align-items:center;gap:9px;margin-top:28px;font-family:var(--font-d);font-weight:600;font-size:.96rem;color:#fff;
  padding:12px 24px;border-radius:999px;background:linear-gradient(135deg,var(--teal),var(--blue));box-shadow:0 12px 30px -12px rgba(46,155,214,.8);transition:transform .25s var(--ease),box-shadow .25s}
.sol__cta:hover{transform:translateY(-3px);box-shadow:0 18px 40px -12px rgba(46,155,214,1)}
.sol__cta svg{width:17px;height:17px;stroke:#fff;fill:none}

/* =================== PORTFÓLIO =================== */
.port{background:linear-gradient(180deg,var(--ink-2),var(--ink))}
.port__filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.port__filter{font-family:var(--font-m);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  padding:9px 16px;border:1px solid var(--line);background:transparent;color:var(--txt-on-dark-mut);cursor:pointer;border-radius:999px;transition:.25s}
.port__filter.active{background:#fff;color:var(--ink);border-color:#fff}
.port__filter:hover:not(.active){border-color:var(--blue-light);color:#fff}
.port__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;grid-auto-flow:dense}
.pitem{position:relative;overflow:hidden;cursor:pointer;--chamfer:14px;background:#0a1f2a}
.pitem img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);min-height:100%}
.pitem::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,26,36,.5));opacity:0;transition:opacity .4s}
.pitem:hover img{transform:scale(1.07)}
.pitem:hover::after{opacity:1}
.pitem__meta{position:absolute;left:18px;bottom:16px;right:18px;z-index:2;transform:translateY(6px);opacity:.92;transition:.4s}
.pitem:hover .pitem__meta{transform:none;opacity:1}
.pitem__cat{font-family:var(--font-m);font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-light)}
.pitem__title{font-family:var(--font-d);font-weight:600;font-size:1.05rem;color:#fff;margin-top:3px}
.pitem__plus{position:absolute;top:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;background:rgba(8,26,36,.6);backdrop-filter:blur(4px);--chamfer:8px;z-index:2;opacity:0;transform:scale(.85);transition:.35s}
.pitem:hover .pitem__plus{opacity:1;transform:none}
.pitem__plus svg{width:16px;height:16px;stroke:#fff}
/* spans */
.s-6{grid-column:span 6}.s-4{grid-column:span 4}.s-8{grid-column:span 8}.s-3{grid-column:span 3}
.r-2{grid-row:span 2}
.pitem.r-2{min-height:520px}
.pitem:not(.r-2){min-height:252px}

/* lightbox */
.lb{position:fixed;inset:0;z-index:200;background:rgba(5,16,22,.92);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px}
.lb.open{display:flex;animation:fadeUp .3s ease}
.lb__inner{max-width:min(1040px,92vw);width:auto;background:var(--ink);border:1px solid var(--line);--chamfer:18px;overflow:hidden}
.lb__img{position:relative;background:#06141c;line-height:0}
.lb__img img{width:100%;height:auto;max-height:82vh;object-fit:contain;display:block}
.lb__info{padding:34px 32px;display:flex;flex-direction:column}
.lb__cat{font-family:var(--font-m);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-light)}
.lb__title{font-family:var(--font-d);font-weight:600;font-size:1.7rem;color:#fff;margin:10px 0 16px}
.lb__desc{color:var(--txt-on-dark-mut);font-size:.96rem}
.lb__specs{margin-top:auto;padding-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid var(--line)}
.lb__spec .l{font-family:var(--font-m);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-on-dark-mut)}
.lb__spec .v{font-family:var(--font-d);color:#fff;font-size:1.05rem;margin-top:3px}
.lb__close{position:absolute;top:16px;right:16px;width:42px;height:42px;display:grid;place-items:center;background:rgba(8,26,36,.7);border:1px solid var(--line);--chamfer:9px;cursor:pointer;z-index:3}
.lb__close svg{width:20px;height:20px;stroke:#fff}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;display:grid;place-items:center;background:rgba(8,26,36,.6);border:1px solid var(--line);cursor:pointer;--chamfer:9px;z-index:3}
.lb__nav svg{width:22px;height:22px;stroke:#fff}
.lb__prev{left:14px}.lb__next{right:14px}

/* =================== COMO FUNCIONA =================== */
.proc{background:linear-gradient(180deg,var(--ink),var(--ink-2))}
.proc__steps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:42px}
.pstep{position:relative;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--line);
  background:rgba(8,26,36,.42);backdrop-filter:blur(6px);padding:30px 28px;--chamfer:16px;
  transition:transform .45s var(--ease),border-color .45s,box-shadow .45s}
.pstep::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--teal),var(--blue));opacity:.4;transition:opacity .45s}
.pstep:hover{transform:translateY(-5px);border-color:rgba(62,155,214,.5);box-shadow:0 26px 60px -30px rgba(46,155,214,.5)}
.pstep:hover::before,.pstep.in::before{opacity:1}
.pstep__big{position:absolute;top:12px;right:20px;font-family:var(--font-d);font-weight:700;font-size:3.6rem;line-height:1;pointer-events:none;
  background:linear-gradient(135deg,rgba(46,155,214,.24),rgba(62,138,134,.04));-webkit-background-clip:text;background-clip:text;color:transparent}
.pstep__ico{position:relative;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;margin-bottom:18px;flex:none;
  background:radial-gradient(circle at 50% 42%,rgba(62,138,134,.42),rgba(8,26,36,0) 70%);transition:transform .45s var(--ease)}
.pstep__ico::before{content:"";position:absolute;inset:0;border-radius:50%;padding:1.5px;
  background:conic-gradient(from 0deg,var(--teal),var(--blue),#3ecf8e,var(--teal));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;transition:opacity .45s}
.pstep:hover .pstep__ico,.pstep.in .pstep__ico{transform:scale(1.06)}
.pstep:hover .pstep__ico::before,.pstep.in .pstep__ico::before{opacity:1}
.pstep__ico svg{width:30px;height:30px;stroke:var(--teal);position:relative;z-index:1;transition:stroke .4s}
.pstep.in .pstep__ico svg{stroke:var(--blue-light)}
.pstep__n{font-family:var(--font-m);font-size:.7rem;color:var(--teal);letter-spacing:.16em}
.pstep h3{font-size:1.22rem;color:#fff;margin:7px 0 9px}
.pstep p{font-size:.94rem;color:var(--txt-on-dark-mut);max-width:46ch}
.pstep:last-child{grid-column:1 / -1;flex-direction:row;align-items:center;gap:24px}
.pstep:last-child .pstep__ico{margin-bottom:0}

/* =================== BENEFÍCIOS / RESULTADOS =================== */
.bene{background:linear-gradient(180deg,var(--ink),var(--ink-2))}
.bene__grid{display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,72px);align-items:center}
.bene__list{display:flex;flex-direction:column;gap:4px}
.brow{display:flex;gap:22px;padding:24px 4px;border-bottom:1px solid var(--line);align-items:flex-start}
.brow__k{font-family:var(--font-d);font-weight:700;font-size:clamp(2rem,4vw,2.8rem);line-height:1;min-width:130px;
  background:linear-gradient(135deg,#fff,var(--blue-light));-webkit-background-clip:text;background-clip:text;color:transparent}
.brow__t h3{font-size:1.1rem;color:#fff;margin-bottom:5px}
.brow__t p{font-size:.94rem;color:var(--txt-on-dark-mut)}
.bene__media{position:relative}
.bene__media img{width:100%;aspect-ratio:3/4;object-fit:cover;--chamfer:26px}

/* =================== SUSTENTABILIDADE =================== */
.esg{position:relative;overflow:hidden;background:var(--ink-2)}
.esg__bg{position:absolute;inset:0;z-index:0}
.esg__bg img{width:100%;height:100%;object-fit:cover;opacity:.22}
.esg__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--ink-2),rgba(8,26,36,.6),var(--ink-2))}
.esg .container{position:relative;z-index:2}
.esg__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.ecard{position:relative;border:1px solid var(--line);background:rgba(8,26,36,.5);backdrop-filter:blur(6px);padding:32px 28px;--chamfer:16px;transition:transform .45s var(--ease),border-color .45s,box-shadow .45s}
.ecard:hover{transform:translateY(-6px);border-color:rgba(62,155,214,.5);box-shadow:0 28px 64px -30px rgba(46,155,214,.55)}
.ecard__ico{position:relative;width:74px;height:74px;display:grid;place-items:center;margin-bottom:24px;border-radius:50%;
  background:radial-gradient(circle at 50% 42%,rgba(62,138,134,.42),rgba(8,26,36,0) 68%);transition:transform .45s var(--ease)}
.ecard__ico::before{content:"";position:absolute;inset:0;border-radius:50%;padding:1.6px;
  background:conic-gradient(from 0deg,var(--teal),var(--blue),#3ecf8e,#f2a33c,var(--teal));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  opacity:.65;animation:spin 9s linear infinite;transition:opacity .45s}
.ecard:hover .ecard__ico{transform:scale(1.07)}
.ecard:hover .ecard__ico::before{opacity:1}
.ecard__ico svg{width:42px;height:42px;position:relative;z-index:1;overflow:visible;filter:drop-shadow(0 3px 8px rgba(0,0,0,.35))}
.ecard h3{font-size:1.18rem;color:#fff;margin-bottom:10px}
.ecard p{font-size:.95rem;color:var(--txt-on-dark-mut)}

/* =================== ÁREA DE ATUAÇÃO =================== */
.area{background:linear-gradient(180deg,var(--ink-2),var(--ink))}
.area__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(36px,5vw,64px);align-items:center}
.area__map{position:relative;aspect-ratio:1/1;border:1px solid var(--line);--chamfer:24px;overflow:hidden;background:linear-gradient(160deg,var(--ink-3),var(--ink-2))}
.area__map svg{width:100%;height:100%}
.area__br{position:absolute;inset:0;z-index:0}
.area__sunwrap{position:relative;z-index:1}
.area__rays{animation:spin 24s linear infinite;transform-box:fill-box;transform-origin:center}
.area__sun{animation:sunPulse 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.area__ring{transform-box:fill-box;transform-origin:center;animation:coverage 4.2s ease-out infinite;opacity:0}
.area__ring--2{animation-delay:2.1s}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes sunPulse{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.12);opacity:1}}
@keyframes coverage{0%{transform:scale(1);opacity:.6}80%{opacity:0}100%{transform:scale(2.4);opacity:0}}
.area__cap{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);text-align:center;font-family:var(--font-d);font-weight:600;color:#fff;font-size:1.02rem}
.area__cap span{display:block;font-family:var(--font-m);font-size:.64rem;letter-spacing:.16em;color:var(--teal);text-transform:uppercase;margin-top:3px}

/* =================== CTA FINAL =================== */
.cta{position:relative;overflow:hidden;background:var(--ink-2);text-align:center}
.cta__bg{position:absolute;inset:0;z-index:0}
.cta__bg img{width:100%;height:100%;object-fit:cover}
.cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,36,.85),rgba(8,26,36,.7))}
.cta .container{position:relative;z-index:2}
.cta h2{color:#fff;max-width:18ch;margin:18px auto 0}
.cta .lead{margin:22px auto 0;color:#cfe0e8}
.cta__btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:38px}
.btn-wa{background:#25d366;color:#06311a;box-shadow:0 10px 30px -10px rgba(37,211,102,.7)}
.btn-wa:hover{transform:translateY(-3px);box-shadow:0 18px 40px -10px rgba(37,211,102,.9)}

/* =================== FOOTER =================== */
.footer{background:var(--ink);border-top:1px solid var(--line);padding:64px 0 32px}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:46px;border-bottom:1px solid var(--line)}
.footer__logo{height:42px;width:auto;display:block;object-fit:contain;margin-bottom:18px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.footer__tag{color:var(--txt-on-dark-mut);max-width:34ch;font-size:.96rem}
.footer__tag b{color:#fff;font-weight:600}
.footer h4{font-family:var(--font-m);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-light);margin-bottom:18px}
.footer__col a,.footer__col p{display:block;color:var(--txt-on-dark-mut);font-size:.95rem;margin-bottom:11px;transition:color .2s}
.footer__col a:hover{color:#fff}
.footer__contact .fc{display:flex;align-items:center;gap:10px}
.footer__contact .fc svg{width:16px;height:16px;flex:none}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;flex-wrap:wrap;gap:12px}
.footer__bottom p{font-size:.82rem;color:var(--txt-on-dark-mut)}
.footer__social{display:flex;gap:12px}
.footer__social a{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);--chamfer:9px;transition:.25s}
.footer__social a:hover{background:linear-gradient(135deg,var(--teal),var(--blue));border-color:transparent}
.footer__social svg{width:18px;height:18px}

/* =================== REVEAL ANIM =================== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.show{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}

/* =================== RESPONSIVE =================== */
@media(max-width:980px){
  .nav__links{display:none}
  .nav__burger{display:flex}
  .about__grid,.bene__grid,.area__grid{grid-template-columns:1fr;gap:40px}
  .sol__panel.active{grid-template-columns:1fr}
  .sol__gallery{grid-template-columns:repeat(2,1fr)!important;margin-top:8px}
  .sol__gallery .pitem--solo{aspect-ratio:16/9}
  .diff__grid,.esg__grid{grid-template-columns:1fr 1fr}
  .stats__grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(2)::after{display:none}
  .proc__steps{grid-template-columns:1fr 1fr}
  .lb__inner{grid-template-columns:1fr;max-height:90vh;overflow:auto}
  .about__media{order:-1}
}
@media(max-width:620px){
  :root{--chamfer:10px}
  .diff__grid,.esg__grid,.stats__grid{grid-template-columns:1fr}
  .proc__steps{grid-template-columns:1fr 1fr;gap:10px}
  .pstep{padding:20px 16px}
  .pstep__big{font-size:2.6rem;top:8px;right:12px}
  .pstep__ico{width:48px;height:48px}
  .pstep__ico svg{width:24px;height:24px}
  .pstep h3{font-size:1.05rem}
  .pstep:last-child{flex-direction:column;align-items:flex-start;gap:0}
  .pstep:last-child .pstep__ico{margin-bottom:14px}
  .stat::after{display:none}
  .port__grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .s-6,.s-4,.s-8,.s-3{grid-column:span 1}
  .pitem.r-2{min-height:300px}.pitem:not(.r-2){min-height:190px}
  .vm{grid-template-columns:1fr}
  .hero__cta .btn{flex:1;justify-content:center}
  .footer__grid{grid-template-columns:1fr;gap:30px}
  .brow{flex-direction:column;gap:8px}
  .brow__k{min-width:auto}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
.nav-open .nav__menu{display:flex!important;position:fixed;inset:64px 0 auto 0;flex-direction:column;background:rgba(8,26,36,.97);backdrop-filter:blur(14px);padding:24px;gap:20px;border-bottom:1px solid var(--line)}



/* ===== FONTE OFICIAL LUFT: STARA — embutida ===== */
@font-face{font-family:'Stara';src:url('../fonts/a362af0ac4d2.woff2') format('woff2');font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/8da7483a1f49.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/68d82cdd6923.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/10881aa47974.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Stara';src:url('../fonts/4e8db59fe088.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}



/* ===== MOTION LAYER — barra de progresso solar ===== */
#scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:10001;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--solar) 0%,var(--solar-soft) 35%,var(--blue-light) 100%);pointer-events:none;box-shadow:0 0 12px rgba(242,163,60,.45)}
/* ===== nav inteligente ===== */
.nav{transition:background .4s var(--ease),padding .4s var(--ease),backdrop-filter .4s,transform .5s var(--ease),box-shadow .4s}
.nav.nav--hidden{transform:translateY(-110%)}
.nav.nav--solid{background:rgba(8,26,36,.88);backdrop-filter:blur(16px);box-shadow:0 12px 34px rgba(0,0,0,.28);border-bottom:1px solid rgba(255,255,255,.06)}
body.nav-open .nav{transform:none!important}
/* ===== split de palavras do hero ===== */
.w-line{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .02em .09em 0;margin-bottom:-.09em}
.w-word{display:inline-block;will-change:transform}
/* ===== feixe solar sob os títulos ===== */
.h-beam::after{content:"";display:block;height:3px;width:72px;margin-top:16px;border-radius:2px;background:linear-gradient(90deg,var(--solar),var(--blue-light));transform:scaleX(0);transform-origin:0 50%;transition:transform .9s var(--ease) .3s}
.h-beam.beam-on::after{transform:scaleX(1)}
/* ===== galeria de obras: brilho no hover (parallax via GSAP) ===== */
.pitem img{will-change:transform;transition:filter .5s var(--ease)}
.pitem:hover img{filter:brightness(1.1) saturate(1.06)}
.pitem .pitem__plus{transition:transform .45s var(--ease),background .3s}
.pitem:hover .pitem__plus{transform:rotate(90deg) scale(1.12)}
/* ===== botões: brilho varrendo (sheen) ===== */
.btn{position:relative;overflow:hidden}
.btn-primary::after{content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);transition:left .75s ease;pointer-events:none}
.btn-primary:hover::after{left:140%}
/* ===== CTA final: pulso de energia no botão ===== */
.cta .btn-primary{animation:ctaGlow 3.2s ease-in-out infinite}
@keyframes ctaGlow{0%,100%{box-shadow:0 0 0 0 rgba(92,192,238,0)}50%{box-shadow:0 0 32px 2px rgba(92,192,238,.35)}}
@media (prefers-reduced-motion:reduce){
  #scroll-progress{display:none}
  .h-beam::after{transform:scaleX(1)}
  .cta .btn-primary{animation:none}
}

/* fix: gradiente aplicado na propria palavra animada (background-clip + transform) */
.accent .w-word{background:linear-gradient(120deg,var(--solar-soft),var(--solar));-webkit-background-clip:text;background-clip:text;color:transparent}

/* ===== ajustes tipograficos para a Stara ===== */
.h-xl{letter-spacing:.005em;line-height:1.06}
h2.h-lg{letter-spacing:.004em;line-height:1.14}
body{letter-spacing:.005em}
.nav__links a{letter-spacing:.02em}

/* ===== QUEM SOMOS: video em FAIXA (ate os cards), logo inteiro na largura ===== */
.sec.about{position:relative;isolation:isolate;overflow:hidden}
.about__video{position:absolute;top:0;left:0;right:0;height:880px;z-index:-2;overflow:hidden;background:#e8efec}
/* video ajustado PELA LARGURA: zero corte lateral -> logo LUFT sempre inteiro */
.about__video video{position:absolute;top:50%;left:0;width:100%;height:auto;transform:translateY(-50%);display:block}
.about__video::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,var(--ink-2) 0,rgba(8,26,36,.5) 56px,transparent 150px),
  linear-gradient(0deg,var(--ink-2) 0,rgba(8,26,36,.6) 80px,transparent 210px),
  linear-gradient(180deg,rgba(245,248,249,.30),rgba(245,248,249,.38) 45%,rgba(245,248,249,.32))}
#sobre .about__copy .eyebrow{color:#173d34;font-weight:700;text-shadow:0 0 12px rgba(245,248,249,.9)}
#sobre .about__copy .eyebrow::before{background:linear-gradient(90deg,#173d34,transparent)}
#sobre .about__copy h2{color:var(--ink);font-weight:800;text-shadow:0 0 16px rgba(245,248,249,.9),0 0 44px rgba(245,248,249,.55)}
#sobre .about__copy p{color:#1c3a48;font-weight:500;text-shadow:0 0 12px rgba(245,248,249,.85)}
#sobre .about__copy strong{color:var(--ink);font-weight:700}
#sobre .vm__card{background:rgba(255,255,255,.78);border-color:rgba(12,34,48,.18);backdrop-filter:blur(6px)}
#sobre .vm__card h3{color:var(--teal)}
#sobre .vm__card p{color:#22404e;font-weight:500}
/* manifesto: painel de vidro escuro */
#sobre .manifesto{background:rgba(8,26,36,.88);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.12);
  padding:clamp(42px,6vh,72px) clamp(28px,4vw,56px) clamp(34px,4vh,52px);border-radius:18px}

/* ===== destaques do hero ===== */
.hero h1{font-weight:800}
.hero__sub strong{color:#fff;font-weight:700}
.btn-solar{color:#0c2230;background:linear-gradient(135deg,var(--solar-soft),var(--solar));box-shadow:0 12px 36px -10px rgba(242,163,60,.85);font-weight:700}
.btn-solar:hover{transform:translateY(-3px);box-shadow:0 20px 46px -10px rgba(242,163,60,1)}
.btn-solar::after{content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .75s ease;pointer-events:none}
.btn-solar:hover::after{left:140%}

/* ===== fundos fotograficos dos diferenciais ===== */
.dx{isolation:isolate}
.dx__bg{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;opacity:.16;transition:opacity .6s var(--ease);pointer-events:none}
.dx__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,26,36,.3) 0%,rgba(8,26,36,.78) 100%)}
.dx:hover .dx__bg{opacity:.24}
.dx.active .dx__bg{opacity:.32}

/* ===== manifesto: video grande, parcialmente atras do texto ===== */
.manifesto__cols{position:relative}
.manifesto__text{position:relative;z-index:1;max-width:56%}
.manifesto__media{position:absolute;top:50%;right:-3%;transform:translateY(-50%);width:64%;z-index:0;border-radius:16px;overflow:hidden}
.manifesto__media video{width:100%;height:auto;display:block}
.manifesto__media::after{content:"";position:absolute;inset:0;border-radius:16px;background:
  linear-gradient(90deg,rgba(8,26,36,.97) 0%,rgba(8,26,36,.72) 26%,rgba(8,26,36,.18) 52%,rgba(8,26,36,.05) 72%,rgba(8,26,36,.22) 100%),
  linear-gradient(180deg,rgba(8,26,36,.35),transparent 22%,transparent 78%,rgba(8,26,36,.4))}
@media (max-width:900px){
  .manifesto__text{max-width:none}
  .manifesto__media{position:relative;top:auto;right:auto;transform:none;width:100%;margin-top:26px}
  .manifesto__media::after{background:linear-gradient(180deg,rgba(8,26,36,.25),transparent 30%,transparent 70%,rgba(8,26,36,.3))}
}
/* ===== efeitos dos resultados reais ===== */
.brow__k{font-variant-numeric:tabular-nums}
.fx-eco{position:relative;margin-top:16px;height:8px;border-radius:6px;background:rgba(255,255,255,.08);max-width:520px}
.fx-eco__fill{position:absolute;inset:0 auto 0 0;width:0%;border-radius:6px;background:linear-gradient(90deg,var(--solar-soft),var(--solar));box-shadow:0 0 16px rgba(242,163,60,.55)}
.fx-eco__rest{position:absolute;right:0;top:-22px;font-family:var(--font-m);font-size:11px;letter-spacing:.08em;color:var(--txt-on-dark-mut);opacity:0}
.fx-valor{display:block;margin-top:14px;width:min(230px,62%);height:auto;overflow:visible}
.fx-valor path{stroke:#7fd98f;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px rgba(127,217,143,.45))}
.brow[data-fx="co2"]{position:relative;overflow:hidden}
.fx-leaf{position:absolute;bottom:-16px;width:15px;height:15px;color:#8fd6a0;opacity:0;pointer-events:none}
.fx-anos-sub{display:block;font-family:var(--font-m);font-size:11px;letter-spacing:.1em;color:var(--txt-on-dark-mut);margin-top:5px;opacity:0}
@media (prefers-reduced-motion:reduce){.fx-eco__fill{width:85%}.fx-eco__rest{opacity:1}}



.nav__restrito{opacity:.85}
.nav__restrito:hover{opacity:1}
#crm-wrap{display:none;position:fixed;inset:0;z-index:99999;background:#0b1f2b}
#crm-wrap.on{display:block}
#crm-frame{width:100%;height:100%;border:0;display:block}
#crm-voltar{position:fixed;top:10px;right:12px;z-index:100000;display:flex;align-items:center;gap:6px;background:rgba(8,26,36,.82);color:#dfeef7;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 14px;font:600 12px/1 Poppins,system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s}
#crm-voltar:hover{background:rgba(8,26,36,.95)}


/* Otimização: pausa animações CSS fora da área visível */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}}
