/* =========================================================
   Fluxion Ventiladores — main stylesheet (v3)
   Dark-first design system (o visual moderno original, verde
   sobre preto/navy). Sessões claras são exceção, aplicadas só
   onde pedido via a classe .fx-light — que re-aponta o mesmo
   conjunto de variáveis semânticas que todo componente já usa,
   então nunca existe texto da mesma cor do fundo.
   ========================================================= */

:root{
  /* raw palette */
  --paper:#FAFAF7;
  --paper-alt:#F0F1EA;
  --surface:#FFFFFF;
  --ink:#10151A;
  --ink-soft:#525C54;
  --ink-dim:#7C877E;
  --line:rgba(16,21,26,.1);
  --green:#2FAE12;
  --green-2:#4FCB2A;
  --green-deep:#186B0C;
  --navy:#070C08;
  --navy-2:#101710;
  --on-dark:#F3F6F1;
  --on-dark-soft:#9CA8A2;
  --on-dark-dim:#66716A;
  --line-dark:rgba(140,220,140,.12);

  --radius:18px;
  --radius-sm:10px;
  --container:1240px;
  --ff-head:'Space Grotesk','Inter',system-ui,sans-serif;
  --ff-body:'Inter',system-ui,-apple-system,sans-serif;

  /* semantic (dark = default) */
  --bg:var(--navy);
  --bg-alt:var(--navy-2);
  --text:var(--on-dark-soft);
  --text-dim:var(--on-dark-dim);
  --heading:var(--on-dark);
  --card-bg:rgba(255,255,255,.045);
  --border:var(--line-dark);
  --kicker:var(--green-2);
  --shadow:0 20px 60px -20px rgba(0,0,0,.65);
  --glow:0 10px 32px -8px rgba(79,203,42,.5);
  --ghost-bg:rgba(255,255,255,.05);
  --ghost-border:rgba(255,255,255,.18);
  --ghost-text:var(--on-dark);
  --icon-bg:rgba(79,203,42,.16);
  --icon-color:var(--green-2);
}

.fx-dark{
  --bg:var(--navy);
  --bg-alt:var(--navy-2);
  --text:var(--on-dark-soft);
  --text-dim:var(--on-dark-dim);
  --heading:var(--on-dark);
  --card-bg:rgba(255,255,255,.045);
  --border:var(--line-dark);
  --kicker:var(--green-2);
  --shadow:0 20px 60px -20px rgba(0,0,0,.65);
  --glow:0 10px 32px -8px rgba(79,203,42,.5);
  --ghost-bg:rgba(255,255,255,.05);
  --ghost-border:rgba(255,255,255,.18);
  --ghost-text:var(--on-dark);
  --icon-bg:rgba(79,203,42,.16);
  --icon-color:var(--green-2);
  background:var(--bg);
  color:var(--text);
}

.fx-light{
  --bg:var(--paper);
  --bg-alt:var(--paper-alt);
  --text:var(--ink-soft);
  --text-dim:var(--ink-dim);
  --heading:var(--ink);
  --card-bg:var(--surface);
  --border:var(--line);
  --kicker:var(--green-deep);
  --shadow:0 20px 50px -26px rgba(16,21,26,.22);
  --glow:0 10px 28px -10px rgba(47,174,18,.4);
  --ghost-bg:#fff;
  --ghost-border:rgba(16,21,26,.15);
  --ghost-text:var(--ink);
  --icon-bg:rgba(47,174,18,.1);
  --icon-color:var(--green-deep);
  background:var(--bg);
  color:var(--text);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{
  margin:0;
  background:var(--navy);
  color:var(--on-dark-soft);
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::after{
  content:"";position:fixed;inset:0;z-index:2147483647;pointer-events:none;
  opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:160px 160px;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none;margin:0;padding:0}
h1,h2,h3,h4{font-family:var(--ff-head);font-weight:600;line-height:1.14;letter-spacing:-.01em;margin:0 0 .5em;color:var(--heading)}
p{margin:0 0 1em;color:var(--text)}
svg{width:1.15em;height:1.15em;flex:none}
button{font-family:inherit}

.fx-skip{position:absolute;left:-999px;top:0;background:var(--green);color:#fff;padding:10px 16px;z-index:999}
.fx-skip:focus{left:10px;top:10px}

.fx-container{max-width:var(--container);margin:0 auto;padding:0 24px}

/* ---------- Buttons ---------- */
.fx-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 22px;border-radius:999px;
  font-weight:600;font-size:.95rem;
  border:1px solid transparent;white-space:nowrap;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
  cursor:pointer;
}
.fx-btn svg{width:1.1em;height:1.1em}
.fx-btn--primary{
  background:linear-gradient(135deg, var(--green-2), var(--green-deep));
  color:#fff;
  box-shadow:0 10px 26px -10px rgba(24,107,12,.55);
}
.fx-btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(24,107,12,.6)}
.fx-btn--ghost{
  background:var(--ghost-bg);
  border-color:var(--ghost-border);
  color:var(--ghost-text);
  backdrop-filter:blur(8px);
}
.fx-btn--ghost:hover{border-color:var(--green);color:var(--green-deep);transform:translateY(-2px)}
.fx-dark .fx-btn--ghost:hover{color:var(--green-2)}
.fx-btn--lg{padding:16px 28px;font-size:1.02rem}
.fx-btn--block{width:100%;justify-content:center}

/* ---------- Header ---------- */
.fx-header{
  position:sticky;top:0;z-index:100;
  padding:14px 0;
  background:rgba(7,12,8,.6);
  backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--border);
  transition:padding .25s ease, background .25s ease;
}
.fx-header__inner{display:flex;align-items:center;gap:18px}
.fx-header .fx-container{max-width:1340px}
.fx-logo img{height:58px;width:auto}
.fx-nav-desktop{flex:1;min-width:0}
.fx-nav{display:none}
.fx-nav__list{display:flex;gap:15px;justify-content:center;flex-wrap:nowrap}
.fx-nav__list a{font-size:.86rem;font-weight:500;color:var(--text);position:relative;padding:6px 0;white-space:nowrap}
.fx-nav__list a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--green-2);transition:width .25s ease}
.fx-nav__list a:hover,.fx-nav__list a.is-current{color:var(--heading)}
.fx-nav__list a:hover::after,.fx-nav__list a.is-current::after{width:100%}
.fx-header__actions{display:flex;align-items:center;gap:10px;flex:none}
.fx-header .fx-btn{padding:10px 18px;font-size:.86rem}
.fx-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:8px;cursor:pointer}
.fx-burger span{width:22px;height:2px;background:var(--heading);display:block;transition:.25s}
.fx-nav__top,.fx-nav__whats{display:none}

/* ---------- Mobile nav drawer (self-contained, full-screen) ---------- */
@media (max-width: 1180px){
  .fx-header__whats{display:none}
  .fx-nav-desktop{display:none}
  .fx-header__inner{justify-content:space-between}
  .fx-logo img{height:64px}
  .fx-burger{display:flex}
  .fx-nav{
    position:fixed;inset:0;z-index:300;
    background:var(--navy);
    display:flex;flex-direction:column;
    padding:22px 24px calc(24px + env(safe-area-inset-bottom,0px));
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .25s ease, visibility .25s ease;
  }
  .fx-nav.is-open{opacity:1;visibility:visible;pointer-events:auto}
  .fx-nav__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex:none}
  .fx-nav__top img{height:30px;width:auto}
  .fx-nav__close{
    width:40px;height:40px;border-radius:50%;flex:none;
    background:rgba(255,255,255,.06);border:1px solid var(--line-dark);
    color:var(--on-dark);font-size:24px;line-height:1;
    display:flex;align-items:center;justify-content:center;cursor:pointer;
  }
  .fx-nav__list{flex-direction:column;gap:0;width:100%}
  .fx-nav__list a{display:block;padding:16px 2px;font-size:1.15rem;font-weight:600;border-bottom:1px solid var(--line-dark);color:var(--on-dark-soft)}
  .fx-nav__list a::after{display:none}
  .fx-nav__list a:hover,.fx-nav__list a.is-current{color:var(--green-2)}
  .fx-nav__whats{display:flex;justify-content:center;width:100%;margin-top:26px;flex:none}
}

/* ---------- Hero ---------- */
.fx-hero{
  position:relative;
  min-height:min(640px, 72vh);
  display:flex;align-items:center;
  overflow:hidden;
  padding:104px 0 56px;
}
.fx-hero .fx-container{max-width:1340px}
.fx-hero__bg{position:absolute;inset:0;z-index:0}
.fx-hero__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) brightness(.5)}
.fx-hero__bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(7,12,8,.5) 0%, rgba(7,12,8,.88) 62%, var(--navy) 100%);
}

.fx-hero__content{position:relative;z-index:1;max-width:760px}
.fx-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;border-radius:999px;
  background:var(--icon-bg); border:1px solid rgba(79,203,42,.35);
  color:var(--kicker); font-size:.82rem; font-weight:600; letter-spacing:.02em;
  margin-bottom:22px;
}
.fx-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--green-2);box-shadow:0 0 10px var(--green-2);animation:fx-pulse 1.8s ease-in-out infinite}
@keyframes fx-pulse{0%,100%{opacity:1}50%{opacity:.35}}

.fx-hero h1{font-size:clamp(2.4rem, 5.2vw, 4.4rem);margin-bottom:.4em}
h1 em,h2 em,.fx-grad{
  font-style:normal;
  background:linear-gradient(100deg, var(--green-2), var(--green));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.fx-hero p.lead{font-size:1.15rem;max-width:600px}
.fx-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}

.fx-hero__stats{
  position:relative;z-index:1;margin-top:40px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
  max-width:800px;
  padding:24px 26px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--border);
  backdrop-filter:blur(10px);
}
.fx-hero__stats div{position:relative;padding-left:16px}
.fx-hero__stats div::before{
  content:"";position:absolute;left:0;top:.15em;bottom:.3em;width:2px;border-radius:2px;
  background:linear-gradient(180deg, var(--green-2), transparent);
}
.fx-hero__stats strong{
  display:block;font-family:var(--ff-head);font-weight:700;line-height:1;
  font-size:clamp(1.6rem,2.6vw,2.3rem);margin-bottom:6px;
  background:linear-gradient(100deg, var(--green-2), var(--green));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.fx-hero__stats span{font-size:.74rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;font-weight:600}

/* ---------- Marquee ---------- */
.fx-marquee{
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  background:var(--bg-alt);
  overflow:hidden;padding:16px 0;
}
.fx-marquee__track{display:flex;gap:48px;width:max-content;animation:fx-marquee 72s linear infinite}
.fx-marquee:hover .fx-marquee__track{animation-play-state:paused}
.fx-marquee span{
  font-family:var(--ff-head);font-size:1rem;color:var(--text-dim);
  display:flex;align-items:center;gap:14px;white-space:nowrap;
}
.fx-marquee span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;margin-left:14px;opacity:.7}
@keyframes fx-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Section basics ---------- */
.fx-section{padding:110px 0;background:var(--bg)}
.fx-section--tight{padding:70px 0}
.fx-section--alt{background:var(--bg-alt)}
.fx-head{max-width:680px;margin-bottom:56px}
.fx-head.fx-center{margin-left:auto;margin-right:auto;text-align:center}
.fx-kicker{
  display:inline-block;color:var(--kicker);font-weight:700;font-size:.82rem;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;
}
.fx-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem)}
.fx-head p{font-size:1.05rem}

/* ---------- Bento grid ---------- */
.fx-bento{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.fx-card{
  position:relative;border-radius:var(--radius);
  background:var(--card-bg);
  border:1px solid var(--border);
  padding:30px;overflow:hidden;
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.fx-card::after,.fx-product-card::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%), rgba(79,203,42,.16), transparent 70%);
  opacity:0;transition:opacity .4s ease;pointer-events:none;
}
.fx-card:hover::after,.fx-product-card:hover::after{opacity:1}
.fx-card:hover{transform:translateY(-6px);border-color:rgba(47,174,18,.4);box-shadow:var(--shadow)}
.fx-card--product{grid-column:span 2;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end}
.fx-card--product .fx-card__bg{position:absolute;inset:0;z-index:0}
.fx-card--product .fx-card__bg img{width:100%;height:100%;object-fit:cover;opacity:.4;transition:opacity .35s ease, transform .6s ease}
.fx-card--product:hover .fx-card__bg img{opacity:.55;transform:scale(1.05)}
.fx-card--product::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(7,12,8,.96), rgba(7,12,8,.3) 60%);z-index:0}
.fx-card--product .fx-card__body{position:relative;z-index:1}
.fx-card--product h3{font-size:1.5rem;color:var(--on-dark)}
.fx-card--product p{margin-bottom:14px;color:var(--on-dark-soft)}
.fx-card--product .fx-link-arrow{color:var(--green-2)}
/* ---------- Product catalog grid (e-commerce style, always light) ---------- */
.fx-catalog{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.fx-product-card{
  position:relative;overflow:hidden;
  background:#fff;border:1px solid rgba(16,21,26,.1);border-radius:16px;
  padding:20px;display:flex;flex-direction:column;text-align:left;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.fx-product-card:hover{transform:translateY(-6px);box-shadow:0 24px 44px -24px rgba(16,21,26,.28);border-color:rgba(47,174,18,.4)}
.fx-product-card__media{
  aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;
  background:#f4f5f0;border-radius:12px;overflow:hidden;margin-bottom:16px;
}
.fx-product-card__media img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .4s ease}
.fx-product-card:hover .fx-product-card__media img{transform:scale(1.06)}
.fx-product-card h3{color:#10151a;font-size:1.05rem;margin:0 0 6px;font-family:var(--ff-head)}
.fx-product-card p{color:#6b756c;font-size:.83rem;margin:0 0 16px;flex:1;line-height:1.5}
.fx-product-card .fx-link-arrow{color:var(--green-deep);margin-top:0}
.fx-catalog-more{
  display:flex;align-items:center;justify-content:center;text-align:center;
  border:1px dashed rgba(16,21,26,.2);border-radius:16px;min-height:100%;
  color:#10151a;font-weight:600;padding:20px;
}
.fx-catalog-more:hover{border-color:var(--green);color:var(--green-deep)}

.fx-card__icon{
  width:52px;height:52px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--icon-bg);color:var(--icon-color);margin-bottom:18px;
}
.fx-card__icon svg{width:26px;height:26px}
.fx-card--stat{display:flex;flex-direction:column;justify-content:center;text-align:left}
.fx-card--stat strong{font-family:var(--ff-head);font-size:2.4rem;color:var(--green-deep);display:block;margin-bottom:6px}
.fx-dark .fx-card--stat strong{color:var(--green-2)}
.fx-card--stat span{color:var(--text);font-size:.95rem}
.fx-link-arrow{display:inline-flex;align-items:center;gap:6px;color:var(--kicker);font-weight:600;font-size:.9rem;margin-top:8px}
.fx-link-arrow svg{transition:transform .25s ease}
.fx-card:hover .fx-link-arrow svg{transform:translateX(4px)}

/* ---------- Process ---------- */
.fx-process{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.fx-process::before{content:"";position:absolute;top:26px;left:6%;right:6%;height:1px;background:linear-gradient(90deg, transparent, var(--border) 10%, var(--border) 90%, transparent)}
.fx-process__step{padding:0 20px;position:relative}
.fx-process__num{
  width:52px;height:52px;border-radius:50%;
  background:var(--bg);border:1px solid var(--green);
  color:var(--green-deep);font-family:var(--ff-head);font-weight:600;
  display:flex;align-items:center;justify-content:center;margin-bottom:22px;position:relative;z-index:1;
  box-shadow:0 0 0 6px var(--bg);
}
.fx-dark .fx-process__num{color:var(--green-2)}
.fx-process__step h3{font-size:1.1rem}
.fx-process__step p{font-size:.94rem}

/* ---------- Segments grid ---------- */
.fx-segments{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.fx-seg{
  display:flex;flex-direction:column;gap:14px;
  padding:24px 20px;border-radius:var(--radius-sm);
  background:var(--card-bg);border:1px solid var(--border);
  transition:.3s ease;
}
.fx-seg:hover{border-color:var(--green);box-shadow:var(--shadow)}
.fx-seg .fx-card__icon{margin-bottom:0}
.fx-seg strong{color:var(--heading);font-size:.98rem;font-weight:600}

/* ---------- Split section ---------- */
.fx-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.fx-split--rev .fx-split__media{order:2}
.fx-split__media{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.fx-split__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.fx-split__media::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg, rgba(47,174,18,.16), transparent 50%)}
.fx-checklist{display:flex;flex-direction:column;gap:14px;margin:26px 0}
.fx-checklist li{display:flex;gap:12px;align-items:flex-start;color:var(--heading);font-weight:500}
.fx-checklist svg{color:var(--green-deep);flex:none;margin-top:2px}
.fx-dark .fx-checklist svg{color:var(--green-2)}

/* ---------- Diferenciais split (intro + icon cards) ---------- */
.fx-diff-split{display:grid;grid-template-columns:.75fr 1.4fr;gap:28px;align-items:stretch}
.fx-diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fx-diff-item{padding:26px}
.fx-diff-item h3{font-size:1.02rem;margin:0 0 8px}
.fx-diff-item p{font-size:.88rem;margin:0;line-height:1.55}

.fx-diff-intro{
  position:relative;overflow:hidden;border-radius:var(--radius);
  border:1px solid var(--border);
  display:flex;align-items:flex-end;
  min-height:100%;padding:36px;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.5);
}
.fx-diff-intro__bg{position:absolute;inset:0;z-index:0}
.fx-diff-intro__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4) brightness(.42)}
.fx-diff-intro__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(190deg, rgba(7,12,8,.35) 0%, var(--navy) 78%),
             radial-gradient(70% 50% at 20% 0%, rgba(79,203,42,.2), transparent 65%);
}
.fx-diff-intro__body{position:relative;z-index:1}
.fx-diff-intro__body p{margin-bottom:24px}
.fx-diff-intro__stats{display:flex;gap:28px;margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}
.fx-diff-intro__stats strong{display:block;font-family:var(--ff-head);font-size:1.5rem;color:var(--green-2);line-height:1}
.fx-diff-intro__stats span{display:block;font-size:.78rem;color:var(--text-dim);margin-top:4px}

/* ---------- CTA band ---------- */
.fx-cta-band{padding:90px 0;background:radial-gradient(120% 220% at 0% 0%, rgba(79,203,42,.12), transparent 55%), var(--bg)}
.fx-cta-band__inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.fx-cta-band h2{font-size:clamp(1.6rem,2.6vw,2.2rem);max-width:520px;margin-top:.2em}
.fx-cta-band p{max-width:460px}
.fx-cta-band__actions{display:flex;gap:14px;flex-wrap:wrap}

.fx-cta-panel{
  position:relative;overflow:hidden;border-radius:28px;
  border:1px solid var(--border);
  padding:56px;
  box-shadow:0 40px 80px -40px rgba(0,0,0,.6);
}
.fx-cta-panel__bg{position:absolute;inset:0;z-index:0}
.fx-cta-panel__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.35) brightness(.45)}
.fx-cta-panel__bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(115deg, var(--navy) 22%, rgba(7,12,8,.75) 48%, rgba(7,12,8,.35) 100%),
    radial-gradient(60% 140% at 90% 30%, rgba(79,203,42,.22), transparent 70%);
}
.fx-cta-panel .fx-cta-band__inner{position:relative;z-index:1}
.fx-cta-panel__badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.fx-cta-panel__badges span{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 14px;border-radius:999px;font-size:.8rem;font-weight:600;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:var(--on-dark);
}
.fx-cta-panel__badges svg{color:var(--green-2);width:14px;height:14px}
.fx-cta-panel__btn{position:relative}
.fx-cta-panel__btn::before{
  content:"";position:absolute;inset:-6px;border-radius:999px;z-index:-1;
  border:1px solid rgba(79,203,42,.4);
  animation:fx-ring-pulse 2.6s ease-out infinite;
}
@keyframes fx-ring-pulse{
  0%{transform:scale(.94);opacity:1}
  100%{transform:scale(1.18);opacity:0}
}

/* ---------- Footer ---------- */
.fx-footer{padding:70px 0 0}
.fx-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--border)}
.fx-footer__brand p{margin-top:16px;font-size:.92rem;max-width:320px}
.fx-footer__social{display:flex;gap:10px;margin-top:18px}
.fx-footer__social a{width:38px;height:38px;border-radius:50%;background:var(--card-bg);display:flex;align-items:center;justify-content:center;color:var(--green-2);border:1px solid var(--border)}
.fx-footer h3{color:var(--heading);font-size:.95rem;margin-bottom:18px}
.fx-footer__list{display:flex;flex-direction:column;gap:12px}
.fx-footer__list a{color:var(--text);font-size:.92rem;transition:color .2s}
.fx-footer__list a:hover{color:var(--green-2)}
.fx-footer__contact li{display:flex;gap:10px;align-items:flex-start;color:var(--text);font-size:.92rem}
.fx-footer__contact svg{color:var(--green-2);margin-top:2px}
.fx-footer__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:22px 0;font-size:.8rem;color:var(--text-dim)}

/* ---------- WhatsApp float ---------- */
.fx-whats-float{
  position:fixed;right:22px;bottom:22px;z-index:200;
  width:60px;height:60px;border-radius:18px;
  background:linear-gradient(160deg,#3ad65c,#1fa851 55%,#128042);
  color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px -6px rgba(15,90,40,.65), inset 0 1px 0 rgba(255,255,255,.25);
  animation:fx-float-pulse 2.4s ease-in-out infinite;
}
.fx-whats-float svg{width:32px;height:32px;fill:#fff}
@keyframes fx-float-pulse{0%,100%{box-shadow:0 10px 30px -6px rgba(15,90,40,.6), inset 0 1px 0 rgba(255,255,255,.25)}50%{box-shadow:0 10px 44px 4px rgba(15,90,40,.85), inset 0 1px 0 rgba(255,255,255,.25)}}
.fx-whats-bot{
  position:fixed;z-index:199;right:78px;bottom:14px;
  width:92px;line-height:0;display:block;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.30));
  animation:fx-bot-bob 3.4s ease-in-out infinite;
}
.fx-whats-bot img{width:100%;height:auto;display:block}
@keyframes fx-bot-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (prefers-reduced-motion:reduce){ .fx-whats-bot{animation:none} }
@media (max-width: 640px){
  .fx-whats-float{width:54px;height:54px;border-radius:16px;right:16px;bottom:16px}
  .fx-whats-float svg{width:28px;height:28px}
  .fx-whats-bot{right:62px;bottom:8px;width:80px}
}

/* ---------- Prose (editable rich content: produtos, páginas) ---------- */
.fx-prose{margin:22px 0 30px}
.fx-prose p{font-size:1.02rem;margin:0 0 16px;line-height:1.7}
.fx-prose h2,.fx-prose h3,.fx-prose h4{font-size:1.05rem;margin:34px 0 14px}
.fx-prose h2:first-child,.fx-prose h3:first-child,.fx-prose h4:first-child{margin-top:0}
.fx-prose ul,.fx-prose ol{margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:13px}
.fx-prose ul li,.fx-prose ol li{list-style:none;padding-left:26px;position:relative;color:var(--heading);font-weight:500;line-height:1.5}
.fx-prose ul li::before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:2px;background:var(--green-deep);transform:rotate(45deg)}
.fx-dark .fx-prose ul li::before{background:var(--green-2)}
.fx-prose img{border-radius:var(--radius-sm);margin:16px 0}
.fx-prose a{color:var(--green-deep);text-decoration:underline}
.fx-dark .fx-prose a{color:var(--green-2)}

/* ---------- Forms ---------- */
.fx-form-wrap{
  background:var(--navy-2);border:1px solid var(--line-dark);
  border-radius:var(--radius);padding:40px;box-shadow:var(--shadow);
}
.fx-field{margin-bottom:18px}
.fx-field label{display:block;font-size:.86rem;font-weight:600;color:var(--on-dark);margin-bottom:8px}
.fx-field input[type=text],
.fx-field input[type=email],
.fx-field input[type=tel],
.fx-field select,
.fx-field textarea,
.fx-field input[type=file]{
  width:100%;padding:13px 16px;border-radius:10px;
  background:var(--navy);border:1px solid var(--line-dark);
  color:var(--on-dark);font-family:inherit;font-size:.95rem;
  transition:border-color .2s;
}
.fx-field input:focus,.fx-field select:focus,.fx-field textarea:focus{outline:none;border-color:var(--green)}
.fx-field textarea{resize:vertical;min-height:120px}
.fx-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fx-hp{position:absolute;left:-9999px;opacity:0}
.fx-form-note{font-size:.82rem;color:var(--on-dark-dim);margin-top:10px}
.fx-alert-success{
  background:rgba(79,203,42,.12);border:1px solid rgba(79,203,42,.4);
  color:var(--green-deep);padding:16px 20px;border-radius:12px;margin-bottom:24px;font-weight:600;
}
.fx-dark .fx-alert-success{color:var(--green-2)}

/* ---------- Page header (interior pages) ---------- */
.fx-pagehead{padding:170px 0 70px;position:relative;overflow:hidden;background:var(--bg);border-bottom:1px solid var(--border)}
.fx-pagehead__bg{position:absolute;inset:0;z-index:0}
.fx-pagehead__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.4) brightness(.5)}
.fx-pagehead__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg, var(--bg) 8%, rgba(7,12,8,.82) 42%, rgba(7,12,8,.55) 100%)}
.fx-pagehead::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(70% 100% at 85% 0%, rgba(47,174,18,.05), transparent 60%)}
.fx-pagehead .fx-container{max-width:1340px}
.fx-pagehead__inner{position:relative;z-index:2;max-width:760px}
.fx-breadcrumb{display:flex;gap:8px;align-items:center;font-size:.85rem;color:var(--text-dim);margin-bottom:18px}
.fx-breadcrumb a{color:var(--text-dim)}
.fx-breadcrumb a:hover{color:var(--green-2)}
.fx-pagehead h1{font-size:clamp(2.1rem,4vw,3.2rem)}
.fx-pagehead p.lead{color:var(--text)}

/* ---------- Blog ---------- */
.fx-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.fx-post-card{border-radius:var(--radius);overflow:hidden;background:var(--card-bg);border:1px solid var(--border);transition:.3s}
.fx-post-card:hover{transform:translateY(-6px);border-color:rgba(47,174,18,.4);box-shadow:var(--shadow)}
.fx-post-card__media{aspect-ratio:16/10;overflow:hidden;background:var(--bg-alt)}
.fx-post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.fx-post-card:hover .fx-post-card__media img{transform:scale(1.06)}
.fx-post-card__body{padding:24px}
.fx-post-card__body .fx-cat{color:var(--kicker);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.fx-post-card__body h3{font-size:1.15rem;margin:10px 0}
.fx-post-card__body p{font-size:.92rem}
.single-post .fx-article{max-width:760px;margin:0 auto}
.single-post .fx-article img{border-radius:var(--radius);margin:20px 0}
.single-post .fx-article h2{margin-top:1.4em}
.single-post .fx-article p{font-size:1.05rem;line-height:1.75}

/* ---------- Landing page ---------- */
.fx-lp .fx-main{display:block}
.fx-lp-header{padding:18px 0;border-bottom:1px solid var(--border)}
.fx-lp-hero{padding:70px 0 60px;position:relative;overflow:hidden}
.fx-lp-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 90% 10%, rgba(79,203,42,.2), transparent 60%)}
.fx-lp-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:start;position:relative}
.fx-lp-badges{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.fx-lp-badges span{
  background:var(--card-bg);border:1px solid var(--border);
  padding:8px 14px;border-radius:999px;font-size:.82rem;color:var(--text);
  display:inline-flex;align-items:center;gap:6px;
}
.fx-lp-badges svg{color:var(--green-2);width:14px;height:14px}
.fx-lp-sticky{position:sticky;top:24px}

/* ---------- Utility ---------- */
.fx-hide-sm{}
.fx-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
.fx-reveal.is-in{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */
@media (max-width: 1280px){
  .fx-container{padding:0 20px}
}
@media (max-width: 1180px){
  .fx-hide-sm{display:none}
  .fx-hero{min-height:auto;padding:100px 0 50px}
  .fx-hero__stats{grid-template-columns:repeat(2,1fr);row-gap:22px}
  .fx-split{grid-template-columns:1fr;gap:34px}
  .fx-split--rev .fx-split__media{order:0}
  .fx-diff-split{grid-template-columns:1fr;gap:24px}
  .fx-diff-intro{min-height:0}
  .fx-section{padding:70px 0}
  .fx-lp-grid{grid-template-columns:1fr}
  .fx-lp-sticky{position:static}
}
@media (max-width: 1080px){
  .fx-bento{grid-template-columns:repeat(2,1fr)}
  .fx-card--product{grid-column:span 2}
  .fx-process{grid-template-columns:repeat(2,1fr);row-gap:40px}
  .fx-process::before{display:none}
  .fx-footer__grid{grid-template-columns:1fr 1fr}
  .fx-blog-grid{grid-template-columns:repeat(2,1fr)}
  .fx-catalog{grid-template-columns:repeat(3,1fr)}
}
@media (max-width: 760px){
  .fx-form-row{grid-template-columns:1fr}
  .fx-cta-band__inner{flex-direction:column;align-items:flex-start}
  .fx-cta-panel{padding:32px 24px;border-radius:20px}
  .fx-catalog{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 640px){
  .fx-bento{grid-template-columns:1fr}
  .fx-card--product{grid-column:span 1}
  .fx-process{grid-template-columns:1fr}
  .fx-footer__grid{grid-template-columns:1fr;gap:32px}
  .fx-blog-grid{grid-template-columns:1fr}
  .fx-catalog{grid-template-columns:repeat(2,1fr);gap:12px}
  .fx-diff-grid{grid-template-columns:1fr;gap:22px}
  .fx-pagehead{padding:130px 0 50px}
  .fx-form-wrap{padding:26px}
  .fx-cta-band__actions{width:100%}
  .fx-cta-band__actions .fx-btn{width:100%;justify-content:center}
}
@media (max-width: 400px){
  .fx-logo img{height:52px}
  .fx-header .fx-btn span{display:none}
  .fx-header .fx-btn{padding:10px 12px}
  .fx-hero__stats{grid-template-columns:1fr 1fr;gap:14px}
  .fx-whats-bot{display:none}
}

/* ---------- Product page: media left (larger, frameless) + intro right ---------- */
.fx-product-top{
  display:flex;align-items:center;gap:44px;flex-wrap:wrap;
  margin-bottom:8px;
}
.fx-product-top__media{
  flex:1 1 380px;max-width:460px;
  border-radius:var(--radius);
  overflow:hidden;
}
.fx-product-top__media img{width:100%;height:auto;display:block;object-fit:contain}
.fx-product-top__intro{flex:1 1 300px;margin:0}
.fx-product-top__intro>*:first-child{margin-top:0}
.fx-product-top__intro>*:last-child{margin-bottom:0}

.fx-prose{max-width:100%}
.fx-prose>p,.fx-prose>ul,.fx-prose>ol,.fx-prose>h2,.fx-prose>h3,.fx-prose>h4{max-width:760px}

.fx-rotor-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  margin:8px 0 30px;max-width:none;
}
.fx-rotor-card{
  border-radius:var(--radius-sm);padding:20px 20px 22px;
  background:var(--card-bg);border:1px solid var(--border);
}
.fx-rotor-card__icon{
  width:40px;height:40px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:var(--icon-bg);color:var(--icon-color);
  margin-bottom:14px;
}
.fx-rotor-card__icon svg{width:20px;height:20px}
.fx-rotor-card strong{display:block;font-family:var(--ff-head);font-size:.98rem;margin-bottom:8px;color:var(--heading)}
.fx-rotor-card span{font-size:.92rem;line-height:1.55;color:var(--text)}

@media (max-width:900px){
  .fx-rotor-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .fx-product-top__media{max-width:100%;flex-basis:100%}
  .fx-rotor-grid{grid-template-columns:1fr}
}

/* ---------- Prose closing CTA: centered badge row (breaks out of prose measure) ---------- */
.fx-prose-cta{text-align:center;max-width:none;margin:38px 0 6px}
.fx-prose-cta h3{margin-bottom:20px}
.fx-badge-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.fx-badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:999px;
  background:var(--icon-bg);color:var(--heading);
  font-size:.86rem;font-weight:600;
  border:1px solid var(--border);
}
.fx-badge svg{width:15px;height:15px;color:var(--green-deep);flex:none}

/* ---------- Rotores (produto 110) — manter identidade escura/verde do site nesta página, sem branco ---------- */
/* Reversível: remover este bloco volta a página ao padrão claro dos produtos (.fx-light). */
body.postid-110 .fx-section--tight.fx-light{
  --bg:var(--navy);
  --bg-alt:var(--navy-2);
  --text:var(--on-dark-soft);
  --text-dim:var(--on-dark-dim);
  --heading:var(--on-dark);
  --card-bg:rgba(255,255,255,.045);
  --border:var(--line-dark);
  --kicker:var(--green-2);
  --shadow:0 20px 60px -20px rgba(0,0,0,.65);
  --glow:0 10px 32px -8px rgba(79,203,42,.5);
  --ghost-bg:rgba(255,255,255,.05);
  --ghost-border:rgba(255,255,255,.18);
  --ghost-text:var(--on-dark);
  --icon-bg:rgba(79,203,42,.16);
  --icon-color:var(--green-2);
  background:var(--bg);
  color:var(--text);
}
body.postid-110 .fx-section--tight.fx-light .fx-prose ul li::before{background:var(--green-2)}
body.postid-110 .fx-section--tight.fx-light .fx-badge svg{color:var(--green-2)}
